Don't forget about audio remaining in buffer, in case there is enough
left to make another DV frame. Originally committed as revision 9032 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									c6bcbb2cd3
								
							
						
					
					
						commit
						2e374f12b5
					
				@ -266,13 +266,15 @@ int dv_assemble_frame(DVMuxContext *c, AVStream* st,
 | 
			
		||||
    /* Lets see if we have enough data to construct one DV frame */
 | 
			
		||||
    if (c->has_video == 1 && c->has_audio + 1 == 1<<c->n_ast) {
 | 
			
		||||
        dv_inject_metadata(c, *frame);
 | 
			
		||||
        c->has_audio = 0;
 | 
			
		||||
        for (i=0; i<c->n_ast; i++) {
 | 
			
		||||
             dv_inject_audio(c, i, *frame);
 | 
			
		||||
             av_fifo_drain(&c->audio_data[i], reqasize);
 | 
			
		||||
             c->has_audio |= ((reqasize <= av_fifo_size(&c->audio_data[i])) << i);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        c->has_video = 0;
 | 
			
		||||
        c->has_audio = 0;
 | 
			
		||||
 | 
			
		||||
        c->frames++;
 | 
			
		||||
 | 
			
		||||
        return c->sys->frame_size;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user