"Uncrashable" video/audio source and sinks

Tim Müller tim at centricular.com
Tue Jan 21 03:18:27 PST 2014


On Mon, 2014-01-20 at 18:47 -0800, superlou wrote:

> >> Looking through the code, I didn't see anywhere for it to generate "blank"
> frames...
> 
> So, I found it in gstintersurface.  Inter* just creates/looks for surfaces
> with a unique name, and returns a blank one (happens to be black) if
> nothing's there.  Using videotestsrcs, a test pipeline for connecting,
> disconnecting, and reconnecting worked great.  My only concern is what
> happens if I mix a live source like videotestsrc or v4l2src and a non-live
> source like uridecodebin?  Is there a way to make them all look live without
> having trouble on the playback framerate for the playbin (something I ran
> into a while back when using videomixer2 with v4l2src and uridecodebin)?

Maybe think of these elements as a projector projecting something onto a
screen (sink) and a camera capturing that very same screen (src). The
camera will just keep going no matter what. These elements are useful to
decouple input/output branches. The timing is mostly dependent on how
the sink renders the buffers (plus the jitter/delay with which the
source will pick up the frame). The source is always live no matter what
the input is on the other side.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list