| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -470,19 +470,15 @@ static int dv_read_timecode(AVFormatContext *s) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int64_t pos = avio_tell(s->pb); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // Read 3 DIF blocks: Header block and 2 Subcode blocks. | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    int partial_frame_size = 3 * 80; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    uint8_t *partial_frame = av_mallocz(sizeof(*partial_frame) * | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                        partial_frame_size); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			#define PARTIAL_FRAME_SIZE (3 * 80) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    uint8_t partial_frame[PARTIAL_FRAME_SIZE]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    RawDVContext *c = s->priv_data; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (!partial_frame) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return AVERROR(ENOMEM); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ret = avio_read(s->pb, partial_frame, partial_frame_size); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ret = avio_read(s->pb, partial_frame, PARTIAL_FRAME_SIZE); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (ret < 0) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        goto finish; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (ret < partial_frame_size) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (ret < PARTIAL_FRAME_SIZE) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ret = -1; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        goto finish; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -494,7 +490,6 @@ static int dv_read_timecode(AVFormatContext *s) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        av_log(s, AV_LOG_ERROR, "Detected timecode is invalid\n"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			finish: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    av_free(partial_frame); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    avio_seek(s->pb, pos, SEEK_SET); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return ret; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |