| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -3556,13 +3556,16 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, AVBufferRef *buf | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    size -= n; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    track = matroska_find_track_by_num(matroska, num); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (!track || !track->stream) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        av_log(matroska->ctx, AV_LOG_INFO, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			               "Invalid stream %"PRIu64"\n", num); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (!track || size < 3) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return AVERROR_INVALIDDATA; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } else if (size < 3) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return AVERROR_INVALIDDATA; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    st = track->stream; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (!(st = track->stream)) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        av_log(matroska->ctx, AV_LOG_VERBOSE, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			               "No stream associated to TrackNumber %"PRIu64". " | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			               "Ignoring Block with this TrackNumber.\n", num); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (st->discard >= AVDISCARD_ALL) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return res; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    av_assert1(block_duration != AV_NOPTS_VALUE); | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |