From 21578ccb838bdd6669bf68cefe04e91099ba3164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= Date: Tue, 29 Jul 2025 16:27:16 +0200 Subject: [PATCH] threadshare: fix flush for ts-intersrc Part-of: --- generic/threadshare/src/inter/src/imp.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/generic/threadshare/src/inter/src/imp.rs b/generic/threadshare/src/inter/src/imp.rs index e3a451eef..dc8a5c14e 100644 --- a/generic/threadshare/src/inter/src/imp.rs +++ b/generic/threadshare/src/inter/src/imp.rs @@ -493,11 +493,7 @@ impl TaskImpl for InterSrcTask { async fn stop(&mut self) -> Result<(), gst::ErrorMessage> { gst::log!(CAT, obj = self.elem, "Stopping task"); - - self.dataqueue.stop(); - self.dataqueue.clear(); - self.got_first_item = false; - + self.flush_start().await?; gst::log!(CAT, obj = self.elem, "Task stopped"); Ok(()) @@ -506,6 +502,7 @@ impl TaskImpl for InterSrcTask { async fn flush_start(&mut self) -> Result<(), gst::ErrorMessage> { gst::log!(CAT, obj = self.elem, "Starting task flush"); + self.dataqueue.stop(); self.dataqueue.clear(); self.got_first_item = false;