<div dir="ltr">Hi,<div><br></div><div>I have a subclass of GstBin (in Python), which simply contains:</div><div><p class="gmail-p1">queue -> rtmpsink<br></p><p class="gmail-p1">And I am ghosting the queue.sink.</p><p class="gmail-p1"><br></p><p class="gmail-p1"><span class="gmail-s1">        self.gst_queue = Gst.ElementFactory.make(</span><span class="gmail-s2">'queue'</span><span class="gmail-s1">, </span><span class="gmail-s2">'rtmp_queue'</span><span class="gmail-s1">)<br></span><span class="gmail-s1">        self.gst_rtmp = Gst.ElementFactory.make(</span><span class="gmail-s2">'rtmpsink'</span><span class="gmail-s1">, </span><span class="gmail-s2">'rtmp_rtmpsink'</span><span class="gmail-s1">)<span class="gmail-s1"> <br>        self.gst_rtmp.set_property(</span><span class="gmail-s2">'sync'</span><span class="gmail-s1">, False )<br></span></span><span class="gmail-s1">        self.gst_rtmp.set_property(</span><span class="gmail-s2">'async'</span><span class="gmail-s1">, False)<br></span><span class="gmail-s1">        self.gst_queue.set_property(</span><span class="gmail-s2">'max-size-bytes'</span><span class="gmail-s1">, 512000)<br></span><span class="gmail-s1">        self.gst_queue.set_property(</span><span class="gmail-s2">'leaky'</span><span class="gmail-s1">, 1)<br></span>        self.add(self.gst_rtmp)<br>        self.add(self.gst_queue)</p><p class="gmail-p3"><span class="gmail-s1">        self.sink_pad = self.gst_queue.get_static_pad(</span><span class="gmail-s2">'sink'</span><span class="gmail-s1">)</span><br></p><p class="gmail-p4"><span class="gmail-s1">        self.gst_queue.link(</span><span class="gmail-s1">self.gst_rtmp</span><span class="gmail-s1">)</span><br></p><p class="gmail-p4"><span class="gmail-s1">        gpad = Gst.GhostPad.new(</span><span class="gmail-s2">"sink"</span><span class="gmail-s1">, self.sink_pad)</span><br><span class="gmail-s1"></span></p><p class="gmail-p1"><span class="gmail-s1">        gpad.set_active(True)</span></p><p class="gmail-p1">




































</p><p class="gmail-p1"><span class="gmail-s1">        self.add_pad(gpad)</span></p><p class="gmail-p1"><br></p><p class="gmail-p1"><br></p><p class="gmail-p1">Everything constructs fine, but then during a structure-change message, I get:</p><p class="gmail-p1"><span class="gmail-s1">DEBUG: structure change (<enum GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK of type GstStructureChangeType>, <__main__.GstValve object at 0x74cd8fd0 (GstValve at 0xdc2068)>, False)</span></p><p class="gmail-p1"><span class="gmail-s1">**</span></p><p class="gmail-p1"><span class="gmail-s1">GLib-GObject:ERROR:/build/glib2.0-tTvduh/glib2.0-2.42.1/./gobject/gobject.c:1782:g_object_new_internal: assertion failed: (nqueue != NULL)</span></p><p class="gmail-p1">










</p><p class="gmail-p1">Aborted<br></p><p class="gmail-p1"><br></p><p class="gmail-p1"><br></p><p class="gmail-p1">The error occurs when I relay the pad structure change message to the superclass - my override of do_handle_message is simply this:</p><p class="gmail-p1"><span class="gmail-s1">    </span><span class="gmail-s2">def</span><span class="gmail-s3"> do_handle_message</span><span class="gmail-s1">(self, message):</span></p><p class="gmail-p1"><span class="gmail-s1">        </span><span class="gmail-s2">if</span><span class="gmail-s1"> message.type == Gst.MessageType.STRUCTURE_CHANGE:</span><br></p><p class="gmail-p1"><span class="gmail-s1">            res = message.parse_structure_change()</span></p><p class="gmail-p1"><span class="gmail-s1">            </span><span class="gmail-s2">print</span><span class="gmail-s1"> </span><span class="gmail-s5">'structure change %s'</span><span class="gmail-s1"> % `res`</span></p><p class="gmail-p1">















</p><p class="gmail-p1"><span class="gmail-s1">        </span><span class="gmail-s2">return</span><span class="gmail-s1"> Gst.Bin.do_handle_message(self, message)</span></p><p class="gmail-p1"><span class="gmail-s1"><br></span></p><p class="gmail-p1"><span class="gmail-s1">What could be going on?</span></p><p class="gmail-p1"><span class="gmail-s1"><br></span></p><p class="gmail-p1"><span class="gmail-s1">Thanks,</span></p></div></div>
<img src="https://u2567673.ct.sendgrid.net/wf/open?upn=SqM5JSCW4zvvQIaoW1CDvMIem8taQSUrkrbhR3x77XRu7BshtfhBNpLhgP2ozglLzsWX-2FtaGetEo1ReMlankqQNwlAE42r6zKW2ch3xogNvO-2B8SITGMyp-2FFK1LFYoezTgTxzAQWHB0Amp82gKWgtEeVJf8-2BhMXeKnqe-2BjNpNpgYkqVCLqpwW-2B6WeKTknPaRvh4Uhz3M0C6P6Y2Ra2PNf2LiB7KEeQ5FJNrmnmKtusKY-2BvZRgGhjephrNIsKznBnK" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>