New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 640387 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Android: video will freeze for a while after Chrome is brought to foreground

Project Member Reported by braveyao@chromium.org, Aug 23 2016

Issue description

Version: Chrome 53 and onwards
OS: Android

What steps will reproduce the problem?
(1) On desktop open Chrome and create a room at https://appr.tc for video call
(2) On Android device open Chrome M53 or later versions and join the same room. Make sure audio/video works normally between Android and desktop Chromes.
(3) On Android device, click Home button to put Chrome into background. Now video at desktop side will freeze, audio will work bidirectionally.
(4) On Android device, select Chrome from task list to bring it to foreground again.

What is the expected output?
Video and audio will work bidirectionally again immediately.

What do you see instead?
Video will keep freezing for a while(can be minutes) before it's alive again at desktop side.

Please use labels and text to provide additional information.
This case works well with Chrome Stable. It's introduced in Chrome Beta M53.
 
This problem starts with the cl, https://codereview.chromium.org/2045813003, and is firstly added in this cl, https://codereview.chromium.org/1983193002.

The problem is on Android, video capture may be stopped/started when Chrome switches between background and foreground. Each time when video capture is started, a new instance of VideoCaptureDeviceAndroid will be created, which will change the base value of "first_ref_time_". So the timestamp calculated by "current_time - first_ref_time_" won't be monotonically increasing to the same video stream. The consequence is frames will be dropped until the timestamp catches up to the old one cached in video_capture_input.cc finally.
Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a93aa65fbe67592f324b1ea45dcdc0342801f0d

commit 4a93aa65fbe67592f324b1ea45dcdc0342801f0d
Author: braveyao <braveyao@chromium.org>
Date: Wed Sep 07 01:25:25 2016

Android video capture: only use reference time for outbound timestamp.

on Android, video capture may be stopped/started when Chrome switches between
background and foreground. Each time when video capture is started, a new
instance of VideoCaptureDeviceAndroid will be created, which will change the
base value of "first_ref_time_". So the timestamp calculated by "current_time -
first_ref_time_" won't be monotonically increasing to the same video stream.
The consequence is frames will be dropped until the timestamp catches up to the
old one cached in video_capture_input.cc finally.
So on Android we should set the timestamp with 0 and use the reference time only.

BUG= 640387 

Review-Url: https://codereview.chromium.org/2272873002
Cr-Commit-Position: refs/heads/master@{#416814}

[modify] https://crrev.com/4a93aa65fbe67592f324b1ea45dcdc0342801f0d/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java
[modify] https://crrev.com/4a93aa65fbe67592f324b1ea45dcdc0342801f0d/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java
[modify] https://crrev.com/4a93aa65fbe67592f324b1ea45dcdc0342801f0d/media/capture/video/android/video_capture_device_android.cc
[modify] https://crrev.com/4a93aa65fbe67592f324b1ea45dcdc0342801f0d/media/capture/video/android/video_capture_device_android.h

Status: Fixed (was: Assigned)
Cc: anatolid@chromium.org
Can the owner please set a milestone label to this issue?

FYI, the last CL associated with this issue has been added after the M54 branch was created and before the M55 branch was created, so perhaps it should be labelled as M55?
Labels: M-55
Status: Verified (was: Fixed)
Verified in Android Chrome M55 Beta 55.0.2883.18 in Pixel 
- Video and audio works bidirectionally immediately, after the apprtc call that went to background, is brought back to foreground

Comment 8 by sakal@chromium.org, Jan 16 2017

Issue 627886 has been merged into this issue.

Sign in to add a comment