Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: content/browser/renderer_host/media/media_stream_manager.cc

Issue 2291893002: Let Contraints Controll Mute/Unmute Audio Local Playback For Desktop Sharing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/media_stream_manager.cc
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc
index 66f0eb7e001439028fb9bcbe06db2df69e40c2b2..04ecb90e22e9cae9b29576c5676823a0160b3977 100644
--- a/content/browser/renderer_host/media/media_stream_manager.cc
+++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -258,7 +258,7 @@ class MediaStreamManager::DeviceRequest {
requesting_process_id, requesting_frame_id, page_request_id,
ConvertToGURL(security_origin), user_gesture, request_type,
requested_audio_device_id, requested_video_device_id, audio_type_,
- video_type_));
+ video_type_, mute_source));
}
// Creates a tab capture specific MediaStreamRequest object that is used by
@@ -271,7 +271,7 @@ class MediaStreamManager::DeviceRequest {
ui_request_.reset(new MediaStreamRequest(
target_render_process_id, target_render_frame_id, page_request_id,
ConvertToGURL(security_origin), user_gesture, request_type, "", "",
- audio_type_, video_type_));
+ audio_type_, video_type_, mute_source));
}
bool HasUIRequest() const { return ui_request_.get() != nullptr; }
@@ -354,6 +354,8 @@ class MediaStreamManager::DeviceRequest {
std::string tab_capture_device_id;
+ bool mute_source;
miu 2016/09/12 23:13:12 naming nit: We're not really muting the source, we
qiangchen 2016/09/13 21:46:57 Done.
+
private:
std::vector<MediaRequestState> state_;
std::unique_ptr<MediaStreamRequest> ui_request_;
@@ -1308,11 +1310,9 @@ bool MediaStreamManager::SetupTabCaptureRequest(DeviceRequest* request) {
}
// Customize controls for a WebContents based capture.
- int target_render_process_id = 0;
- int target_render_frame_id = 0;
-
- bool has_valid_device_id = WebContentsMediaCaptureId::ExtractTabCaptureTarget(
- capture_device_id, &target_render_process_id, &target_render_frame_id);
+ content::WebContentsMediaCaptureId web_id;
+ bool has_valid_device_id =
+ WebContentsMediaCaptureId::TryParse(capture_device_id, &web_id);
if (!has_valid_device_id ||
(request->audio_type() != MEDIA_TAB_AUDIO_CAPTURE &&
request->audio_type() != MEDIA_NO_SERVICE) ||
@@ -1320,16 +1320,20 @@ bool MediaStreamManager::SetupTabCaptureRequest(DeviceRequest* request) {
request->video_type() != MEDIA_NO_SERVICE)) {
return false;
}
- request->tab_capture_device_id = capture_device_id;
+ request->mute_source = request->controls.mute_source_audio;
+ web_id.mute_source = request->mute_source;
+
+ request->tab_capture_device_id = web_id.ToString();
- request->CreateTabCaptureUIRequest(target_render_process_id,
- target_render_frame_id);
+ request->CreateTabCaptureUIRequest(web_id.render_process_id,
+ web_id.main_render_frame_id);
DVLOG(3) << "SetupTabCaptureRequest "
- << ", {capture_device_id = " << capture_device_id << "}"
- << ", {target_render_process_id = " << target_render_process_id
+ << ", {capture_device_id = " << capture_device_id << "}"
+ << ", {target_render_process_id = " << web_id.render_process_id
<< "}"
- << ", {target_render_frame_id = " << target_render_frame_id << "}";
+ << ", {target_render_frame_id = " << web_id.main_render_frame_id
+ << "}";
return true;
}
@@ -1356,6 +1360,7 @@ bool MediaStreamManager::SetupScreenCaptureRequest(DeviceRequest* request) {
!request->controls.video.device_ids.empty()) {
video_device_id = request->controls.video.device_ids[0];
}
+ request->mute_source = request->controls.mute_source_audio;
}
const std::string audio_device_id =

Powered by Google App Engine
This is Rietveld 408576698