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