added sync original quality

This commit is contained in:
Luke Pulverenti 2015-02-09 15:54:04 -05:00
parent 4d6c37f116
commit 6f55ff220a
4 changed files with 32 additions and 6 deletions

View file

@ -16,6 +16,10 @@ namespace MediaBrowser.Model.Sync
/// <summary>
/// The best
/// </summary>
High = 2
High = 2,
/// <summary>
/// The original
/// </summary>
Original = 3
}
}

View file

@ -97,7 +97,7 @@
"HeaderSelectSubtitles": "Select Subtitles",
"ButtonMarkForRemoval": "Remove from device",
"ButtonUnmarkForRemoval": "Cancel removal from device",
"LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate.",
"LabelSyncQualityHelp": "Use high quality for the maximum supported quality by the device. Medium and low quality will reduce the allowed bitrate. Original will sync the original file, regardless of whether the device is capable of playing it or not.",
"LabelDefaultStream": "(Default)",
"LabelForcedStream": "(Forced)",
"LabelDefaultForcedStream": "(Default/Forced)",
@ -708,6 +708,7 @@
"LabelSyncTo": "Sync to:",
"LabelSyncJobName": "Sync job name:",
"LabelQuality": "Quality:",
"OptionOriginal": "Original",
"OptionHigh": "High",
"OptionMedium": "Medium",
"OptionLow": "Low",

View file

@ -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);

View file

@ -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;