Transmit absolute time

Sebastian Dröge sebastian at
Mon Oct 19 02:50:08 PDT 2015

On So, 2015-10-18 at 20:19 +0200, Pietro Bonfa' wrote:
> On 10/16/2015 03:28 PM, Sebastian Dröge wrote:
> > On Do, 2015-10-15 at 11:42 +0200, Pietro Bonfa' wrote:
> > Let us know if you run into any problems or have further questions
> > :)
> At the present stage I'm trying to understand the structure of rtp
> plugins that are in gst-plugins-good in order to insert
> gst_rtp_buffer_get/set_extension,
> gst_rtp_buffer_get/set_extension_data
> and gst_rtp_buffer_get/set_extension_bytes somewhere.
> Readings, suggestions and/or examples are welcome.

You would implement a new element, based around GstElement. Inside the
chain function you would use the GstRTPBuffer API to add the header
extension, or to get/parse it.

I have some code here for doing that but I'll have to find some time to
clean it up before I can publish it anywhere.

> >So you mean that the frame grabbers are not producing a frame at
> 0.025
> > second boundaries but somewhere around that? And you want all frame
> > grabbers to produce a frame at exactly N*0.025 seconds, i.e. all of
> > them at the same time?
> No. Frame-grabbers are not perfect so they produce frames at
> N.025+epsilon1, N.050+epsilon1, ...
> N.025+epsilon2, N.050+epsilon2, ...
> This is out of my control, but I have timestamps.
> What I wanted to clarify is that if I use two pipelines like in RTSP
> net-clock-client code for receiving the two streams (from two
> different servers), they are indeed synchronized but I'm missing a
> way to estimate epsilon1 from pipeline1 and epsilon2 from pipeline2.

You could add an element in the pipeline (that you write) to collect
timestamp statistics, or just use a pad probe on one of the pads to
collect timestamps.

Sebastian Dröge, Centricular Ltd ·

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the gstreamer-devel mailing list