Browse code

avformat/mov: read start_pad from edit list start time if codec is aac

Related to ticket #2324, #2325.

Stream duration still need to be fixed...

Signed-off-by: Marton Balint <cus@passwd.hu>

Marton Balint authored on 2016/02/21 04:09:42
Showing 3 changed files
... ...
@@ -2688,6 +2688,9 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
2688 2688
                 st->codec->has_b_frames = 1;
2689 2689
             }
2690 2690
         }
2691
+
2692
+        if (!unsupported && st->codec->codec_id == AV_CODEC_ID_AAC && start_time > 0)
2693
+            sc->start_pad = start_time;
2691 2694
     }
2692 2695
 
2693 2696
     /* only use old uncompressed audio chunk demuxing when stts specifies it */
... ...
@@ -1,10 +1,10 @@
1 1
 [STREAM]
2 2
 index=0
3
-start_pts=-1024
3
+start_pts=0
4 4
 duration_ts=104384
5 5
 [/STREAM]
6 6
 [FORMAT]
7
-start_time=-0.023220
7
+start_time=0.000000
8 8
 duration=2.367000
9 9
 [/FORMAT]
10 10
 packet|pts=-1024|dts=-1024|duration=1024
... ...
@@ -24,7 +24,6 @@ packet|pts=100352|dts=100352|duration=1024
24 24
 packet|pts=101376|dts=101376|duration=1024
25 25
 packet|pts=102400|dts=102400|duration=1984
26 26
 stream|nb_read_packets=102
27
-frame|pkt_pts=-1024|pkt_dts=-1024|best_effort_timestamp=-1024|pkt_duration=1024|nb_samples=1024
28 27
 frame|pkt_pts=0|pkt_dts=0|best_effort_timestamp=0|pkt_duration=1024|nb_samples=1024
29 28
 frame|pkt_pts=1024|pkt_dts=1024|best_effort_timestamp=1024|pkt_duration=1024|nb_samples=1024
30 29
 frame|pkt_pts=2048|pkt_dts=2048|best_effort_timestamp=2048|pkt_duration=1024|nb_samples=1024
... ...
@@ -32,6 +31,7 @@ frame|pkt_pts=3072|pkt_dts=3072|best_effort_timestamp=3072|pkt_duration=1024|nb_
32 32
 frame|pkt_pts=4096|pkt_dts=4096|best_effort_timestamp=4096|pkt_duration=1024|nb_samples=1024
33 33
 frame|pkt_pts=5120|pkt_dts=5120|best_effort_timestamp=5120|pkt_duration=1024|nb_samples=1024
34 34
 frame|pkt_pts=6144|pkt_dts=6144|best_effort_timestamp=6144|pkt_duration=1024|nb_samples=1024
35
+frame|pkt_pts=7168|pkt_dts=7168|best_effort_timestamp=7168|pkt_duration=1024|nb_samples=1024
35 36
 frame|pkt_pts=95232|pkt_dts=95232|best_effort_timestamp=95232|pkt_duration=1024|nb_samples=1024
36 37
 frame|pkt_pts=96256|pkt_dts=96256|best_effort_timestamp=96256|pkt_duration=1024|nb_samples=1024
37 38
 frame|pkt_pts=97280|pkt_dts=97280|best_effort_timestamp=97280|pkt_duration=1024|nb_samples=1024
... ...
@@ -40,4 +40,4 @@ frame|pkt_pts=99328|pkt_dts=99328|best_effort_timestamp=99328|pkt_duration=1024|
40 40
 frame|pkt_pts=100352|pkt_dts=100352|best_effort_timestamp=100352|pkt_duration=1024|nb_samples=1024
41 41
 frame|pkt_pts=101376|pkt_dts=101376|best_effort_timestamp=101376|pkt_duration=1024|nb_samples=1024
42 42
 frame|pkt_pts=102400|pkt_dts=102400|best_effort_timestamp=102400|pkt_duration=1984|nb_samples=1024
43
-stream|nb_read_frames=102
43
+stream|nb_read_frames=101
... ...
@@ -1,10 +1,10 @@
1 1
 [STREAM]
2 2
 index=0
3
-start_pts=-1024
3
+start_pts=0
4 4
 duration_ts=530224
5 5
 [/STREAM]
6 6
 [FORMAT]
7
-start_time=-0.023220
7
+start_time=0.000000
8 8
 duration=12.024000
9 9
 [/FORMAT]
10 10
 packet|pts=-1024|dts=-1024|duration=1024
... ...
@@ -24,7 +24,6 @@ packet|pts=526336|dts=526336|duration=1024
24 24
 packet|pts=527360|dts=527360|duration=1024
25 25
 packet|pts=528384|dts=528384|duration=1840
26 26
 stream|nb_read_packets=518
27
-frame|pkt_pts=-1024|pkt_dts=-1024|best_effort_timestamp=-1024|pkt_duration=1024|nb_samples=1024
28 27
 frame|pkt_pts=0|pkt_dts=0|best_effort_timestamp=0|pkt_duration=1024|nb_samples=1024
29 28
 frame|pkt_pts=1024|pkt_dts=1024|best_effort_timestamp=1024|pkt_duration=1024|nb_samples=1024
30 29
 frame|pkt_pts=2048|pkt_dts=2048|best_effort_timestamp=2048|pkt_duration=1024|nb_samples=1024
... ...
@@ -32,6 +31,7 @@ frame|pkt_pts=3072|pkt_dts=3072|best_effort_timestamp=3072|pkt_duration=1024|nb_
32 32
 frame|pkt_pts=4096|pkt_dts=4096|best_effort_timestamp=4096|pkt_duration=1024|nb_samples=1024
33 33
 frame|pkt_pts=5120|pkt_dts=5120|best_effort_timestamp=5120|pkt_duration=1024|nb_samples=1024
34 34
 frame|pkt_pts=6144|pkt_dts=6144|best_effort_timestamp=6144|pkt_duration=1024|nb_samples=1024
35
+frame|pkt_pts=7168|pkt_dts=7168|best_effort_timestamp=7168|pkt_duration=1024|nb_samples=1024
35 36
 frame|pkt_pts=521216|pkt_dts=521216|best_effort_timestamp=521216|pkt_duration=1024|nb_samples=1024
36 37
 frame|pkt_pts=522240|pkt_dts=522240|best_effort_timestamp=522240|pkt_duration=1024|nb_samples=1024
37 38
 frame|pkt_pts=523264|pkt_dts=523264|best_effort_timestamp=523264|pkt_duration=1024|nb_samples=1024
... ...
@@ -40,4 +40,4 @@ frame|pkt_pts=525312|pkt_dts=525312|best_effort_timestamp=525312|pkt_duration=10
40 40
 frame|pkt_pts=526336|pkt_dts=526336|best_effort_timestamp=526336|pkt_duration=1024|nb_samples=1024
41 41
 frame|pkt_pts=527360|pkt_dts=527360|best_effort_timestamp=527360|pkt_duration=1024|nb_samples=1024
42 42
 frame|pkt_pts=528384|pkt_dts=528384|best_effort_timestamp=528384|pkt_duration=1840|nb_samples=1024
43
-stream|nb_read_frames=518
43
+stream|nb_read_frames=517