vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Mon Apr 14 
20:58:13 2014 +0200| [ad92c4f657007cd8c52b30a596f852f15cace130] | committer: 
Francois Cartegnie

demux: mp4: read fragmented movie duration

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

 modules/demux/mp4/mp4.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index a07ed18..52c31cd 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -568,6 +568,14 @@ static int Open( vlc_object_t * p_this )
         p_sys->i_duration = p_mvhd->data.p_mvhd->i_duration;
     }
 
+    /* Try in mehd if fragmented */
+    if ( p_sys->i_duration == 0 )
+    {
+        MP4_Box_t *p_mehd = MP4_BoxGet( p_demux->p_sys->p_root, 
"moov/mvex/mehd");
+        if ( p_mehd )
+            p_sys->i_duration = p_mehd->data.p_mehd->i_fragment_duration;
+    }
+
     if( !( p_sys->i_tracks = MP4_BoxCount( p_sys->p_root, "/moov/trak" ) ) )
     {
         msg_Err( p_demux, "cannot find any /moov/trak" );

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to