New issue
Advanced search Search tips

Issue 907399 link

Starred by 1 user

Issue metadata

Status: Unconfirmed
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

pp::VideoFrame from pp::MediaStreamVideoTrack can't be passed to pp::VideoEncoder::Encode

Reported by j...@viviaustralia.com.au, Nov 21

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0
Platform: 11021.56.0 (Official Build) stable-channel swanky

Steps to reproduce the problem:
1. Start capturing a video stream, such as from chrome.desktopCapture.
2. Configure a pp::VideoEncoder with compatible size and format.
3. Pass a captured pp::VideoFrame into pp::VideoEncoder::Encode.

What is the expected behavior?
Encodes the frame.

What went wrong?
Fails with -5 (PP_ERROR_BADRESOURCE).

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 70.0.3538.76 (Official Build) (64-bit)  Channel: stable
OS Version: 70.0.3538.76 (Official Build) (64-bit)
Flash Version: 31.0.0.122

As in the pepper video_encode example, you can use pp::VideoEncoder::GetVideoFrame and memcpy the captured from into that instead, which works. However, the pp::VideoEncoder documentation says several times you can pass in other frames:

>Call GetVideoFrame() to get a blank frame and fill it in, or get a video frame from another resource, e.g. PPB_MediaStreamVideoTrack.
>Call Encode() to push the video frame to the encoder. If an external frame is pushed, wait for completion to recycle the frame.
 
Components: -Blink>MediaStream Internals>Plugins>Pepper

Sign in to add a comment