Index: content/renderer/media/media_stream_impl.cc |
diff --git a/content/renderer/media/media_stream_impl.cc b/content/renderer/media/media_stream_impl.cc |
index c9a225d32cdc54568a3794c96e679f310c5122b7..d1b444899ba16501796d33fad7a2b1be4ab33e63 100644 |
--- a/content/renderer/media/media_stream_impl.cc |
+++ b/content/renderer/media/media_stream_impl.cc |
@@ -495,6 +495,21 @@ void MediaStreamImpl::FrameWillClose(WebKit::WebFrame* frame) { |
// MediaStreamDispatcher know that the stream is no longer wanted. |
// If not, we cancel the request and delete the request object. |
if ((*request_it)->generated) { |
+ MediaStreamExtraData* extra_data = static_cast<MediaStreamExtraData*>( |
perkj_chrome
2013/03/20 10:39:53
Looks like all of this belongs in the same place a
no longer working on chromium
2013/03/20 15:10:19
Done.
|
+ (*request_it)->descriptor.extraData()); |
+ if (extra_data && extra_data->is_local() && extra_data->stream() && |
+ !extra_data->stream()->GetAudioTracks().empty()) { |
+ // We need to stop the capturer for local media stream. |
perkj_chrome
2013/03/20 10:39:53
audio track - not stream
no longer working on chromium
2013/03/20 15:10:19
Done.
|
+ // TODO(xians): Loop through audio tracks to stop their capturer if |
+ // there are multiple audio tracks. |
+ if (dependency_factory_->GetWebRtcAudioDevice()) { |
+ scoped_refptr<WebRtcAudioCapturer> capturer = |
+ dependency_factory_->GetWebRtcAudioDevice()->capturer(); |
+ if (capturer) |
+ capturer->Stop(); |
+ } |
+ } |
+ |
media_stream_dispatcher_->StopStream( |
perkj_chrome
2013/03/20 10:39:53
So is StopStream only used for video now or audio
no longer working on chromium
2013/03/20 15:10:19
both audio and video as before.
|
UTF16ToUTF8((*request_it)->descriptor.label())); |
} else { |