rtpbin2: fix race condition on serialized Queries

If a serialized Query was pushed after the src Pad Task had already started
waiting for next item, the Query was not processed, blocking the stream.

This commit wakes the `JitterbufferStore` if a `Waker` was pending.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2332>
This commit is contained in:
François Laignel 2025-07-01 17:26:27 +02:00
parent fc0b433e29
commit 0be4cd8b32

View file

@ -1298,6 +1298,10 @@ impl RtpRecv {
.store
.insert(id, JitterBufferItem::Query(query, query_tx));
if let Some(waker) = jitterbuffer_store.waker.take() {
waker.wake();
}
drop(jitterbuffer_store);
// Now block until the jitterbuffer has processed the query