|
|
@ -125,7 +125,7 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
|
|
|
|
|
|
|
|
SetDeviceSpecificData(item, result.MediaSource, profile, authInfo, request.MaxStreamingBitrate,
|
|
|
|
SetDeviceSpecificData(item, result.MediaSource, profile, authInfo, request.MaxStreamingBitrate,
|
|
|
|
request.StartTimeTicks ?? 0, result.MediaSource.Id, request.AudioStreamIndex,
|
|
|
|
request.StartTimeTicks ?? 0, result.MediaSource.Id, request.AudioStreamIndex,
|
|
|
|
request.SubtitleStreamIndex, request.PlaySessionId, request.UserId);
|
|
|
|
request.SubtitleStreamIndex, request.MaxAudioChannels, request.PlaySessionId, request.UserId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -167,7 +167,7 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var mediaSourceId = request.MediaSourceId;
|
|
|
|
var mediaSourceId = request.MediaSourceId;
|
|
|
|
|
|
|
|
|
|
|
|
SetDeviceSpecificData(request.Id, info, profile, authInfo, request.MaxStreamingBitrate ?? profile.MaxStreamingBitrate, request.StartTimeTicks ?? 0, mediaSourceId, request.AudioStreamIndex, request.SubtitleStreamIndex, request.UserId);
|
|
|
|
SetDeviceSpecificData(request.Id, info, profile, authInfo, request.MaxStreamingBitrate ?? profile.MaxStreamingBitrate, request.StartTimeTicks ?? 0, mediaSourceId, request.AudioStreamIndex, request.SubtitleStreamIndex, request.MaxAudioChannels, request.UserId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return ToOptimizedResult(info);
|
|
|
|
return ToOptimizedResult(info);
|
|
|
@ -230,13 +230,14 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
string mediaSourceId,
|
|
|
|
string mediaSourceId,
|
|
|
|
int? audioStreamIndex,
|
|
|
|
int? audioStreamIndex,
|
|
|
|
int? subtitleStreamIndex,
|
|
|
|
int? subtitleStreamIndex,
|
|
|
|
|
|
|
|
int? maxAudioChannels,
|
|
|
|
string userId)
|
|
|
|
string userId)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var item = _libraryManager.GetItemById(itemId);
|
|
|
|
var item = _libraryManager.GetItemById(itemId);
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var mediaSource in result.MediaSources)
|
|
|
|
foreach (var mediaSource in result.MediaSources)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
SetDeviceSpecificData(item, mediaSource, profile, auth, maxBitrate, startTimeTicks, mediaSourceId, audioStreamIndex, subtitleStreamIndex, result.PlaySessionId, userId);
|
|
|
|
SetDeviceSpecificData(item, mediaSource, profile, auth, maxBitrate, startTimeTicks, mediaSourceId, audioStreamIndex, subtitleStreamIndex, maxAudioChannels, result.PlaySessionId, userId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SortMediaSources(result, maxBitrate);
|
|
|
|
SortMediaSources(result, maxBitrate);
|
|
|
@ -251,6 +252,7 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
string mediaSourceId,
|
|
|
|
string mediaSourceId,
|
|
|
|
int? audioStreamIndex,
|
|
|
|
int? audioStreamIndex,
|
|
|
|
int? subtitleStreamIndex,
|
|
|
|
int? subtitleStreamIndex,
|
|
|
|
|
|
|
|
int? maxAudioChannels,
|
|
|
|
string playSessionId,
|
|
|
|
string playSessionId,
|
|
|
|
string userId)
|
|
|
|
string userId)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -262,7 +264,8 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
Context = EncodingContext.Streaming,
|
|
|
|
Context = EncodingContext.Streaming,
|
|
|
|
DeviceId = auth.DeviceId,
|
|
|
|
DeviceId = auth.DeviceId,
|
|
|
|
ItemId = item.Id.ToString("N"),
|
|
|
|
ItemId = item.Id.ToString("N"),
|
|
|
|
Profile = profile
|
|
|
|
Profile = profile,
|
|
|
|
|
|
|
|
MaxAudioChannels = maxAudioChannels
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
if (string.Equals(mediaSourceId, mediaSource.Id, StringComparison.OrdinalIgnoreCase))
|
|
|
|
if (string.Equals(mediaSourceId, mediaSource.Id, StringComparison.OrdinalIgnoreCase))
|
|
|
|