]> git.sesse.net Git - vlc/commitdiff
* ts: for MSCODEC in TS, set pts == dts when pts <= 0.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 13 Mar 2004 03:37:07 +0000 (03:37 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Sat, 13 Mar 2004 03:37:07 +0000 (03:37 +0000)
 (The problem is that if pts is always 0, no time information
 will be written, making stream unplayable).

 * pes: cosmetics.

modules/mux/mpeg/pes.c
modules/mux/mpeg/ts.c

index d0ad2079433fd64ed0805d02f949b4746164da34..63b0a4ebfe6add95a526e796147daad82ff66b0a 100644 (file)
@@ -234,7 +234,7 @@ int E_( EStoPES )( sout_instance_t *p_sout,
                    int i_stream_id,
                    int b_mpeg2 )
 {
-    block_t *p_es_sav, *p_pes;
+    block_t *p_pes;
     mtime_t i_pts, i_dts, i_length;
 
     uint8_t *p_data;
@@ -262,7 +262,6 @@ int E_( EStoPES )( sout_instance_t *p_sout,
     p_data = p_es->p_buffer;
 
     *pp_pes = p_pes = NULL;
-    p_es_sav = p_es;
 
     do
     {
@@ -315,7 +314,6 @@ int E_( EStoPES )( sout_instance_t *p_sout,
 
         i_dts += i_length;
     }
-    (*pp_pes)->i_flags = p_es_sav->i_flags;
     return( 0 );
 }
 
index e89d1e8b9301b82c81f0b68cfbf1672508972e66..106ad27ec11dac0270839476284748250aa93422 100644 (file)
@@ -847,6 +847,11 @@ static int Mux( sout_mux_t *p_mux )
                         }
 
                         /* Convert to pes */
+                        if( p_stream->i_stream_id == 0xa0 && p_data->i_pts <= 0 )
+                        {
+                            /* XXX yes I know, it's awfull, but it's needed, so don't remove it ... */
+                            p_data->i_pts = p_data->i_dts;
+                        }
                         E_( EStoPES )( p_mux->p_sout, &p_data, p_data, p_stream->i_stream_id, 1 );
 
                         BufferChainAppend( &p_stream->chain_pes, p_data );