-----BEGIN PGP SIGNED MESSAGE-----thiagoss a écrit :
>> Sending to the pipeline should work, you can use: gst_element_send_eventwith your command, it works :
>> (pipeline, gst_event_new_eos()),
gst_element_send_event (&*busIt->second, gst_event_new_eos());
previously, i was doing : gst_bus_post( &*busIt->first,
gst_message_new_eos( ( GstObject* ) &*busIt->second ) );
busIt->first is a GstBus and ->second is a pipeline (GstElement).
Is there any obvious reason i don't see to explain that it didn't work
with my way?
Yes, if you look at the GstBus documentation we have "The GstBus
is an object responsible for delivering GstMessages
a first-in first-out way from the streaming threads to the application.".
GstBus is used for delivering messages from the pipeline/elements to your application, posting a message to the bus doesn't make the elements receive, An EOS message is posted at the bus by an element to inform the application that an EOS event has happened at the pipeline.
For sending/forcing EOS to the pipeline, you send an GstEvent to it. Take a look at the following links for further details.