Syncing streams to clock in the middle of pipeline
Alexey Chernov
4ernov at gmail.com
Tue Sep 3 07:35:37 PDT 2013
В письме от Понедельник, 02 сентября 2013 23:46:52 Вы написали:
> On Tue, 2013-09-03 at 00:00 +0400, Alexey Chernov wrote:
>
> Hi,
>
> > I faced some rare use case, seems I need to sync streams against pipeline
> > clock in the middle of it instead of on the sink elements. Here's a
> > pipeline:
> >
> > Audio: appsrc -> aacparse -> queue \
> >
> > mpegtsmux ->
> > appsink
> >
> > Video: appsrc -> h264parse -> queue /
> >
> >
> > The problem is that there seem to be GST_FORMAT_BYTE segment after
> > mpegtsdemux, and appsink synchronization is literally useless.
>
> This is fixed in 1.0. (Also in 0.10 git)
What is the expected behaviour now? I'm experimenting with 1.0.9, so maybe I
miss something for it to work out of the box.
> But there's also identity sync=true, which might do what you want.
Thanks, Tim, it sounds like what I want. But perhaps it can run without it
given you said there were fixes in 1.0.
> > I looked at multiqueue element and its 'sync-by-running-time' property,
> > but
> > it's described to 'Synchronize deactivated or not-linked streams by
> > running
> > time' and it seems to be for some broken streams and not for my use case.
>
> It's not for broken streams, but when not all inputs come from a common
> source, e.g. one input is videotestsrc and another input is from live
> video source, then you want to keep both advancing in lock-step and not
> videotestsrc to fill the queue as fast as it can.
Thanks for clarification. Didn't know this case is properly processed.
More information about the gstreamer-devel
mailing list