[Bug 780105] New: rtpsource: "no clock-rate, cannot interpolate rtp" forever
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Mar 15 19:06:42 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=780105
Bug ID: 780105
Summary: rtpsource: "no clock-rate, cannot interpolate rtp"
forever
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: mparisdiaz at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Hello,
I have found a race condition that makes not to generate correct RTP timestamp
for SR RTCP packets.
The race condition provokes the next situation:
1 - An internal RtpSource-1 is created for SSRC XXXX from
rtp_session_on_timeout [1]
2 - Any RTP packet is sent by the session during few seconds
3 - Session starts sending RTP packets for SSRC XXXX
4 - "marking SSRC XXXX as BYE, reason: timed out" (rtp_source_mark_bye [2])
5 - caps are updated for RtpSource-1 (rtp_source_update_caps [3])
6 - RtpSource-1 is removed (remove_closing_sources [4])
7 - A new internal RtpSource-2 is created for SSRC XXXX from
rtp_session_send_rtp [5]
After (7), rtp_source_update_caps is never called for RtpSource-2, so
clock-rate is never set and every time a new RTCP SR is generated we can see
"no clock-rate, cannot interpolate rtp time for SSRC XXXX" [6]
Refs
[1]
https://github.com/GStreamer/gst-plugins-good/blob/1.10/gst/rtpmanager/rtpsession.c#L3999
[2]
https://github.com/GStreamer/gst-plugins-good/blob/1.10/gst/rtpmanager/rtpsource.c#L1230
[3]
https://github.com/GStreamer/gst-plugins-good/blob/1.10/gst/rtpmanager/rtpsource.c#L787
[4]
https://github.com/GStreamer/gst-plugins-good/blob/1.10/gst/rtpmanager/rtpsession.c#L3856
[5]
https://github.com/GStreamer/gst-plugins-good/blob/1.10/gst/rtpmanager/rtpsession.c#L2988
[6]
https://github.com/GStreamer/gst-plugins-good/blob/1.10/gst/rtpmanager/rtpsource.c#L1499
--
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