Hi David,
On Tue, 28 Sept 2021 at 19:40, David Robison <
kc7b...@gmail.com> wrote:
> I have a system that recycles pipelines so I do not have to recreate them every time. When I am finished with the current use of the pipeline, I send an EOSEvent to the pipeline and then wait for the EOS callback from the bus. However, the first time I send an EOSEvent to the pipeline, the EOS callback is never called. However, with successive uses of the pipeline, the EOS callback is almost instantaneous after sending the EOSEvent. Have you seen this before? Any thoughts on what I may be doing wrong? David
Have you checked whether the EOS is actually called (debugger /
logging)? I was actually running a test on code reported in a recent
issue that uses this extensively.
There are two likely candidates here - things particular to your
GStreamer pipeline, or incorrect set up of the Semaphore. The test
mentioned above had incorrect use of Semaphore, as have multiple other
things I've looked at with the library, and I now realise also the
example you mentioned (it is archived!).
Either way, hard to provide further help without seeing any code.
I don't think Semaphore is the correct construct for this. We also
strongly recommend using the Gst executor to single thread all control
of GStreamer pipelines with message handling.
Best wishes,
Neil
--
Neil C Smith
Codelerity Ltd.
www.codelerity.com
Codelerity Ltd. is a company registered in England and Wales
Registered company number : 12063669
Registered office address : Office 4 219 Kensington High Street,
Kensington, London, England, W8 6BD