Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do you mean by PRE-ROLLING state?

I went to the official documentation of GStreamer explaining about the PRE-ROLLING, but I couldn't understand it. Can anyone please explain the same in simple words.

Here's the link to the official webpage

https://gstreamer.freedesktop.org/documentation/additional/design/preroll.html?gi-language=c

like image 797
Prasang Avatar asked Sep 03 '25 17:09

Prasang


1 Answers

The state of pre-rolling is that all elements start processing, but the sink has not yet received it's first data buffer. So as an example, a file reader will start reading in a file, pushing data to the decoder, the decoder will push it to a color space converter and that one will finally send it to a video sink. When a sink will receive the first buffer it will signal "pre-rolling done" to the bus.

The main idea is to wait for all sinks in the pipeline to receive their first data buffer before actually start playing the data.

That ensures that syncing all media paths to each ot their timestamps is possible. There are other requirements for that why it still may fail later on, but knows all sinks now have data takes care of most latency issues.

like image 70
Florian Zwoch Avatar answered Sep 05 '25 14:09

Florian Zwoch



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!