@ -486,7 +486,8 @@ namespace MediaBrowser.Server.Implementations.Sync
streamInfo . GetExternalSubtitles ( "dummy" , false ) ;
streamInfo . GetExternalSubtitles ( "dummy" , false ) ;
// Mark as requiring conversion if transcoding the video, or if any subtitles need to be extracted
// 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 )
if ( requiresConversion & & ! enableConversion )
{
{
@ -501,7 +502,7 @@ namespace MediaBrowser.Server.Implementations.Sync
jobItem . Status = SyncJobItemStatus . Converting ;
jobItem . Status = SyncJobItemStatus . Converting ;
}
}
if ( streamInfo. PlayMethod = = PlayMethod . Transcode )
if ( requiresVideoTranscoding )
{
{
// Save the job item now since conversion could take a while
// Save the job item now since conversion could take a while
await _syncManager . UpdateSyncJobItemInternal ( jobItem ) . ConfigureAwait ( false ) ;
await _syncManager . UpdateSyncJobItemInternal ( jobItem ) . ConfigureAwait ( false ) ;
@ -673,7 +674,7 @@ namespace MediaBrowser.Server.Implementations.Sync
jobItem . MediaSourceId = streamInfo . MediaSourceId ;
jobItem . MediaSourceId = streamInfo . MediaSourceId ;
jobItem . TemporaryPath = GetTemporaryPath ( jobItem ) ;
jobItem . TemporaryPath = GetTemporaryPath ( jobItem ) ;
if ( streamInfo . PlayMethod = = PlayMethod . Transcode )
if ( streamInfo . PlayMethod = = PlayMethod . Transcode & & job . Quality ! = SyncQuality . Original )
{
{
if ( ! enableConversion )
if ( ! enableConversion )
{
{
@ -760,7 +761,7 @@ namespace MediaBrowser.Server.Implementations.Sync
private async Task SyncGeneric ( SyncJobItem jobItem , BaseItem item , CancellationToken cancellationToken )
private async Task SyncGeneric ( SyncJobItem jobItem , BaseItem item , CancellationToken cancellationToken )
{
{
jobItem . OutputPath = item . Path ;
jobItem . OutputPath = item . Path ;
jobItem . Progress = 50 ;
jobItem . Progress = 50 ;
jobItem . Status = SyncJobItemStatus . ReadyToTransfer ;
jobItem . Status = SyncJobItemStatus . ReadyToTransfer ;
await _syncManager . UpdateSyncJobItemInternal ( jobItem ) . ConfigureAwait ( false ) ;
await _syncManager . UpdateSyncJobItemInternal ( jobItem ) . ConfigureAwait ( false ) ;