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