Rust - send and wait for EOS

What’s the best way to send an EOS signal, and wait for it to traverse the pipeline using the Rust bindings?

Conceptually it’s the same as in any other language

  1. Send an EOS event to the pipeline (in Rust: gst::event::Eos::new() followed by pipeline.send_event())
  2. Wait for the EOS message on the pipeline’s bus in whatever mechanism (bus watch, bus stream, sync handler, message signal, popping messages manually, …) you use for handling messages

Is there anything specific you’re stuck at and need further help with?

Thanks, I’m wondering if sending & waiting for EOS might help with the pipeline cleanup issues I’m seeing here…

No, that should be unrelated. You only need to do that if you want to make sure all data is actually written out and e.g. file outputs are properly finalized (header rewritten, etc).

1 Like