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