aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Playback/UniversalAudioService.cs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2020-02-04 12:21:42 +0100
committerBond-009 <bond.009@outlook.com>2020-02-04 12:21:42 +0100
commitba1ffbabd3c1fc610b3f0a3de47dbc670920f915 (patch)
tree069c76ee43d1bb5ca4ee1f72f0c95edfe484ed7e /MediaBrowser.Api/Playback/UniversalAudioService.cs
parent5dc3874ebdeac26d7be885b9a44ca1321b4b25cf (diff)
parent176e8509739ffd3d7002c94adbd814c33b5172e2 (diff)
Merge branch 'master' into nullable2
Diffstat (limited to 'MediaBrowser.Api/Playback/UniversalAudioService.cs')
-rw-r--r--MediaBrowser.Api/Playback/UniversalAudioService.cs9
1 files changed, 6 insertions, 3 deletions
diff --git a/MediaBrowser.Api/Playback/UniversalAudioService.cs b/MediaBrowser.Api/Playback/UniversalAudioService.cs
index 9cba9df13..cbf981dfe 100644
--- a/MediaBrowser.Api/Playback/UniversalAudioService.cs
+++ b/MediaBrowser.Api/Playback/UniversalAudioService.cs
@@ -74,7 +74,6 @@ namespace MediaBrowser.Api.Playback
[Authenticated]
public class UniversalAudioService : BaseApiService
{
- private readonly ILoggerFactory _loggerFactory;
private readonly EncodingHelper _encodingHelper;
public UniversalAudioService(
@@ -243,7 +242,6 @@ namespace MediaBrowser.Api.Playback
NetworkManager,
MediaEncoder,
UserManager,
- JsonSerializer,
AuthorizationContext)
{
Request = Request
@@ -300,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)),
@@ -312,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,