vp8enc can't handle changes in resolution?

Trey Hutcheson trey.hutcheson at gmail.com
Mon Oct 5 15:10:04 UTC 2020


Assume the following setup:
* pipeline has two webrtcbin elements
* browser sends vp8 to  one webrtcbin element
* video is decoded, tee'd, and one branch re-encodes (vp8enc) which feeds
another webrtcbin element
* 2nd webrtcbin element sends video to second browser

If the resolution of the input video (first remote peer) changes, then the
vp8enc element stops pushing buffers. The cause of the resolution change
could be because of anything, such as the "qualityLimitationResolutionChanges"
stat in chrome://webrtc-internals. When the resolution changes, and the
element stops pushing buffers, there's nothing in the logs to explain why,
This is a new behavior in 1.18.

So to get around this behavior I've added code to watch for resolution
changes on the inbound video and to dynamically swap out the vp8enc element
with another, and that seems to have addressed the problem.

Is this behavior intended?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201005/ca99b8ad/attachment.htm>


More information about the gstreamer-devel mailing list