93b7c8691733dc0a10ac7297f63450f444de1931
[platform/upstream/gstreamer.git] / docs / random / ds / 0.9-suggested-changes
1
2
3 API:
4
5  - replace object/structure set/get macros with actual functions.
6
7  - events should all use GstStructure
8
9  - reorganize headers (split app headers vs plugin headers maybe)
10
11  - make GstPadLinkReturn internal (to either plugins+core or just core)
12    and return gboolean to apps.
13
14  - rewrite GstIndex (it's gross)
15
16  - gst_init() et al. need to work correctly when called multiple times
17    and from libraries, etc.
18
19  - gst_pad_get_pad_template_caps -> gst_pad_get_template_caps()
20
21  - add ways for autopluggers to manage negotiation of their children.
22    This would allow autopluggers to no longer need helper identities.
23
24  - remove float support from dparams
25
26  - dparams: should be converted into some kind of special pad and
27    object property combination.
28
29  - remove gst_element_yield()
30
31  - read/write locks on buffers
32
33  - be able to send events to unlinked pads (bug #114442)
34
35  - caps should have a flag on fields to indicate that the field is optional
36
37
38 caps:
39
40   (Company:)
41
42   "An idea I had once was to force registration of mimetypes and then
43   only allow caps with a registered mimetype - like it's done now with caps.
44   You could then add functions to those registrations like
45   - gchar *get_human_readable_string (caps);
46   should be kinda selfexplanatory. Would return stuff like "16bit signed
47   integer audio", "MPEG2 video" or "video format in RGB colorspace" (for
48   unfixed RGB)
49   - GstCaps *default_fixate (const GstCaps *caps);
50   A default fixation function, so we don't fixate to minimum integer
51   anymore but have the ability to fixate to 320x240 for video or 44100 for
52   audio rates
53   - gboolean validate (const GstCaps *caps);
54   check if the given caps are ok for this mimetype - debugging only function
55   I'd _really_ like to have - especially during gst_register.
56
57   But that's 0.10 material."
58
59 negotiation:
60
61   autopluggers would be easier to write if there was a core method
62   to do what plugidentities do.
63
64 bugs with interesting info:
65  
66  XML descriptions of plugin information:
67    http://bugzilla.gnome.org/show_bug.cgi?id=114216
68   
69
70
71
72 - a method for elements to know when downstream elements are ignoring
73   the data stream.  This would allow automatic shutoff of pipelines
74   whose processing is being dumped.
75
76