]> git.sesse.net Git - vlc/blobdiff - modules/packetizer/mlp.c
Use var_InheritString for --decklink-video-connection.
[vlc] / modules / packetizer / mlp.c
index 466a0fe40876caeeb3d77ad311c5cb923c26b947..d466e77102904dc67cd37495eb6655c5a9e78a45 100644 (file)
@@ -212,7 +212,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
         case STATE_SYNC:
             /* New frame, set the Presentation Time Stamp */
             p_sys->i_pts = p_sys->bytestream.p_block->i_pts;
-            if( p_sys->i_pts != 0 &&
+            if( p_sys->i_pts > VLC_TS_INVALID &&
                 p_sys->i_pts != date_Get( &p_sys->end_date ) )
             {
                 date_Set( &p_sys->end_date, p_sys->i_pts );
@@ -302,8 +302,9 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
                 msg_Info( p_dec, "MLP channels: %d samplerate: %d",
                           p_sys->mlp.i_channels, p_sys->mlp.i_rate );
 
+                const mtime_t i_end_date = date_Get( &p_sys->end_date );
                 date_Init( &p_sys->end_date, p_sys->mlp.i_rate, 1 );
-                date_Set( &p_sys->end_date, p_sys->i_pts );
+                date_Set( &p_sys->end_date, i_end_date );
             }
 
             p_dec->fmt_out.audio.i_rate     = p_sys->mlp.i_rate;
@@ -318,7 +319,7 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
 
             /* Make sure we don't reuse the same pts twice */
             if( p_sys->i_pts == p_sys->bytestream.p_block->i_pts )
-                p_sys->i_pts = p_sys->bytestream.p_block->i_pts = 0;
+                p_sys->i_pts = p_sys->bytestream.p_block->i_pts = VLC_TS_INVALID;
 
             /* So p_block doesn't get re-added several times */
             *pp_block = block_BytestreamPop( &p_sys->bytestream );