diff options
author | Jacek Antonelli | 2009-06-08 00:41:31 -0500 |
---|---|---|
committer | Jacek Antonelli | 2009-06-08 00:41:31 -0500 |
commit | 0e5df9bdf8d6b418bb6e25615e2ffc922d0f02aa (patch) | |
tree | 2c93d38e210832e737d09cff7561373d8d5453b2 /linden/indra/llmedia/llmediaimplgstreamer.cpp | |
parent | Imprudence 1.1.0 released. (diff) | |
parent | Updated Imprudence to be based on SL 1.22.11. (ChangeLog Entry) (diff) | |
download | meta-impy-0e5df9bdf8d6b418bb6e25615e2ffc922d0f02aa.zip meta-impy-0e5df9bdf8d6b418bb6e25615e2ffc922d0f02aa.tar.gz meta-impy-0e5df9bdf8d6b418bb6e25615e2ffc922d0f02aa.tar.bz2 meta-impy-0e5df9bdf8d6b418bb6e25615e2ffc922d0f02aa.tar.xz |
Merge branch 'sl-base-1.22' into next
Conflicts:
linden/indra/newview/English.lproj/InfoPlist.strings
linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
Diffstat (limited to 'linden/indra/llmedia/llmediaimplgstreamer.cpp')
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.cpp b/linden/indra/llmedia/llmediaimplgstreamer.cpp index 98f53ca..e83caf7 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamer.cpp | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * $LicenseInfo:firstyear=2007&license=viewergpl$ | 6 | * $LicenseInfo:firstyear=2007&license=viewergpl$ |
7 | * | 7 | * |
8 | * Copyright (c) 2007-2008, Linden Research, Inc. | 8 | * Copyright (c) 2007-2009, Linden Research, Inc. |
9 | * | 9 | * |
10 | * Second Life Viewer Source Code | 10 | * Second Life Viewer Source Code |
11 | * The source code in this file ("Source Code") is provided by Linden Lab | 11 | * The source code in this file ("Source Code") is provided by Linden Lab |
@@ -97,6 +97,8 @@ LLMediaImplGStreamer () : | |||
97 | LL_DEBUGS("MediaManager") << "constructing media..." << LL_ENDL; | 97 | LL_DEBUGS("MediaManager") << "constructing media..." << LL_ENDL; |
98 | mVolume = -1.0; // XXX Hack to make the vould change happend first time | 98 | mVolume = -1.0; // XXX Hack to make the vould change happend first time |
99 | 99 | ||
100 | mVolume = 0.1234567; // minor hack to force an initial volume update | ||
101 | |||
100 | setMediaDepth(4); | 102 | setMediaDepth(4); |
101 | 103 | ||
102 | // Create a pumpable main-loop for this media | 104 | // Create a pumpable main-loop for this media |
@@ -895,18 +897,19 @@ bool LLMediaImplGStreamer::seek(double time) | |||
895 | // virtual | 897 | // virtual |
896 | bool LLMediaImplGStreamer::setVolume(float volume) | 898 | bool LLMediaImplGStreamer::setVolume(float volume) |
897 | { | 899 | { |
898 | // XXX hack to make volume volume changes less othen | 900 | // we try to only update volume as conservatively as |
899 | // bug in gstreamer 0.10.21 | 901 | // possible, as many gst-plugins-base versions up to at least |
900 | if(mVolume == volume) | 902 | // November 2008 have critical race-conditions in setting volume - sigh |
901 | return true; | 903 | if (mVolume == volume) |
904 | return true; // nothing to do, everything's fine | ||
902 | 905 | ||
903 | LL_DEBUGS("MediaImpl") << "setVolume(" << volume << ") : " << getpid() << LL_ENDL; | ||
904 | mVolume = volume; | 906 | mVolume = volume; |
905 | if (mPlaybin) | 907 | if (mPlaybin) |
906 | { | 908 | { |
907 | g_object_set(mPlaybin, "volume", mVolume, NULL); | 909 | g_object_set(mPlaybin, "volume", mVolume, NULL); |
908 | return true; | 910 | return true; |
909 | } | 911 | } |
912 | |||
910 | return false; | 913 | return false; |
911 | } | 914 | } |
912 | 915 | ||