Move padtemplate clearing from class_init to base_init
[platform/upstream/gstreamer.git] / ChangeLog
1 2004-01-02  David Schleef  <ds@schleef.org>
2
3         * gst/gstelement.c: (gst_element_class_init),
4         (gst_element_base_class_init): ->padtemplates should be cleared
5         in base_init, since we need to have a fresh list for every
6         class.  (Alternately, we chould copy the list and share the
7         actual pad templates (not the list), but that would require
8         changing every plugin to move pad template registration from
9         base_init to class_init.)
10
11 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12
13         * gst/gstelement.c: (gst_element_class_add_pad_template):
14           Refuse registering a pad template if another pad template
15           with the same name already exists (#114715).
16
17 2004-01-02  David Schleef  <ds@schleef.org>
18
19         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
20         (gst_caps_is_equal_fixed): Add new function.
21         * gst/gstcaps.h: ditto.
22         * gst/gstpad.c: (gst_real_pad_class_init),
23         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
24         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
25         check new caps against existing caps -- if they're the same, return
26         OK without renegotiating.  caps-nego-failed signal fixed so that
27         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
28         to save an extra caps copy.  Don't complete negotiation if a pad
29         link function returns DELAYED.
30
31 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
32
33         * gst/gstpad.c: (gst_pad_try_relink_filtered):
34           Fix wrong g_return_if_fail
35
36 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
37
38         * gst/gstbin.c: (gst_bin_class_init):
39         Change the marshalling of element_added/element_removed
40         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
41         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
42
43 2004-01-01  David Schleef  <ds@schleef.org>
44
45         * gst/gstpad.c: (gst_pad_set_explicit_caps),
46         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
47         (gst_pad_use_explicit_caps):
48         * gst/gstpad.h:
49         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
50         to use an internal getcaps and link fuction so that negotiation
51         always results in the explicitly set caps.
52         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
53         are particularly useful for decoders.
54
55 2003-12-31  David Schleef  <ds@schleef.org>
56
57         * gst/elements/gstidentity.c: (gst_identity_class_init),
58         (gst_identity_init), (gst_identity_chain),
59         (gst_identity_set_property), (gst_identity_get_property):
60         * gst/elements/gstidentity.h:
61         * gst/gstqueue.c: (gst_queue_init):
62           Negotiation fixes.
63
64 2003-12-31  David Schleef  <ds@schleef.org>
65
66         * gst/gstcaps.c: (gst_caps_intersect),
67         (_gst_caps_normalize_foreach), (gst_caps_normalize):
68           Implement gst_caps_normalize().
69         * testsuite/caps/normalisation.c: (main):
70           Add an additional test
71
72 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
73
74         * gst/gstqueue.c: (gst_queue_init):
75           use gst_pad_proxy_getcaps()
76
77 2003-12-31  David Schleef  <ds@schleef.org>
78
79         * gst/elements/gstshaper.c: (gst_shaper_link):
80         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
81         * gst/gstqueue.c: (gst_queue_link):
82           Negotiation fixes.
83
84 2003-12-31  David Schleef  <ds@schleef.org>
85
86         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
87         * gst/gstpad.h: Add functions that are useful as default pad
88         link and fixate functions for elements.
89
90 2003-12-30  David Schleef  <ds@schleef.org>
91
92         * gst/gstpad.c: (gst_pad_link_try):
93           Fix segfault when attempting to return to old caps
94
95 2003-12-29  David Schleef  <ds@schleef.org>
96
97         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
98         (gst_caps_structure_simplify), (gst_caps_simplify):
99         * gst/gstcaps.h:
100           Add simplify function
101         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
102         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
103         * gst/gstpad.h:
104           Copy over srcnotify, sinknotify when calling old pad_link
105           functions.  Add new is_negotiated() function.
106         * gst/gststructure.c: (gst_structure_copy):
107           Fix an incredibly stupid bug that should have been noticed
108           weeks ago.  _copy() returned the argument, not the new copy.
109
110 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
111
112         * gst/gstcaps.c: (gst_caps_append):
113           add sanity checks
114         * gst/gstcaps.h: (gst_caps_debug):
115           remove, it doesn't exist anymore.
116         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
117         (gst_element_threadsafe_properties_post_run):
118           make debugging messages not clutter up THREAD debug category
119         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
120         (gst_element_change_state):
121           update to new caps API
122         * gst/gstinterface.c: (gst_implements_interface_cast):
123           don't put vital code in g_return_if_fail
124         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
125         (gst_pad_link_filtered):
126           add pst_pad_try_link and use it.
127         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
128           implement correctly, deprecate first one.
129         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
130           add and implement.
131         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
132           implement.
133         (gst_pad_get_negotiated_caps):
134           add and implement. Make GST_PAD_CAPS call this function.
135         (gst_pad_get_caps):
136           remove unneeded check..
137         (gst_pad_recover_caps_error):
138           disable, always return FALSE.
139         (gst_real_pad_dispose):
140           don't free caps and appfilter anymore, they're unused.
141         * gst/gstpad.h:
142           Reflect changes mentioned above.
143         * gst/gstsystemclock.c: (gst_system_clock_wait):
144           Make 'clock is way behind' a debugging message.
145         * gst/gstthread.c: (gst_thread_change_state):
146           Fix debugging message
147
148 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
149
150         * gst/gstinfo.h:
151           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
152         * docs/gst/tmpl/gstreamer-unused.sgml:
153           removed all traces of cvs conflicts
154
155 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         * configure.ac:
158         * gst/schedulers/cothreads_compat.h:
159         * libs/Makefile.am:
160           remove last instances of wingo cothread usage
161
162 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
163
164         * gst/gstplugin.c:
165         * gst/gstversion.h.in:
166         * gst/parse/grammar.y:
167           change comment block from /** to /* when not gtk-doc comments
168
169 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
170
171         * gst/gst.c: whitespace and doc style fixes
172
173 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
174
175         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
176
177 2003-12-24  Colin Walters  <walters@verbum.org>
178
179         * gst/elements/gsttypefindelement.c:
180           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
181           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
182           Don't double-free caps.
183
184 2003-12-23  David Schleef  <ds@schleef.org>
185
186         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
187           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
188           Many little fixes and additions of debug statements to
189           get rhythmbox working.
190
191 2003-12-23  Colin Walters  <walters@verbum.org>
192
193         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
194         Use GST_PAD_LINK_SUCCESSFUL.
195
196 2003-12-23  David Schleef  <ds@schleef.org>
197
198         * gst/elements/gstaggregator.c:
199         * gst/elements/gsttee.c:
200           Use gst_pad_proxy_getcaps().
201         * gst/gstpad.c:
202         * gst/gstpad.h:
203           Add gst_pad_proxy_getcaps(), which filter elements can use
204           as a generic getcaps implementation.
205           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
206           was advertised.
207
208 2003-12-23  David Schleef  <ds@schleef.org>
209
210         * gst/gstpad.c:
211           Rearrange/rewrite much of the pad negotiation code, since it
212           resembled pasta.  This actually changes the way some
213           negotiation works, since the previous code was inconsistent
214           depending on how it was invoked.  Add (internal) structure
215           GstPadLink, which is used to hold some information (more in
216           the future) about the link between two pads.  Fixes a number
217           of bugs, including random lossage of filter caps when the
218           initial negotiation is delayed.  A few functions are still
219           unimplemented.
220         * gst/gstpad.h:
221           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
222           these when testing GstPadLinkReturn values instead of comparing
223           directly.
224
225 2003-12-23  David Schleef  <ds@schleef.org>
226
227         * gst/gstvalue.c: 
228         * gst/gstvalue.h:
229           Rearrange lots of code.  Change registration of compare function
230           into registration of compare/serialize/deserialize functions.
231           Doesn't include implementation of gst_value_[de]serialize(),
232           but that should be easy.
233
234 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
235
236         * docs/gst/gstreamer-sections.txt:
237         * docs/gst/tmpl/gstprops.sgml: removed
238         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
239           David removed props and caps code, so let's remove their docs as well.
240           Removed all no longer existing symbols from gstreamer-sections.txt
241           
242 2003-12-22  Colin Walters  <walters@verbum.org>
243
244         * gst/gsttaginterface.c, gst/gsttaginterface.h,
245           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
246           of tags directly.
247
248 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
249
250         * gst/elements/gstelements.c:
251           Set ranks of elements to NONE, so the autoplugger doesn't use them.
252         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
253           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
254           gst_caps (peer).
255
256 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
257
258         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
259         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
260         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
261         (gst_spider_identity_sink_loop_type_finding):
262         * gst/autoplug/gstspideridentity.h:
263           Fix autoplugging in spider element, so it works with new caps.
264           This was mainly caused by identifying empty caps incorrectly.
265
266 2003-12-22  David Schleef  <ds@schleef.org>
267
268         * gststructure.c, gstvalue.c, gstvalue.h: Add
269           gst_value_init_and_copy() and use it, to avoid silly mistakes in
270           using g_value_copy()
271
272 2003-12-21  David Schleef  <ds@schleef.org>
273
274         * many, many files: Merge CAPS branch.  This includes:
275           - implemention of GstValue and several GstValue types
276           - implemention of GstStructure
277           - entire rewrite of GstCaps
278           - removal of GstProps
279           - many changes to GstPad to compensate for new caps paradigm
280           - removal of GstBufferpool
281         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
282         gstvalue.h, gst/gstcaps[2]*.[ch]:
283           - rename gstcaps2.[ch] to gstcaps.[ch]
284
285 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
286
287         * gst/gstqueue.c: (gst_queue_handle_pending_events),
288         (gst_queue_chain), (gst_queue_handle_src_event):
289           implement timeout for sending events. Workaround for if the
290           pipeline on this queue is not passing any data.
291
292 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
293                                                                                 
294         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
295         * moved CVS to freedesktop.org
296