After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739336 - rtpmp2tpay sets payload type to 96 instead of 33
rtpmp2tpay sets payload type to 96 instead of 33
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.4.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-10-29 07:43 UTC by Arjen Veenhuizen
Modified: 2014-11-07 14:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Arjen Veenhuizen 2014-10-29 07:43:37 UTC
I'm not entirely sure whether this is a bug or not, but the following pipeline works in 0.10 but no longer works in git HEAD:

0.10:
-----
Server:
gst-launch-0.10 -v gstrtpbin name=rtpbin videotestsrc ! video/x-raw-yuv,width=720,height=480 ! x264enc ! h264parse ! mpegtsmux ! rtpmp2tpay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink port=5000 host=127.0.0.1 ts-offset=0 name=vrtpsink rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=127.0.0.1 sync=false async=false name=vrtcpsink udpsrc port=5005 name=vrtpsrc ! rtpbin.recv_rtcp_sink_0

Output RTP caps: application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP2T-ES, ssrc=(uint)1278164632, payload=(int)33, clock-base=(uint)9690979, seqnum-base=(uint)5544

Player:
ffplay: udp://:5000 or VLC: udp://:5000
Shows running videotestsrc as expected

1.0:
----
Server: 
gst-launch-1.0 -v rtpbin name=rtpbin videotestsrc ! video/x-raw,width=720,height=480 ! x264enc ! h264parse ! mpegtsmux ! rtpmp2tpay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink port=5000 host=127.0.0.1 ts-offset=0 name=vrtpsink rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=127.0.0.1 sync=false async=false name=vrtcpsink udpsrc port=5005 name=vrtpsrc ! rtpbin.recv_rtcp_sink_0

Output RTP caps: application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP2T, payload=(int)96, ssrc=(uint)2336289570, timestamp-offset=(uint)1026725622, seqnum-offset=(uint)12202"

Even if I force the payload type to 33 (by setting pt=33 on rtpmp2tpay) the same caps are generated in 1.0.

Player:
ffplay: udp://:5000 or VLC: udp://:5000
Both fail because they need a valid SDP (due to payload type = 96).

According to RFC 2250, the correct PT should be 33.

Any clue?
Comment 1 Arjen Veenhuizen 2014-11-07 13:58:06 UTC
According to http://gstreamer-devel.966125.n4.nabble.com/RTP-stream-playback-issue-td4669316.html#a4669431 this has been solved in 1.4.4

CAPS were missing in older version.
Comment 2 Sebastian Dröge (slomo) 2014-11-07 14:05:13 UTC
commit 92c1d289b8cd5f7af28832632c9bf36755f69dc1
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Sat Nov 1 11:59:26 2014 +0000

    rtpmp2tpay: fix up template caps so we can output the default pt 33
    
    Add fixed payload type for mp2t to template caps as well, so
    our output caps match the advertised default pt. Fixes a
    regression from 1.2.
    
    There's still something wrong with caps negotiation though,
    rtpmp2tpay payload=96 ! fakesink will not output caps with
    payload=96.