choose next sample by sample position
when streams' next dts difference is below AV_TIME_BASE, to reduce seeking, needed for slow underlying protocols (http), a slightly modified patch from elupus, elupus at ecce dot se Originally committed as revision 11226 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									88808c60af
								
							
						
					
					
						commit
						2aaf95a210
					
				@ -1511,7 +1511,9 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
 | 
			
		||||
            int64_t dts = av_rescale(current_sample->timestamp * (int64_t)msc->time_rate, AV_TIME_BASE, msc->time_scale);
 | 
			
		||||
 | 
			
		||||
            dprintf(s, "stream %d, sample %d, dts %"PRId64"\n", i, msc->current_sample, dts);
 | 
			
		||||
            if (dts < best_dts) {
 | 
			
		||||
            if (!sample ||
 | 
			
		||||
                ((FFABS(best_dts - dts) <= AV_TIME_BASE && current_sample->pos < sample->pos) ||
 | 
			
		||||
                 (FFABS(best_dts - dts) > AV_TIME_BASE && dts < best_dts))) {
 | 
			
		||||
                sample = current_sample;
 | 
			
		||||
                best_dts = dts;
 | 
			
		||||
                sc = msc;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user