lavf/utils.c: Don't compute start_time from DISCARD packets for video.
Signed-off-by: Sasi Inguva <isasi@isasi.mtv.corp.google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
		
							parent
							
								
									dc99ee6b08
								
							
						
					
					
						commit
						829aebf95d
					
				@ -1158,7 +1158,9 @@ static void update_initial_timestamps(AVFormatContext *s, int stream_index,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (st->start_time == AV_NOPTS_VALUE) {
 | 
			
		||||
        st->start_time = pts;
 | 
			
		||||
        if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO || !(pkt->flags & AV_PKT_FLAG_DISCARD)) {
 | 
			
		||||
            st->start_time = pts;
 | 
			
		||||
        }
 | 
			
		||||
        if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && st->codecpar->sample_rate)
 | 
			
		||||
            st->start_time += av_rescale_q(st->skip_samples, (AVRational){1, st->codecpar->sample_rate}, st->time_base);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -13,8 +13,10 @@ FATE_MOV = fate-mov-3elist \
 | 
			
		||||
           fate-mov-elst-ends-betn-b-and-i \
 | 
			
		||||
           fate-mov-frag-overlap \
 | 
			
		||||
           fate-mov-bbi-elst-starts-b \
 | 
			
		||||
           fate-mov-neg-firstpts-discard-frames \
 | 
			
		||||
 | 
			
		||||
FATE_MOV_FFPROBE = fate-mov-aac-2048-priming \
 | 
			
		||||
FATE_MOV_FFPROBE = fate-mov-neg-firstpts-discard \
 | 
			
		||||
                   fate-mov-aac-2048-priming \
 | 
			
		||||
                   fate-mov-zombie \
 | 
			
		||||
                   fate-mov-init-nonkeyframe \
 | 
			
		||||
                   fate-mov-displaymatrix \
 | 
			
		||||
@ -72,6 +74,12 @@ fate-mov-frag-overlap: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/frag_overlap.mp4
 | 
			
		||||
# GOP structure : B B I in presentation order.
 | 
			
		||||
fate-mov-bbi-elst-starts-b: CMD = framemd5 -flags +bitexact -acodec aac_fixed -i $(TARGET_SAMPLES)/h264/twofields_packet.mp4
 | 
			
		||||
 | 
			
		||||
# Makes sure that the stream start_time is not negative when the first packet is a DISCARD packet with negative timestamp.
 | 
			
		||||
fate-mov-neg-firstpts-discard: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=start_time -bitexact $(TARGET_SAMPLES)/mov/mov_neg_first_pts_discard.mov
 | 
			
		||||
 | 
			
		||||
# Makes sure that expected frames are generated for mov_neg_first_pts_discard.mov with -vsync 1
 | 
			
		||||
fate-mov-neg-firstpts-discard-frames: CMD = framemd5 -flags +bitexact -i $(TARGET_SAMPLES)/mov/mov_neg_first_pts_discard.mov -vsync 1
 | 
			
		||||
 | 
			
		||||
fate-mov-aac-2048-priming: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_packets -print_format compact $(TARGET_SAMPLES)/mov/aac-2048-priming.mov
 | 
			
		||||
 | 
			
		||||
fate-mov-zombie: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_streams -show_packets -show_frames -bitexact -print_format compact $(TARGET_SAMPLES)/mov/white_zombie_scrunch-part.mov
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								tests/ref/fate/mov-neg-firstpts-discard
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/ref/fate/mov-neg-firstpts-discard
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
[STREAM]
 | 
			
		||||
start_time=N/A
 | 
			
		||||
[/STREAM]
 | 
			
		||||
							
								
								
									
										24
									
								
								tests/ref/fate/mov-neg-firstpts-discard-frames
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								tests/ref/fate/mov-neg-firstpts-discard-frames
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
#format: frame checksums
 | 
			
		||||
#version: 2
 | 
			
		||||
#hash: MD5
 | 
			
		||||
#tb 0: 1/30
 | 
			
		||||
#media_type 0: video
 | 
			
		||||
#codec_id 0: rawvideo
 | 
			
		||||
#dimensions 0: 320x240
 | 
			
		||||
#sar 0: 1/1
 | 
			
		||||
#stream#, dts,        pts, duration,     size, hash
 | 
			
		||||
0,          0,          0,        1,   115200, 1e55263b359b4c99c3463655a1120f11
 | 
			
		||||
0,          1,          1,        1,   115200, ce33efea81064e7c23deb57dc4c21995
 | 
			
		||||
0,          2,          2,        1,   115200, 42234f25d6191ab13c3676a7937c921b
 | 
			
		||||
0,          3,          3,        1,   115200, eab2ccb227c66cba4c9feb8cdbf28ef8
 | 
			
		||||
0,          4,          4,        1,   115200, c8816e0b151b2c892163e35086918520
 | 
			
		||||
0,          5,          5,        1,   115200, c633f5604c8651165d551ee88fb4cd92
 | 
			
		||||
0,          6,          6,        1,   115200, 5f3f8530d720fef3ac4c937e7f488ea7
 | 
			
		||||
0,          7,          7,        1,   115200, be24a583909ca92008b642f39be02685
 | 
			
		||||
0,          8,          8,        1,   115200, 83872a6e5c3369fe76f684de31bd9a36
 | 
			
		||||
0,          9,          9,        1,   115200, 4629d6eb656883b337e8e0b381f2db8d
 | 
			
		||||
0,         10,         10,        1,   115200, f6bec55bc026440d23a44b948900e785
 | 
			
		||||
0,         11,         11,        1,   115200, 7e12e8113916305c79e5d08354acc9ae
 | 
			
		||||
0,         12,         12,        1,   115200, d315c0093536642d340ea50de3b2bfbb
 | 
			
		||||
0,         13,         13,        1,   115200, 3d12b24aaed72bfada4a1a3e5e02945a
 | 
			
		||||
0,         14,         14,        1,   115200, 070d6b8935c11304d8f9520c4401a130
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user