| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/media/prefs/capture_device_ranking.h" |
| |
| #include "chrome/browser/media/prefs/pref_names.h" |
| #include "media/capture/video/video_capture_device_info.h" |
| |
| #include <string> |
| |
| namespace media_prefs { |
| |
| void RegisterUserPrefs(PrefRegistrySimple* registry) { |
| registry->RegisterListPref(kAudioInputUserPreferenceRanking); |
| registry->RegisterListPref(kVideoInputUserPreferenceRanking); |
| } |
| |
| namespace internal { |
| |
| std::string DeviceInfoToStableId( |
| const media::VideoCaptureDeviceInfo& device_info) { |
| return device_info.descriptor.GetNameAndModel(); |
| } |
| |
| std::string DeviceInfoToStableId(const blink::WebMediaDeviceInfo& device_info) { |
| if (device_info.device_id == |
| media::AudioDeviceDescription::kDefaultDeviceId) { |
| return device_info.device_id; |
| } |
| return device_info.label; |
| } |
| |
| std::string DeviceInfoToStableId(const blink::MediaStreamDevice& device_info) { |
| if (device_info.id == media::AudioDeviceDescription::kDefaultDeviceId) { |
| return device_info.id; |
| } |
| return device_info.name; |
| } |
| |
| std::string DeviceInfoToStableId( |
| const media::AudioDeviceDescription& device_info) { |
| if (device_info.unique_id == |
| media::AudioDeviceDescription::kDefaultDeviceId) { |
| return device_info.unique_id; |
| } |
| |
| return device_info.device_name; |
| } |
| |
| std::string DeviceInfoToUniqueId( |
| const media::VideoCaptureDeviceInfo& device_info) { |
| return device_info.descriptor.device_id; |
| } |
| |
| std::string DeviceInfoToUniqueId(const blink::WebMediaDeviceInfo& device_info) { |
| return device_info.device_id; |
| } |
| |
| std::string DeviceInfoToUniqueId(const blink::MediaStreamDevice& device_info) { |
| return device_info.id; |
| } |
| |
| std::string DeviceInfoToUniqueId( |
| const media::AudioDeviceDescription& device_info) { |
| return device_info.unique_id; |
| } |
| } // namespace internal |
| } // namespace media_prefs |