Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
This commit is contained in:
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; }
|
||||||
|
|
|
@ -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…
Reference in New Issue
Block a user