<div dir="ltr"><br>---<br> src/playlist/thread.c | 14 ++++++++++++++<br> 1 file changed, 14 insertions(+)<br><br>diff --git a/src/playlist/thread.c b/src/playlist/thread.c<br>index a348479..21bb090 100644<br>--- a/src/playlist/thread.c<br>+++ b/src/playlist/thread.c<br>@@ -498,6 +498,8 @@ static void *Thread ( void *data )<br>             continue;<br>         }<br> <br>+        int count = 0;<br>+        mtime_t i_time = 0;<br>         while( !p_sys->killed && Next( p_playlist ) )<br>         {   /* Playlist in running state */<br>             assert(p_sys->p_input != NULL);<br>@@ -505,6 +507,18 @@ static void *Thread ( void *data )<br>             do<br>                 LoopInput( p_playlist );<br>             while( p_sys->p_input != NULL );<br>+<br>+            /* prevent playing an invalid playlist indefinitely */<br>+            if( mdate() - i_time < 500000 )<br>+            {<br>+                count++;<br>+                if( count > p_playlist->current.i_size )<br>+                    break;<br>+            }<br>+            else<br>+                count = 0;<br>+<br>+            i_time = mdate();<br>         }<br> <br>         msg_Dbg( p_playlist, "nothing to play" );<br>-- <br>1.9.1<br><br></div>