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

Issue 644526 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 445320



Sign in to add a comment

VEAEncoder in MediaRecorder cannot handle frames sent from peer connection

Project Member Reported by emir...@chromium.org, Sep 6 2016

Issue description

Peer connection can send frames that are backed by textures or naked pointers[0]. These cannot be shared with GPU process, so a copy to ShMem backed memory would be necessary when using VEAEncoder.

[0] https://cs.chromium.org/chromium/src/content/renderer/media/webrtc/media_stream_remote_video_source.cc?rcl=1473160695&l=118

 

Comment 1 by sakal@chromium.org, Sep 7 2016

Blocking: 445320
Project Member

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

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

commit 83287174008c789d2e3ed450fa5e2a4236dd5040
Author: emircan <emircan@chromium.org>
Date: Wed Sep 07 17:39:30 2016

Handle frames sent from peer connection in VideoTrackRecorder

This CL changes the way we handle frames received from peer connection in
VideoTrackRecorder. If we forward those frames directly to GPU process, they
might not be accessible if they aren't backed by STORAGE_SHMEM. We need
to copy those frames into new buffers for these cases.

BUG= 644526 
TEST=Added new content_browsertest which fails before the changes.

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

[modify] https://crrev.com/83287174008c789d2e3ed450fa5e2a4236dd5040/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
[modify] https://crrev.com/83287174008c789d2e3ed450fa5e2a4236dd5040/content/renderer/media/video_track_recorder.cc
[modify] https://crrev.com/83287174008c789d2e3ed450fa5e2a4236dd5040/content/test/data/media/mediarecorder_test.html

Labels: Merge-Request-54

Comment 4 by dimu@chromium.org, Sep 8 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Could you please confirm whether this change is baked/verified in Canary and safe to merge?If yes, merge your change to M54 (branch: 2840) so that we could take this for next Beta Release.

ligimole@, I added a new content browsertest that checks integrated behavior and bots have passed with it. I am moving on with the merge.
Project Member

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

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f

commit 3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f
Author: emircan <emircan@chromium.org>
Date: Thu Sep 08 23:48:02 2016

Handle frames sent from peer connection in VideoTrackRecorder

This CL changes the way we handle frames received from peer connection in
VideoTrackRecorder. If we forward those frames directly to GPU process, they
might not be accessible if they aren't backed by STORAGE_SHMEM. We need
to copy those frames into new buffers for these cases.

BUG= 644526 
TEST=Added new content_browsertest which fails before the changes.

Review-Url: https://codereview.chromium.org/2315073002
Cr-Commit-Position: refs/heads/master@{#416983}
(cherry picked from commit 83287174008c789d2e3ed450fa5e2a4236dd5040)

NOTRY=true
NOPRESUBMIT=true
TBR=avi@chromium.org,mcasas@chromium.org

Review-Url: https://codereview.chromium.org/2325833002
Cr-Commit-Position: refs/branch-heads/2840@{#256}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
[modify] https://crrev.com/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f/content/renderer/media/video_track_recorder.cc
[modify] https://crrev.com/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f/content/test/data/media/mediarecorder_test.html

Status: Fixed (was: Started)
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 27 2016

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

commit 3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f
Author: emircan <emircan@chromium.org>
Date: Thu Sep 08 23:48:02 2016

Handle frames sent from peer connection in VideoTrackRecorder

This CL changes the way we handle frames received from peer connection in
VideoTrackRecorder. If we forward those frames directly to GPU process, they
might not be accessible if they aren't backed by STORAGE_SHMEM. We need
to copy those frames into new buffers for these cases.

BUG= 644526 
TEST=Added new content_browsertest which fails before the changes.

Review-Url: https://codereview.chromium.org/2315073002
Cr-Commit-Position: refs/heads/master@{#416983}
(cherry picked from commit 83287174008c789d2e3ed450fa5e2a4236dd5040)

NOTRY=true
NOPRESUBMIT=true
TBR=avi@chromium.org,mcasas@chromium.org

Review-Url: https://codereview.chromium.org/2325833002
Cr-Commit-Position: refs/branch-heads/2840@{#256}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
[modify] https://crrev.com/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f/content/renderer/media/video_track_recorder.cc
[modify] https://crrev.com/3f452c8cbc3727cabf0f0dc8fd13434ee32bcd1f/content/test/data/media/mediarecorder_test.html

Components: Blink>MediaRecording
Components: -Blink>MediaStream>Recording

Sign in to add a comment