[Bug 739985] New: rtpsession: feedback rtcp queue grows indefinitely until session end
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Nov 11 13:26:19 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=739985
GStreamer | gst-plugins-good | 1.4.4
Summary: rtpsession: feedback rtcp queue grows indefinitely
until session end
Classification: Platform
Product: GStreamer
Version: 1.4.4
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: jlitzinger at control4.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
In short, when an rtcp feedback packet is received, it is queued based on the
value of rtcp_feedback_retention_window, which defaults to 2 seconds. The
queue is pruned periodically in rtp_source_timeout() according to:
while ((pkt = g_queue_peek_tail (src->retained_feedback)) &&
GST_BUFFER_TIMESTAMP (pkt) < feedback_retention_window)
gst_buffer_unref (g_queue_pop_tail (src->retained_feedback));
The problem is that the buffer timestamp, set when queued, comes from the
packet info's running time field:
rtp_session_process_feedback():
<snip>
rtp_source_retain_rtcp_packet (src, packet, pinfo->running_time)
And is initialized in rtp_session_process_rtcp() with -1:
update_packet_info (sess, &pinfo, FALSE, FALSE, FALSE, buffer, current_time,
-1, ntpnstime);
In a setup with a high quantity of NACKs, this results in a queue of
significant size.
It seems like pinfo->current_time might be a better field to use for the buffer
timestamp, but that's speculation on my part.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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