mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
3560567: [MSC] Porting GenerateStreams clients to handle stream vectors.
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3560567
This commit is contained in:
@@ -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>());
|
||||
}
|
||||
@@ -77,7 +77,12 @@ bool MediaStreamDevicesController::TakeAction() {
|
||||
|
||||
void MediaStreamDevicesController::Accept() {
|
||||
// Get the default devices for the request.
|
||||
blink::mojom::StreamDevices stream_devices;
|
||||
blink::mojom::StreamDevicesSetPtr 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: {
|
||||
@@ -164,19 +169,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::StreamDevicesSetPtr 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) {
|
||||
@@ -215,7 +223,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>());
|
||||
|
||||
Reference in New Issue
Block a user