aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-07 14:22:21 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-07 14:22:21 -0400
commita0df73b21dfdfde894760cf70b81dfd01b1c70f8 (patch)
treeadb09157507a4df2837320e095982ac10ba919f4
parent4a030a70a95a51af22f8915801f28614d638714e (diff)
update stream copy bitrate
-rw-r--r--MediaBrowser.Api/Playback/Hls/BaseHlsService.cs36
1 files changed, 34 insertions, 2 deletions
diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
index 2fb7f8142..787727cd3 100644
--- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
@@ -120,8 +120,9 @@ namespace MediaBrowser.Api.Playback.Hls
await WaitForMinimumSegmentCount(playlist, 3).ConfigureAwait(false);
}
- var audioBitrate = GetAudioBitrateParam(state) ?? 0;
- var videoBitrate = GetVideoBitrateParam(state) ?? 0;
+ int audioBitrate;
+ int videoBitrate;
+ GetPlaylistBitrates(state, out audioBitrate, out videoBitrate);
var appendBaselineStream = false;
var baselineStreamBitrate = 64000;
@@ -145,6 +146,37 @@ namespace MediaBrowser.Api.Playback.Hls
}
}
+ /// <summary>
+ /// Gets the playlist bitrates.
+ /// </summary>
+ /// <param name="state">The state.</param>
+ /// <param name="audioBitrate">The audio bitrate.</param>
+ /// <param name="videoBitrate">The video bitrate.</param>
+ private void GetPlaylistBitrates(StreamState state, out int audioBitrate, out int videoBitrate)
+ {
+ var audioBitrateParam = GetAudioBitrateParam(state);
+ var videoBitrateParam = GetVideoBitrateParam(state);
+
+ if (!audioBitrateParam.HasValue)
+ {
+ if (state.AudioStream != null)
+ {
+ audioBitrateParam = state.AudioStream.BitRate;
+ }
+ }
+
+ if (!videoBitrateParam.HasValue)
+ {
+ if (state.VideoStream != null)
+ {
+ videoBitrateParam = state.VideoStream.BitRate;
+ }
+ }
+
+ audioBitrate = audioBitrateParam ?? 0;
+ videoBitrate = videoBitrateParam ?? 0;
+ }
+
private string GetMasterPlaylistFileText(string firstPlaylist, int bitrate, bool includeBaselineStream, int baselineStreamBitrate)
{
var builder = new StringBuilder();