aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmedia/llmediaimplgstreamer.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2009-06-08 00:41:31 -0500
committerJacek Antonelli2009-06-08 00:41:31 -0500
commit0e5df9bdf8d6b418bb6e25615e2ffc922d0f02aa (patch)
tree2c93d38e210832e737d09cff7561373d8d5453b2 /linden/indra/llmedia/llmediaimplgstreamer.cpp
parentImprudence 1.1.0 released. (diff)
parentUpdated Imprudence to be based on SL 1.22.11. (ChangeLog Entry) (diff)
downloadmeta-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.cpp15
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
896bool LLMediaImplGStreamer::setVolume(float volume) 898bool 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