Change the order of adding devices to select the latest one 71/313571/5
authorjh3619.kim <jh3619.kim@samsung.com>
Fri, 28 Jun 2024 01:34:01 +0000 (01:34 +0000)
committerBot Blink <blinkbot@samsung.com>
Thu, 12 Sep 2024 08:25:05 +0000 (08:25 +0000)
as the default device when there are multiple audio devices.

sound manager's audio device policy changed from tizen 9.0.

~tizen 8.0
 - sound manager make device list by hfp device always 1st device
   in device list regardless hfp device's connection sequence.

tizen 9.0 ~
 - sound manager make device list by connection sequence always.

so from tizen 9.0, chromium also make device list by connection sequence
and select latest device by default device.

Change-Id: Ic6d0097e6e4f904a5668fda09363c527a1c23465
Signed-off-by: jh3619.kim <jh3619.kim@samsung.com>
tizen_src/chromium_impl/media/audio/tizen/audio_manager_capi.cc

index 3edd6ba7608054cccbe4973a85fd85dcc74e5e71..fd5d6aee82f75ca5df5a73669c8347748feaeac1 100644 (file)
@@ -19,6 +19,7 @@
 #include "media/base/channel_layout.h"
 #include "media/base/limits.h"
 #if BUILDFLAG(IS_TIZEN_TV)
+#include "build/tizen_version.h"
 #include "media/audio/tizen/capi_bt_audio_input_stream.h"
 #include "tizen_src/ewk/efl_integration/ewk_privilege_checker.h"
 #define UNIQUE_BT_DEVICE_ID "1"
@@ -95,8 +96,9 @@ bool AudioManagerCapi::CheckSmartRCMicPrivilege() const {
   bool result = content::EwkPrivilegeChecker::GetInstance()->CheckPrivilege(
       "http://developer.samsung.com/privilege/smartcontroller.microphone");
 
-  if (!result)
+  if (!result) {
     LOG(INFO) << "AudioManagerCapi::CheckSmartRCMicPrivilege = " << result;
+  }
   return result;
 }
 
@@ -173,7 +175,9 @@ void AudioManagerCapi::GetAudioDeviceNames(
 
 #if BUILDFLAG(IS_TIZEN_TV)
   sound_device_h device;
+#if !TIZEN_VERSION_AT_LEAST(9, 0, 0)
   AudioDeviceNames device_names_built_in;
+#endif
   while (sound_manager_get_next_device(list, &device) ==
          SOUND_MANAGER_ERROR_NONE) {
     int id;
@@ -207,7 +211,10 @@ void AudioManagerCapi::GetAudioDeviceNames(
 
     LOG(INFO) << "Device - ID:" << id << ". Name:" << name
               << ". type:" << device_type;
-
+#if TIZEN_VERSION_AT_LEAST(9, 0, 0)
+    device_names->push_front(AudioDeviceName(name, std::to_string(id)));
+  }
+#else
     if (device_type == SOUND_DEVICE_BUILTIN_MIC) {
       device_names_built_in.push_back(
           AudioDeviceName(name, std::to_string(id)));
@@ -218,13 +225,16 @@ void AudioManagerCapi::GetAudioDeviceNames(
 
   device_names->insert(device_names->end(), device_names_built_in.begin(),
                        device_names_built_in.end());
+#endif
 
   ret = sound_manager_free_device_list(list);
-  if (ret != SOUND_MANAGER_ERROR_NONE)
+  if (ret != SOUND_MANAGER_ERROR_NONE) {
     LOG(INFO) << "Failed to free device list. Err:" << ret;
+  }
 
-  if (device_names->empty())
+  if (device_names->empty()) {
     device_names->push_front(AudioDeviceName::CreateDefault());
+  }
 
   return;
 #endif
@@ -336,8 +346,9 @@ bool AudioManagerCapi::ShouldUseAudioDebugRecorder(
 std::unique_ptr<AudioDebugRecorder> AudioManagerCapi::CreateAudioDebugRecorder(
     const AudioParameters& params) {
   auto* debug_recording_manager = GetAudioDebugRecordingManager();
-  if (!debug_recording_manager)
+  if (!debug_recording_manager) {
     return {};
+  }
 
   return debug_recording_manager->RegisterDebugRecordingSource(
       AudioDebugRecordingStreamType::kInput, params);
@@ -373,8 +384,9 @@ AudioParameters AudioManagerCapi::GetPreferredOutputStreamParameters(
 
     sample_rate = media::GetAudioOutputSampleRate(
         NULL, sample_rate, channel_layout, sample_format);
-    if (!sample_rate)
+    if (!sample_rate) {
       sample_rate = kDefaultSampleRate;
+    }
   }
 
   int capi_buffer_size = media::GetAudioOutputBufferSize(