Index: content/renderer/render_view_impl.cc |
=================================================================== |
--- content/renderer/render_view_impl.cc (revision 193973) |
+++ content/renderer/render_view_impl.cc (working copy) |
@@ -94,6 +94,7 @@ |
#include "content/renderer/media/renderer_audio_output_device.h" |
#include "content/renderer/media/renderer_gpu_video_decoder_factories.h" |
#include "content/renderer/media/rtc_peer_connection_handler.h" |
+#include "content/renderer/media/video_capture_impl_manager.h" |
#include "content/renderer/mhtml_generator.h" |
#include "content/renderer/notification_provider.h" |
#include "content/renderer/pepper/pepper_plugin_delegate_impl.h" |
@@ -5859,7 +5860,12 @@ |
// only be freed once the tab is destroyed or if the user navigates away |
// via WebMediaPlayerAndroid::Destroy |
media_player_manager_->ReleaseMediaResources(); |
+ |
+#if defined(ENABLE_WEBRTC) |
+ RenderThreadImpl::current()->video_capture_impl_manager()-> |
+ SuspendDevices(true); |
#endif |
+#endif |
if (webview()) { |
webview()->settings()->setMinimumTimerInterval( |
@@ -5883,6 +5889,11 @@ |
void RenderViewImpl::OnWasShown(bool needs_repainting) { |
RenderWidget::OnWasShown(needs_repainting); |
+#if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
+ RenderThreadImpl::current()->video_capture_impl_manager()-> |
+ SuspendDevices(false); |
+#endif |
+ |
if (webview()) { |
webview()->settings()->setMinimumTimerInterval( |
webkit_glue::kForegroundTabTimerInterval); |