diff options
| author | Cody Robibero <cody@robibe.ro> | 2022-03-19 17:41:29 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-19 17:41:29 -0600 |
| commit | 588c349eb48390d3a27ad5675335e423a38ad69f (patch) | |
| tree | f28af4e69a117c2e4587b2afc25dbbb58a7ec98e | |
| parent | dd6845b8f38e06859daa2aa8614448f7ff8a5950 (diff) | |
| parent | b9c3a497d540525306aef525260102b1dc3fb01a (diff) | |
Merge pull request #7477 from crobibero/requested-bitrate
| -rw-r--r-- | MediaBrowser.Model/Dlna/StreamBuilder.cs | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index e60e87b96..a0fe3867e 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -362,16 +362,6 @@ namespace MediaBrowser.Model.Dlna return playlistItem; } - private static long? GetBitrateForDirectPlayCheck(MediaSourceInfo item, AudioOptions options, bool isAudio) - { - if (item.Protocol == MediaProtocol.File) - { - return options.Profile.MaxStaticBitrate; - } - - return options.GetMaxBitrate(isAudio); - } - private (DirectPlayProfile Profile, PlayMethod? PlayMethod, TranscodeReason TranscodeReasons) GetAudioDirectPlayProfile(MediaSourceInfo item, MediaStream audioStream, AudioOptions options) { var directPlayProfile = options.Profile.DirectPlayProfiles @@ -395,7 +385,7 @@ namespace MediaBrowser.Model.Dlna // If device requirements are satisfied then allow both direct stream and direct play if (item.SupportsDirectPlay) { - if (IsItemBitrateEligibleForDirectPlay(item, GetBitrateForDirectPlayCheck(item, options, true) ?? 0, PlayMethod.DirectPlay)) + if (IsItemBitrateEligibleForDirectPlay(item, options.GetMaxBitrate(true) ?? 0, PlayMethod.DirectPlay)) { if (options.EnableDirectPlay) { @@ -614,8 +604,7 @@ namespace MediaBrowser.Model.Dlna var videoStream = item.VideoStream; - // TODO: This doesn't account for situations where the device is able to handle the media's bitrate, but the connection isn't fast enough - var directPlayEligibilityResult = IsEligibleForDirectPlay(item, GetBitrateForDirectPlayCheck(item, options, true) ?? 0, options, PlayMethod.DirectPlay); + var directPlayEligibilityResult = IsEligibleForDirectPlay(item, options.GetMaxBitrate(false) ?? 0, options, PlayMethod.DirectPlay); var directStreamEligibilityResult = IsEligibleForDirectPlay(item, options.GetMaxBitrate(false) ?? 0, options, PlayMethod.DirectStream); bool isEligibleForDirectPlay = options.EnableDirectPlay && (options.ForceDirectPlay || directPlayEligibilityResult == 0); bool isEligibleForDirectStream = options.EnableDirectStream && (options.ForceDirectStream || directPlayEligibilityResult == 0); |
