diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-02-20 02:04:03 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-02-20 02:04:03 -0500 |
| commit | 149d16a314b2c3549afcb741ee04631d56e02ec7 (patch) | |
| tree | 24dd827a0ba2ab71d0eae41f8b128387031674e4 /MediaBrowser.Api/Playback/MediaInfoService.cs | |
| parent | 5d8fd7ce395e3d1c00f09bb2a80eb2390ab70275 (diff) | |
preserve manual recording overrides
Diffstat (limited to 'MediaBrowser.Api/Playback/MediaInfoService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/MediaInfoService.cs | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/MediaBrowser.Api/Playback/MediaInfoService.cs b/MediaBrowser.Api/Playback/MediaInfoService.cs index 80885271c..ed8449b83 100644 --- a/MediaBrowser.Api/Playback/MediaInfoService.cs +++ b/MediaBrowser.Api/Playback/MediaInfoService.cs @@ -127,7 +127,7 @@ namespace MediaBrowser.Api.Playback SetDeviceSpecificData(item, result.MediaSource, profile, authInfo, request.MaxStreamingBitrate, request.StartTimeTicks ?? 0, result.MediaSource.Id, request.AudioStreamIndex, - request.SubtitleStreamIndex, request.MaxAudioChannels, request.PlaySessionId, request.UserId); + request.SubtitleStreamIndex, request.MaxAudioChannels, request.PlaySessionId, request.UserId, true, true, true); } else { @@ -169,7 +169,7 @@ namespace MediaBrowser.Api.Playback { var mediaSourceId = request.MediaSourceId; - SetDeviceSpecificData(request.Id, info, profile, authInfo, request.MaxStreamingBitrate ?? profile.MaxStreamingBitrate, request.StartTimeTicks ?? 0, mediaSourceId, request.AudioStreamIndex, request.SubtitleStreamIndex, request.MaxAudioChannels, request.UserId); + SetDeviceSpecificData(request.Id, info, profile, authInfo, request.MaxStreamingBitrate ?? profile.MaxStreamingBitrate, request.StartTimeTicks ?? 0, mediaSourceId, request.AudioStreamIndex, request.SubtitleStreamIndex, request.MaxAudioChannels, request.UserId, request.EnableDirectPlay, request.EnableDirectStream, request.EnableTranscoding); } return info; @@ -251,13 +251,16 @@ namespace MediaBrowser.Api.Playback int? audioStreamIndex, int? subtitleStreamIndex, int? maxAudioChannels, - string userId) + string userId, + bool enableDirectPlay, + bool enableDirectStream, + bool enableTranscoding) { var item = _libraryManager.GetItemById(itemId); foreach (var mediaSource in result.MediaSources) { - SetDeviceSpecificData(item, mediaSource, profile, auth, maxBitrate, startTimeTicks, mediaSourceId, audioStreamIndex, subtitleStreamIndex, maxAudioChannels, result.PlaySessionId, userId); + SetDeviceSpecificData(item, mediaSource, profile, auth, maxBitrate, startTimeTicks, mediaSourceId, audioStreamIndex, subtitleStreamIndex, maxAudioChannels, result.PlaySessionId, userId, enableDirectPlay, enableDirectStream, enableTranscoding); } SortMediaSources(result, maxBitrate); @@ -274,7 +277,10 @@ namespace MediaBrowser.Api.Playback int? subtitleStreamIndex, int? maxAudioChannels, string playSessionId, - string userId) + string userId, + bool enableDirectPlay, + bool enableDirectStream, + bool enableTranscoding) { var streamBuilder = new StreamBuilder(_mediaEncoder, Logger); @@ -297,6 +303,19 @@ namespace MediaBrowser.Api.Playback var user = _userManager.GetUserById(userId); + if (!enableDirectPlay) + { + mediaSource.SupportsDirectPlay = false; + } + if (!enableDirectStream) + { + mediaSource.SupportsDirectStream = false; + } + if (!enableTranscoding) + { + mediaSource.SupportsTranscoding = false; + } + if (mediaSource.SupportsDirectPlay) { var supportsDirectStream = mediaSource.SupportsDirectStream; |
