srtserversrc yields malformed rtp payloads in 1.16
Example Pipelines Gstreamer 1.16.0
Receiver / Server
gst-launch-1.0 srtsrc mode=listener uri=srt://:8888/ ! udpsink host=127.0.0.1 port=5060
Sender / Client
gst-launch-1.0 videotestsrc ! video/x-raw, height=1080, width=1920 ! videoconvert ! vp9enc ! rtpvp9pay mtu=1300 ! srtsink mode=caller uri=srt://127.0.0.1:8888/
Example Pipelines Gstreamer 1.14.5
Receiver / Server
gst-launch-1.0 srtserversrc uri=srt://:8888/ ! udpsink host=127.0.0.1 port=5060
Sender / Client
gst-launch-1.0 videotestsrc ! video/x-raw, height=1080, width=1920 ! videoconvert ! vp9enc ! rtpvp9pay mtu=1300 ! srtclientsink uri=srt://127.0.0.1:8888/
**Results **(tcpdump -i lo udp port 5060 -s 0 -w test.pcap)
Gstreamer 1.16.0 has oversized payloads and rtp stream has missing packets from the sequence, exactly 3 missing in every case, the assumption being they are somehow being combined prior to reaching the udpsink
"No.","Time","Source","Destination","Protocol","Length","Info"
"1","0.000000","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21477, Time=1747653689"
"2","0.000079","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21480, Time=1747653689"
"3","0.000098","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21483, Time=1747653689"
"4","0.000116","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21486, Time=1747653689"
"5","0.000167","127.0.0.1","127.0.0.1","RTP","189","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21489, Time=1747653689, Mark"
"6","1.105789","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21490, Time=1747656688"
"7","1.105824","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21493, Time=1747656688"
"8","1.105848","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21496, Time=1747656688"
"9","1.105902","127.0.0.1","127.0.0.1","RTP","3932","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21499, Time=1747656688"
"10","1.106012","127.0.0.1","127.0.0.1","RTP","208","PT=DynamicRTP-Type-96, SSRC=0x680398C, Seq=21502, Time=1747656688, Mark"
Gstreamer 1.14.5 entirely normal payload sizes, no packets missing from sequence
"No.","Time","Source","Destination","Protocol","Length","Info"
"1","0.000000","127.0.0.1","127.0.0.1","RTP","1342","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11967, Time=3514845691"
"2","0.000032","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11968, Time=3514845691"
"3","0.000042","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11969, Time=3514845691"
"4","0.000049","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11970, Time=3514845691"
"5","0.000057","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11971, Time=3514845691"
"6","0.000064","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11972, Time=3514845691"
"7","0.000071","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11973, Time=3514845691"
"8","0.000078","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11974, Time=3514845691"
"9","0.000085","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11975, Time=3514845691"
"10","0.000092","127.0.0.1","127.0.0.1","RTP","1334","PT=DynamicRTP-Type-96, SSRC=0xA5EE7B15, Seq=11976, Time=3514845691"
Gstreamer 1.16.0 using srtserversrc mode=listener blocksize=1500
on receiver pipeline, normal payload sizes, no packets missing from sequence
"No.","Time","Source","Destination","Protocol","Length","Info"
"1","0.000000","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30783, Time=2615734653"
"2","0.000042","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30784, Time=2615734653"
"3","0.000070","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30785, Time=2615734653"
"4","0.000114","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30786, Time=2615734653"
"5","0.000136","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30787, Time=2615734653"
"6","0.000152","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30788, Time=2615734653"
"7","0.000165","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30789, Time=2615734653"
"8","0.000181","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30790, Time=2615734653"
"9","0.000195","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30791, Time=2615734653"
"10","0.000209","127.0.0.1","127.0.0.1","RTP","1332","PT=DynamicRTP-Type-96, SSRC=0x2CEB20BE, Seq=30792, Time=2615734653"
I have not validated if this behaviour is present when srt is used in combination with other rtp payload formats, I think the workaround above is also not idea and likely should be addressed in some other way, let me know thoughts and I am also happy to provide further information if required.