add missing PlaySessionId

This commit is contained in:
Luke Pulverenti 2015-04-01 17:55:50 -04:00
parent be74de0236
commit 42e2369150
5 changed files with 29 additions and 12 deletions

View File

@ -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);
}
} }
} }

View File

@ -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;
@ -217,6 +216,11 @@ namespace MediaBrowser.Model.Dlna
return list; return list;
} }
public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly, string baseUrl, string accessToken)
{
return GetExternalSubtitles(includeSelectedTrackOnly, false, baseUrl, accessToken);
}
public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly, bool enableAllProfiles, string baseUrl, string accessToken) public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly, bool enableAllProfiles, string baseUrl, string accessToken)
{ {
List<SubtitleStreamInfo> list = GetSubtitleProfiles(includeSelectedTrackOnly, enableAllProfiles, baseUrl, accessToken); List<SubtitleStreamInfo> list = GetSubtitleProfiles(includeSelectedTrackOnly, enableAllProfiles, baseUrl, accessToken);

View File

@ -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; }

View File

@ -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; }
} }
} }

View File

@ -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; }
} }
} }