9e0d29287cdb843736d7e5ae99b4477f53e9e2a0
[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  - remove gst_pad_select() and add gst_pad_pull_many(), which pulls one
38    buffer from one of many pads
39
40 caps:
41
42   (Company:)
43
44   "An idea I had once was to force registration of mimetypes and then
45   only allow caps with a registered mimetype - like it's done now with caps.
46   You could then add functions to those registrations like
47   - gchar *get_human_readable_string (caps);
48   should be kinda selfexplanatory. Would return stuff like "16bit signed
49   integer audio", "MPEG2 video" or "video format in RGB colorspace" (for
50   unfixed RGB)
51   - GstCaps *default_fixate (const GstCaps *caps);
52   A default fixation function, so we don't fixate to minimum integer
53   anymore but have the ability to fixate to 320x240 for video or 44100 for
54   audio rates
55   - gboolean validate (const GstCaps *caps);
56   check if the given caps are ok for this mimetype - debugging only function
57   I'd _really_ like to have - especially during gst_register.
58
59   But that's 0.10 material."
60
61 negotiation:
62
63   autopluggers would be easier to write if there was a core method
64   to do what plugidentities do.
65
66 bugs with interesting info:
67  
68  XML descriptions of plugin information:
69    http://bugzilla.gnome.org/show_bug.cgi?id=114216
70   
71
72
73
74 - a method for elements to know when downstream elements are ignoring
75   the data stream.  This would allow automatic shutoff of pipelines
76   whose processing is being dumped.
77
78