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 49c828b00ecebe32dbbb583c936f87e3dcc45c8d..8f7839cc190c7f276388597ebb585fc4e8471f70 100644 |
--- a/content/browser/renderer_host/media/media_stream_manager.cc |
+++ b/content/browser/renderer_host/media/media_stream_manager.cc |
@@ -99,6 +99,9 @@ void ParseStreamType(const StreamControls& controls, |
MediaStreamType* video_type) { |
*audio_type = MEDIA_NO_SERVICE; |
*video_type = MEDIA_NO_SERVICE; |
+ const bool audio_support_flag_for_desktop_share = |
+ base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableAudioSupportForDesktopShare); |
if (controls.audio.requested) { |
if (!controls.audio.stream_source.empty()) { |
// This is tab or screen capture. |
@@ -106,6 +109,9 @@ void ParseStreamType(const StreamControls& controls, |
*audio_type = content::MEDIA_TAB_AUDIO_CAPTURE; |
} else if (controls.audio.stream_source == kMediaStreamSourceSystem) { |
*audio_type = content::MEDIA_DESKTOP_AUDIO_CAPTURE; |
+ } else if (audio_support_flag_for_desktop_share && |
+ controls.audio.stream_source == kMediaStreamSourceDesktop) { |
+ *audio_type = content::MEDIA_DESKTOP_AUDIO_CAPTURE; |
} |
} else { |
// This is normal audio device capture. |