[Video Capture] Add APIs for joining threads on shutdown |
||||
Issue descriptionThe video capture stack (i.e. things including MediaStreamManager, VideoCaptureManager, VideoCaptureDevice, VideoCaptureDeviceClient) currently may operate on threads that are not known by the BrowserMainLoop. On browser shutdown, this can create issues such as issue 725271 where a video capture thread calls into an object that has become illegal-to-use. As discussed in issue 725271 , the solution to this is to allow the BrowserMainLoop shutdown sequence [1] to wait for the video capture threads to shut down. To this end, APIs need to be added to the classes in the path between BrowserMainLoop and the classes that own the video capture threads, i.e. MediaStreamManager (|device_thread_| [2]) as well as all VideoCaptureDevice implementations. [1] https://cs.chromium.org/chromium/src/content/browser/browser_main_loop.cc?dr=CSs&l=1349 [2] https://cs.chromium.org/chromium/src/content/browser/renderer_host/media/media_stream_manager.h?q=MediaStreamManager&dr=CSs&l=415
,
Jun 2 2017
Note: Properly waiting for the video capture devices to complete their shutdown before tearing down the IO thread and blocking the main thread might also resolve issue 526638.
,
Jun 13 2017
I created an experimental CL [1] trying to add a callback to VideoCaptureDevice::StopAndDeAllocate(), but this approach does not seem to work for solving issue 725271 . I am hoping for some feedback and ideas on how to resolve this. [1] https://chromium-review.googlesource.com/c/533681/
,
Jun 14 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 15 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by chfremer@chromium.org
, Jun 2 2017