Synchronizing Multiple Pipelines

Dwight Kulkarni via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CAKW2B8jSLZVV+PU0kBc0dudRo-zzCKr8XRKGgodG-1KYWevk2w@mail.gmail.com>
Hi all,

I have 4 pipelines.

Pipeline 1 :   video src -> app sink1
Pipeline 2 :   app src2   ->  video 1
Pipeline 3 :   app src3   ->  downsampled  video 2
Pipeline 4 :   app src4   ->   downsampled  video 3

In app sink 1, I connect a new-sample callback

I then take the sample, make a copy and push it to each of the app sources.

The problem I have is that each pipeline (pipeline 2 to 4) will start at
different times.

If I take a video of a stop watch, I notice that pipeline 2 is 8 seconds
offset from the other 2 pipelines.

The behaviour I am going for is that from one video source I want to end up
with 3 different videos at different sizes. Eg. 1080p, 720p, etc.  However,
each video should be exactly the same.

I tried to avoid using a Tee and making a single pipeline because Tees take
away control over how the frames are going into each element and they might
get out of synch.

With the app source I was hoping to push exactly a certain number of frames
into each pipeline and then call the "spit now"  function with splitmux
sink.

However, this depends on all pipelines starting at the same time and being
in synch.

Can you advise how to achieve this ?   Thanks !

-- 
Sincerely,

Dwight Kulkarni
B.ASC, M.ASC, PMP

Realize Potential
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.