raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6ed29b44255517b7cc7e0bba02c5f7731a7bf444

commit 6ed29b44255517b7cc7e0bba02c5f7731a7bf444
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
---
 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 6906563..da618a3 100644
--- a/src/modules/emotion/gstreamer1/emotion_gstreamer.c
+++ b/src/modules/emotion/gstreamer1/emotion_gstreamer.c
@@ -100,6 +100,8 @@ em_file_open(void *video,
    Emotion_Gstreamer *ev = video;
    char *uri;
    char *suburi = NULL;
+   gboolean mute = 0;
+   gdouble vol = 0.0;
 
    if (!file) return EINA_FALSE;
 
@@ -125,8 +127,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;
 

-- 


Reply via email to