summaryrefslogtreecommitdiff
path: root/indra/media_plugins
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2019-12-16 13:02:08 +0000
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2019-12-16 13:02:08 +0000
commit14fdd7c4908083e7e09c97d4ddc19eb1cb92de39 (patch)
treebe4d09e4503583ebb402bd394e9fee21baef6c79 /indra/media_plugins
parentd0abb6e1e091e89186df1d1fe6c8256f0bac497c (diff)
parentd656d49a77eeb65ae537c954ea4009bc22da7b2b (diff)
merge
Diffstat (limited to 'indra/media_plugins')
-rw-r--r--indra/media_plugins/cef/media_plugin_cef.cpp7
-rw-r--r--indra/media_plugins/example/media_plugin_example.cpp4
-rw-r--r--indra/media_plugins/libvlc/media_plugin_libvlc.cpp4
3 files changed, 14 insertions, 1 deletions
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index eead92fd8e..d5a685e47f 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -241,6 +241,7 @@ void MediaPluginCEF::onRequestExitCallback()
LLPluginMessage message("base", "goodbye");
sendMessage(message);
+ // Will trigger delete on next staticReceiveMessage()
mDeleteMe = true;
}
@@ -437,9 +438,13 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
}
else if (message_name == "cleanup")
{
- mVolumeCatcher.setVolume(0);
+ mVolumeCatcher.setVolume(0); // Hack: masks CEF exit issues
mCEFLib->requestExit();
}
+ else if (message_name == "force_exit")
+ {
+ mDeleteMe = true;
+ }
else if (message_name == "shm_added")
{
SharedSegmentInfo info;
diff --git a/indra/media_plugins/example/media_plugin_example.cpp b/indra/media_plugins/example/media_plugin_example.cpp
index c296a0413d..650685fb94 100644
--- a/indra/media_plugins/example/media_plugin_example.cpp
+++ b/indra/media_plugins/example/media_plugin_example.cpp
@@ -128,6 +128,10 @@ void mediaPluginExample::receiveMessage(const char* message_string)
mDeleteMe = true;
}
+ else if (message_name == "force_exit")
+ {
+ mDeleteMe = true;
+ }
else if (message_name == "shm_added")
{
SharedSegmentInfo info;
diff --git a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
index 80702a1079..f7d35b33c2 100644
--- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
+++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
@@ -495,6 +495,10 @@ void MediaPluginLibVLC::receiveMessage(const char* message_string)
{
resetVLC();
}
+ else if (message_name == "force_exit")
+ {
+ mDeleteMe = true;
+ }
else if (message_name == "shm_added")
{
SharedSegmentInfo info;