vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Feb 22 
13:27:37 2016 +0100| [30c32ef935f2afb989e77a9c11de3c5ad59e42aa] | committer: 
Francois Cartegnie

demux: mp4: fix double duration with fragmented

Happens with duration on tkhd but empty moov

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=30c32ef935f2afb989e77a9c11de3c5ad59e42aa
---

 modules/demux/mp4/mp4.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index 3175ed3..3beabf5 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -3836,7 +3836,11 @@ static bool AddFragment( demux_t *p_demux, MP4_Box_t 
*p_moox )
                i_trakcount = 0;
                while( p_trak )
                {
-                   if ( p_trak->i_type == ATOM_trak && (p_tkhd = MP4_BoxGet( 
p_trak, "tkhd" )) )
+                   const MP4_Box_t *p_stsz;
+                   if ( p_trak->i_type == ATOM_trak &&
+                       (p_tkhd = MP4_BoxGet( p_trak, "tkhd" )) &&
+                       (p_stsz = MP4_BoxGet( p_trak, "mdia/minf/stbl/stsz" )) 
&&
+                        BOXDATA(p_stsz)->i_sample_count > 0 )
                    {
                        p_moovfragment->p_durations[i_trakcount].i_duration = 
BOXDATA(p_tkhd)->i_duration;
                        p_moovfragment->p_durations[i_trakcount++].i_track_ID = 
BOXDATA(p_tkhd)->i_track_ID;

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to