diff options
Diffstat (limited to 'ext/mikmod')
-rw-r--r-- | ext/mikmod/gstmikmod.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/mikmod/gstmikmod.c b/ext/mikmod/gstmikmod.c index a8b6a345..adca578b 100644 --- a/ext/mikmod/gstmikmod.c +++ b/ext/mikmod/gstmikmod.c @@ -405,10 +405,16 @@ gst_mikmod_loop (GstElement *element) )); do { - if ( Player_Active() ) + if ( Player_Active() ) { drv_gst.Update(); - - gst_element_yield (element); + + gst_element_yield (element); + } + else { + gst_element_set_state (GST_ELEMENT (mikmod), GST_STATE_PAUSED); + gst_pad_push (mikmod->srcpad, gst_event_new (GST_EVENT_EOS)); + } + } while ( 1 ); } |