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