aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Playback/UniversalAudioService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Playback/UniversalAudioService.cs')
-rw-r--r--MediaBrowser.Api/Playback/UniversalAudioService.cs22
1 files changed, 20 insertions, 2 deletions
diff --git a/MediaBrowser.Api/Playback/UniversalAudioService.cs b/MediaBrowser.Api/Playback/UniversalAudioService.cs
index fffec6948..118bf5246 100644
--- a/MediaBrowser.Api/Playback/UniversalAudioService.cs
+++ b/MediaBrowser.Api/Playback/UniversalAudioService.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
+using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Api.Playback.Hls;
using MediaBrowser.Api.Playback.Progressive;
@@ -51,6 +52,7 @@ namespace MediaBrowser.Api.Playback
public string TranscodingContainer { get; set; }
public string TranscodingProtocol { get; set; }
public int? MaxAudioSampleRate { get; set; }
+ public int? MaxAudioBitDepth { get; set; }
public bool EnableRedirection { get; set; }
public bool EnableRemoteMedia { get; set; }
@@ -163,6 +165,18 @@ namespace MediaBrowser.Api.Playback
});
}
+ if (request.MaxAudioBitDepth.HasValue)
+ {
+ // codec profile
+ conditions.Add(new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ IsRequired = false,
+ Property = ProfileConditionValue.AudioBitDepth,
+ Value = request.MaxAudioBitDepth.Value.ToString(CultureInfo.InvariantCulture)
+ });
+ }
+
if (request.MaxAudioChannels.HasValue)
{
// codec profile
@@ -265,7 +279,9 @@ namespace MediaBrowser.Api.Playback
Static = isStatic,
SegmentContainer = request.TranscodingContainer,
AudioSampleRate = request.MaxAudioSampleRate,
- BreakOnNonKeyFrames = transcodingProfile.BreakOnNonKeyFrames
+ MaxAudioBitDepth = request.MaxAudioBitDepth,
+ BreakOnNonKeyFrames = transcodingProfile.BreakOnNonKeyFrames,
+ TranscodeReasons = mediaSource.TranscodeReasons == null ? null : string.Join(",", mediaSource.TranscodeReasons.Select(i => i.ToString()).ToArray())
};
if (isHeadRequest)
@@ -307,7 +323,9 @@ namespace MediaBrowser.Api.Playback
PlaySessionId = playbackInfoResult.PlaySessionId,
StartTimeTicks = request.StartTimeTicks,
Static = isStatic,
- AudioSampleRate = request.MaxAudioSampleRate
+ AudioSampleRate = request.MaxAudioSampleRate,
+ MaxAudioBitDepth = request.MaxAudioBitDepth,
+ TranscodeReasons = mediaSource.TranscodeReasons == null ? null : string.Join(",", mediaSource.TranscodeReasons.Select(i => i.ToString()).ToArray())
};
if (isHeadRequest)