[gstreamer-bugs] [Bug 338982] New: python refcounting problems in gstpad.override
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Wed Apr 19 02:13:16 PDT 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=338982
GStreamer | gst-python | Ver: HEAD CVS
Summary: python refcounting problems in gstpad.override
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-python
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: wingo at pobox.com
QAContact: johan at gnome.org
GNOME version: Unspecified
GNOME milestone: Unspecified
File:
http://webcvs.freedesktop.org/gstreamer/gst-python/gst/gstpad.override?annotate=1.30
In _wrap_gst_pad_set_blocked_async:
Line 1019: PySequence_GetItem returns a ref. We never drop this one.
1022, 1030: Here we ref the callback twice, once for PySequence_GetItem, once
for BuildValue("O"). We just need one ref (for the tuple), so one of these is
leaked.
1034: The data tuple is leaked here. This is a GStreamer C API problem -- we
have no free function for pad_blocked data. You can't just free it when the
first block() is called, because a pad can be blocked twice (e.g. if a flush
happens after the first block).
We leak refs in all error cases.
In pad_block_callback_marshal:
980, 983, 998: We give away our ref to py_data on line 983, but we still unref
it on 998. This is incorrect.
988: Complicated code for no purpose. py_userdata is a 2-tuple, as built on
line 1030. No need to iterate.
Attached patch fixes problems, please review.
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list