pull/702/head
Luke Pulverenti 10 years ago
commit 5d7f6b0744

@ -101,7 +101,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.SubtitleStreamIndex, request.PlaySessionId);
} }
else else
{ {
@ -206,7 +206,7 @@ namespace MediaBrowser.Api.Playback
foreach (var mediaSource in result.MediaSources) foreach (var mediaSource in result.MediaSources)
{ {
SetDeviceSpecificData(item, mediaSource, profile, auth, maxBitrate, startTimeTicks, mediaSourceId, audioStreamIndex, subtitleStreamIndex); SetDeviceSpecificData(item, mediaSource, profile, auth, maxBitrate, startTimeTicks, mediaSourceId, audioStreamIndex, subtitleStreamIndex, result.PlaySessionId);
} }
SortMediaSources(result); SortMediaSources(result);
@ -220,7 +220,8 @@ namespace MediaBrowser.Api.Playback
long startTimeTicks, long startTimeTicks,
string mediaSourceId, string mediaSourceId,
int? audioStreamIndex, int? audioStreamIndex,
int? subtitleStreamIndex) int? subtitleStreamIndex,
string playSessionId)
{ {
var streamBuilder = new StreamBuilder(); var streamBuilder = new StreamBuilder();
@ -294,6 +295,12 @@ namespace MediaBrowser.Api.Playback
streamBuilder.BuildAudioItem(options) : streamBuilder.BuildAudioItem(options) :
streamBuilder.BuildVideoItem(options); streamBuilder.BuildVideoItem(options);
if (streamInfo != null)
{
streamInfo.PlaySessionId = playSessionId;
SetDeviceSpecificSubtitleInfo(streamInfo, mediaSource, baseUrl, auth.Token);
}
if (streamInfo != null && streamInfo.PlayMethod == PlayMethod.Transcode) if (streamInfo != null && streamInfo.PlayMethod == PlayMethod.Transcode)
{ {
streamInfo.StartPositionTicks = startTimeTicks; streamInfo.StartPositionTicks = startTimeTicks;
@ -301,11 +308,6 @@ namespace MediaBrowser.Api.Playback
mediaSource.TranscodingContainer = streamInfo.Container; mediaSource.TranscodingContainer = streamInfo.Container;
mediaSource.TranscodingSubProtocol = streamInfo.SubProtocol; mediaSource.TranscodingSubProtocol = streamInfo.SubProtocol;
} }
if (streamInfo != null)
{
SetDeviceSpecificSubtitleInfo(streamInfo, mediaSource, baseUrl, auth.Token);
}
} }
} }

@ -69,7 +69,7 @@ namespace MediaBrowser.Model.Dlna
public SubtitleDeliveryMethod SubtitleDeliveryMethod { get; set; } public SubtitleDeliveryMethod SubtitleDeliveryMethod { get; set; }
public string SubtitleFormat { get; set; } public string SubtitleFormat { get; set; }
public PlaybackInfoResponse PlaybackInfo { get; set; } public string PlaySessionId { get; set; }
public string MediaSourceId public string MediaSourceId
{ {
@ -207,8 +207,7 @@ namespace MediaBrowser.Model.Dlna
list.Add(new NameValuePair("Profile", item.VideoProfile ?? string.Empty)); list.Add(new NameValuePair("Profile", item.VideoProfile ?? string.Empty));
list.Add(new NameValuePair("Cabac", item.Cabac.HasValue ? item.Cabac.Value.ToString() : string.Empty)); list.Add(new NameValuePair("Cabac", item.Cabac.HasValue ? item.Cabac.Value.ToString() : string.Empty));
string playSessionId = item.PlaybackInfo == null ? null : item.PlaybackInfo.PlaySessionId; list.Add(new NameValuePair("PlaySessionId", item.PlaySessionId ?? string.Empty));
list.Add(new NameValuePair("PlaySessionId", playSessionId ?? string.Empty));
list.Add(new NameValuePair("api_key", accessToken ?? string.Empty)); list.Add(new NameValuePair("api_key", accessToken ?? string.Empty));
string liveStreamId = item.MediaSource == null ? null : item.MediaSource.LiveStreamId; string liveStreamId = item.MediaSource == null ? null : item.MediaSource.LiveStreamId;

@ -6,6 +6,7 @@ namespace MediaBrowser.Model.MediaInfo
{ {
public string OpenToken { get; set; } public string OpenToken { get; set; }
public string UserId { get; set; } public string UserId { get; set; }
public string PlaySessionId { get; set; }
public int? MaxStreamingBitrate { get; set; } public int? MaxStreamingBitrate { get; set; }
public long? StartTimeTicks { get; set; } public long? StartTimeTicks { get; set; }
public int? AudioStreamIndex { get; set; } public int? AudioStreamIndex { get; set; }
@ -15,7 +16,7 @@ namespace MediaBrowser.Model.MediaInfo
public LiveStreamRequest() public LiveStreamRequest()
{ {
} }
public LiveStreamRequest(AudioOptions options) public LiveStreamRequest(AudioOptions options)

@ -83,5 +83,10 @@ namespace MediaBrowser.Model.Session
/// </summary> /// </summary>
/// <value>The live stream identifier.</value> /// <value>The live stream identifier.</value>
public string LiveStreamId { get; set; } public string LiveStreamId { get; set; }
/// <summary>
/// Gets or sets the play session identifier.
/// </summary>
/// <value>The play session identifier.</value>
public string PlaySessionId { get; set; }
} }
} }

@ -41,5 +41,10 @@ namespace MediaBrowser.Model.Session
/// </summary> /// </summary>
/// <value>The live stream identifier.</value> /// <value>The live stream identifier.</value>
public string LiveStreamId { get; set; } public string LiveStreamId { get; set; }
/// <summary>
/// Gets or sets the play session identifier.
/// </summary>
/// <value>The play session identifier.</value>
public string PlaySessionId { get; set; }
} }
} }
Loading…
Cancel
Save