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