From db9eb64e9fe9453172052be0d2923cdb83bdca6a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 28 Dec 2016 03:16:45 -0500 Subject: [PATCH] increase chances of stream copy --- .../Playback/BaseStreamingService.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 42ca927a1..7f568183e 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1967,10 +1967,15 @@ namespace MediaBrowser.Api.Playback state.OutputVideoCodec = state.VideoRequest.VideoCodec; state.OutputVideoBitrate = GetVideoBitrateParamValue(state.VideoRequest, state.VideoStream, state.OutputVideoCodec); - if (state.OutputVideoBitrate.HasValue) + if (videoRequest != null) + { + TryStreamCopy(state, videoRequest); + } + + if (state.OutputVideoBitrate.HasValue && !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase)) { var resolution = ResolutionNormalizer.Normalize( - state.VideoStream == null ? (int?)null : state.VideoStream.BitRate, + state.VideoStream == null ? (int?) null : state.VideoStream.BitRate, state.OutputVideoBitrate.Value, state.VideoStream == null ? null : state.VideoStream.Codec, state.OutputVideoCodec, @@ -1980,13 +1985,12 @@ namespace MediaBrowser.Api.Playback videoRequest.MaxWidth = resolution.MaxWidth; videoRequest.MaxHeight = resolution.MaxHeight; } + + ApplyDeviceProfileSettings(state); } - - ApplyDeviceProfileSettings(state); - - if (videoRequest != null) + else { - TryStreamCopy(state, videoRequest); + ApplyDeviceProfileSettings(state); } state.OutputFilePath = GetOutputFilePath(state);