Skip to content

Commit

Permalink
3560567: [MSC] Porting GenerateStreams clients to handle stream vectors.
Browse files Browse the repository at this point in the history
  • Loading branch information
jkleinsc committed Jun 13, 2022
1 parent 08f7a35 commit c9c1c53
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions shell/browser/media/media_stream_devices_controller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ MediaStreamDevicesController::MediaStreamDevicesController(
MediaStreamDevicesController::~MediaStreamDevicesController() {
if (!callback_.is_null()) {
std::move(callback_).Run(
blink::mojom::StreamDevices(),
blink::mojom::StreamDevicesSet(),
blink::mojom::MediaStreamRequestResult::FAILED_DUE_TO_SHUTDOWN,
std::unique_ptr<content::MediaStreamUI>());
}
Expand Down Expand Up @@ -77,7 +77,11 @@ bool MediaStreamDevicesController::TakeAction() {

void MediaStreamDevicesController::Accept() {
// Get the default devices for the request.
blink::mojom::StreamDevices stream_devices;
blink::mojom::StreamDevicesSet stream_devices_set;
stream_devices_set.stream_devices.emplace_back(
blink::mojom::StreamDevices::New());
blink::mojom::StreamDevices& stream_devices =
*stream_devices_set.stream_devices[0];
if (microphone_requested_ || webcam_requested_) {
switch (request_.request_type) {
case blink::MEDIA_OPEN_DEVICE_PEPPER_ONLY: {
Expand Down Expand Up @@ -164,19 +168,22 @@ void MediaStreamDevicesController::Accept() {
}
}

std::move(callback_).Run(stream_devices,
std::move(callback_).Run(stream_devices_set,
blink::mojom::MediaStreamRequestResult::OK,
std::unique_ptr<content::MediaStreamUI>());
}

void MediaStreamDevicesController::Deny(
blink::mojom::MediaStreamRequestResult result) {
std::move(callback_).Run(blink::mojom::StreamDevices(), result,
std::move(callback_).Run(blink::mojom::StreamDevicesSet(), result,
std::unique_ptr<content::MediaStreamUI>());
}

void MediaStreamDevicesController::HandleUserMediaRequest() {
blink::mojom::StreamDevices devices;
blink::mojom::StreamDevicesSet stream_devices_set;
stream_devices_set.stream_devices.emplace_back(
blink::mojom::StreamDevices::New());
blink::mojom::StreamDevices& devices = *stream_devices_set.stream_devices[0];

if (request_.audio_type ==
blink::mojom::MediaStreamType::GUM_TAB_AUDIO_CAPTURE) {
Expand Down Expand Up @@ -215,7 +222,7 @@ void MediaStreamDevicesController::HandleUserMediaRequest() {
bool empty =
!devices.audio_device.has_value() && !devices.video_device.has_value();
std::move(callback_).Run(
devices,
stream_devices_set,
empty ? blink::mojom::MediaStreamRequestResult::NO_HARDWARE
: blink::mojom::MediaStreamRequestResult::OK,
std::unique_ptr<content::MediaStreamUI>());
Expand Down

0 comments on commit c9c1c53

Please sign in to comment.