docs/design/part-TODO.txt: Updated todo.
[platform/upstream/gstreamer.git] / docs / design / part-TODO.txt
1 API/ABI
2 -------
3
4 - implement return values from events in addition to the gboolean. This should be
5   done by making the event contain a GstStructure with input/output values, similar
6   to GstQuery. A typical use case is performing a non-accurate seek to a keyframe,
7   after the seek you want to get the new stream time that will actually be used to
8   update the slider bar.
9
10 - convert framerate to GstFraction in GstCaps.
11
12 - implement latency calculation for live sources.
13
14 - implement master/slave clocks.
15
16 - implement QOS.
17
18 - implement BUFFERSIZE.
19
20 - make bin_bus_handler a vmethod so subclasses can use their own implementation
21   or chain to the parent.
22
23 - make it possible to seek on other formats than bytes in basesrc.
24
25 - GstFormat quarks, get_name. 
26
27 - GstQuery quark, get_name.
28
29 - GstEvent, GstMessage register like GstFormat or GstQuery.
30
31 - unblocking while seeking. gst_element_flush_pads (GstElement, gboolean);
32
33 - make GstCapsFlags instead of the #define for GST_CAPS_FLAGS_ANY.
34
35 - query POSITION/DURATION return accuracy. Just a flag or accuracy percentage.
36
37
38 IMPLEMENTATION
39 --------------
40
41 - implement clock selection as explained in part-gstpipeline.txt. 
42
43
44 DESIGN
45 ------
46
47 - unlinking pads in the PAUSED state needs to make sure the stream thread is not
48   executing code. Can this be done with a flush to unlock all downstream chain
49   functions? Do we do this automatically or let the app handle this?
50
51 - when a pipeline with a live source goes to PAUSED again, a sample is prerolled
52   in the sinks. This sample should be discarded, possibly with a flush event
53   started from the source.
54