Any way to get preroll after pause with decodebin in pipeline?

Luke McGartland luke.mcgartland at gmail.com
Fri Nov 4 07:08:41 UTC 2022


I have a simple pipeline that decodes an H264 encoded quicktime file and sends the samples over appsinks to another pipeline. I'm using decodebin to get the demuxer and decoders set up (qtdemux and nvh264dec in this particular case).

filesrc -> queue -> decodebin
decodebin -> clocksync -> audio appsink
decodebin -> clocksync -> video appsink

I'm noticing that after seeking no preroll is being emitted after the very first play.

- Pipeline state changes return success with nopreroll.
- The logs indicate that the decodebin is doing an async state change when going to paused. 
- My appsink has async set to false.
- No preroll emitted after seeking flush either.

Why would after a state change/flush no pre roll be emitted from this kind of pipeline? Also happens when I use other input files with different containers/codecs. 

Thanks.


More information about the gstreamer-devel mailing list