diff options
-rw-r--r-- | src/modules/emotion/gstreamer1/emotion_gstreamer.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/modules/emotion/gstreamer1/emotion_gstreamer.c b/src/modules/emotion/gstreamer1/emotion_gstreamer.c index 7d840e25a..c9ed86c40 100644 --- a/src/modules/emotion/gstreamer1/emotion_gstreamer.c +++ b/src/modules/emotion/gstreamer1/emotion_gstreamer.c @@ -772,17 +772,19 @@ em_video_channel_count(void *video) } static void -em_video_channel_set(void *video EINA_UNUSED, - int channel EINA_UNUSED) +em_video_channel_set(void *video, + int channel) { -#if 0 Emotion_Gstreamer_Video *ev; ev = (Emotion_Gstreamer_Video *)video; - if (channel < 0) channel = 0; -#endif - /* FIXME: a faire... */ + _emotion_gstreamer_video_pipeline_parse(ev, EINA_FALSE); + + if (channel < 0) channel = -1; + + if (ev->pipeline) + g_object_set (ev->pipeline, "current-video", channel, NULL); } static int @@ -854,17 +856,19 @@ em_audio_channel_count(void *video) } static void -em_audio_channel_set(void *video EINA_UNUSED, - int channel EINA_UNUSED) +em_audio_channel_set(void *video, + int channel) { -#if 0 Emotion_Gstreamer_Video *ev; ev = (Emotion_Gstreamer_Video *)video; - if (channel < -1) channel = -1; -#endif - /* FIXME: a faire... */ + _emotion_gstreamer_video_pipeline_parse(ev, EINA_FALSE); + + if (channel < 0) channel = -1; + + if (ev->pipeline) + g_object_set (ev->pipeline, "current-audio", channel, NULL); } static int |