Join GitHub today
Switch to GStreamer 1.0 and PyGI #225
GStreamer 1.0 was released a couple of months ago. As far as I know, it doesn't bring any new features that are important for Mopidy.
Though, in GStreamer 1.0 the GStreamer Python bindings have been replaced by PyGI, which is generic Python bindings for any library supporting GObject Introspection.
Switching to PyGI will remove our dependency on the Python bindings for GStreamer, GObject, and libindicate, and maybe even the DBus bindings. Replacing this pile of manually maintained Python 2.x bindings with PyGI, which works under both Python 2 and 3, is a huge step towards bringing Mopidy to Python 3, and is thus something we should do.
A spike for porting to PyGI using GStreamer 0.10 was done in #147. I wasn't that much work, but we hit some problems that will not be resolved in GStreamer 0.10, so we can't move to PyGI without moving to GStreamer 1.0 at the same time. https://wiki.ubuntu.com/Novacut/GStreamer1.0 is a great resource which explains most of what needs to be changed in the migration.
The question isn't if we should port to PyGI, but when.
The current status of GStreamer 1.0 is:
My current guess is that we don't want to port before some time in 2013.
referenced this issue
Nov 1, 2012
Porting to PyGI and GStreamer 1.x is still a high priority on our technical roadmap.
Things that need to happen before porting:
Modules to port to PyGI:
After porting Mopidy proper, we should have a look at Mopidy-MPRIS:
@adamcik Is there anything I've forgotten?