diff options
| author | Dmitry Lyzo <ashephard0@gmail.com> | 2023-01-22 14:05:37 -0500 |
|---|---|---|
| committer | Joshua M. Boniface <joshua@boniface.me> | 2023-01-22 14:05:37 -0500 |
| commit | 28b98cacc8e96455a600153388bfdddc940b9992 (patch) | |
| tree | d764244c65ec94f299462d1d24658393cb10bf79 /MediaBrowser.Model/Dlna | |
| parent | d6f44818e43df5a454a4277b2aee76c22371fa4a (diff) | |
Backport pull request #9051 from jellyfin/release-10.8.z
Fix transcode reasons
Original-merge: 1dea309ae4a1eb00f7f5a7d4c91a235963fd069e
Merged-by: Joshua M. Boniface <joshua@boniface.me>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
Diffstat (limited to 'MediaBrowser.Model/Dlna')
| -rw-r--r-- | MediaBrowser.Model/Dlna/StreamBuilder.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index bb41c99795..62d67c0257 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -1174,7 +1174,6 @@ namespace MediaBrowser.Model.Dlna var reason = a & flag; if (reason != 0) { - a = reason; return index; } @@ -1184,6 +1183,8 @@ namespace MediaBrowser.Model.Dlna return index; }; + var containerSupported = false; + // Check DirectPlay profiles to see if it can be direct played var analyzedProfiles = profile.DirectPlayProfiles .Where(directPlayProfile => directPlayProfile.Type == DlnaProfileType.Video) @@ -1197,6 +1198,10 @@ namespace MediaBrowser.Model.Dlna { directPlayProfileReasons |= TranscodeReason.ContainerNotSupported; } + else + { + containerSupported = true; + } // Check video codec string videoCodec = videoStream?.Codec; @@ -1239,7 +1244,7 @@ namespace MediaBrowser.Model.Dlna { playMethod = PlayMethod.DirectPlay; } - else if (directStreamFailureReasons == 0 && isEligibleForDirectStream && mediaSource.SupportsDirectStream && directPlayProfile is not null) + else if (directStreamFailureReasons == 0 && isEligibleForDirectStream && mediaSource.SupportsDirectStream) { playMethod = PlayMethod.DirectStream; } @@ -1261,7 +1266,10 @@ namespace MediaBrowser.Model.Dlna return profileMatch; } - var failureReasons = analyzedProfiles[false].Select(analysis => analysis.Result).FirstOrDefault().TranscodeReason; + var failureReasons = analyzedProfiles[false] + .Select(analysis => analysis.Result) + .Where(result => !containerSupported || (result.TranscodeReason & TranscodeReason.ContainerNotSupported) == 0) + .FirstOrDefault().TranscodeReason; if (failureReasons == 0) { failureReasons = TranscodeReason.DirectPlayError; |
