summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2013-12-19 12:55:51 +0100
committerSebastian Dröge <sebastian@centricular.com>2013-12-20 10:18:35 +0100
commitc073a359242740d7e52d2b05cf58dc3b58c184ba (patch)
treeb67f8d8a5417e0dac895c4e51f39e22534ce0529
parent84efe376ae7ede2bb3405313fd8a388b943eddb0 (diff)
Implement setting of audio/video channelgst-1.0
-rw-r--r--src/modules/emotion/gstreamer1/emotion_gstreamer.c28
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