[vlc-devel] commit: do not mind large time discontinuities in SPU streams these are to be expected , so do not reset timing (Vincent Penquerc'h )

git version control git at videolan.org
Sat Nov 15 13:28:40 CET 2008


vlc | branch: master | Vincent Penquerc'h <ogg.k.ogg.k at googlemail.com> | Tue Nov 11 20:56:06 2008 +0000| [8f92973b71c8cc8f4179e1fc57ee28fc47b8afbd] | committer: Laurent Aimar 

do not mind large time discontinuities in SPU streams these are to be expected, so do not reset timing

Signed-off-by: Laurent Aimar <fenrir at videolan.org>

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

 modules/demux/ogg.c |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c
index 4e888aa..4d9c127 100644
--- a/modules/demux/ogg.c
+++ b/modules/demux/ogg.c
@@ -674,17 +674,21 @@ static void Ogg_DecodePacket( demux_t *p_demux,
     i_interpolated_pts = p_stream->i_interpolated_pcr;
     Ogg_UpdatePCR( p_stream, p_oggpacket );
 
-    if( p_stream->i_pcr >= 0 )
+    /* SPU streams are typically discontinuous, do not mind large gaps */
+    if( p_stream->fmt.i_cat != SPU_ES )
     {
-        /* This is for streams where the granulepos of the header packets
-         * doesn't match these of the data packets (eg. ogg web radios). */
-        if( p_stream->i_previous_pcr == 0 &&
-            p_stream->i_pcr  > 3 * DEFAULT_PTS_DELAY )
+        if( p_stream->i_pcr >= 0 )
         {
-            es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
+            /* This is for streams where the granulepos of the header packets
+             * doesn't match these of the data packets (eg. ogg web radios). */
+            if( p_stream->i_previous_pcr == 0 &&
+                p_stream->i_pcr  > 3 * DEFAULT_PTS_DELAY )
+            {
+                es_out_Control( p_demux->out, ES_OUT_RESET_PCR );
 
-            /* Call the pace control */
-            es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_stream->i_pcr );
+                /* Call the pace control */
+                es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_stream->i_pcr );
+            }
         }
     }
 




More information about the vlc-devel mailing list