summaryrefslogtreecommitdiff
path: root/src/vlc/emotion_generic_vlc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlc/emotion_generic_vlc.c')
-rw-r--r--src/vlc/emotion_generic_vlc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/vlc/emotion_generic_vlc.c b/src/vlc/emotion_generic_vlc.c
index feecac3..266ae65 100644
--- a/src/vlc/emotion_generic_vlc.c
+++ b/src/vlc/emotion_generic_vlc.c
@@ -23,6 +23,7 @@
enum _Thread_Events {
EM_THREAD_POSITION_CHANGED,
+ EM_THREAD_PLAYBACK_STOPPED,
EM_THREAD_LAST
};
@@ -367,7 +368,8 @@ _event_cb(const struct libvlc_event_t *ev, void *data)
_send_file_set(app);
break;
case libvlc_MediaPlayerEndReached:
- _send_cmd(app, EM_RESULT_PLAYBACK_STOPPED);
+ thread_event = EM_THREAD_PLAYBACK_STOPPED;
+ write(app->fd_write, &thread_event, sizeof(thread_event));
break;
}
}
@@ -718,6 +720,11 @@ _process_thread_events(struct _App *app)
case EM_THREAD_POSITION_CHANGED:
_position_changed(app);
break;
+ case EM_THREAD_PLAYBACK_STOPPED:
+ libvlc_media_player_stop(app->mp);
+ app->playing = 0;
+ _send_cmd(app, EM_RESULT_PLAYBACK_STOPPED);
+ break;
}
}