- changing an object's name after construction is not allowed. Checks are performed when adding objects to parents that no duplicate names are used, changing the name to a duplicate name after adding it is therefore allowed and voids internal consistency. - implement return values from events in addition to the gboolean. This should be done by making the event contain a GstStructure with input/output values, similar to GstQuery. A typical use case is performing a non-accurate seek to a keyframe, after the seek you want to get the new stream time that will actually be used to update the slider bar. - unlinking pads in the PAUSED state needs to make sure the stream thread is not executing code. Can this be done with a flush to unlock all downstream chain functions? Do we do this automatically or let the app handle this? - implement clock selection as explained in part-gstpipeline.txt. - when a pipeline with a live source goes to PAUSED again, a sample is prerolled in the sinks. This sample should be discarded, possibly with a flush event started from the source. - convert framerate to GstFraction in GstCaps. - implement latency calculation for live sources. - implement master/slave clocks. - implement QOS. - implement BUFFERSIZE. - make bin_bus_handler a vmethod so subclasses can use their own implementation or chain to the parent. - make it possible to seek on other formats than bytes in basesrc. - GstFormat quarks, get_name. - GstQuery quark, get_name. - GstEvent, GstMessage register like GstFormat or GstQuery. - unblocking while seeking. gst_element_flush_pads (GstElement, gboolean); - make GstCapsFlags instead of the #define for GST_CAPS_FLAGS_ANY. - query POSITION/DURATION return accuracy. Just a flag or accuracy percentage.