Ecplicitly prerolling pipelines..

Rob Kramer rob at solution-space.com
Fri Aug 14 01:07:45 PDT 2015


Hi Tim,

Sorry, it seems I had mail delivery switched off, so I'm copying this 
from the archives. I guess it won't thread properly :)

 >> I'm trying to preroll a pipeline without video output, and some time
 >> later create a xv videosink for it and start playing. The idea is to
 >> have a few cached prerolled pipelines lying around that can be started
 >> instantly, without prerolling delay.
 >>
 >> When I preroll to paused state with a fake videosink attached and then
 >> assign a new "video-sink" property to the playbin (with the real
 >> videosink), the pipeline does not seem to change the sink at all, i.e.
 >> it retains the fakesink. Is changing "video-sink" on the fly supported
 >> functionality?
 >
 >I don't think this is really supported. What's the bigger picture here?
 >What are you trying to do? There might be better approaches.

Well,  it's basically for gapless transitions, and instantaneous 
playing. On oldish hardware, the pre-rolling time can take a significant 
(and non-deterministic) amount of time. This leaves gaps between 
consecutive video clips. If the same bunch of clips get played over and 
over, it would be nice to cache their pipelines in paused state, so that 
all cached clips are ready for near-instantaneous start. When one is 
done playing, the XV video sink can be detached and it can be rewound 
for the next start.

Could you think of a better way to do this?

Cheers!

     Rob


More information about the gstreamer-devel mailing list