diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-07 14:22:21 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-07 14:22:21 -0400 |
| commit | a0df73b21dfdfde894760cf70b81dfd01b1c70f8 (patch) | |
| tree | adb09157507a4df2837320e095982ac10ba919f4 | |
| parent | 4a030a70a95a51af22f8915801f28614d638714e (diff) | |
update stream copy bitrate
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/BaseHlsService.cs | 36 |
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(); |
