diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-03-13 01:29:39 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-03-13 01:29:39 -0400 |
| commit | 4309455c37c25eb7b4ab89920358d7cced1ebddc (patch) | |
| tree | 79b87713dda292fbd33d902bf6a49ceef5b0ed36 /MediaBrowser.Server.Implementations | |
| parent | b7b28ffd31892dac13004199766262126d2785c5 (diff) | |
update server sync
Diffstat (limited to 'MediaBrowser.Server.Implementations')
3 files changed, 19 insertions, 25 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/MediaSync.cs b/MediaBrowser.Server.Implementations/Sync/MediaSync.cs index 8391dbd7a..48f682f98 100644 --- a/MediaBrowser.Server.Implementations/Sync/MediaSync.cs +++ b/MediaBrowser.Server.Implementations/Sync/MediaSync.cs @@ -152,7 +152,18 @@ namespace MediaBrowser.Server.Implementations.Sync try { - await SendFile(provider, internalSyncJobItem.OutputPath, localItem, target, cancellationToken).ConfigureAwait(false); + var sendFileResult = await SendFile(provider, internalSyncJobItem.OutputPath, localItem, target, cancellationToken).ConfigureAwait(false); + + if (localItem.Item.MediaSources != null) + { + var mediaSource = localItem.Item.MediaSources.FirstOrDefault(); + if (mediaSource != null) + { + mediaSource.Path = sendFileResult.Path; + mediaSource.Protocol = sendFileResult.Protocol; + mediaSource.SupportsTranscoding = false; + } + } // Create db record await dataProvider.AddOrUpdate(target, localItem).ConfigureAwait(false); @@ -203,11 +214,11 @@ namespace MediaBrowser.Server.Implementations.Sync } } - private async Task SendFile(IServerSyncProvider provider, string inputPath, LocalItem item, SyncTarget target, CancellationToken cancellationToken) + private async Task<SendFileResult> SendFile(IServerSyncProvider provider, string inputPath, LocalItem item, SyncTarget target, CancellationToken cancellationToken) { using (var stream = _fileSystem.GetFileStream(inputPath, FileMode.Open, FileAccess.Read, FileShare.Read, true)) { - await provider.SendFile(stream, item.LocalPath, target, new Progress<double>(), cancellationToken).ConfigureAwait(false); + return await provider.SendFile(stream, item.LocalPath, target, new Progress<double>(), cancellationToken).ConfigureAwait(false); } } diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index 2dbf8fc1b..8fb4b5a3a 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -581,6 +581,8 @@ namespace MediaBrowser.Server.Implementations.Sync jobItem.MediaSource = mediaSource; } + jobItem.MediaSource.SupportsTranscoding = false; + if (externalSubs.Count > 0) { // Save the job item now since conversion could take a while @@ -757,6 +759,8 @@ namespace MediaBrowser.Server.Implementations.Sync jobItem.MediaSource = mediaSource; } + jobItem.MediaSource.SupportsTranscoding = false; + jobItem.Progress = 50; jobItem.Status = SyncJobItemStatus.ReadyToTransfer; await _syncManager.UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false); diff --git a/MediaBrowser.Server.Implementations/Sync/SyncedMediaSourceProvider.cs b/MediaBrowser.Server.Implementations/Sync/SyncedMediaSourceProvider.cs index 0422e9791..93a466c52 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncedMediaSourceProvider.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncedMediaSourceProvider.cs @@ -3,11 +3,9 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Sync; using MediaBrowser.Model.Dto; -using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Sync; using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -58,7 +56,7 @@ namespace MediaBrowser.Server.Implementations.Sync foreach (var localItem in localItems) { - list.AddRange(GetPlayableMediaSources(localItem)); + list.AddRange(localItem.Item.MediaSources); } } } @@ -66,24 +64,5 @@ namespace MediaBrowser.Server.Implementations.Sync return list; } - - private IEnumerable<MediaSourceInfo> GetPlayableMediaSources(LocalItem item) - { - return item.Item.MediaSources - .Where(IsMediaSourcePlayable); - } - - private bool IsMediaSourcePlayable(MediaSourceInfo mediaSource) - { - if (mediaSource.Protocol == MediaProtocol.File) - { - if (!File.Exists(mediaSource.Path)) - { - return false; - } - } - - return true; - } } } |
