fix demuxing of XviD_with_3_AAC-HE_audio_streams.avi
Originally committed as revision 5085 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									5c89153e90
								
							
						
					
					
						commit
						1894edeb74
					
				@ -203,7 +203,10 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
 | 
			
		||||
            /* using frame_period is bad idea */
 | 
			
		||||
            frame_period = get_le32(pb);
 | 
			
		||||
            bit_rate = get_le32(pb) * 8;
 | 
			
		||||
            url_fskip(pb, 4 * 4);
 | 
			
		||||
            get_le32(pb);
 | 
			
		||||
            avi->non_interleaved |= get_le32(pb) & AVIF_MUSTUSEINDEX;
 | 
			
		||||
 | 
			
		||||
            url_fskip(pb, 2 * 4);
 | 
			
		||||
            n = get_le32(pb);
 | 
			
		||||
            for(i=0;i<n;i++) {
 | 
			
		||||
                AVIStream *ast;
 | 
			
		||||
@ -468,13 +471,12 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
 | 
			
		||||
        if(i>=0){
 | 
			
		||||
            int64_t pos= best_st->index_entries[i].pos;
 | 
			
		||||
            pos += best_ast->packet_size - best_ast->remaining;
 | 
			
		||||
            url_fseek(&s->pb, pos, SEEK_SET);
 | 
			
		||||
            url_fseek(&s->pb, pos + 8, SEEK_SET);
 | 
			
		||||
//        av_log(NULL, AV_LOG_DEBUG, "pos=%Ld\n", pos);
 | 
			
		||||
 | 
			
		||||
            if(best_ast->remaining)
 | 
			
		||||
                avi->stream_index= best_stream_index;
 | 
			
		||||
            else
 | 
			
		||||
                avi->stream_index= -1;
 | 
			
		||||
            avi->stream_index= best_stream_index;
 | 
			
		||||
            if(!best_ast->remaining)
 | 
			
		||||
                best_ast->remaining= best_st->index_entries[i].size;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user