Index: content/browser/renderer_host/media/video_capture_manager.cc |
diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/content/browser/renderer_host/media/video_capture_manager.cc |
index 0571b3f32bba32de91e352274bfbb54ae7acfd49..14d561ad3c102f81a9b2cf0dc7439ba9261fd1c5 100644 |
--- a/content/browser/renderer_host/media/video_capture_manager.cc |
+++ b/content/browser/renderer_host/media/video_capture_manager.cc |
@@ -25,8 +25,18 @@ VideoCaptureManager::VideoCaptureManager() |
} |
VideoCaptureManager::~VideoCaptureManager() { |
- DCHECK(devices_.empty()); |
vc_device_thread_.Stop(); |
+ // TODO(mflodman) Remove this temporary solution when shut-down issue is |
+ // resolved, i.e. all code below this comment. |
+ // Temporary solution: close all open devices and delete them, after the |
+ // thread is stopped. |
+ DLOG_IF(ERROR, !devices_.empty()) << "VideoCaptureManager: Open devices!"; |
+ for (VideoCaptureDevices::iterator it = devices_.begin(); |
+ it != devices_.end(); |
+ ++it) { |
+ it->second->DeAllocate(); |
+ delete it->second; |
+ } |
} |
void VideoCaptureManager::Register(MediaStreamProviderListener* listener) { |