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,