| Index: content/browser/renderer_host/media/media_stream_dispatcher_host.cc
|
| diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
|
| index 3fe78916049898a10ed252d66703ba338d9f9ed6..b8db24980fa6fbcd0b1fec2649aa6eb121fa5326 100644
|
| --- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
|
| +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
|
| @@ -142,15 +142,15 @@ void MediaStreamDispatcherHost::OnGenerateStream(
|
| std::string label;
|
| if (components.audio_type == MEDIA_TAB_AUDIO_CAPTURE ||
|
| components.video_type == MEDIA_TAB_VIDEO_CAPTURE) {
|
| - DCHECK(!components.video_device_id.empty());
|
| -
|
| - // Append our tab capture device id scheme.
|
| + // Append our tab capture device id scheme. It's OK if both device_id's
|
| + // are empty since we check their validity in GenerateStreamForDevice.
|
| // TODO(justinlin): This is kind of a hack, but the plumbing for audio
|
| // streams is too complicated to plumb in by type. Will revisit once it's
|
| // refactored. http://crbug.com/163100
|
| const std::string& device_id =
|
| WebContentsCaptureUtil::AppendWebContentsDeviceScheme(
|
| - components.video_device_id);
|
| + components.video_device_id.empty() ?
|
| + components.video_device_id : components.audio_device_id);
|
|
|
| // TODO(justinlin): Cleanup/get rid of GenerateStreamForDevice and merge
|
| // with the regular GenerateStream.
|
| @@ -162,7 +162,9 @@ void MediaStreamDispatcherHost::OnGenerateStream(
|
| render_view_id,
|
| components, security_origin);
|
| }
|
| - DCHECK(!label.empty());
|
| + if (label.empty())
|
| + return;
|
| +
|
| streams_[label] = StreamRequest(render_view_id, page_request_id);
|
| }
|
|
|
|
|