diff options
| author | Cody Robibero <cody@robibe.ro> | 2022-05-24 14:01:40 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2022-05-26 13:36:46 -0400 |
| commit | 97b3166ead0a71d5badf6fa3d4f4ffb33edebf98 (patch) | |
| tree | 6ddcc34f3e9f5f4f966142a4af8c6fd2120df2aa | |
| parent | 0f6bd264ae1352355e73ecc2a5b0386a25a3b956 (diff) | |
Merge pull request #7784 from crobibero/support-transcoding
(cherry picked from commit d471be8d929c8021d85d0b9cc97ac2e420a11d65)
Signed-off-by: crobibero <cody@robibe.ro>
| -rw-r--r-- | Jellyfin.Api/Helpers/MediaInfoHelper.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Jellyfin.Api/Helpers/MediaInfoHelper.cs b/Jellyfin.Api/Helpers/MediaInfoHelper.cs index 31b979836..5c05c57a6 100644 --- a/Jellyfin.Api/Helpers/MediaInfoHelper.cs +++ b/Jellyfin.Api/Helpers/MediaInfoHelper.cs @@ -256,9 +256,17 @@ namespace Jellyfin.Api.Helpers streamInfo.StartPositionTicks = startTimeTicks; mediaSource.SupportsDirectPlay = streamInfo.PlayMethod == PlayMethod.DirectPlay; + // Players do not handle this being set according to PlayMethod - mediaSource.SupportsDirectStream = options.EnableDirectStream ? streamInfo.PlayMethod == PlayMethod.DirectPlay || streamInfo.PlayMethod == PlayMethod.DirectStream : streamInfo.PlayMethod == PlayMethod.DirectPlay; - mediaSource.SupportsTranscoding = streamInfo.PlayMethod == PlayMethod.DirectStream || mediaSource.TranscodingContainer != null; + mediaSource.SupportsDirectStream = + options.EnableDirectStream + ? streamInfo.PlayMethod == PlayMethod.DirectPlay || streamInfo.PlayMethod == PlayMethod.DirectStream + : streamInfo.PlayMethod == PlayMethod.DirectPlay; + + mediaSource.SupportsTranscoding = + streamInfo.PlayMethod == PlayMethod.DirectStream + || mediaSource.TranscodingContainer != null + || profile.TranscodingProfiles.Any(i => i.Type == streamInfo.MediaType && i.Context == options.Context); if (item is Audio) { @@ -290,7 +298,7 @@ namespace Jellyfin.Api.Helpers } else { - if (mediaSource.SupportsTranscoding || mediaSource.SupportsDirectStream) + if (!mediaSource.SupportsDirectPlay && (mediaSource.SupportsTranscoding || mediaSource.SupportsDirectStream)) { streamInfo.PlayMethod = PlayMethod.Transcode; mediaSource.TranscodingUrl = streamInfo.ToUrl("-", auth.Token).TrimStart('-'); |
