gstrtpjitterbuffer locks when mode=buffer and drop-on-latency=1
Tiago Katcipis
katcipis at inf.ufsc.br
Tue Mar 22 09:52:30 PDT 2011
Hi,
I'm doing some tests with gstrtpjitterbuffer, basically generating audio
with audiotestsrc and sending it using rtp (ptime must be 20ms on my tests):
gst-launch -m audiotestsrc is_live=true ! alawenc !
audio/x-alaw,rate=8000,channels=1 ! rtppcmapay min-ptime=20000000
max-ptime=20000000 ! udpsink host=127.0.0.1 port=5000
And on the receive side i have an application that does some measurements
using pad probing on the gstrtpjitterbuffer element. Everything was ok until
i started to set the gstrtpjitterbuffer "mode" property to "buffer". I got a
little audio and them silence. First thing i thought was "my test must be
broken". But when i started to debug to find out what i was doing wrong i
found that what was making my test getting locked was:
g_object_set(G_OBJECT (jitter_buffer), "drop-on-latency", TRUE, NULL);
so i tried to reproduce the problem using gst-launch and it really locks,
(the "buffering" message gets locked on 71%). If i don't set
drop-on-latency=1, this don't happens. Or if the mode is not buffer, it
works with drop-on-latency=1.
Basically:
works: gst-launch udpsrc port=5000 caps=application/x-rtp,clock-rate=8000 !
gstrtpptdemux ! gstrtpjitterbuffer mode=none drop-on-latency=1 ! decodebin !
autoaudiosink
works: gst-launch udpsrc port=5000 caps=application/x-rtp,clock-rate=8000 !
gstrtpptdemux ! gstrtpjitterbuffer mode=none drop-on-latency=0 ! decodebin !
autoaudiosink
works: gst-launch udpsrc port=5000 caps=application/x-rtp,clock-rate=8000 !
gstrtpptdemux ! gstrtpjitterbuffer mode=slave drop-on-latency=1 ! decodebin
! autoaudiosink
works: gst-launch udpsrc port=5000 caps=application/x-rtp,clock-rate=8000 !
gstrtpptdemux ! gstrtpjitterbuffer mode=slave drop-on-latency=0 ! decodebin
! autoaudiosink
works: gst-launch udpsrc port=5000 caps=application/x-rtp,clock-rate=8000 !
gstrtpptdemux ! gstrtpjitterbuffer mode=buffer drop-on-latency=0 ! decodebin
! autoaudiosink
locks: gst-launch udpsrc port=5000 caps=application/x-rtp,clock-rate=8000 !
gstrtpptdemux ! gstrtpjitterbuffer mode=buffer drop-on-latency=1 ! decodebin
! autoaudiosink
i didn't find anything saying that the drop-on-latency property must not be
set to true when the buffering mode is buffer, so i thought this must be a
bug (it is pretty simple to reproduce and the pipelines are quite simple
too).
Is this a bug or i did something terribly wrong ?
I'm working on Ubuntu 10.10/Gstreamer 0.10.30.
Best regards,
Tiago Katcipis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110322/6e7303ea/attachment-0001.htm>
More information about the gstreamer-devel
mailing list