[gst-devel] Bursts in UDP streaming

Alexis Berlemont alexis.berlemont at gmail.com
Wed May 19 17:11:26 CEST 2010


Hi,

I would like to understand why the following pipeline bursts groups of
packets every 100 ms:

filesrc ! mpegtsdemux ! mpegtsmux ! udpsink.

In order to understand this phenomena, I looked at the code of
gstmultiudpsink. I tried to find out which function was in charge of
checking the buffer timestamp and performing the real sleep.
If my understanding of the situation is correct, the call stack is like this:

gst_base_sink_render_object ->
gst_base_sink_do_sync ->
gst_base_sink_wait_clock -> ... gst_clock_id_wait

Am I correct ? Did I miss something ? anything ?

With a debugger, I tried to monitor the value of the argument "time"
in the function gst_base_sink_wait_clock. As I was unable to use
tracepoints (because of threads), I add a dirty g_print in the source
code. So, I saw that the timestamp was increasing regularly by step of
40 ms.

If the step is 40 ms, does anyone have an idea why wireshark record
bursts every 100ms?

Does anyone know how to reduce the 40 ms step (it seems like the PCR
interval, doesn't it ? ) ?

Many thanks in advance.

Alexis.




More information about the gstreamer-devel mailing list