vlc | branch: master | Rafaël Carré <[email protected]> | Wed Nov 27 15:49:22 
2013 +0100| [5438da273dde343792d36276a24002ce741695af] | committer: Rafaël Carré

decoder: merge DecoderError into DecoderProcess

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

 src/input/decoder.c |   27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index 4b46a7e..a87d4e8 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -60,7 +60,6 @@ static void       DeleteDecoder( decoder_t * );
 
 static void      *DecoderThread( void * );
 static void       DecoderProcess( decoder_t *, block_t * );
-static void       DecoderError( decoder_t *p_dec, block_t *p_block );
 static void       DecoderOutputChangePause( decoder_t *, bool b_paused, 
mtime_t i_date );
 static void       DecoderFlush( decoder_t * );
 static void       DecoderSignalBuffering( decoder_t *, bool );
@@ -943,10 +942,7 @@ static void *DecoderThread( void *p_data )
                 p_block = NULL;
             }
 
-            if( p_dec->b_error )
-                DecoderError( p_dec, p_block );
-            else
-                DecoderProcess( p_dec, p_block );
+            DecoderProcess( p_dec, p_block );
 
             vlc_restorecancel( canc );
         }
@@ -1993,6 +1989,13 @@ static void DecoderProcess( decoder_t *p_dec, block_t 
*p_block )
     decoder_owner_sys_t *p_owner = (decoder_owner_sys_t *)p_dec->p_owner;
     const bool b_flush_request = p_block && (p_block->i_flags & 
BLOCK_FLAG_CORE_FLUSH);
 
+    if( p_dec->b_error )
+    {
+        if( p_block )
+            block_Release( p_block );
+        goto flush;
+    }
+
     if( p_block && p_block->i_buffer <= 0 )
     {
         assert( !b_flush_request );
@@ -2043,23 +2046,11 @@ static void DecoderProcess( decoder_t *p_dec, block_t 
*p_block )
     }
 
     /* */
+flush:
     if( b_flush_request )
         DecoderProcessOnFlush( p_dec );
 }
 
-static void DecoderError( decoder_t *p_dec, block_t *p_block )
-{
-    const bool b_flush_request = p_block && (p_block->i_flags & 
BLOCK_FLAG_CORE_FLUSH);
-
-    /* */
-    if( p_block )
-        block_Release( p_block );
-
-    if( b_flush_request )
-        DecoderProcessOnFlush( p_dec );
-}
-
-
 /**
  * Destroys a decoder object
  *

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to