[vlc-devel] commit: Complete input/decoder.c review to use VLC_TS_INVALID. ( Laurent Aimar )

git version control git at videolan.org
Sun Apr 26 15:32:50 CEST 2009


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sun Apr 26 15:31:35 2009 +0200| [a1aca436efc0cb60dd5ab4aea77a3c944a6adbea] | committer: Laurent Aimar 

Complete input/decoder.c review to use VLC_TS_INVALID.

No functionnal changes.

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

 src/input/decoder.c |   63 ++++++++++++++++++++++++++-------------------------
 1 files changed, 32 insertions(+), 31 deletions(-)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index 1667d32..c7bab6e 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -239,7 +239,7 @@ int decoder_GetInputAttachments( decoder_t *p_dec,
 mtime_t decoder_GetDisplayDate( decoder_t *p_dec, mtime_t i_ts )
 {
     if( !p_dec->pf_get_display_date )
-        return 0;
+        return VLC_TS_INVALID;
 
     return p_dec->pf_get_display_date( p_dec, i_ts );
 }
@@ -649,14 +649,14 @@ static mtime_t DecoderGetDisplayDate( decoder_t *p_dec, mtime_t i_ts )
 
     vlc_mutex_lock( &p_owner->lock );
     if( p_owner->b_buffering || p_owner->b_paused )
-        i_ts = 0;
+        i_ts = VLC_TS_INVALID;
     vlc_mutex_unlock( &p_owner->lock );
 
-    if( !p_owner->p_clock || !i_ts )
+    if( !p_owner->p_clock || i_ts <= VLC_TS_INVALID )
         return i_ts;
 
     if( input_clock_ConvertTS( p_owner->p_clock, NULL, &i_ts, NULL, INT64_MAX ) )
-        return 0;
+        return VLC_TS_INVALID;
 
     return i_ts;
 }
@@ -725,7 +725,7 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
         vlc_object_release( p_dec );
         return NULL;
     }
-    p_dec->p_owner->i_preroll_end = -1;
+    p_dec->p_owner->i_preroll_end = VLC_TS_INVALID;
     p_dec->p_owner->i_last_rate = INPUT_RATE_DEFAULT;
     p_dec->p_owner->p_input = p_input;
     p_dec->p_owner->p_aout = NULL;
@@ -825,7 +825,7 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
     p_owner->p_description = NULL;
 
     p_owner->b_paused = false;
-    p_owner->pause.i_date = 0;
+    p_owner->pause.i_date = VLC_TS_INVALID;
     p_owner->pause.i_ignore = 0;
 
     p_owner->b_buffering = false;
@@ -1016,9 +1016,9 @@ static inline void DecoderUpdatePreroll( int64_t *pi_preroll, const block_t *p )
 {
     if( p->i_flags & (BLOCK_FLAG_PREROLL|BLOCK_FLAG_DISCONTINUITY) )
         *pi_preroll = INT64_MAX;
-    else if( p->i_dts > 0 )
+    else if( p->i_dts > VLC_TS_INVALID )
         *pi_preroll = __MIN( *pi_preroll, p->i_dts );
-    else if( p->i_pts > 0 )
+    else if( p->i_pts > VLC_TS_INVALID )
         *pi_preroll = __MIN( *pi_preroll, p->i_pts );
 }
 
@@ -1027,7 +1027,7 @@ static mtime_t DecoderTeletextFixTs( mtime_t i_ts )
     mtime_t current_date = mdate();
 
     /* FIXME I don't really like that, es_out SHOULD do it using the video pts */
-    if( !i_ts || i_ts > current_date + 10000000 || i_ts < current_date )
+    if( i_ts <= VLC_TS_INVALID || i_ts > current_date + 10000000 || i_ts < current_date )
     {
         /* ETSI EN 300 472 Annex A : do not take into account the PTS
          * for teletext streams. */
@@ -1051,13 +1051,13 @@ static void DecoderFixTs( decoder_t *p_dec, mtime_t *pi_ts0, mtime_t *pi_ts1,
         const bool b_ephemere = pi_ts1 && *pi_ts0 == *pi_ts1;
         int i_rate;
 
-        if( *pi_ts0 > 0 )
+        if( *pi_ts0 > VLC_TS_INVALID )
         {
             *pi_ts0 += i_es_delay;
-            if( pi_ts1 && *pi_ts1 > 0 )
+            if( pi_ts1 && *pi_ts1 > VLC_TS_INVALID )
                 *pi_ts1 += i_es_delay;
             if( input_clock_ConvertTS( p_clock, &i_rate, pi_ts0, pi_ts1, i_ts_bound ) )
-                *pi_ts0 = 0;
+                *pi_ts0 = VLC_TS_INVALID;
         }
         else
         {
@@ -1078,7 +1078,7 @@ static void DecoderFixTs( decoder_t *p_dec, mtime_t *pi_ts0, mtime_t *pi_ts1,
         if( b_telx )
         {
             *pi_ts0 = DecoderTeletextFixTs( *pi_ts0 );
-            if( pi_ts1 && *pi_ts1 <= 0 )
+            if( pi_ts1 && *pi_ts1 <= VLC_TS_INVALID )
                 *pi_ts1 = *pi_ts0;
         }
     }
@@ -1092,7 +1092,7 @@ static void DecoderPlayAudio( decoder_t *p_dec, aout_buffer_t *p_audio,
     aout_input_t    *p_aout_input = p_owner->p_aout_input;
 
     /* */
-    if( p_audio->start_date <= 0 )
+    if( p_audio->start_date <= VLC_TS_INVALID ) // FIXME --VLC_TS_INVALID verify audio_output/*
     {
         msg_Warn( p_dec, "non-dated audio buffer received" );
         *pi_lost_sum += 1;
@@ -1145,7 +1145,7 @@ static void DecoderPlayAudio( decoder_t *p_dec, aout_buffer_t *p_audio,
         }
 
         /* */
-        const bool b_dated = p_audio->start_date > 0;
+        const bool b_dated = p_audio->start_date > VLC_TS_INVALID;
         int i_rate = INPUT_RATE_DEFAULT;
 
         DecoderFixTs( p_dec, &p_audio->start_date, &p_audio->end_date, NULL,
@@ -1154,7 +1154,7 @@ static void DecoderPlayAudio( decoder_t *p_dec, aout_buffer_t *p_audio,
         vlc_mutex_unlock( &p_owner->lock );
 
         if( !p_aout || !p_aout_input ||
-            p_audio->start_date <= 0 ||
+            p_audio->start_date <= VLC_TS_INVALID ||
             i_rate < INPUT_RATE_DEFAULT/AOUT_MAX_INPUT_RATE ||
             i_rate > INPUT_RATE_DEFAULT*AOUT_MAX_INPUT_RATE )
             b_reject = true;
@@ -1227,19 +1227,20 @@ static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block )
         }
         i_decoded++;
 
-        if( p_aout_buf->start_date < p_owner->i_preroll_end )
+        if( p_owner->i_preroll_end > VLC_TS_INVALID &&
+            p_aout_buf->start_date < p_owner->i_preroll_end )
         {
             aout_DecDeleteBuffer( p_aout, p_aout_input, p_aout_buf );
             continue;
         }
 
-        if( p_owner->i_preroll_end > 0 )
+        if( p_owner->i_preroll_end > VLC_TS_INVALID )
         {
             msg_Dbg( p_dec, "End of audio preroll" );
             if( p_owner->p_aout && p_owner->p_aout_input )
                 aout_DecFlush( p_owner->p_aout, p_owner->p_aout_input );
             /* */
-            p_owner->i_preroll_end = -1;
+            p_owner->i_preroll_end = VLC_TS_INVALID;
         }
 
         DecoderPlayAudio( p_dec, p_aout_buf, &i_played, &i_lost );
@@ -1307,7 +1308,7 @@ static void DecoderPlayVideo( decoder_t *p_dec, picture_t *p_picture,
     vout_thread_t  *p_vout = p_owner->p_vout;
     bool b_first_buffered;
 
-    if( p_picture->date <= 0 )
+    if( p_picture->date <= VLC_TS_INVALID )
     {
         msg_Warn( p_vout, "non-dated video buffer received" );
         *pi_lost_sum += 1;
@@ -1373,7 +1374,7 @@ static void DecoderPlayVideo( decoder_t *p_dec, picture_t *p_picture,
             p_picture->b_force = true;
         }
 
-        const bool b_dated = p_picture->date > 0;
+        const bool b_dated = p_picture->date > VLC_TS_INVALID;
         int i_rate = INPUT_RATE_DEFAULT;
         DecoderFixTs( p_dec, &p_picture->date, NULL, NULL,
                       &i_rate, DECODER_BOGUS_VIDEO_DELAY, false );
@@ -1381,7 +1382,7 @@ static void DecoderPlayVideo( decoder_t *p_dec, picture_t *p_picture,
         vlc_mutex_unlock( &p_owner->lock );
 
         /* */
-        if( !p_picture->b_force && p_picture->date <= 0 )
+        if( !p_picture->b_force && p_picture->date <= VLC_TS_INVALID ) // FIXME --VLC_TS_INVALID verify video_output/*
             b_reject = true;
 
         if( !b_reject )
@@ -1446,19 +1447,19 @@ static void DecoderDecodeVideo( decoder_t *p_dec, block_t *p_block )
 
         i_decoded++;
 
-        if( p_pic->date < p_owner->i_preroll_end )
+        if( p_owner->i_preroll_end > VLC_TS_INVALID && p_pic->date < p_owner->i_preroll_end )
         {
             vout_DropPicture( p_vout, p_pic );
             continue;
         }
 
-        if( p_owner->i_preroll_end > 0 )
+        if( p_owner->i_preroll_end > VLC_TS_INVALID )
         {
             msg_Dbg( p_dec, "End of video preroll" );
             if( p_vout )
-                vout_Flush( p_vout, 1 );
+                vout_Flush( p_vout, VLC_TS_INVALID+1 );
             /* */
-            p_owner->i_preroll_end = -1;
+            p_owner->i_preroll_end = VLC_TS_INVALID;
         }
 
         if( p_dec->pf_get_cc &&
@@ -1490,7 +1491,7 @@ static void DecoderPlaySpu( decoder_t *p_dec, subpicture_t *p_subpic,
     vout_thread_t *p_vout = p_owner->p_spu_vout;
 
     /* */
-    if( p_subpic->i_start <= 0 )
+    if( p_subpic->i_start <= VLC_TS_INVALID )
     {
         msg_Warn( p_dec, "non-dated spu buffer received" );
         subpicture_Delete( p_subpic );
@@ -1619,7 +1620,7 @@ static void DecoderPlaySout( decoder_t *p_dec, block_t *p_sout_block,
         vlc_mutex_unlock( &p_owner->lock );
 
         if( !b_reject )
-            sout_InputSendBuffer( p_owner->p_sout_input, p_sout_block );
+            sout_InputSendBuffer( p_owner->p_sout_input, p_sout_block ); // FIXME --VLC_TS_INVALID inspect stream_output/*
         else
             block_Release( p_sout_block );
 
@@ -1807,7 +1808,7 @@ static void DecoderProcessVideo( decoder_t *p_dec, block_t *p_block, bool b_flus
     }
 
     if( b_flush && p_owner->p_vout )
-        vout_Flush( p_owner->p_vout, 1 );
+        vout_Flush( p_owner->p_vout, VLC_TS_INVALID+1 );
 }
 
 /* This function process a audio block
@@ -1879,9 +1880,9 @@ static void DecoderProcessSpu( decoder_t *p_dec, block_t *p_block, bool b_flush
         if( p_vout && p_owner->p_spu_vout == p_vout )
         {
             /* Preroll does not work very well with subtitle */
-            if( p_spu->i_start > 0 &&
+            if( p_spu->i_start > VLC_TS_INVALID &&
                 p_spu->i_start < p_owner->i_preroll_end &&
-                ( p_spu->i_stop <= 0 || p_spu->i_stop < p_owner->i_preroll_end ) )
+                ( p_spu->i_stop <= VLC_TS_INVALID || p_spu->i_stop < p_owner->i_preroll_end ) )
             {
                 subpicture_Delete( p_spu );
             }




More information about the vlc-devel mailing list