0.11
QtGLib
- Attempt to pull it out of QtGStreamer and make it standalone.
- Attempt to use native QObjects (properties, signals, slots) for the object type wrappers.
- This may actually be achieved by generating QMetaObjects at runtime for every object type that is wrapped.
Requires QVariant <-> GValue conversion, which may be possible with overloading (template-wise) the QVariant::value QVariant::fromValue methods.
- smoke-gobject has some code around that shows how all this can be done.
- Investigate subclassing.
- GlibMM does this
Possible in many ways, but not sure how to handle things like GstElementClass functions...
- Introspecting the QMetaObject to find out the vfuncs/action signals/properties would be nice.
- Take Qt5 API changes into account.
- Possibly adjust everything to compile with both Qt4 and Qt5, just like telepathy-qt.
- With Qt5 we may be able to use QString everywhere without any performance impact.
QtGStreamer
- Attempt to use gobject-introspection to generate most of the code.
- Investigate whether it is also possible to generate documentation from g-i.
0.10.2
- Finish and merge qtvideosink.
- Remaining tasks:
Split the size calculation code and write unit test for it
Write benchmark test
- Write/correct documentation
Possibly add some basic qml api (may actually go to 0.11.1 or 0.10.3 due to lack of time...)
- FindOpenGLES.cmake
gtk-doc for qtvideosink EIMPOSSIBLE. gtk-doc is insane.
Fix compilation bugs with the latest glib
Workaround https://bugreports.qt.nokia.com/browse/QTBUG-22829
Support cmake's internal automoc
Document the qml/QGV stuff
TODO Items (old)
Missing API
Structure quark & fixate methods.
ElementFactory 0.10.31 methods
- Some Element and Pad methods.
- variadic Bin::add and Element::link methods
MessageType/QueryType enums name/quark methods.
- Functions that take callbacks
Priority 1
- Add convenience image(), fromImage() methods to Buffer
- Qt metatype system integration
- add Q_DECLARE_METATYPE for all types
- generate a function that calls qRegisterMetaType() for all types
Optional
- Playbin/camerabin utility wrappers
- Possibly add handlers for more Value types... do we need any other types?
- emit is a bit unintuitive name for calling action signals (which is the most typical use case for applications)
Priority 2
- Implement interfaces:
Mixer / MixerOptions / MixerTrack
- Navigation
Tuner / TunerChannel / TunerNorm
- Maybe write qmake prf file.
- Provide video widget QML integration
- QtMM does that already, we need to find out how it does it.
- register all types to be accessible from QML
- Investigate the possibility of connecting to Qt slots
- Investigate the usage of exceptions (maybe for 0.11)
It may be nicer if element creation and linking throw exceptions when they fail -> reduces significantly the amount of code required to construct a pipeline
- Wrapped methods that take a GError** already throw a QGlib::Error (Parse::launch for example)
- Exceptions are not very Qt-ish though...
See also the ZeroPointEleven plan about using GError** arguments in every method that can fail.

