Synchronizing appsrcs that subscribe to appsink on different times

Sebastian Dröge sebastian at centricular.com
Thu Dec 15 12:46:46 UTC 2016


On Wed, 2016-12-14 at 12:54 +0200, Mert Can Ergun wrote:

> How can I solve this seemingly synchronization problem to achive multiple
> mapping(mount) point RTSP server on the same source pipeline?

You need to translate timestamps from one pipeline to the other. In the
simplest case if both are running on the same clock this means
basically (between the appsink and appsrc):

1) Get running time for the PTS/DTS based on the segment
2) Convert to clock time with the base time of the appsink
3) Either add the configured latency of the appsink pipeline to the
clock time, or configure that latency as the min-latency of the appsrc
4) Convert to running time of the appsrc with the base time of it
5) Convert the running time to a buffer PTS/DTS based on a default [0,-
1] segment for the appsrc (that's what it is configured to by default)

If both pipelines are running with different clocks, then an additional
step is needed between 3) and 4).

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161215/3b92ed1a/attachment.sig>


More information about the gstreamer-devel mailing list