]> git.sesse.net Git - vlc/commitdiff
Used VLC_TS_INVALID/0 in m4v demuxer.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 20 Dec 2009 21:59:02 +0000 (22:59 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 20 Dec 2009 22:23:30 +0000 (23:23 +0100)
modules/demux/mpeg/m4v.c

index 501b75642d751062f07e0a593ce6cef34281d99b..55205826254a4bd19a1b05d4c5598c50cd07e376 100644 (file)
@@ -101,7 +101,7 @@ static int Open( vlc_object_t * p_this )
     p_demux->pf_control= Control;
     p_demux->p_sys     = p_sys = malloc( sizeof( demux_sys_t ) );
     p_sys->p_es        = NULL;
-    p_sys->i_dts       = 1;
+    p_sys->i_dts       = 0;
 
     /*  Load the mpeg4video packetizer */
     es_format_Init( &fmt, VIDEO_ES, VLC_FOURCC( 'm', 'p', '4', 'v' ) );
@@ -147,8 +147,8 @@ static int Demux( demux_t *p_demux)
     }
 
     /* m4v demuxer doesn't set pts/dts at all */
-    p_block_in->i_dts = p_sys->i_dts;
-    p_block_in->i_pts = 0;
+    p_block_in->i_dts = VLC_TS_0 + p_sys->i_dts;
+    p_block_in->i_pts = VLC_TS_INVALID;
 
     while( (p_block_out = p_sys->p_packetizer->pf_packetize( p_sys->p_packetizer, &p_block_in )) )
     {
@@ -162,18 +162,18 @@ static int Demux( demux_t *p_demux)
                 p_sys->p_es = es_out_Add( p_demux->out, &p_sys->p_packetizer->fmt_out);
             }
 
-            es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_sys->i_dts );
+            es_out_Control( p_demux->out, ES_OUT_SET_PCR, VLC_TS_0 + p_sys->i_dts );
 
             p_block_out->p_next = NULL;
             if( p_block_out->i_pts == p_block_out->i_dts )
             {
-                p_block_out->i_pts = p_sys->i_dts;
+                p_block_out->i_pts = VLC_TS_0 + p_sys->i_dts;
             }
             else
             {
-                p_block_out->i_pts = 0;
+                p_block_out->i_pts = VLC_TS_INVALID;
             }
-            p_block_out->i_dts = p_sys->i_dts;
+            p_block_out->i_dts = VLC_TS_0 + p_sys->i_dts;
 
             es_out_Send( p_demux->out, p_sys->p_es, p_block_out );