Commit 859383e2 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Switch AudioDeviceCaptureCapability to operate over String and Vector

... from WTF, instead of std::string and std::vector, respectively.

Additionally, this CL also moves this file out of the Blink exposed
API.

Note that not all std::vector use from media_stream_constraints_util_audio.cc
used replaced, given that it, it requires unrelated changes to
media_stream_constraints_util_sets.h.

BUG=704136,919392
R=guidou@chromium.org, haraken@chromium.org

Change-Id: Ie2f5565fc0c320a16fc5afa4c71a27431e319881
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1737016
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684316}
parent befef663
...@@ -375,7 +375,6 @@ source_set("blink_headers") { ...@@ -375,7 +375,6 @@ source_set("blink_headers") {
"web/modules/media/webmediaplayer_util.h", "web/modules/media/webmediaplayer_util.h",
"web/modules/mediastream/local_media_stream_audio_source.h", "web/modules/mediastream/local_media_stream_audio_source.h",
"web/modules/mediastream/media_stream_constraints_util.h", "web/modules/mediastream/media_stream_constraints_util.h",
"web/modules/mediastream/media_stream_constraints_util_audio.h",
"web/modules/mediastream/media_stream_constraints_util_sets.h", "web/modules/mediastream/media_stream_constraints_util_sets.h",
"web/modules/mediastream/media_stream_constraints_util_video_content.h", "web/modules/mediastream/media_stream_constraints_util_video_content.h",
"web/modules/mediastream/media_stream_video_capturer_source.h", "web/modules/mediastream/media_stream_video_capturer_source.h",
......
...@@ -27,6 +27,7 @@ blink_modules_sources("mediastream") { ...@@ -27,6 +27,7 @@ blink_modules_sources("mediastream") {
"media_stream.h", "media_stream.h",
"media_stream_constraints_util.cc", "media_stream_constraints_util.cc",
"media_stream_constraints_util_audio.cc", "media_stream_constraints_util_audio.cc",
"media_stream_constraints_util_audio.h",
"media_stream_constraints_util_sets.cc", "media_stream_constraints_util_sets.cc",
"media_stream_constraints_util_video_content.cc", "media_stream_constraints_util_video_content.cc",
"media_stream_constraints_util_video_device.cc", "media_stream_constraints_util_video_device.cc",
......
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
#include "third_party/blink/public/platform/web_media_stream_source.h" #include "third_party/blink/public/platform/web_media_stream_source.h"
#include "third_party/blink/public/platform/web_media_stream_track.h" #include "third_party/blink/public/platform/web_media_stream_track.h"
#include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_audio.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_video_content.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_video_content.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_track.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_track.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h" #include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
......
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_audio.h" #include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.h"
#include <algorithm> #include <algorithm>
#include <cmath> #include <cmath>
#include <string>
#include <tuple> #include <tuple>
#include <utility> #include <utility>
#include <vector> #include <vector>
...@@ -974,13 +975,15 @@ class DeviceContainer { ...@@ -974,13 +975,15 @@ class DeviceContainer {
bool is_device_capture, bool is_device_capture,
bool is_reconfiguration_allowed) bool is_reconfiguration_allowed)
: device_parameters_(capability.Parameters()) { : device_parameters_(capability.Parameters()) {
if (!capability.DeviceID().empty()) { if (!capability.DeviceID().IsEmpty()) {
device_id_container_ = device_id_container_ =
StringContainer(StringSet({capability.DeviceID()})); StringContainer(StringSet({capability.DeviceID().Utf8()}));
} }
if (!capability.GroupID().empty()) if (!capability.GroupID().IsEmpty()) {
group_id_container_ = StringContainer(StringSet({capability.GroupID()})); group_id_container_ =
StringContainer(StringSet({capability.GroupID().Utf8()}));
}
// If the device is in use, a source will be provided and all containers // If the device is in use, a source will be provided and all containers
// must be initialized such that their only supported values correspond to // must be initialized such that their only supported values correspond to
...@@ -1343,25 +1346,26 @@ AudioDeviceCaptureCapability::AudioDeviceCaptureCapability( ...@@ -1343,25 +1346,26 @@ AudioDeviceCaptureCapability::AudioDeviceCaptureCapability(
: source_(source) {} : source_(source) {}
AudioDeviceCaptureCapability::AudioDeviceCaptureCapability( AudioDeviceCaptureCapability::AudioDeviceCaptureCapability(
std::string device_id, String device_id,
std::string group_id, String group_id,
const media::AudioParameters& parameters) const media::AudioParameters& parameters)
: device_id_(std::move(device_id)), : device_id_(std::move(device_id)),
group_id_(std::move(group_id)), group_id_(std::move(group_id)),
parameters_(parameters) { parameters_(parameters) {
DCHECK(!device_id_.empty()); DCHECK(!device_id_.IsEmpty());
} }
AudioDeviceCaptureCapability::AudioDeviceCaptureCapability( AudioDeviceCaptureCapability::AudioDeviceCaptureCapability(
const AudioDeviceCaptureCapability& other) = default; const AudioDeviceCaptureCapability& other) = default;
const std::string& AudioDeviceCaptureCapability::DeviceID() const { String AudioDeviceCaptureCapability::DeviceID() const {
return source_ ? source_->device().id : device_id_; return source_ ? String(source_->device().id.data()) : device_id_;
} }
const std::string& AudioDeviceCaptureCapability::GroupID() const { String AudioDeviceCaptureCapability::GroupID() const {
return source_ && source_->device().group_id ? *source_->device().group_id return source_ && source_->device().group_id
: group_id_; ? String(source_->device().group_id->data())
: group_id_;
} }
const media::AudioParameters& AudioDeviceCaptureCapability::Parameters() const { const media::AudioParameters& AudioDeviceCaptureCapability::Parameters() const {
...@@ -1373,14 +1377,14 @@ AudioCaptureSettings SelectSettingsAudioCapture( ...@@ -1373,14 +1377,14 @@ AudioCaptureSettings SelectSettingsAudioCapture(
const blink::WebMediaConstraints& constraints, const blink::WebMediaConstraints& constraints,
bool should_disable_hardware_noise_suppression, bool should_disable_hardware_noise_suppression,
bool is_reconfiguration_allowed) { bool is_reconfiguration_allowed) {
if (capabilities.empty()) if (capabilities.IsEmpty())
return AudioCaptureSettings(); return AudioCaptureSettings();
std::string media_stream_source = GetMediaStreamSource(constraints); std::string media_stream_source = GetMediaStreamSource(constraints);
std::string default_device_id; std::string default_device_id;
bool is_device_capture = media_stream_source.empty(); bool is_device_capture = media_stream_source.empty();
if (is_device_capture) if (is_device_capture)
default_device_id = capabilities.begin()->DeviceID(); default_device_id = capabilities.begin()->DeviceID().Utf8();
CandidatesContainer candidates(capabilities, media_stream_source, CandidatesContainer candidates(capabilities, media_stream_source,
default_device_id, is_reconfiguration_allowed); default_device_id, is_reconfiguration_allowed);
......
...@@ -2,14 +2,13 @@ ...@@ -2,14 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_PUBLIC_WEB_MODULES_MEDIASTREAM_MEDIA_STREAM_CONSTRAINTS_UTIL_AUDIO_H_ #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_MEDIA_STREAM_CONSTRAINTS_UTIL_AUDIO_H_
#define THIRD_PARTY_BLINK_PUBLIC_WEB_MODULES_MEDIASTREAM_MEDIA_STREAM_CONSTRAINTS_UTIL_AUDIO_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_MEDIA_STREAM_CONSTRAINTS_UTIL_AUDIO_H_
#include <string>
#include <vector>
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h"
#include "third_party/blink/renderer/modules/modules_export.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink { namespace blink {
class MediaStreamAudioSource; class MediaStreamAudioSource;
...@@ -30,7 +29,7 @@ namespace blink { ...@@ -30,7 +29,7 @@ namespace blink {
// acceptable values for the deviceId constraint, while in case (3) no such // acceptable values for the deviceId constraint, while in case (3) no such
// restriction is imposed and any requested deviceID value will be acceptable // restriction is imposed and any requested deviceID value will be acceptable
// while processing constraints. // while processing constraints.
class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability { class MODULES_EXPORT AudioDeviceCaptureCapability {
public: public:
// This creates an AudioDeviceCaptureCapability that admits all possible // This creates an AudioDeviceCaptureCapability that admits all possible
// device names and settings. This is intended to be used as the single // device names and settings. This is intended to be used as the single
...@@ -43,8 +42,8 @@ class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability { ...@@ -43,8 +42,8 @@ class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability {
// are limited by the given |parameters|. |device_id| must not be empty. // are limited by the given |parameters|. |device_id| must not be empty.
// Intended to be used by getUserMedia() with device capture for devices that // Intended to be used by getUserMedia() with device capture for devices that
// are not currently in use. // are not currently in use.
AudioDeviceCaptureCapability(std::string device_id, AudioDeviceCaptureCapability(String device_id,
std::string group_id, String group_id,
const media::AudioParameters& parameters); const media::AudioParameters& parameters);
// This creates an AudioDeviceCaptureCapability where the device ID and other // This creates an AudioDeviceCaptureCapability where the device ID and other
...@@ -64,10 +63,10 @@ class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability { ...@@ -64,10 +63,10 @@ class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability {
// it means that this capability is not associated with a known device and // it means that this capability is not associated with a known device and
// no restrictions are imposed on the deviceId or other constraints while // no restrictions are imposed on the deviceId or other constraints while
// processing constraints. // processing constraints.
const std::string& DeviceID() const; String DeviceID() const;
// Returns the group ID of the device associated with this capability. // Returns the group ID of the device associated with this capability.
const std::string& GroupID() const; String GroupID() const;
// Returns the audio parameters for the device associated with this // Returns the audio parameters for the device associated with this
// capability. If DeviceID() returns an empty string, these parameters contain // capability. If DeviceID() returns an empty string, these parameters contain
...@@ -76,13 +75,12 @@ class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability { ...@@ -76,13 +75,12 @@ class BLINK_MODULES_EXPORT AudioDeviceCaptureCapability {
private: private:
blink::MediaStreamAudioSource* source_ = nullptr; blink::MediaStreamAudioSource* source_ = nullptr;
std::string device_id_; String device_id_;
std::string group_id_; String group_id_;
media::AudioParameters parameters_; media::AudioParameters parameters_;
}; };
using AudioDeviceCaptureCapabilities = using AudioDeviceCaptureCapabilities = Vector<AudioDeviceCaptureCapability>;
std::vector<AudioDeviceCaptureCapability>;
// This function implements the SelectSettings algorithm for audio tracks as // This function implements the SelectSettings algorithm for audio tracks as
// described in https://w3c.github.io/mediacapture-main/#dfn-selectsettings // described in https://w3c.github.io/mediacapture-main/#dfn-selectsettings
...@@ -175,4 +173,4 @@ GetMinMaxLatenciesForAudioParameters(const media::AudioParameters& parameters); ...@@ -175,4 +173,4 @@ GetMinMaxLatenciesForAudioParameters(const media::AudioParameters& parameters);
} // namespace blink } // namespace blink
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_MODULES_MEDIASTREAM_MEDIA_STREAM_CONSTRAINTS_UTIL_AUDIO_H_ #endif // THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIASTREAM_MEDIA_STREAM_CONSTRAINTS_UTIL_AUDIO_H_
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_audio.h" #include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.h"
#include <algorithm> #include <algorithm>
#include <cmath> #include <cmath>
...@@ -321,7 +321,7 @@ class MediaStreamConstraintsUtilAudioTestBase { ...@@ -321,7 +321,7 @@ class MediaStreamConstraintsUtilAudioTestBase {
void CheckDevice(const AudioDeviceCaptureCapability& expected_device, void CheckDevice(const AudioDeviceCaptureCapability& expected_device,
const AudioCaptureSettings& result) { const AudioCaptureSettings& result) {
EXPECT_EQ(expected_device.DeviceID(), result.device_id()); EXPECT_EQ(expected_device.DeviceID().Utf8(), result.device_id());
} }
void CheckDeviceDefaults(const AudioCaptureSettings& result) { void CheckDeviceDefaults(const AudioCaptureSettings& result) {
...@@ -381,7 +381,7 @@ class MediaStreamConstraintsUtilAudioTestBase { ...@@ -381,7 +381,7 @@ class MediaStreamConstraintsUtilAudioTestBase {
double max_latency) { double max_latency) {
constraint_factory_.Reset(); constraint_factory_.Reset();
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII(device->DeviceID())); blink::WebString(device->DeviceID()));
constraint_factory_.basic().echo_cancellation.SetExact(false); constraint_factory_.basic().echo_cancellation.SetExact(false);
constraint_factory_.basic().latency.SetExact(0.0); constraint_factory_.basic().latency.SetExact(0.0);
auto result = SelectSettings(); auto result = SelectSettings();
...@@ -389,7 +389,7 @@ class MediaStreamConstraintsUtilAudioTestBase { ...@@ -389,7 +389,7 @@ class MediaStreamConstraintsUtilAudioTestBase {
constraint_factory_.Reset(); constraint_factory_.Reset();
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII(device->DeviceID())); blink::WebString(device->DeviceID()));
constraint_factory_.basic().echo_cancellation.SetExact(false); constraint_factory_.basic().echo_cancellation.SetExact(false);
constraint_factory_.basic().latency.SetMin(max_latency + 0.001); constraint_factory_.basic().latency.SetMin(max_latency + 0.001);
result = SelectSettings(); result = SelectSettings();
...@@ -397,7 +397,7 @@ class MediaStreamConstraintsUtilAudioTestBase { ...@@ -397,7 +397,7 @@ class MediaStreamConstraintsUtilAudioTestBase {
constraint_factory_.Reset(); constraint_factory_.Reset();
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII(device->DeviceID())); blink::WebString(device->DeviceID()));
constraint_factory_.basic().echo_cancellation.SetExact(false); constraint_factory_.basic().echo_cancellation.SetExact(false);
constraint_factory_.basic().latency.SetMax(min_latency - 0.001); constraint_factory_.basic().latency.SetMax(min_latency - 0.001);
result = SelectSettings(); result = SelectSettings();
...@@ -415,7 +415,7 @@ class MediaStreamConstraintsUtilAudioTestBase { ...@@ -415,7 +415,7 @@ class MediaStreamConstraintsUtilAudioTestBase {
int expected_buffer_size) { int expected_buffer_size) {
constraint_factory_.Reset(); constraint_factory_.Reset();
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII(device->DeviceID())); blink::WebString(device->DeviceID()));
constraint_factory_.basic().echo_cancellation.SetExact(false); constraint_factory_.basic().echo_cancellation.SetExact(false);
constraint_factory_.basic().latency.SetIdeal(requested_latency); constraint_factory_.basic().latency.SetIdeal(requested_latency);
auto result = SelectSettings(); auto result = SelectSettings();
...@@ -1186,7 +1186,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, IdealArbitraryDeviceID) { ...@@ -1186,7 +1186,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, IdealArbitraryDeviceID) {
TEST_P(MediaStreamConstraintsUtilAudioTest, ExactValidDeviceID) { TEST_P(MediaStreamConstraintsUtilAudioTest, ExactValidDeviceID) {
for (const auto& device : capabilities_) { for (const auto& device : capabilities_) {
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII(device.DeviceID())); blink::WebString(device.DeviceID()));
auto result = SelectSettings(); auto result = SelectSettings();
EXPECT_TRUE(result.HasValue()); EXPECT_TRUE(result.HasValue());
CheckDevice(device, result); CheckDevice(device, result);
...@@ -1211,7 +1211,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, ExactValidDeviceID) { ...@@ -1211,7 +1211,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, ExactValidDeviceID) {
TEST_P(MediaStreamConstraintsUtilAudioTest, ExactGroupID) { TEST_P(MediaStreamConstraintsUtilAudioTest, ExactGroupID) {
for (const auto& device : capabilities_) { for (const auto& device : capabilities_) {
constraint_factory_.basic().group_id.SetExact( constraint_factory_.basic().group_id.SetExact(
blink::WebString::FromASCII(device.GroupID())); blink::WebString(device.GroupID()));
auto result = SelectSettings(); auto result = SelectSettings();
EXPECT_TRUE(result.HasValue()); EXPECT_TRUE(result.HasValue());
CheckDevice(device, result); CheckDevice(device, result);
...@@ -1313,8 +1313,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, EchoCancellationWithSystem) { ...@@ -1313,8 +1313,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, EchoCancellationWithSystem) {
for (bool value : kBoolValues) { for (bool value : kBoolValues) {
ResetFactory(); ResetFactory();
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII( blink::WebString(system_echo_canceller_device_->DeviceID()));
system_echo_canceller_device_->DeviceID()));
((constraint_factory_.*accessor)().echo_cancellation.* ((constraint_factory_.*accessor)().echo_cancellation.*
set_function)(value); set_function)(value);
auto result = SelectSettings(); auto result = SelectSettings();
...@@ -1408,8 +1407,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, GoogEchoCancellationWithSystem) { ...@@ -1408,8 +1407,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, GoogEchoCancellationWithSystem) {
for (bool value : kBoolValues) { for (bool value : kBoolValues) {
ResetFactory(); ResetFactory();
constraint_factory_.basic().device_id.SetExact( constraint_factory_.basic().device_id.SetExact(
blink::WebString::FromASCII( blink::WebString(system_echo_canceller_device_->DeviceID()));
system_echo_canceller_device_->DeviceID()));
((constraint_factory_.*accessor)().goog_echo_cancellation.* ((constraint_factory_.*accessor)().goog_echo_cancellation.*
set_function)(value); set_function)(value);
auto result = SelectSettings(); auto result = SelectSettings();
...@@ -1529,15 +1527,15 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, ...@@ -1529,15 +1527,15 @@ TEST_P(MediaStreamConstraintsUtilAudioTest,
&capabilities[0]; &capabilities[0];
constraint_factory_.Reset(); constraint_factory_.Reset();
constraint_factory_.basic().device_id.SetExact(blink::WebString::FromASCII( constraint_factory_.basic().device_id.SetExact(
system_echo_canceller_with_source->DeviceID())); blink::WebString(system_echo_canceller_with_source->DeviceID()));
constraint_factory_.basic().echo_cancellation.SetExact(true); constraint_factory_.basic().echo_cancellation.SetExact(true);
auto result = SelectSettings(true, capabilities); auto result = SelectSettings(true, capabilities);
EXPECT_TRUE(result.HasValue()); EXPECT_TRUE(result.HasValue());
constraint_factory_.Reset(); constraint_factory_.Reset();
constraint_factory_.basic().device_id.SetExact(blink::WebString::FromASCII( constraint_factory_.basic().device_id.SetExact(
system_echo_canceller_with_source->DeviceID())); blink::WebString(system_echo_canceller_with_source->DeviceID()));
constraint_factory_.basic().echo_cancellation.SetExact(false); constraint_factory_.basic().echo_cancellation.SetExact(false);
result = SelectSettings(true, capabilities); result = SelectSettings(true, capabilities);
EXPECT_FALSE(result.HasValue()); EXPECT_FALSE(result.HasValue());
...@@ -1860,8 +1858,8 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, UsedAndUnusedSources) { ...@@ -1860,8 +1858,8 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, UsedAndUnusedSources) {
GetProcessedLocalAudioSource(properties, false /* disable_local_echo */, GetProcessedLocalAudioSource(properties, false /* disable_local_echo */,
false /* render_to_associated_sink */); false /* render_to_associated_sink */);
const std::string kUnusedDeviceID = "unused_device"; const String kUnusedDeviceID = "unused_device";
const std::string kGroupID = "fake_group"; const String kGroupID = "fake_group";
AudioDeviceCaptureCapabilities capabilities; AudioDeviceCaptureCapabilities capabilities;
capabilities.emplace_back(processed_source.get()); capabilities.emplace_back(processed_source.get());
capabilities.emplace_back(kUnusedDeviceID, kGroupID, capabilities.emplace_back(kUnusedDeviceID, kGroupID,
...@@ -1875,7 +1873,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, UsedAndUnusedSources) { ...@@ -1875,7 +1873,7 @@ TEST_P(MediaStreamConstraintsUtilAudioTest, UsedAndUnusedSources) {
capabilities, constraint_factory_.CreateWebMediaConstraints(), capabilities, constraint_factory_.CreateWebMediaConstraints(),
false /* should_disable_hardware_noise_suppression */); false /* should_disable_hardware_noise_suppression */);
EXPECT_TRUE(result.HasValue()); EXPECT_TRUE(result.HasValue());
EXPECT_EQ(result.device_id(), kUnusedDeviceID); EXPECT_EQ(result.device_id(), kUnusedDeviceID.Utf8());
EXPECT_EQ(result.audio_processing_properties().echo_cancellation_type, EXPECT_EQ(result.audio_processing_properties().echo_cancellation_type,
EchoCancellationType::kEchoCancellationDisabled); EchoCancellationType::kEchoCancellationDisabled);
} }
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/web/modules/mediastream/local_media_stream_audio_source.h" #include "third_party/blink/public/web/modules/mediastream/local_media_stream_audio_source.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_audio.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_video_content.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_constraints_util_video_content.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_capturer_source.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_capturer_source.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_track.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_track.h"
...@@ -42,6 +41,7 @@ ...@@ -42,6 +41,7 @@
#include "third_party/blink/public/web/web_local_frame.h" #include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/page/chrome_client.h" #include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h" #include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_video_device.h"
#include "third_party/blink/renderer/modules/mediastream/user_media_client_impl.h" #include "third_party/blink/renderer/modules/mediastream/user_media_client_impl.h"
#include "third_party/blink/renderer/platform/wtf/wtf_size_t.h" #include "third_party/blink/renderer/platform/wtf/wtf_size_t.h"
...@@ -568,10 +568,8 @@ void UserMediaProcessor::SelectAudioDeviceSettings( ...@@ -568,10 +568,8 @@ void UserMediaProcessor::SelectAudioDeviceSettings(
if (audio_source) { if (audio_source) {
capabilities.emplace_back(audio_source); capabilities.emplace_back(audio_source);
} else { } else {
// TODO(crbug.com/704136): Change AudioDeviceCaptureCapabilities to capabilities.emplace_back(device->device_id, device->group_id,
// operate over WTF::String. device->parameters);
capabilities.emplace_back(device->device_id.Utf8(),
device->group_id.Utf8(), device->parameters);
} }
} }
...@@ -580,7 +578,7 @@ void UserMediaProcessor::SelectAudioDeviceSettings( ...@@ -580,7 +578,7 @@ void UserMediaProcessor::SelectAudioDeviceSettings(
void UserMediaProcessor::SelectAudioSettings( void UserMediaProcessor::SelectAudioSettings(
const blink::WebUserMediaRequest& web_request, const blink::WebUserMediaRequest& web_request,
const std::vector<blink::AudioDeviceCaptureCapability>& capabilities) { const blink::AudioDeviceCaptureCapabilities& capabilities) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
// The frame might reload or |web_request| might be cancelled while // The frame might reload or |web_request| might be cancelled while
// capabilities are queried. Do nothing if a different request is being // capabilities are queried. Do nothing if a different request is being
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "third_party/blink/public/platform/modules/mediastream/web_platform_media_stream_source.h" #include "third_party/blink/public/platform/modules/mediastream/web_platform_media_stream_source.h"
#include "third_party/blink/public/platform/web_vector.h" #include "third_party/blink/public/platform/web_vector.h"
#include "third_party/blink/public/web/web_user_media_request.h" #include "third_party/blink/public/web/web_user_media_request.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.h"
#include "third_party/blink/renderer/modules/modules_export.h" #include "third_party/blink/renderer/modules/modules_export.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h" #include "third_party/blink/renderer/platform/wtf/vector.h"
...@@ -32,7 +33,6 @@ class Size; ...@@ -32,7 +33,6 @@ class Size;
namespace blink { namespace blink {
class AudioCaptureSettings; class AudioCaptureSettings;
class AudioDeviceCaptureCapability;
class LocalFrame; class LocalFrame;
class MediaStreamAudioSource; class MediaStreamAudioSource;
class MediaStreamVideoSource; class MediaStreamVideoSource;
...@@ -265,7 +265,7 @@ class MODULES_EXPORT UserMediaProcessor ...@@ -265,7 +265,7 @@ class MODULES_EXPORT UserMediaProcessor
audio_input_capabilities); audio_input_capabilities);
void SelectAudioSettings( void SelectAudioSettings(
const blink::WebUserMediaRequest& web_request, const blink::WebUserMediaRequest& web_request,
const std::vector<blink::AudioDeviceCaptureCapability>& capabilities); const blink::AudioDeviceCaptureCapabilities& capabilities);
void SetupVideoInput(); void SetupVideoInput();
void SelectVideoDeviceSettings( void SelectVideoDeviceSettings(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment