Fixup! [MM] Notify media device state change to webbrowser 31/296131/2
authorxliang.wu <xliang.wu@samsung.com>
Thu, 20 Jul 2023 07:24:21 +0000 (03:24 -0400)
committerBot Blink <blinkbot@samsung.com>
Wed, 6 Sep 2023 05:53:00 +0000 (05:53 +0000)
StartMonitoring will listen audio device connected state change,
and it will launch utility process.
MediaDevicesManager is created very early(in browser main loop).
If call StartMonitoring in MediaDevicesManager constructor, utility process
will be launched very early, actually it maybe unwanted,such as blankpage.

Now put StartMonitoring after app called ewk_view_media_device_list_get,
it means only launch utility proces when app use device function.

Change-Id: I9100989392d6d9c73175104cfb4b8993425b2595
Signed-off-by: xliang.wu <xliang.wu@samsung.com>
content/browser/renderer_host/media/media_devices_manager.cc

index 079f4198f5e158ad27e0ac90d68ab60fad2e300c..fb04b77afbe76d266e08c292905167bb6f7914f6 100644 (file)
@@ -405,10 +405,6 @@ MediaDevicesManager::MediaDevicesManager(
   SendLogMessage("MediaDevicesManager()");
   cache_policies_.fill(CachePolicy::NO_CACHE);
   has_seen_result_.fill(false);
-
-#if defined(OS_TIZEN_TV_PRODUCT)
-  StartMonitoring();
-#endif
 }
 
 MediaDevicesManager::~MediaDevicesManager() {
@@ -472,6 +468,8 @@ void MediaDevicesManager::EnumerateDevices(
 #if defined(OS_TIZEN_TV_PRODUCT)
 void MediaDevicesManager::GetMediaDeviceList(EnumerationCallback cb) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
+  StartMonitoring();
+
   enum_cb_ = std::move(cb);
   got_result_.fill(false);
   for (auto& device : device_infos_)