Merge lp:~abreu-alexandre/oxide/add-device-id-constraint-support-getusermedia into lp:~oxide-developers/oxide/oxide.trunk

Proposed by Alexandre Abreu
Status: Merged
Merged at revision: 1453
Proposed branch: lp:~abreu-alexandre/oxide/add-device-id-constraint-support-getusermedia
Merge into: lp:~oxide-developers/oxide/oxide.trunk
Diff against target: 105 lines (+41/-5)
1 file modified
shared/browser/media/oxide_media_capture_devices_dispatcher.cc (+41/-5)
To merge this branch: bzr merge lp:~abreu-alexandre/oxide/add-device-id-constraint-support-getusermedia
Reviewer Review Type Date Requested Status
Chris Coulson Approve
Review via email: mp+291954@code.launchpad.net

Commit message

Add support for device id constraint support

Description of the change

Add support for device id constraint support

To post a comment you must log in.
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thanks, I've added some comments inline

review: Needs Fixing
Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

Updated

Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

(and replied to your comment)

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I've added another reply

review: Needs Fixing
1447. By Alexandre Abreu

Remove requestVideo/Aufio id properties to media request

1448. By Alexandre Abreu

nits

Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

Updated

Revision history for this message
Chris Coulson (chrisccoulson) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'shared/browser/media/oxide_media_capture_devices_dispatcher.cc'
2--- shared/browser/media/oxide_media_capture_devices_dispatcher.cc 2015-09-14 21:35:00 +0000
3+++ shared/browser/media/oxide_media_capture_devices_dispatcher.cc 2016-04-19 17:38:58 +0000
4@@ -74,6 +74,8 @@
5 content::RenderFrameHost* render_frame_host,
6 bool audio,
7 bool video,
8+ const std::string& requested_audio_device_id,
9+ const std::string& requested_video_device_id,
10 PermissionRequestResponse response) {
11 if (response != PERMISSION_REQUEST_RESPONSE_ALLOW) {
12 callback.Run(content::MediaStreamDevices(),
13@@ -86,11 +88,33 @@
14 render_frame_host->GetProcess()->GetBrowserContext();
15
16 content::MediaStreamDevices devices;
17- MediaCaptureDevicesDispatcher::GetInstance()
18- ->GetDefaultCaptureDevicesForContext(context,
19- audio,
20- video,
21- &devices);
22+ if (audio && !requested_audio_device_id.empty()) {
23+ const content::MediaStreamDevice* device =
24+ MediaCaptureDevicesDispatcher::GetInstance()->
25+ FindAudioCaptureDeviceById(requested_audio_device_id);
26+ if (device) {
27+ devices.push_back(*device);
28+ audio = false;
29+ }
30+ }
31+
32+ if (video && !requested_video_device_id.empty()) {
33+ const content::MediaStreamDevice* device =
34+ MediaCaptureDevicesDispatcher::GetInstance()->
35+ FindVideoCaptureDeviceById(requested_video_device_id);
36+ if (device) {
37+ devices.push_back(*device);
38+ video = false;
39+ }
40+ }
41+
42+ if (audio || video) {
43+ MediaCaptureDevicesDispatcher::GetInstance()
44+ ->GetDefaultCaptureDevicesForContext(context,
45+ audio,
46+ video,
47+ &devices);
48+ }
49
50 callback.Run(devices,
51 devices.empty() ?
52@@ -105,6 +129,8 @@
53 int render_frame_id,
54 bool audio,
55 bool video,
56+ const std::string& requested_audio_device_id,
57+ const std::string& requested_video_device_id,
58 const GURL& requesting_origin,
59 const GURL& embedding_origin,
60 PermissionRequestResponse response) {
61@@ -121,6 +147,8 @@
62 rfh,
63 audio,
64 video,
65+ requested_audio_device_id,
66+ requested_video_device_id,
67 response);
68
69 if (response == PERMISSION_REQUEST_RESPONSE_CANCEL) {
70@@ -153,6 +181,8 @@
71 int render_frame_id,
72 bool audio,
73 bool video,
74+ const std::string& requested_audio_device_id,
75+ const std::string& requested_video_device_id,
76 const GURL& requesting_origin,
77 const GURL& embedding_origin) {
78 return base::Bind(&RespondToMediaAccessPermissionRequestCallback,
79@@ -161,6 +191,8 @@
80 render_frame_id,
81 audio,
82 video,
83+ requested_audio_device_id,
84+ requested_video_device_id,
85 requesting_origin,
86 embedding_origin);
87 }
88@@ -430,6 +462,8 @@
89 rfh,
90 audio,
91 video,
92+ request.requested_audio_device_id,
93+ request.requested_video_device_id,
94 ToPermissionRequestResponse(saved_status));
95 return;
96 }
97@@ -445,6 +479,8 @@
98 request.render_frame_id,
99 audio,
100 video,
101+ request.requested_audio_device_id,
102+ request.requested_video_device_id,
103 request.security_origin,
104 embedding_origin));
105 }

Subscribers

People subscribed via source and target branches