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