I've at least verified that my renderer shows up on the network. If you would like, I can resubmit my patch and included corrected example for RygelRendererGst.
On Wed, Feb 25, 2015 at 11:59 AM, Kevron Rees <[email protected]> wrote: > The same might be true for the renderer and server python examples... > On Feb 25, 2015 11:58 AM, "Kevron Rees" <[email protected]> wrote: > >> I might have found out the problem. You need to call .new() to construct >> it. I got rid of the critical and all constructors are being called. I >> just need to verify the actual renderer is working. >> On Feb 25, 2015 11:29 AM, "Jens Georg" <[email protected]> wrote: >> >>> Hi, >>> >>> I'm watching the GNOME github repositories so I've noticed your pr, >>> thanks. >>> >>> Usually we use GNOME Bugzilla for patch submission, but, I guess PR is >>> fine as well. >>> >>> About your issue: It might be that this library is not using >>> GObject-Syle construction properly. I would have to check but I'm currently >>> moving house so time is limited. >>> >>> I submitted a pull request on github[1]. I'm not sure that's the >>>> appropriate place, but it's there. This is an attempt to provide >>>> introspection data about the rygel-renderer-gst interfaces so that >>>> python and other languages that use GI will be able to build >>>> renderers. It doesn't quite work just yet, I'm running into some >>>> issues testing it. >>>> >>>> Consider the following example python code: >>>> >>>> #!/usr/bin/env python >>>> >>>> import gi >>>> >>>> from gi.repository import Gst, GObject, RygelRendererGst, GLib >>>> >>>> GObject.threads_init() >>>> >>>> Gst.init(None) >>>> >>>> renderer = RygelRendererGst.PlaybinRenderer(title = "my awesome >>>> title") >>>> >>>> GLib.MainLoop().run() >>>> >>>> When run it produces two CRITICAL errors: >>>> >>>> (python:28864): RygelRenderer-CRITICAL **: plugin_construct: assertion >>>> 'player != NULL' failed >>>> (python:28864): RygelCore-CRITICAL **: rygel_plugin_set_title: >>>> assertion 'self != NULL' failed >>>> >>>> I am not very familiar with vala, but it seems like the constructor[2] >>>> for RygelRenderer is not being called. Instead, the "constructed()" >>>> override is being called first, and tries to construct the plugin, >>>> which fails because player is still null. I can test this by >>>> inserting a "debug(...)" and "assert_not_reached ()" in both >>>> MediaRenderer(...) and constructed() and see which one gets called >>>> first. The output of the above example becomes (run with >>>> "G_MESSAGES_DEBUG=all") >>>> >>>> (python:2136): RygelCore-DEBUG: rygel-media-device.vala:65: No >>>> listening port specified, using random TCP port >>>> (python:2136): RygelRenderer-CRITICAL **: plugin_construct: assertion >>>> 'player != NULL' failed >>>> (python:2136): RygelCore-CRITICAL **: rygel_plugin_set_title: >>>> assertion 'self != NULL' failed >>>> (python:2136): RygelRenderer-DEBUG: rygel-media-renderer.vala:68: >>>> constructed() called >>>> >>>> ** >>>> >>>> RygelRenderer:ERROR:rygel-media-renderer.c:346:rygel_ >>>> media_renderer_real_constructed: >>>> code should not be reached >>>> >>>> Aborted (core dumped) >>>> >>>> Any guidance on how to debug this further would be appreciated. >>>> >>>> -Kevron >>>> >>>> [1] - https://github.com/GNOME/rygel/pull/1 [1] >>>> [2] - >>>> https://github.com/tripzero/rygel/blob/master/src/ >>>> librygel-renderer/rygel-media-renderer.vala#L51 >>>> [2] >>>> [3] - >>>> https://github.com/tripzero/rygel/blob/master/src/ >>>> librygel-renderer/rygel-media-renderer.vala#L60 >>>> [3] >>>> >>>> Links: >>>> ------ >>>> [1] https://github.com/GNOME/rygel/pull/1 >>>> [2] >>>> https://github.com/tripzero/rygel/blob/master/src/ >>>> librygel-renderer/rygel-media-renderer.vala#L51 >>>> [3] >>>> https://github.com/tripzero/rygel/blob/master/src/ >>>> librygel-renderer/rygel-media-renderer.vala#L60 >>>> >>>> _______________________________________________ >>>> rygel-list mailing list >>>> [email protected] >>>> https://mail.gnome.org/mailman/listinfo/rygel-list >>>> >>> >>>
_______________________________________________ rygel-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/rygel-list
