g_object_new_internal: assertion failed: (nqueue != NULL) with simple Bin
Adam Langley
linux at irisdesign.co.nz
Fri Apr 21 03:52:48 UTC 2017
Hi,
I have a subclass of GstBin (in Python), which simply contains:
queue -> rtmpsink
And I am ghosting the queue.sink.
self.gst_queue = Gst.ElementFactory.make('queue', 'rtmp_queue')
self.gst_rtmp = Gst.ElementFactory.make('rtmpsink', 'rtmp_rtmpsink')
self.gst_rtmp.set_property('sync', False )
self.gst_rtmp.set_property('async', False)
self.gst_queue.set_property('max-size-bytes', 512000)
self.gst_queue.set_property('leaky', 1)
self.add(self.gst_rtmp)
self.add(self.gst_queue)
self.sink_pad = self.gst_queue.get_static_pad('sink')
self.gst_queue.link(self.gst_rtmp)
gpad = Gst.GhostPad.new("sink", self.sink_pad)
gpad.set_active(True)
self.add_pad(gpad)
Everything constructs fine, but then during a structure-change message, I
get:
DEBUG: structure change (<enum GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK of type
GstStructureChangeType>, <__main__.GstValve object at 0x74cd8fd0 (GstValve
at 0xdc2068)>, False)
**
GLib-GObject:ERROR:/build/glib2.0-tTvduh/glib2.0-2.42.1/./gobject/gobject.c:1782:g_object_new_internal:
assertion failed: (nqueue != NULL)
Aborted
The error occurs when I relay the pad structure change message to the
superclass - my override of do_handle_message is simply this:
def do_handle_message(self, message):
if message.type == Gst.MessageType.STRUCTURE_CHANGE:
res = message.parse_structure_change()
print 'structure change %s' % `res`
return Gst.Bin.do_handle_message(self, message)
What could be going on?
Thanks,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170421/774eff5d/attachment-0001.html>
More information about the gstreamer-devel
mailing list