Syncing streams to clock in the middle of pipeline

Tim-Philipp Müller t.i.m at zen.co.uk
Mon Sep 2 15:46:52 PDT 2013


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)

But there's also identity sync=true, which might do what you want.


> 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.

Cheers
 -Tim 



More information about the gstreamer-devel mailing list