[vlc-commits] demux: ogg: don't probe length again with chained streams

Francois Cartegnie git at videolan.org
Sun Dec 22 20:20:35 CET 2013


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Sun Dec 22 20:16:48 2013 +0100| [976ee834f191eefcf3e4262f49b5232aa42cdd87] | committer: Francois Cartegnie

demux: ogg: don't probe length again with chained streams

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

 modules/demux/ogg.c |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c
index f1aece1..4fea06a 100644
--- a/modules/demux/ogg.c
+++ b/modules/demux/ogg.c
@@ -272,19 +272,21 @@ static int Demux( demux_t * p_demux )
         if( Ogg_BeginningOfStream( p_demux ) != VLC_SUCCESS )
             return 0;
 
-        /* Find the real duration */
-        stream_Control( p_demux->s, STREAM_CAN_SEEK, &b_canseek );
-        if ( b_canseek )
-            Oggseek_ProbeEnd( p_demux );
-
         msg_Dbg( p_demux, "beginning of a group of logical streams" );
-        if ( p_sys->b_chained_boundary )
+
+        if ( !p_sys->b_chained_boundary )
+        {
+            /* Find the real duration */
+            stream_Control( p_demux->s, STREAM_CAN_SEEK, &b_canseek );
+            if ( b_canseek )
+                Oggseek_ProbeEnd( p_demux );
+            es_out_Control( p_demux->out, ES_OUT_SET_PCR, VLC_TS_0 );
+        }
+        else
         {
             es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
             p_sys->b_chained_boundary = false;
         }
-        else
-            es_out_Control( p_demux->out, ES_OUT_SET_PCR, VLC_TS_0 );
     }
 
     if ( p_sys->b_preparsing_done )



More information about the vlc-commits mailing list