https://bugs.kde.org/show_bug.cgi?id=471159

Arjen Hiemstra <ahiems...@heimr.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/kpipewire/-/commit/3ef5a |ma/kpipewire/-/commit/f865a
                   |5312ff0b072c04d99032ef88088 |a35f91b63af94a1b17c4dc95a69
                   |cef3a9de                    |c32ef51e

--- Comment #14 from Arjen Hiemstra <ahiems...@heimr.nl> ---
Git commit f865aa35f91b63af94a1b17c4dc95a69c32ef51e by Arjen Hiemstra.
Committed on 10/10/2024 at 14:08.
Pushed by ahiemstra into branch 'Plasma/6.2'.

produce: Flush remaining frames when we are deactivating

When we deactivate, we may still have a bunch of frames in FFmpeg's
filter or encode queues. Currently, if that happens, we simply discard
those frames and tear everything down, which results in files missing
several frames that were actually recorded.

To avoid that, if we know we still have frames in the queues, wait with
teardown until we know all frames have been processed.

This does mean `setActive(false)` can take a while to complete since the
queues might have a large amount of frames remaining, but fixing that
properly requires a different API.


(cherry picked from commit 3ef5a5312ff0b072c04d99032ef88088cef3a9de)

Co-authored-by: Arjen Hiemstra <ahiems...@heimr.nl>

M  +44   -5    src/pipewireproduce.cpp
M  +2    -0    src/pipewireproduce_p.h
M  +0    -5    src/pipewirerecord.cpp

https://invent.kde.org/plasma/kpipewire/-/commit/f865aa35f91b63af94a1b17c4dc95a69c32ef51e

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to