<div dir="ltr">Hi Aborliv,<div><br></div><div>I ran my same inspection code for the RTSPMediaFactoryURI, and got the following results:</div><div><font face="monospace, monospace">['get_uri', 'set_uri']</font><br></div><div><br></div><div>Interesting that none of the inherited methods show up.</div><div><br></div><div>This is my inspection code:</div><div>







<p class=""><font face="monospace, monospace"><span class=""><b>print</b></span><span class="">([x </span><span class=""><b>for</b></span><span class=""> x,y </span><span class=""><b>in</b></span><span class=""> GstRtspServer.RTSPMediaFactoryURI.__dict__.items() </span><span class=""><b>if</b></span><span class=""> type(y) == FunctionType])</span></font></p></div><div>I have also overridden do_create_element, and it just never gets called. The constructor does however.... and the 'print' writes out a bunch of methods declared in RTSPMediaFactory - so I know the class is correctly derived...</div><div><br></div><div><div><font face="monospace, monospace">class MyFactory(GstRtspServer.RTSPMediaFactory):</font></div><div><font face="monospace, monospace">    def __init__(self):</font></div><div><font face="monospace, monospace">        super(MyFactory, self).__init__()</font></div><div><font face="monospace, monospace">        print([x for x,y in GstRtspServer.RTSPMediaFactory.__dict__.items() if type(y) == FunctionType])</font></div><div><font face="monospace, monospace">    def do_create_element(self, url):</font></div><div><font face="monospace, monospace">        # return element here... code deleted </font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">self.server = GstRtspServer.RTSPServer()</font></div><div><font face="monospace, monospace">self.server.set_service('554')</font></div><div><font face="monospace, monospace">f = MyFactory()</font></div><div><font face="monospace, monospace">f.set_shared(True)</font></div><div><font face="monospace, monospace">m = self.server.get_mount_points()</font></div><div><font face="monospace, monospace">m.add_factory("/video", f)</font></div><div><font face="monospace, monospace">self.server.attach(None)</font></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 17, 2015 at 5:36 PM, Aborilov Pavel <span dir="ltr"><<a href="mailto:aborilov@gmail.com" target="_blank">aborilov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I use RTSPMediaFactoryURI from Python and I have to override method<br>
do_create_element, and it works.<br>
<br>
On 09/17, Adam Langley wrote:<br>
> I am using Gstreamer RTSPMediaFactory (libgstrtspserver 1.0) v 1.2.3-0.<br>
> From Python, I have derived from the MediaFactory, and overridden<br>
> create_element. Unfortunately, my create_element is never called, so the<br>
> RtspServer complains no launch line specified.<br>
><br>
> I printed out all the methods declared in the super instance, and got this:<br>
><br>
> ['set_buffer_size', 'set_suspend_mode', 'set_protocols', 'construct',<br>
> 'get_suspend_mode', 'get_launch', 'set_launch', 'is_eos_shutdown',<br>
> 'get_permissions', 'get_address_pool', 'set_shared', 'is_shared',<br>
> 'set_address_pool', 'get_protocols', 'get_buffer_size', 'set_permissions',<br>
> 'set_eos_shutdown']<br>
> No create_element!<br>
><br>
> No wonder, my implementation is never being called... but why is there no<br>
> create_element function?<br>
><br>
<br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="http://mandrillapp.com/track/click/30003446/lists.freedesktop.org?p=eyJzIjoiUmxYUFZDaG1nOF9WUG5vWUc3UVF2Mm56akxFIiwidiI6MSwicCI6IntcInVcIjozMDAwMzQ0NixcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvbGlzdHMuZnJlZWRlc2t0b3Aub3JnXFxcL21haWxtYW5cXFwvbGlzdGluZm9cXFwvZ3N0cmVhbWVyLWRldmVsXCIsXCJpZFwiOlwiNjMwYTIzYTQ0ZTA2NGJhYWFjNzkyOTkyZjMyYTc4ZTJcIixcInVybF9pZHNcIjpbXCJkZTNjNjdiOWJkNmZkMDdlNzJlZjIwYTBlZTAwYmM4NTY1MWUxYTAwXCJdfSJ9" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://mandrillapp.com/track/click/30003446/lists.freedesktop.org?p=eyJzIjoiUmxYUFZDaG1nOF9WUG5vWUc3UVF2Mm56akxFIiwidiI6MSwicCI6IntcInVcIjozMDAwMzQ0NixcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvbGlzdHMuZnJlZWRlc2t0b3Aub3JnXFxcL21haWxtYW5cXFwvbGlzdGluZm9cXFwvZ3N0cmVhbWVyLWRldmVsXCIsXCJpZFwiOlwiNjMwYTIzYTQ0ZTA2NGJhYWFjNzkyOTkyZjMyYTc4ZTJcIixcInVybF9pZHNcIjpbXCJkZTNjNjdiOWJkNmZkMDdlNzJlZjIwYTBlZTAwYmM4NTY1MWUxYTAwXCJdfSJ9" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>

<img src="http://mandrillapp.com/track/open.php?u=30003446&id=630a23a44e064baaac792992f32a78e2" height="1" width="1">