From 2a7ae50c99cc614c7da1bc48595888c5af4c4018 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Sat, 8 Jun 2024 00:41:40 -0400
Subject: [PATCH] Tweak vlc media

---
 .../libvlc/media_plugin_libvlc.cpp            |  2 +-
 .../newview/llviewermedia_streamingaudio.cpp  |  4 +++
 .../skins/default/xui/en/mime_types_linux.xml | 26 +++++++++++++++++--
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
index f41efd580f2..0c86e51e278 100644
--- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
+++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
@@ -300,7 +300,7 @@ void MediaPluginLibVLC::eventCallbacks(const libvlc_event_t* event, void* ptr)
 //
 void MediaPluginLibVLC::playMedia()
 {
-    if (mURL.length() == 0 || mWidth == 0 || mHeight == 0)
+    if (mURL.length() == 0)
     {
         return;
     }
diff --git a/indra/newview/llviewermedia_streamingaudio.cpp b/indra/newview/llviewermedia_streamingaudio.cpp
index af3a21c1835..b68ffbe1a23 100644
--- a/indra/newview/llviewermedia_streamingaudio.cpp
+++ b/indra/newview/llviewermedia_streamingaudio.cpp
@@ -70,6 +70,8 @@ void LLStreamingAudio_MediaPlugins::start(const std::string& url)
         LL_INFOS() << "setting stream to NULL"<< LL_ENDL;
         mURL.clear();
         mMediaPlugin->stop();
+        delete mMediaPlugin;
+        mMediaPlugin = nullptr;
     }
 }
 
@@ -79,6 +81,8 @@ void LLStreamingAudio_MediaPlugins::stop()
     if(mMediaPlugin)
     {
         mMediaPlugin->stop();
+        delete mMediaPlugin;
+        mMediaPlugin = nullptr;
     }
 
     mURL.clear();
diff --git a/indra/newview/skins/default/xui/en/mime_types_linux.xml b/indra/newview/skins/default/xui/en/mime_types_linux.xml
index 4f0323fdbf0..75cff742f72 100644
--- a/indra/newview/skins/default/xui/en/mime_types_linux.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_linux.xml
@@ -240,7 +240,7 @@
 			audio
 		</widgettype>
 		<impl>
-			media_plugin_cef
+			media_plugin_libvlc
 		</impl>
 	</mimetype>
 	<mimetype name="application/pdf">
@@ -309,6 +309,17 @@
 			media_plugin_cef
 		</impl>
 	</mimetype>
+    <mimetype name="application/octet-stream">
+        <label name="application/octet-stream_label">
+            Stream
+        </label>
+        <widgettype>
+            movie
+        </widgettype>
+        <impl>
+            media_plugin_libvlc
+        </impl>
+    </mimetype>
 	<mimetype name="audio/mid">
 		<label name="audio/mid_label">
 			Audio (MIDI)
@@ -317,7 +328,7 @@
 			audio
 		</widgettype>
 		<impl>
-			media_plugin_cef
+			media_plugin_libvlc
 		</impl>
 	</mimetype>
 	<mimetype name="audio/mpeg">
@@ -474,6 +485,17 @@
 			media_plugin_libvlc
 		</impl>
 	</mimetype>
+    <mimetype name="video/x-flv">
+        <label name="video/x-flv_label">
+            Movie (flv)
+        </label>
+        <widgettype>
+            movie
+        </widgettype>
+        <impl>
+            media_plugin_libvlc
+        </impl>
+    </mimetype>
   <mimetype name="application/octet-stream">
     <label name="video/octet-stream">
       Movie
-- 
GitLab