[vlc-commits] playlist: use input "state" variable instead of b_dead

Rémi Denis-Courmont git at videolan.org
Fri Jun 5 21:34:07 CEST 2015


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Fri Jun  5 22:22:20 2015 +0300| [239fcbc3c41db5f213ee6cc6e21aae829663a155] | committer: Rémi Denis-Courmont

playlist: use input "state" variable instead of b_dead

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

 src/playlist/thread.c |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/playlist/thread.c b/src/playlist/thread.c
index ac7b331..a348479 100644
--- a/src/playlist/thread.c
+++ b/src/playlist/thread.c
@@ -442,10 +442,11 @@ static void LoopInput( playlist_t *p_playlist )
         input_Stop( p_input );
     }
 
-#warning Unsynchronized access to *p_input flags...
-    /* This input is dead. Remove it ! */
-    if( p_input->b_dead )
+    switch( var_GetInteger( p_input, "state" ) )
     {
+    case END_S:
+    case ERROR_S:
+    /* This input is dead. Remove it ! */
         p_sys->p_input = NULL;
         PL_DEBUG( "dead input" );
         PL_UNLOCK;
@@ -460,10 +461,10 @@ static void LoopInput( playlist_t *p_playlist )
 
         input_Close( p_input );
         PL_LOCK;
-        return;
+        break;
+    default:
+        vlc_cond_wait( &p_sys->signal, &p_sys->lock );
     }
-
-    vlc_cond_wait( &p_sys->signal, &p_sys->lock );
 }
 
 static bool Next( playlist_t *p_playlist )



More information about the vlc-commits mailing list