[Bug 758719] New: Rtp retransmission broken / examples not working

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Nov 26 11:21:05 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=758719

            Bug ID: 758719
           Summary: Rtp retransmission broken / examples not working
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: arjen.veenhuizen at tno.nl
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 316340
  --> https://bugzilla.gnome.org/attachment.cgi?id=316340&action=edit
sender pipeline log

Using git head and as follow-up on this [1] topic on the devel-mailinglist.

Based on [2,3,4,5] I have been trying everything I can to getting rtp
retransmission to work. Following the (slightly modified) examples on [2,3], I
have come up with the following pipelines:

SENDER:
gst-launch-1.0 rtpsession -vve  name=rtpsession audiotestsrc ! amrnbenc !
rtpamrpay pt=97 ! rtprtxsend
payload-type-map='application/x-rtp-pt-map,97=(uint)99'  ! identity
drop-probability=0.1 ! rtpsession.send_rtp_sink            
rtpsession.send_rtp_src ! udpsink host="127.0.0.1" port=5000 udpsrc port=5001 !
rtpsession.recv_rtcp_sink rtpsession.send_rtcp_src ! udpsink host="127.0.0.1"
port=5002 sync=false async=false

RECEIVER:
gst-launch-1.0 -vve rtpsession name=rtpsession \
  udpsrc port=5000 caps="application/x-rtp\,\ media\=\(string\)audio\,\
clock-rate\=\(int\)8000\,\ encoding-name\=\(string\)AMR\,\
encoding-params\=\(string\)1\,\ octet-align\=\(string\)1\,\
payload\=\(int\)97\,\ crc\=\(string\)0\,\ robust-sorting\=\(string\)0\,\
interleaving\=\(string\)0\,\ ssrc\=\(uint\)662178476\,\
timestamp-offset\=\(uint\)3864092805\,\ seqnum-offset\=\(uint\)7043\,\
rtx-ssrc\=\(uint\)2345689767\,\ rtx-seqnum-offset\=\(uint\)43513\,\
rtx-payload\=\(int\)99" ! \
  rtpsession.recv_rtp_sink  \
  rtpsession.recv_rtp_src ! \
    rtprtxreceive payload-type-map='application/x-rtp-pt-map,97=(uint)99' !
rtpjitterbuffer do-retransmission=true ! rtpamrdepay ! amrnbdec ! audioconvert
! autoaudiosink \
  rtpsession.send_rtcp_src  ! \
    udpsink host="127.0.0.1" port=5001 sync=false async=false udpsrc port=5002
address="127.0.0.1" caps="application/x-rtcp" ! \
  rtpsession.recv_rtcp_sink 

SENDER and RECEIVER STDOUT with GST_DEBUG=2,*rtp*:6 are attached to this post

Note that these use rtpsession instead of rtpbin, and that rtprtxsend and
rtprtxreceive are living in front/after the rtpsession compared to embedding
them into rtpbin like in [4,5].

Whether I switch do-retransmission to true or false, no retransmissions occur.

Please also note that the examples in [2,3] are broken since rtprtx* elements
don't have the rtx-payload-type property anymore but rather the
payload-type-map property which takes a different value type.

[1]
http://gstreamer-devel.966125.n4.nabble.com/RTP-and-retransmission-way-too-many-rtx-requests-td4674589.html
[2]
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-rtprtxsend.html
[3]
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-rtprtxreceive.html
[4]
https://github.com/gstreamer-mirror/gst-plugins-good/blob/master/tests/examples/rtp/server-rtpaux.c
[5]
https://github.com/gstreamer-mirror/gst-plugins-good/blob/master/tests/examples/rtp/client-rtpaux.c

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list