aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sync
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-02-09 15:54:04 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-02-09 15:54:04 -0500
commit6f55ff220a891fd63f6da7e329d8f4765341bdf3 (patch)
treef7b9cfaa914669c5a668a3b4b2d8224452a5c312 /MediaBrowser.Server.Implementations/Sync
parent4d6c37f1169e14f3ce0194f33c347ef79927a2c3 (diff)
added sync original quality
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync')
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs9
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncManager.cs20
2 files changed, 25 insertions, 4 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
index e9d9dc46f..a254d862c 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
@@ -486,7 +486,8 @@ namespace MediaBrowser.Server.Implementations.Sync
streamInfo.GetExternalSubtitles("dummy", false);
// Mark as requiring conversion if transcoding the video, or if any subtitles need to be extracted
- var requiresConversion = streamInfo.PlayMethod == PlayMethod.Transcode || externalSubs.Any(i => RequiresExtraction(i, mediaSource));
+ var requiresVideoTranscoding = streamInfo.PlayMethod == PlayMethod.Transcode && job.Quality != SyncQuality.Original;
+ var requiresConversion = requiresVideoTranscoding || externalSubs.Any(i => RequiresExtraction(i, mediaSource));
if (requiresConversion && !enableConversion)
{
@@ -501,7 +502,7 @@ namespace MediaBrowser.Server.Implementations.Sync
jobItem.Status = SyncJobItemStatus.Converting;
}
- if (streamInfo.PlayMethod == PlayMethod.Transcode)
+ if (requiresVideoTranscoding)
{
// Save the job item now since conversion could take a while
await _syncManager.UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false);
@@ -673,7 +674,7 @@ namespace MediaBrowser.Server.Implementations.Sync
jobItem.MediaSourceId = streamInfo.MediaSourceId;
jobItem.TemporaryPath = GetTemporaryPath(jobItem);
- if (streamInfo.PlayMethod == PlayMethod.Transcode)
+ if (streamInfo.PlayMethod == PlayMethod.Transcode && job.Quality != SyncQuality.Original)
{
if (!enableConversion)
{
@@ -760,7 +761,7 @@ namespace MediaBrowser.Server.Implementations.Sync
private async Task SyncGeneric(SyncJobItem jobItem, BaseItem item, CancellationToken cancellationToken)
{
jobItem.OutputPath = item.Path;
-
+
jobItem.Progress = 50;
jobItem.Status = SyncJobItemStatus.ReadyToTransfer;
await _syncManager.UpdateSyncJobItemInternal(jobItem).ConfigureAwait(false);
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
index 0114d734a..098e2b095 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
@@ -457,10 +457,30 @@ namespace MediaBrowser.Server.Implementations.Sync
return false;
}
+ if (video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd || video.VideoType == VideoType.HdDvd)
+ {
+ return false;
+ }
+
+ if (video.IsPlaceHolder)
+ {
+ return false;
+ }
+
+ if (video.IsArchive)
+ {
+ return false;
+ }
+
if (video.IsStacked)
{
return false;
}
+
+ if (video.IsShortcut)
+ {
+ return false;
+ }
}
var game = item as Game;