Issue metadata
Sign in to add a comment
|
WebRTC getUserMedia stream freezes if browser is slept/backgrounded
Reported by
goo...@awe.media,
Jul 10
|
||||||||||||||||||||||
Issue descriptionSteps to reproduce the problem: 1. Open a simple gum example that uses getUserMedia in Chrome 69 on Android - e.g. http://awe.media/static/webrtc.html 2. Hit the off button on your device to sleep the screen or background the browser page. 3. Wake your device back up and/or bring the page to the foreground again What is the expected behavior? The gum stream starts again or continues playing. What went wrong? The gum stream is now frozen in a short loop (<1second). Did this work before? Yes 68.0.3440.40 Does this work in other browsers? Yes Chrome version: 69.0.2475.0 (Official Build) dev (32-bit) Channel: dev OS Version: 8.1.0 Flash Version: N/A May or may not be related to https://bugs.chromium.org/p/chromium/issues/detail?id=862028
,
Jul 12
Closing as per #1
,
Jul 16
Gah - this is actually still broken in Chrome Canary on Samsung Galaxy S7 (69.0.3492.0 (Official Build) canary (32-bit) on Android 8.0.0: SM-G930F Build/R16NW). But does work ok on Google Pixel (first edition) in Chrome Canary (69.0.3492.0 (Official Build) canary (32-bit) on Android 8.1.0: Pixel XL Build/OPM4.171019.021.P1) Can we re-open this please? Or should I raise a new ticket?
,
Jul 17
,
Jul 17
I can reproduce sometimes on a Huawei P8, so it might be related with bug 862028 .
,
Jul 17
,
Jul 17
,
Jul 17
Since bug 862028 turned out to be caused by the video capture service being enabled, I'll check if that is the case for this one as well.
,
Jul 17
Found the issue and sent out a CL with a fix for review. The issue is actually independent of the Platform, but has probably not had any visible impact in situations other than when backgrounding/sleeping on Android.
,
Jul 18
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e7bc6c9f8c7a70a538ec3345482247efea88ae14 commit e7bc6c9f8c7a70a538ec3345482247efea88ae14 Author: Christian Fremerey <chfremer@chromium.org> Date: Wed Jul 18 14:49:25 2018 [Video Capture Service] Fix buffer retired events not getting sent on device stop When a video capture device is stopped, the video capture service is supposed to send callbacks to OnBufferRetired() to the receiver. A subtle message order issue caused these events to not actually make it through to the receiver. This CL fixes the ordering issue and adds a test case to ensure that the events arrive. This issue has surfaced on Android Canary, see crbug. The reason this has not caused any issue on other platforms is probably that in most use cases, when the device is stopped, the receiver is torn down as well. Bug: 862055 Change-Id: I6a2d895bbcbe8d0236d1a5041ee58c6f2e8cf926 Reviewed-on: https://chromium-review.googlesource.com/1140527 Reviewed-by: Guido Urdaneta <guidou@chromium.org> Commit-Queue: Christian Fremerey <chfremer@chromium.org> Cr-Commit-Position: refs/heads/master@{#576053} [modify] https://crrev.com/e7bc6c9f8c7a70a538ec3345482247efea88ae14/services/video_capture/device_media_to_mojo_adapter.cc [modify] https://crrev.com/e7bc6c9f8c7a70a538ec3345482247efea88ae14/services/video_capture/test/fake_device_unittest.cc
,
Jul 18
Fix landed and should get picked up by the next Canary build.
,
Jul 24
Tested in 70.0.3498.0 and lgtm - thank you chfremer 8)
,
Aug 27
,
Sep 11
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by goo...@awe.media
, Jul 10