| 
					
				 | 
			
			
				@@ -167,25 +167,28 @@ namespace MediaBrowser.Dlna.PlayTo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (_currentItem == null || _device.IsStopped) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!_playbackStarted) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var playlistItem = Playlist.FirstOrDefault(p => p.PlayState == 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (playlistItem != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                await _sessionManager.OnPlaybackStart(new PlaybackInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!_playbackStarted) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Item = _currentItem,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SessionId = _session.Id,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    CanSeek = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    QueueableMediaTypes = new List<string> { _currentItem.MediaType } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }).ConfigureAwait(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    await _sessionManager.OnPlaybackStart(new PlaybackInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Item = _currentItem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        SessionId = _session.Id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        CanSeek = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        QueueableMediaTypes = new List<string> { _currentItem.MediaType }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MediaSourceId = playlistItem.MediaSourceId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        AudioStreamIndex = playlistItem.AudioStreamIndex, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        SubtitleStreamIndex = playlistItem.SubtitleStreamIndex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _playbackStarted = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }).ConfigureAwait(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if ((_device.IsPlaying || _device.IsPaused)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var playlistItem = Playlist.FirstOrDefault(p => p.PlayState == 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _playbackStarted = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (playlistItem != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if ((_device.IsPlaying || _device.IsPaused)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     var ticks = _device.Position.Ticks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -487,7 +490,7 @@ namespace MediaBrowser.Dlna.PlayTo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return (contentFeatures + orgOp + orgCi + dlnaflags).Trim(';'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private PlaylistItem GetPlaylistItem(BaseItem item, List<MediaStream> mediaStreams, DeviceProfile profile) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var video = item as Video; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -563,10 +566,10 @@ namespace MediaBrowser.Dlna.PlayTo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _logger.Debug("{0} - SetAvTransport Uri: {1} DlnaHeaders: {2}", _device.Properties.Name, nextTrack.StreamUrl, dlnaheaders); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             await _device.SetAvTransport(nextTrack.StreamUrl, dlnaheaders, nextTrack.Didl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (nextTrack.StartPositionTicks > 0 && !nextTrack.Transcode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 await _device.Seek(TimeSpan.FromTicks(nextTrack.StartPositionTicks)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |