From 51dbe5004f3368208101f04292d228d1e0b3a717 Mon Sep 17 00:00:00 2001 From: cedric Date: Fri, 8 Jun 2012 04:59:37 +0000 Subject: [PATCH] emotion: Add support for "playback_started" callback to generic player. Patch by Pierre Le Magourou git-svn-id: http://svn.enlightenment.org/svn/e/trunk/emotion@71830 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- ChangeLog | 4 ++++ NEWS | 1 + src/generic_players/vlc/emotion_generic_vlc.c | 6 ++++++ src/modules/generic/Emotion_Generic_Plugin.h | 1 + src/modules/generic/emotion_generic.c | 4 ++++ 5 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index bc79a9a..203332a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,3 +13,7 @@ 2012-06-07 Cedric Bail * Fix stride for all YUV video stream. + +2012-06-08 Pierre Le Magourou + + * Add support for "playback_started" callback to generic player. diff --git a/NEWS b/NEWS index a3c86a9..75d4ae0 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ Changes since Emotion 1.0.0: ------------------------- Additions: + - Add support for "playback_started" callback to generic player. Fixes: - build out of tree. diff --git a/src/generic_players/vlc/emotion_generic_vlc.c b/src/generic_players/vlc/emotion_generic_vlc.c index 72649ac..4fe1d16 100644 --- a/src/generic_players/vlc/emotion_generic_vlc.c +++ b/src/generic_players/vlc/emotion_generic_vlc.c @@ -23,6 +23,7 @@ enum _Thread_Events { EM_THREAD_POSITION_CHANGED, + EM_THREAD_PLAYBACK_STARTED, EM_THREAD_PLAYBACK_STOPPED, EM_THREAD_LAST }; @@ -363,6 +364,8 @@ _event_cb(const struct libvlc_event_t *ev, void *data) break; case libvlc_MediaPlayerPlaying: _send_resize(app, app->w, app->h); + thread_event = EM_THREAD_PLAYBACK_STARTED; + write(app->fd_write, &thread_event, sizeof(thread_event)); break; case libvlc_MediaPlayerStopped: _send_file_set(app); @@ -720,6 +723,9 @@ _process_thread_events(struct _App *app) case EM_THREAD_POSITION_CHANGED: _position_changed(app); break; + case EM_THREAD_PLAYBACK_STARTED: + _send_cmd(app, EM_RESULT_PLAYBACK_STARTED); + break; case EM_THREAD_PLAYBACK_STOPPED: libvlc_media_player_stop(app->mp); app->playing = 0; diff --git a/src/modules/generic/Emotion_Generic_Plugin.h b/src/modules/generic/Emotion_Generic_Plugin.h index 2dff814..17bd7e9 100644 --- a/src/modules/generic/Emotion_Generic_Plugin.h +++ b/src/modules/generic/Emotion_Generic_Plugin.h @@ -43,6 +43,7 @@ enum _Emotion_Generic_Result EM_RESULT_INIT = 0, // param: none EM_RESULT_FILE_SET, // param: none EM_RESULT_FILE_SET_DONE, // param: success (int) + EM_RESULT_PLAYBACK_STARTED, // param: none EM_RESULT_PLAYBACK_STOPPED, // param: none EM_RESULT_FILE_CLOSE, // param: none EM_RESULT_FRAME_NEW, // param: none diff --git a/src/modules/generic/emotion_generic.c b/src/modules/generic/emotion_generic.c index ddba7b5..549c179 100644 --- a/src/modules/generic/emotion_generic.c +++ b/src/modules/generic/emotion_generic.c @@ -557,6 +557,9 @@ _player_cmd_process(Emotion_Generic_Video *ev) case EM_RESULT_FILE_CLOSE: _player_file_closed(ev); break; + case EM_RESULT_PLAYBACK_STARTED: + _emotion_playback_started(ev->obj); + break; case EM_RESULT_PLAYBACK_STOPPED: _emotion_playback_finished(ev->obj); break; @@ -774,6 +777,7 @@ _player_cmd_read(Emotion_Generic_Video *ev) switch (ev->cmd.type) { case EM_RESULT_INIT: case EM_RESULT_FILE_SET: + case EM_RESULT_PLAYBACK_STARTED: case EM_RESULT_PLAYBACK_STOPPED: case EM_RESULT_FILE_CLOSE: case EM_RESULT_FRAME_NEW: -- 2.7.4