GNOME Bugzilla – Bug 739336
rtpmp2tpay sets payload type to 96 instead of 33
Last modified: 2014-11-07 14:05:13 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?
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.
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.