diff options
| author | dkanada <dkanada@users.noreply.github.com> | 2020-01-13 03:43:59 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-13 03:43:59 +0900 |
| commit | ce7744806c62d54d88acd3e538091f7beaa5601f (patch) | |
| tree | 40195c81422f00440725d2921daa94e5f3e7b7b8 | |
| parent | d217f1614e1fb93d1549ff4b7fad7bfbdcba6204 (diff) | |
| parent | ea075c1b4805cfabff58739fc4e3de7813a33298 (diff) | |
Merge pull request #2216 from gnattu/master
Let HLS fallback to mpegts in case device reports unsupported container
| -rw-r--r-- | MediaBrowser.Api/Playback/UniversalAudioService.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/MediaBrowser.Api/Playback/UniversalAudioService.cs b/MediaBrowser.Api/Playback/UniversalAudioService.cs index bcac5093e..cbf981dfe 100644 --- a/MediaBrowser.Api/Playback/UniversalAudioService.cs +++ b/MediaBrowser.Api/Playback/UniversalAudioService.cs @@ -298,6 +298,10 @@ namespace MediaBrowser.Api.Playback var transcodingProfile = deviceProfile.TranscodingProfiles[0]; + // hls segment container can only be mpegts or fmp4 per ffmpeg documentation + // TODO: remove this when we switch back to the segment muxer + var supportedHLSContainers = new string[] { "mpegts", "fmp4" }; + var newRequest = new GetMasterHlsAudioPlaylist { AudioBitRate = isStatic ? (int?)null : Convert.ToInt32(Math.Min(request.MaxStreamingBitrate ?? 192000, int.MaxValue)), @@ -310,7 +314,8 @@ namespace MediaBrowser.Api.Playback PlaySessionId = playbackInfoResult.PlaySessionId, StartTimeTicks = request.StartTimeTicks, Static = isStatic, - SegmentContainer = request.TranscodingContainer, + // fallback to mpegts if device reports some weird value unsupported by hls + SegmentContainer = Array.Exists(supportedHLSContainers, element => element == request.TranscodingContainer) ? request.TranscodingContainer : "mpegts", AudioSampleRate = request.MaxAudioSampleRate, MaxAudioBitDepth = request.MaxAudioBitDepth, BreakOnNonKeyFrames = transcodingProfile.BreakOnNonKeyFrames, |
