From b7d446a3e9af768b62f321bfba36f36379d5acc0 Mon Sep 17 00:00:00 2001 From: callum Date: Mon, 26 Oct 2009 17:12:35 -0700 Subject: Potential fix for https://jira.lindenlab.com/jira/browse/DEV-41702 and https://jira.lindenlab.com/jira/browse/DEV-38579. Both relate to media not working properly and were likely caused by an uninitialized heartbeat timeout. --- indra/llplugin/llpluginprocessparent.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/llplugin') diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index f3b4c6bdc6..39f9438fb3 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -55,6 +55,11 @@ LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner) mBoundPort = 0; mState = STATE_UNINITIALIZED; mDisableTimeout = false; + + // initialize timer - heartbeat test (mHeartbeat.hasExpired()) + // can sometimes return true immediately otherwise and plugins + // fail immediately because it looks like + mHeartbeat.setTimerExpirySec(PLUGIN_LOCKED_UP_SECONDS); } LLPluginProcessParent::~LLPluginProcessParent() -- cgit v1.2.3 From 7f25433ccbdfb51e7e71722d4cc91ac0bef65871 Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Mon, 26 Oct 2009 17:13:38 -0700 Subject: Volume controls in the media HUD should now work -- this fixes DEV-41746, DEV-41748, and DEV-40782. Added LLPluginClassMedia::getVolume(). Added setVolume/getVolumeupdateVolume methods to LLViewerMediaImpl. LLViewerMedia::setVolume() now no longer overrides the volume settings on all media instances -- it now sets a "global volume" value which is multiplied by all instances' volumes to modulate them. Cleaned up volume/mute handling in LLPanelMediaHUD (made it go through the LLViewerMediaImpl interface instead of directly through LLPluginClassMedia, and removed the mMediaVolume member variable, since the media impl now stores that state). --- indra/llplugin/llpluginclassmedia.cpp | 5 +++++ indra/llplugin/llpluginclassmedia.h | 1 + 2 files changed, 6 insertions(+) (limited to 'indra/llplugin') diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 6556aa33a4..26802bbd1c 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -1129,6 +1129,11 @@ void LLPluginClassMedia::setVolume(float volume) } } +float LLPluginClassMedia::getVolume() +{ + return mRequestedVolume; +} + void LLPluginClassMedia::initializeUrlHistory(const LLSD& url_history) { // Send URL history to plugin diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index 603817b7d0..4f9763474e 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -227,6 +227,7 @@ public: void seek(float time); void setLoop(bool loop); void setVolume(float volume); + float getVolume(); F64 getCurrentTime(void) const { return mCurrentTime; }; F64 getDuration(void) const { return mDuration; }; -- cgit v1.2.3