[Bug 660156] New: [gstrtpbin] free_stream() does not remove the stream reference from the associated client's stream list
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Sep 26 10:19:49 PDT 2011
https://bugzilla.gnome.org/show_bug.cgi?id=660156
GStreamer | gst-plugins-good | 0.10.x
Summary: [gstrtpbin] free_stream() does not remove the stream
reference from the associated client's stream list
Classification: Platform
Product: GStreamer
Version: 0.10.x
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: sdatar at cisco.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
In free_stream() function, the stream is freed, but the stream reference is not
removed from the client->streams list and the client->nstreams counter is not
decremented.The stream cleanup logic exists in free_session(). But there are
cases when free_stream() is called without removing the session. One such case
is when the "autoremove" property is set on gstrtpbin. If this property is set,
the rtpjitterbuffer and the ptdemuxer associated with the stream is cleaned up,
but the session might still be receiving media from another SSRC. Now if a new
stream is received from the same client (same cname) as which was removed, the
client->nstreams counter is incremented and now refelcts incorrect number of
streams belonging to this client. As a result in gst_rtp_bin_associate() while
walking the client->streams list, the stale stream is operated upon, causing
assertion failures downstream since the stream's jitterbuffer has already been
cleaned up and is no longer a valid GObject.
--
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