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