| Index: content/renderer/media/user_media_client_impl.cc
|
| diff --git a/content/renderer/media/user_media_client_impl.cc b/content/renderer/media/user_media_client_impl.cc
|
| index 12a9529746ccd543341416119017065b14640fa1..6164b9665800b4e1e0448fa404fec84a550c8e10 100644
|
| --- a/content/renderer/media/user_media_client_impl.cc
|
| +++ b/content/renderer/media/user_media_client_impl.cc
|
| @@ -64,13 +64,17 @@ void CopyBlinkRequestToStreamControls(const blink::WebUserMediaRequest& request,
|
| const blink::WebMediaTrackConstraintSet& audio_basic =
|
| request.audioConstraints().basic();
|
| CopyFirstString(audio_basic.mediaStreamSource.exact(),
|
| - &(controls->audio.stream_source));
|
| + &controls->audio.stream_source);
|
| CopyVector(audio_basic.deviceId.exact(), &(controls->audio.device_ids));
|
| // Optionals. They may be either in ideal or in advanced.exact.
|
| - // TODO(hta): Get alternatives only mentioned in advanced array.
|
| CopyVector(audio_basic.deviceId.ideal(),
|
| &controls->audio.alternate_device_ids);
|
| -
|
| + for (const auto& constraint : request.audioConstraints().advanced()) {
|
| + CopyVector(constraint.deviceId.exact(),
|
| + &controls->audio.alternate_device_ids);
|
| + CopyVector(constraint.deviceId.ideal(),
|
| + &controls->audio.alternate_device_ids);
|
| + }
|
| if (audio_basic.hotwordEnabled.hasExact()) {
|
| controls->hotword_enabled = audio_basic.hotwordEnabled.exact();
|
| } else {
|
| @@ -90,6 +94,12 @@ void CopyBlinkRequestToStreamControls(const blink::WebUserMediaRequest& request,
|
| CopyVector(video_basic.deviceId.exact(), &(controls->video.device_ids));
|
| CopyVector(video_basic.deviceId.ideal(),
|
| &(controls->video.alternate_device_ids));
|
| + for (const auto& constraint : request.videoConstraints().advanced()) {
|
| + CopyVector(constraint.deviceId.exact(),
|
| + &controls->video.alternate_device_ids);
|
| + CopyVector(constraint.deviceId.ideal(),
|
| + &controls->video.alternate_device_ids);
|
| + }
|
| }
|
| }
|
|
|
|
|