[vlc-devel] [PATCH] es_out: do not start decoder-wait twice

Rémi Denis-Courmont remi at remlab.net
Sat Mar 21 12:25:42 CET 2015


---
 src/input/es_out.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/input/es_out.c b/src/input/es_out.c
index 1446476..9a76467 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -569,17 +569,20 @@ static void EsOutChangePosition( es_out_t *out )
 
     input_SendEventCache( p_sys->p_input, 0.0 );
 
-    for( int i = 0; i < p_sys->i_es; i++ )
+    if( !p_sys->b_buffering )
     {
-        es_out_id_t *p_es = p_sys->es[i];
+        for( int i = 0; i < p_sys->i_es; i++ )
+        {
+            es_out_id_t *p_es = p_sys->es[i];
 
-        if( !p_es->p_dec )
-            continue;
+            if( p_es->p_dec == NULL )
+                continue;
 
-        input_DecoderStartWait( p_es->p_dec );
+            input_DecoderStartWait( p_es->p_dec );
 
-        if( p_es->p_dec_record )
-            input_DecoderStartWait( p_es->p_dec_record );
+            if( p_es->p_dec_record != NULL )
+                input_DecoderStartWait( p_es->p_dec_record );
+        }
     }
 
     for( int i = 0; i < p_sys->i_pgrm; i++ )
-- 
2.1.4




More information about the vlc-devel mailing list