gstreamer/subprojects/gst-plugins-good/ext/pulse
Sebastian Dröge 8ea355e52c audioringbuffer: Avoid overflows of segment done counter
This counter is incremented once for every segment, meaning it would
e.g. overflow after 24 days when using 1ms segments. Once that happens,
completely wrong positions are reported and invalid memory is handed out
for writing/reading the next segments.

As the affected variables are unfortunately part of the public API of
the struct, a second set of variables is added together with accessor
functions and both variables are kept in sync for backwards
compatibility.

All existing users of the two variables are moved to the new ones but
external code might still run into the overflow.

This also slightly breaks API as external code updating the variables
will have no effect anymore but the only known user of this is
pulsesink.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6740>
2024-05-16 06:52:58 +00:00
..
gstpulseelement.c Replace gst-i18n-*.h with gi18n-lib.h 2022-04-19 18:01:06 +00:00
gstpulseelements.h
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
plugin.c
pulsedeviceprovider.c pulsedeviceprovider: Add is_default_device_name function and missing lock 2024-04-10 08:43:56 +00:00
pulsedeviceprovider.h
pulsesink.c audioringbuffer: Avoid overflows of segment done counter 2024-05-16 06:52:58 +00:00
pulsesink.h pulsesink: Re-enable emission of stream status messages 2024-04-09 15:50:04 +00:00
pulsesrc.c gst-plugins-good: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
pulsesrc.h pulse: Change bitfield booleans to normal gbooleans 2023-05-14 15:58:35 +00:00
pulseutil.c gst-plugins-good: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
pulseutil.h