mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-02-17 05:15:14 +00:00
proxy: signal the pending queue in ProxySrc.start()
If the proxy sink has already queued buffers in the shared context pending queue and is waiting for space in the data queue, we should signal that space is available when creating it!
This commit is contained in:
parent
53e948b8da
commit
bcae2423f5
1 changed files with 6 additions and 1 deletions
|
@ -311,7 +311,7 @@ struct ProxySinkPadHandler(Arc<ProxySinkPadHandlerInner>);
|
|||
impl ProxySinkPadHandler {
|
||||
fn new(proxy_ctx: ProxyContext) -> Self {
|
||||
ProxySinkPadHandler(Arc::new(ProxySinkPadHandlerInner {
|
||||
proxy_ctx: proxy_ctx,
|
||||
proxy_ctx,
|
||||
flush_rx: sync::Mutex::new(None),
|
||||
}))
|
||||
}
|
||||
|
@ -1272,6 +1272,11 @@ impl ProxySrc {
|
|||
.clone();
|
||||
dataqueue.start().await;
|
||||
|
||||
let mut shared_ctx = state.proxy_ctx().unwrap().lock_shared().await;
|
||||
if let Some(ref mut pending_queue) = shared_ctx.pending_queue {
|
||||
pending_queue.notify_more_queue_space();
|
||||
}
|
||||
|
||||
ProxySrcPadHandler::start_task(self.src_pad.as_ref(), element, dataqueue).await;
|
||||
|
||||
gst_debug!(SRC_CAT, obj: element, "Started");
|
||||
|
|
Loading…
Reference in a new issue