mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-09 17:05:52 +00:00
dc494d9edb
vtenc has an async output queue, which we only iterate over after another frame is enqueued. At the very least it means we're always a frame behind the fastest possible output. In edge cases it's also bug-prone - for example if we only have 1 frame, the downstream caps negotiation will never happen. This commit adds a separate task running on the source pad, which only iterates over the output queue and pushes frames out as soon as they're put there. The queue length is limited to ensure we don't encode too far ahead compared to what downstream can consume. Any failures that occur when pushing data downstream will be signalled in self->downstream_ret so that other parts of code can act accordingly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4967> |
||
---|---|---|
.. | ||
amfcodec | ||
androidmedia | ||
applemedia | ||
asio | ||
bluez | ||
d3d11 | ||
d3dvideosink | ||
decklink | ||
directshow | ||
directsound | ||
dvb | ||
dwrite | ||
fbdev | ||
ipcpipeline | ||
kms | ||
magicleap | ||
mediafoundation | ||
msdk | ||
nvcodec | ||
opensles | ||
qsv | ||
shm | ||
tinyalsa | ||
uvcgadget | ||
uvch264 | ||
v4l2codecs | ||
va | ||
wasapi | ||
wasapi2 | ||
wic | ||
win32ipc | ||
winks | ||
winscreencap | ||
meson.build |