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;
 

-- 


Reply via email to