raster pushed a commit to branch efl-1.11. http://git.enlightenment.org/core/efl.git/commit/?id=270b2a36f344a8690c24f74e9ab067e9b39fac2b
commit 270b2a36f344a8690c24f74e9ab067e9b39fac2b Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Mon Sep 1 17:09:09 2014 +0900 emotion - audio volume - leave as-is on file open/init this fixes gst and gst1 modules to leave volume be on start. generic can't really query easily, so just set to 0.8 by default, and xine is already just fine. do this because back-ends seems to have a habit of setting master volume, not per-app volume. @fix Conflicts: src/modules/emotion/gstreamer1/emotion_gstreamer.c --- src/modules/emotion/generic/emotion_generic.c | 2 +- src/modules/emotion/gstreamer/emotion_gstreamer.c | 10 +++++++--- src/modules/emotion/gstreamer1/emotion_gstreamer.c | 8 ++++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/modules/emotion/generic/emotion_generic.c b/src/modules/emotion/generic/emotion_generic.c index 2a688f4..cde1449 100644 --- a/src/modules/emotion/generic/emotion_generic.c +++ b/src/modules/emotion/generic/emotion_generic.c @@ -1030,7 +1030,7 @@ em_add(const Emotion_Engine *api, Evas_Object *obj, const Emotion_Module_Options ev->fd_read = NULL; ev->fd_write = NULL; ev->speed = 1.0; - ev->volume = 1.0; + ev->volume = 0.8; ev->audio_mute = EINA_FALSE; ev->cmd.type = -1; diff --git a/src/modules/emotion/gstreamer/emotion_gstreamer.c b/src/modules/emotion/gstreamer/emotion_gstreamer.c index cae7acd..8472056 100644 --- a/src/modules/emotion/gstreamer/emotion_gstreamer.c +++ b/src/modules/emotion/gstreamer/emotion_gstreamer.c @@ -1787,7 +1787,9 @@ _emotion_gstreamer_video_pipeline_parse(Emotion_Gstreamer_Video *ev, GstQuery *query; const GValue *val; gchar *str; - + gboolean mute = 0; + gdouble vol = 0.0; + gdouble length_time = 0.0; gint width; gint height; @@ -1987,8 +1989,10 @@ _emotion_gstreamer_video_pipeline_parse(Emotion_Gstreamer_Video *ev, ev->pipeline_parsed = EINA_TRUE; - em_audio_channel_volume_set(ev, ev->volume); - em_audio_channel_mute_set(ev, ev->audio_mute); + g_object_get(ev->pipeline, "volume", &vol, NULL); + g_object_get(ev->pipeline, "mute", &mute, NULL); + ev->volume = vol; + ev->audio_mute = mute; if (ev->play_started) { diff --git a/src/modules/emotion/gstreamer1/emotion_gstreamer.c b/src/modules/emotion/gstreamer1/emotion_gstreamer.c index 3e9dd3a..1586277 100644 --- a/src/modules/emotion/gstreamer1/emotion_gstreamer.c +++ b/src/modules/emotion/gstreamer1/emotion_gstreamer.c @@ -94,6 +94,8 @@ em_file_open(void *video, { Emotion_Gstreamer *ev = video; char *uri; + gboolean mute = 0; + gdouble vol = 0.0; if (!file) return EINA_FALSE; @@ -113,8 +115,10 @@ em_file_open(void *video, if (!ev->pipeline) return EINA_FALSE; - em_audio_channel_volume_set(ev, ev->volume); - em_audio_channel_mute_set(ev, ev->audio_mute); + g_object_get(ev->pipeline, "volume", &vol, NULL); + g_object_get(ev->pipeline, "mute", &mute, NULL); + ev->volume = vol; + ev->audio_mute = mute; ev->position = 0.0; --
