seek event in a pipeline with multiple source bins

Natanael Mojica neithanmo at gmail.com
Sat Jun 25 14:30:11 UTC 2016


Hi

My pipeline have multiple video and audio sources of different types, file
sources others from webcams, and from tcp client. the sources from a file
are the ones for loop, so I need implement a  seek to a position 0.

******************
* filesrc bin     * ------------> input-selector1 ---->  pipeline
*******************


********************
    v4l2srcbin     ----------->input-selector1

********************

*******************
     tcpsrc         ----------->input-selector1
*******************

*******************
   etc                  ------
*******************


a example of filesrc bin is

filesrc location=x ! decodebin ! videofilters ! etc.. ! queue ! "ghost pad
linked to a input-selector1"

all the pipeline works fine until a filesrc bin finish the read a file and
send a eos,
and I need the file is playing every time, from begining until the end and
from the begining again, every time until the bin will deleted from the
aplication thread.

I tried add a pad probe with a checking a EOS event, the callback works but
the seeking implementation not. (using this example
https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-eventsseek.html
)

then, in the documentation part-seeking :

"A seek is performed by sending a seek event to the sink elements of a
pipeline. Sending the seek event to a bin will by default forward
the event to all sinks in the bin "

but the source bin not have a sink element, in the pipeline there is only
two sinks using a tee, a autovideosink, and a rtmpsink, but in the seeking
i dont want to affect the another sources.

Other problem i see, is in the input-selector1, it sync all input stream if
I add first the v4l2src, then the file (the sources are added dinamically
in any time), the file begin not from the 0 position because input-selector
dropped frames for conserve the time stamp from the pipeline.

What is the correct way to implement this??

Any suggestions will be appreciated
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160625/873da813/attachment.html>


More information about the gstreamer-devel mailing list