From c8358e7b631952c945c964bf53866c44405a0741 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 20 Dec 2017 15:11:30 -0500 Subject: [PATCH 1/7] require build_secrets (removed from the buildscripts requirements) --- BuildParams | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BuildParams b/BuildParams index a5edfadbd6..cb908f1532 100755 --- a/BuildParams +++ b/BuildParams @@ -14,7 +14,7 @@ build_docs = true build_Linux_Doxygen = true # Need viewer-build-variables as well as other shared repositories -buildscripts_shared_more_NAMEs="build_variables" +buildscripts_shared_more_NAMEs="build_secrets build_variables" ################################################################ #### Examples of how to set the viewer_channel #### From 26161cf57778c8b554768e16b6b1111c1b2a7b33 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 4 Jan 2018 14:43:21 -0500 Subject: [PATCH 2/7] MAINT-8123: Update to viewer-manager build 511679 --- autobuild.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 0b827f2080..a6b0a1d652 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -3231,9 +3231,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - a8071b247d78e5555340f83e3491e7df + 4f205b14f712cbef8035a527ae2305c8 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12055/70540/viewer_manager-1.0.511658-darwin64-511658.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12093/71064/viewer_manager-1.0.511679-darwin64-511679.tar.bz2 name darwin64 @@ -3255,9 +3255,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - a9597ba92618b2616e058dee8f56c80c + e89fd2ec532b707fa93155ec25533be2 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12056/70546/viewer_manager-1.0.511658-windows-511658.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12094/71070/viewer_manager-1.0.511679-windows-511679.tar.bz2 name windows @@ -3268,7 +3268,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors source_type hg version - 1.0.511658 + 1.0.511679 vlc-bin From 37e699bede72f711afc3391f751fac5a8d4ccf2a Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 4 Jan 2018 16:57:40 -0500 Subject: [PATCH 3/7] MAINT-8135: Update to viewer-manager build 511688 --- autobuild.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index a6b0a1d652..c90ffe493c 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -3231,9 +3231,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 4f205b14f712cbef8035a527ae2305c8 + c4d56d3e942169661a598035a9fbd533 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12093/71064/viewer_manager-1.0.511679-darwin64-511679.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12112/71187/viewer_manager-1.0.511688-darwin64-511688.tar.bz2 name darwin64 @@ -3255,9 +3255,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - e89fd2ec532b707fa93155ec25533be2 + 61f324d880eaa303669b99e28e6cf64c url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12094/71070/viewer_manager-1.0.511679-windows-511679.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12113/71193/viewer_manager-1.0.511688-windows-511688.tar.bz2 name windows @@ -3268,7 +3268,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors source_type hg version - 1.0.511679 + 1.0.511688 vlc-bin From 6659192a351f61a1c2476a6d34cc5fd6c8d6123f Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 5 Jan 2018 12:29:38 -0800 Subject: [PATCH 4/7] Fix for MAINT-8148 - AVI fails to play. For Windows, the x-msvideo MIME type was pointed at CEF which is unable to play it. Switching that to LibVLC made it work as expected. It was already switched on macOS --- indra/newview/skins/default/xui/en/mime_types.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml index 8a810f32a6..de9ac4247f 100644 --- a/indra/newview/skins/default/xui/en/mime_types.xml +++ b/indra/newview/skins/default/xui/en/mime_types.xml @@ -526,7 +526,7 @@ movie - media_plugin_cef + media_plugin_libvlc From d97d7c52068b71bd99b10db046c6a0688b61a254 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 5 Jan 2018 13:19:08 -0800 Subject: [PATCH 5/7] Fix for MAINT-8119 - this bug morphed from a packaging issue to being all about audio not playing when a media stream started. There is some as yet, unknown interaction between the volume catcher code in the CEF plugin and the VLC volume controls. The fix for now is to add a Windows call to the VLC code that sets the process volume explicitly. Later we will address the volume catcher code, move it to a common spot so both CEF and LibVLC can use the same bytes --- .../libvlc/media_plugin_libvlc.cpp | 65 +++++++++++++++---- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp index 048e7675f8..80702a1079 100644 --- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp +++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp @@ -37,6 +37,11 @@ #include "vlc/vlc.h" #include "vlc/libvlc_version.h" +#if LL_WINDOWS +// needed for waveOut call - see below for description +#include +#endif + //////////////////////////////////////////////////////////////////////////////// // class MediaPluginLibVLC : @@ -55,6 +60,7 @@ private: void playMedia(); void resetVLC(); void setVolume(const F64 volume); + void setVolumeVLC(); void updateTitle(const char* title); static void* lock(void* data, void** p_pixels); @@ -221,6 +227,7 @@ void MediaPluginLibVLC::eventCallbacks(const libvlc_event_t* event, void* ptr) case libvlc_MediaPlayerPlaying: parent->mDuration = (float)(libvlc_media_get_duration(parent->mLibVLCMedia)) / 1000.0f; parent->mVlcStatus = STATUS_PLAYING; + parent->setVolumeVLC(); break; case libvlc_MediaPlayerPaused: @@ -394,26 +401,56 @@ void MediaPluginLibVLC::updateTitle(const char* title) sendMessage(message); } +void MediaPluginLibVLC::setVolumeVLC() +{ + if (mLibVLCMediaPlayer) + { + int vlc_vol = (int)(mCurVolume * 100); + + int result = libvlc_audio_set_volume(mLibVLCMediaPlayer, vlc_vol); + if (result == 0) + { + // volume change was accepted by LibVLC + } + else + { + // volume change was NOT accepted by LibVLC and not actioned + } + +#if LL_WINDOWS + // https ://jira.secondlife.com/browse/MAINT-8119 + // CEF media plugin uses code in media_plugins/cef/windows_volume_catcher.cpp to + // set the actual output volume of the plugin process since there is no API in + // CEF to otherwise do this. + // There are explicit calls to change the volume in LibVLC but sometimes they + // are ignored SLPlugin.exe process volume is set to 0 so you never heard audio + // from the VLC media stream. + // The right way to solve this is to move the volume catcher stuff out of + // the CEF plugin and into it's own folder under media_plugins and have it referenced + // by both CEF and VLC. That's for later. The code there boils down to this so for + // now, as we approach a release, the less risky option is to do it directly vs + // calls to volume catcher code. + DWORD left_channel = (DWORD)(mCurVolume * 65535.0f); + DWORD right_channel = (DWORD)(mCurVolume * 65535.0f); + DWORD hw_volume = left_channel << 16 | right_channel; + waveOutSetVolume(NULL, hw_volume); +#endif + } + else + { + // volume change was requested but VLC wasn't ready. + // that's okay though because we saved the value in mCurVolume and + // the next volume change after the VLC system is initilzied will set it + } +} + //////////////////////////////////////////////////////////////////////////////// // void MediaPluginLibVLC::setVolume(const F64 volume) { mCurVolume = volume; - if (mLibVLCMediaPlayer) - { - int result = libvlc_audio_set_volume(mLibVLCMediaPlayer, (int)(volume * 100)); - if (result != 0) - { - // volume wasn't set but not much to be done here - } - } - else - { - // volume change was requested but VLC wasn't ready. - // that's okay thought because we saved the value in mCurVolume and - // the next volume change after the VLC system is initilzied will set it - } + setVolumeVLC(); } //////////////////////////////////////////////////////////////////////////////// From 7c6c987d004217d9301f81154ffe225e4b1f58dd Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 16 Jan 2018 14:10:38 -0500 Subject: [PATCH 6/7] Added tag 5.1.0-release for changeset ad0e15543836 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index ff79c26812..b21180d056 100755 --- a/.hgtags +++ b/.hgtags @@ -531,3 +531,4 @@ b4d76b5590fdf8bab72c64442353753a527cbc44 5.0.5-release abcab37e1b29414ab8c03af9ca2ab489d809788a 5.0.7-release 505a492f30bd925bb48e2e093ae77c3c2b4c740f 5.0.8-release 40ca7118765be85a043b31b011e4ee6bd9e33c95 5.0.9-release +ad0e15543836d64d6399d28b32852510435e344a 5.1.0-release From 7656e3e0b3a433d0b533feae0a20dbb25f37db63 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 16 Jan 2018 14:10:39 -0500 Subject: [PATCH 7/7] increment viewer version to 5.1.1 --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 831446cbd2..ac14c3dfaa 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -5.1.0 +5.1.1