winegstreamer: Use a GstAtomicQueue for wg_transform output queue.
commitb5d6c5992092fd0c96deacbe892668aba6759f93
authorRémi Bernon <rbernon@codeweavers.com>
Tue, 29 Mar 2022 09:55:29 +0000 (29 11:55 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 4 Apr 2022 16:40:26 +0000 (4 18:40 +0200)
tree89e4bdbe9e228094d2655d311c71e19d06ca7c27
parentad44edebde62bfb80560b606b7ae3a21b08d333d
winegstreamer: Use a GstAtomicQueue for wg_transform output queue.

Some GStreamer video plugins such as vaapi do not expect their buffers
to be appended to each other, and it breaks some of their assertions.

We will also later need to queue caps change events, and the atomic
queue will let us queue GstSample instead to hold the caps too. It also
removes the need of a mutex or locking operations.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45988
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47084
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49715
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52183
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/winegstreamer/wg_transform.c