fix _gst_element_error_printf prototype
[platform/upstream/gstreamer.git] / ChangeLog
1 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gstelement.h: fix _gst_element_error_printf prototype
4
5 2004-01-20  David Schleef  <ds@schleef.org>
6
7         * gst/gststructure.c: (gst_structure_to_string):
8         Convert function to use gst_value_serialize().
9         * gst/gstvalue.c: (gst_value_serialize_list),
10         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
11         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12         (gst_value_serialize_int), (gst_value_serialize_double),
13         (gst_string_wrap), (gst_value_serialize_string),
14         (gst_value_serialize), (gst_value_deserialize):
15         * gst/gstvalue.h:
16         Add implementations for serialize.
17
18 2004-01-20  Julien MOUTTE  <julien@moutte.net>
19
20         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
21         we want to keep that one in the future or change xvidenc.c to use 
22         another error.
23
24 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25
26         * gst/gstelement.c: (_gst_element_error_printf):
27         * gst/gstelement.h:
28           privatise function
29
30 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
31
32         * docs/random/error:
33           doc explaining error system
34         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
35           cleanup
36
37 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
38
39         * gst/gst-i18n-app.h:
40         * gst/gst-i18n-lib.h:
41           remove inclusion of config.h
42         * po/POTFILES.in:
43         * po/nl.po:
44           add gst/gstelement.c
45
46 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
47
48         * po/nl.po: updated Dutch translation
49
50 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
51
52         * gst/gsterror.c: (_gst_core_errors_init),
53         (_gst_library_errors_init), (_gst_resource_errors_init),
54         (_gst_stream_errors_init):
55         remove ending punctuation dots
56
57 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
58
59         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
60         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
61         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
62         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
63         (gst_pipefilter_chain), (gst_pipefilter_open_file):
64         use GST_ERROR_SYSTEM
65
66 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
67
68         * gst/gstelement.c: (gst_element_error_printf),
69         (gst_element_error_extended):
70         * gst/gstelement.h:
71           add a helper printf function so we can have NULL values passed.
72
73 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
74
75         * gst/gstelement.h:
76           add G_STMT macros to gst_element_error, which isn't strictly
77           necessary but people tell me to anyway.
78
79 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
80
81         * gst/Makefile.am:
82         * gst/autoplug/gstspideridentity.c:
83         (gst_spider_identity_sink_loop_type_finding):
84         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
85         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
86         (gst_filesink_close_file), (gst_filesink_handle_event),
87         (gst_filesink_chain):
88         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
89         (gst_filesrc_map_region), (gst_filesrc_get_read),
90         (gst_filesrc_open_file):
91         * gst/elements/gstidentity.c: (gst_identity_chain):
92         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
93         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
94         (gst_pipefilter_chain), (gst_pipefilter_open_file):
95         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
96         * gst/gst.h:
97         * gst/gst_private.h:
98         * gst/gstelement.c: (gst_element_class_init),
99         (gst_element_default_error), (gst_element_error_func),
100         (gst_element_error_extended):
101         * gst/gstelement.h:
102         * gst/gsterror.c: (_gst_core_errors_init),
103         (_gst_library_errors_init), (_gst_resource_errors_init),
104         (_gst_stream_errors_init), (gst_error_get_message):
105         * gst/gsterror.h:
106         * gst/gstinfo.c: (_gst_debug_init):
107         * gst/gstmarshal.list:
108         * gst/gstpad.c: (gst_pad_set_explicit_caps),
109         (gst_pad_recover_caps_error), (gst_pad_pull):
110         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
111         * gst/schedulers/gstbasicscheduler.c:
112         (gst_basic_scheduler_chainhandler_proxy),
113         (gst_basic_scheduler_gethandler_proxy),
114         (gst_basic_scheduler_cothreaded_chain):
115         * po/POTFILES.in:
116         * po/fr.po:
117         * po/nl.po:
118           change error signal
119           add error categories
120
121 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
122
123         * gst/gsttag.c: (_gst_tag_initialize):
124         * gst/gsttag.h:
125         Add replaygain tag
126
127 2004-01-18  Colin Walters  <walters@verbum.org>
128
129         * examples/retag/retag.c: Call gst_init before processing
130         program args.  Add g_assert to _link_many call.
131
132 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
133
134         * gst/gstpad.c: (gst_pad_alloc_buffer):
135           Return a newly allocated buffer when the pad has no peer.
136
137 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
138
139         * gst/gstclock.c: (gst_clock_get_time):
140           make it compile with gcc 2.95 again.
141           Patch by Scott Wheeler
142
143 2004-01-15  David Schleef  <ds@schleef.org>
144
145         * gst/gstcaps.h:
146         Added gst_caps_is_simple() macro.
147         * testsuite/caps/caps.c: (test1):
148         * testsuite/caps/intersect2.c: (main):
149         * testsuite/caps/intersection.c: (main):
150         Fixes to make 'make check' work again after removing
151         gst_caps_is_chained().
152
153 2004-01-15  Leif Johnson <leif@ambient.2y.net>
154
155         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
156         and additions to the MIDI document.
157
158 2004-01-15  David Schleef  <ds@schleef.org>
159
160         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
161         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
162         of GST_RPAD_, since we don't know if it's a real or ghost pad.
163
164 2004-01-15  David Schleef  <ds@schleef.org>
165
166         * gst/gstqueue.c:
167         * gst/gstqueue.h:
168         Fix the spelling of "treshold" and make min_threshold actually
169         affect the queue.
170
171 2004-01-15  David Schleef  <ds@schleef.org>
172
173         * gst/gstcaps.c:
174         Add lots of documentation.
175         * gst/gstcaps.h:
176         Deprecate a few functions.
177         * gst/gstpad.c:
178         Removed use of deprecated functions.
179
180 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
181
182         * gst/gstpad.c: (gst_pad_is_linked):
183         * gst/gstpad.h:
184           implement gst_pad_is_linked
185         * gst/gstelement.h:
186           reserve space for initiate_state_change
187
188 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
189
190         * gst/autoplug/gstspideridentity.c:
191         (gst_spider_identity_sink_loop_type_finding):
192           break infinite loop by just returning instead of looping
193         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
194           set event time difference correctly. Set it to 1 second instead
195           of 100ms to be more tolerant
196         * gst/gstelement.c: (gst_element_set_time):
197           add debugging output
198
199 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
200
201         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
202           query if buffers are inside the pool, ignore events
203
204 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
205
206         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
207         (gst_clock_set_speed), (gst_clock_set_active),
208         (gst_clock_is_active), (gst_clock_reset),
209         (gst_clock_handle_discont):
210         * gst/gstclock.h:
211           deprecate old interface and disable functions that aren't in use
212           anymore.
213         * gst/gstelement.h:
214         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
215         (gst_element_set_time), (gst_element_adjust_time):
216           add concept of "element time" and functions to get/set this time.
217         * gst/gstelement.c: (gst_element_change_state):
218           update element time correctly.
219         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
220           This is a debug message, not a g_critical.
221         * gst/gstpad.c: (gst_pad_event_default):
222           handle discontinuous events right with element time.
223         * gst/gstscheduler.c: (gst_scheduler_state_transition):
224           update to clocking fixes.
225           set clocks on elements in READY=>PAUSED. The old behaviour caused
226           a wrong element time on the first element that started playing.
227         * gst/schedulers/gstbasicscheduler.c:
228         (gst_basic_scheduler_class_init):
229         * gst/schedulers/gstoptimalscheduler.c:
230         (gst_opt_scheduler_class_init):
231           remove code that just implements the default behaviour.
232         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
233           update to use new clocking functions
234         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
235         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
236           update to test new element time.
237         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
238           use _get_allowed_caps instead of _get_caps. This catches filtered
239           caps correctly.
240         * testsuite/debug/commandline.c:
241           update for new GST_DEBUG syntax.
242         * testsuite/threads/Makefile.am:
243           disable a test that only works sometimes.
244
245 2004-01-13  Julien MOUTTE <julien@moutte.net>
246
247         * po/LINGUAS: Adding fr.
248         * po/fr.po: Adding french translation.
249
250 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
251
252         * gst/parse/grammar.y:
253         * po/POTFILES.in:
254         * po/nl.po:
255         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
256           translate parsing error messages
257
258 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
259
260         * po/POTFILES.in: adding gst-launch
261         * po/nl.po: updated translation, all 99 strings translated
262         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
263         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
264           fix strings for translation
265
266 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * gst/gst.c:
269           - capitalize beginnings of popt options
270           - fix strings for translation
271           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
272
273 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
274
275         * po/README: add some notes on how to update translations
276
277 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * ABOUT-NLS: removed, is autogenerated from autopoint
280         * autogen.sh: add autopoint stuff
281         * configure.ac: fix up gettext stuff
282         * gst/Makefile.am: add i18n headers to noinst_HEADERS
283         * gst/elements/gsttypefindelement.c: add header include
284         * gst/gettext.h: add header, copy from system-installed header
285         * gst/gst-i18n-app.h: to be included by each app having translations
286         * gst/gst-i18n-lib.h: to be included by each lib having translations
287         * gst/gst.c: (init_pre): fix up gettext calls
288         * gst/gst_private.h: remove i18n stuff, moving to separate headers
289         * po/LINGUAS: the new way to specify translations present
290         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
291         * po/Makevars: the variables filled in for GStreamer
292         * po/POTFILES.in: added new files with translations
293         * po/de.po: has new strings
294         * po/nl.po: readded, has new strings
295
296 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
297
298         * gst/gsttag.c: fix some strings marked for translation
299
300 2004-01-13  Iain <iain@prettypeople.org>
301
302         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
303         group when we add an element to it, cos we unref it when we remove one
304
305 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
306
307         * testsuite/debug/commandline.c: (debug_not_reached):
308         * testsuite/debug/output.c: (check_message):
309           fix testsuite
310
311 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
312
313         * examples/cutter/.cvsignore:
314         * examples/helloworld/.cvsignore:
315         * examples/launch/.cvsignore:
316         * examples/manual/.cvsignore:
317         * examples/mixer/.cvsignore:
318         * examples/pingpong/.cvsignore:
319         * examples/plugins/.cvsignore:
320         * examples/queue/.cvsignore:
321         * examples/queue2/.cvsignore:
322         * examples/queue3/.cvsignore:
323         * examples/queue4/.cvsignore:
324         * examples/retag/.cvsignore:
325         * examples/thread/.cvsignore:
326         * examples/typefind/.cvsignore:
327         * examples/xml/.cvsignore:
328         * gst/.cvsignore:
329         * gst/autoplug/.cvsignore:
330         * gst/elements/.cvsignore:
331         * gst/indexers/.cvsignore:
332         * gst/parse/.cvsignore:
333         * gst/registries/.cvsignore:
334         * gst/schedulers/.cvsignore:
335         * libs/gst/bytestream/.cvsignore:
336         * libs/gst/control/.cvsignore:
337         * libs/gst/getbits/.cvsignore:
338         * tests/.cvsignore:
339         * tests/bufspeed/.cvsignore:
340         * tests/instantiate/.cvsignore:
341         * tests/memchunk/.cvsignore:
342         * tests/muxing/.cvsignore:
343         * tests/sched/.cvsignore:
344         * tests/seeking/.cvsignore:
345         * tests/threadstate/.cvsignore:
346         * testsuite/.cvsignore:
347         * testsuite/caps/.cvsignore:
348         * testsuite/cleanup/.cvsignore:
349         * testsuite/dynparams/.cvsignore:
350         * testsuite/plugin/.cvsignore:
351         * tools/.cvsignore:
352           update - this is huge, because it includes *.bb, *.bbg and *.da files
353           which are generated for gcov.
354
355 2004-01-11  David Schleef  <ds@schleef.org>
356
357         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
358         a function to parse integers in ways that strto[u]l() does not.
359
360 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
361
362         * tools/gst-inspect.c: (print_caps):
363           improve output of caps a bit
364
365 2004-01-11  David Schleef  <ds@schleef.org>
366
367         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
368         inherit correct flags (READONLY and DONTKEEP).
369
370 2004-01-11  David Schleef  <ds@schleef.org>
371
372         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
373         (gst_filesrc_map_region):
374         * gst/gstbuffer.c: (_gst_buffer_initialize),
375         (_gst_buffer_sub_free), (gst_buffer_default_copy),
376         (gst_buffer_new), (gst_buffer_create_sub),
377         (gst_buffer_is_span_fast), (gst_buffer_span):
378         * gst/gstbuffer.h:
379         Change GstBuffer private structure element names. (all files)
380         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
381         (gst_queue_link):
382         * gst/gstqueue.h:
383         Implement getcaps/pad_link functions that handle the case where
384         there are data in the queue.
385
386 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
387
388         * gst/elements/gstbufferstore.c:
389           initialize debugging structure correctly
390         * gst/elements/gsttee.c: (gst_tee_set_property):
391           g_object_notify when property was changed
392         * gst/elements/gsttypefindelement.c:
393         (gst_type_find_element_change_state):
394           clear caps correctly
395
396 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
397
398         * gst/gstqueue.c: (gst_queue_init):
399           Use better defaults for when a queue should block. This
400           gets rid of jerky playback for quite a few files.
401           It takes more memory.
402
403 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
404
405         (gst_xml_registry_parse_padtemplate):
406           make critical message slightly more useful
407
408 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
409
410         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
411         (gst_debug_message_get), (gst_debug_log_default):
412         * gst/gstinfo.h:
413           Change gst_debug_log(_valist) to take a const format string.
414           Change prototype of log function and functions using those to 
415           take a GstDebugMessage instead of a string that requires using
416           gst_debug_message_get.
417
418 2004-01-08  David Schleef  <ds@schleef.org>
419
420         * Makefile.am:
421         * configure.ac:
422         Add option --enable-gcov to build GStreamer with -fprofile-arcs
423         and -ftest-coverage, which allows gcov to show information about
424         testsuite coverage.
425
426 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
427
428         * gst/gstutils.h:
429           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
430           GST_PARENT_CALL_WITH_DEFAULT
431         * gst/elements/gstaggregator.c: 
432         * gst/elements/gstbufferstore.c: 
433         * gst/elements/gstfakesink.c: 
434         * gst/elements/gstfakesrc.c: 
435         * gst/elements/gstfdsink.c: 
436         * gst/elements/gstfdsrc.c: 
437         * gst/elements/gstfilesink.c: 
438         * gst/elements/gstfilesrc.c: 
439         * gst/elements/gstidentity.c: 
440         * gst/elements/gstmd5sink.c: 
441         * gst/elements/gstmultidisksrc.c:
442         * gst/elements/gstpipefilter.c: 
443         * gst/elements/gstshaper.c:
444         * gst/elements/gststatistics.c:
445         * gst/elements/gsttee.c:
446         * gst/elements/gsttypefindelement.c:
447           use them.
448
449 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
450
451         * docs/gst/gstreamer-docs.sgml: remove props
452         * docs/gst/gstreamer-sections.txt: remove props
453         * docs/gst/tmpl/gst.sgml:
454         * docs/gst/tmpl/gstbin.sgml:
455         * docs/gst/tmpl/gstbuffer.sgml:
456         * docs/gst/tmpl/gstcaps.sgml:
457         * docs/gst/tmpl/gstclock.sgml:
458         * docs/gst/tmpl/gstelement.sgml:
459         * docs/gst/tmpl/gstindex.sgml:
460         * docs/gst/tmpl/gstobject.sgml:
461         * docs/gst/tmpl/gstpad.sgml:
462         * docs/gst/tmpl/gstpadtemplate.sgml:
463         * docs/gst/tmpl/gstreamer-unused.sgml:
464         * docs/gst/tmpl/gstthread.sgml:
465         * docs/gst/tmpl/gstxml.sgml:
466           sync with code reorganization
467
468 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
469
470         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
471         Make the 'Could not find compatible pad' message more informative.
472
473 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
474                                                                                 
475         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
476           Fix for if we pass NULL as property to location.
477         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
478         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
479           Fix for instantiate-test (see below).
480         * gst/gststructure.c: (_gst_structure_parse_value):
481           Fix compile error on gcc-2.96.
482         * configure.ac:
483         * tests/Makefile.am:
484         * tests/instantiate/Makefile.am:
485         * tests/instantiate/create.c: (create_all_elements), (main):
486           Add a test that instantiates all elements. This makes it easy to
487           track dead code for old API/design (like setting event functions
488           on sink pads and so on).
489
490 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
491
492         * gst/gstcaps.c: (gst_caps_append_structure):
493           Move the poisoning to allow a NULL structure
494         * gst/gstevent.c: (_gst_event_free):
495           When freeing a navigation event, free the structure
496           also
497
498 2004-01-04  David Schleef  <ds@schleef.org>
499
500         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
501         Remove usage of gst_pad_proxy_fixate.
502         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
503         (gst_caps_split_one), (gst_caps_replace):
504         Add poisoning code.
505         * gst/gstmarshal.list:
506         Add pointer__pointer for fixate signal
507         * gst/gstpad.c: (gst_real_pad_class_init),
508         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
509         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
510         (gst_pad_set_explicit_caps), (gst_pad_template_new):
511         Add poisoning code. Add fixate signal on RealPad. Change
512         set_explicit_caps() to take const GstCaps, like try_set_caps().
513         * gst/gstpad.h:
514         * testsuite/caps/Makefile.am:
515         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
516
517 2004-01-03  David Schleef  <ds@schleef.org>
518
519         * gst/elements/gsttypefindelement.c:
520         (gst_type_find_element_have_type), (gst_type_find_element_init):
521         Use gst_pad_use_explicit_caps for src pad.
522         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
523         before using it.
524
525 2004-01-03  David Schleef  <ds@schleef.org>
526
527         * gst/gstelement.c: (gst_element_link_pads_filtered),
528         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
529         that linking was successful.
530         * gst/gstpad.c: (gst_pad_link_free),
531         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
532         (gst_pad_link_try), (gst_pad_link_unnegotiate),
533         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
534         GstPadLinkReturn correctly between functions, and don't fail
535         when DELAYED is used (DELAYED is very important).  Better
536         cleanup on unlinking and unnegotiation.  Should fix some spider
537         bugs.
538
539 2004-01-02  David Schleef  <ds@schleef.org>
540
541         * gst/gstelement.c: (gst_element_class_init),
542         (gst_element_base_class_init): ->padtemplates should be cleared
543         in base_init, since we need to have a fresh list for every
544         class.  (Alternately, we chould copy the list and share the
545         actual pad templates (not the list), but that would require
546         changing every plugin to move pad template registration from
547         base_init to class_init.)
548
549 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
550
551         * gst/gstelement.c: (gst_element_class_add_pad_template):
552           Refuse registering a pad template if another pad template
553           with the same name already exists (#114715).
554
555 2004-01-02  David Schleef  <ds@schleef.org>
556
557         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
558         (gst_caps_is_equal_fixed): Add new function.
559         * gst/gstcaps.h: ditto.
560         * gst/gstpad.c: (gst_real_pad_class_init),
561         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
562         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
563         check new caps against existing caps -- if they're the same, return
564         OK without renegotiating.  caps-nego-failed signal fixed so that
565         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
566         to save an extra caps copy.  Don't complete negotiation if a pad
567         link function returns DELAYED.
568
569 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
570
571         * gst/gstpad.c: (gst_pad_try_relink_filtered):
572           Fix wrong g_return_if_fail
573
574 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
575
576         * gst/gstbin.c: (gst_bin_class_init):
577         Change the marshalling of element_added/element_removed
578         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
579         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
580
581 2004-01-01  David Schleef  <ds@schleef.org>
582
583         * gst/gstpad.c: (gst_pad_set_explicit_caps),
584         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
585         (gst_pad_use_explicit_caps):
586         * gst/gstpad.h:
587         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
588         to use an internal getcaps and link fuction so that negotiation
589         always results in the explicitly set caps.
590         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
591         are particularly useful for decoders.
592
593 2003-12-31  David Schleef  <ds@schleef.org>
594
595         * gst/elements/gstidentity.c: (gst_identity_class_init),
596         (gst_identity_init), (gst_identity_chain),
597         (gst_identity_set_property), (gst_identity_get_property):
598         * gst/elements/gstidentity.h:
599         * gst/gstqueue.c: (gst_queue_init):
600           Negotiation fixes.
601
602 2003-12-31  David Schleef  <ds@schleef.org>
603
604         * gst/gstcaps.c: (gst_caps_intersect),
605         (_gst_caps_normalize_foreach), (gst_caps_normalize):
606           Implement gst_caps_normalize().
607         * testsuite/caps/normalisation.c: (main):
608           Add an additional test
609
610 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
611
612         * gst/gstqueue.c: (gst_queue_init):
613           use gst_pad_proxy_getcaps()
614
615 2003-12-31  David Schleef  <ds@schleef.org>
616
617         * gst/elements/gstshaper.c: (gst_shaper_link):
618         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
619         * gst/gstqueue.c: (gst_queue_link):
620           Negotiation fixes.
621
622 2003-12-31  David Schleef  <ds@schleef.org>
623
624         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
625         * gst/gstpad.h: Add functions that are useful as default pad
626         link and fixate functions for elements.
627
628 2003-12-30  David Schleef  <ds@schleef.org>
629
630         * gst/gstpad.c: (gst_pad_link_try):
631           Fix segfault when attempting to return to old caps
632
633 2003-12-29  David Schleef  <ds@schleef.org>
634
635         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
636         (gst_caps_structure_simplify), (gst_caps_simplify):
637         * gst/gstcaps.h:
638           Add simplify function
639         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
640         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
641         * gst/gstpad.h:
642           Copy over srcnotify, sinknotify when calling old pad_link
643           functions.  Add new is_negotiated() function.
644         * gst/gststructure.c: (gst_structure_copy):
645           Fix an incredibly stupid bug that should have been noticed
646           weeks ago.  _copy() returned the argument, not the new copy.
647
648 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
649
650         * gst/gstcaps.c: (gst_caps_append):
651           add sanity checks
652         * gst/gstcaps.h: (gst_caps_debug):
653           remove, it doesn't exist anymore.
654         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
655         (gst_element_threadsafe_properties_post_run):
656           make debugging messages not clutter up THREAD debug category
657         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
658         (gst_element_change_state):
659           update to new caps API
660         * gst/gstinterface.c: (gst_implements_interface_cast):
661           don't put vital code in g_return_if_fail
662         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
663         (gst_pad_link_filtered):
664           add pst_pad_try_link and use it.
665         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
666           implement correctly, deprecate first one.
667         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
668           add and implement.
669         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
670           implement.
671         (gst_pad_get_negotiated_caps):
672           add and implement. Make GST_PAD_CAPS call this function.
673         (gst_pad_get_caps):
674           remove unneeded check..
675         (gst_pad_recover_caps_error):
676           disable, always return FALSE.
677         (gst_real_pad_dispose):
678           don't free caps and appfilter anymore, they're unused.
679         * gst/gstpad.h:
680           Reflect changes mentioned above.
681         * gst/gstsystemclock.c: (gst_system_clock_wait):
682           Make 'clock is way behind' a debugging message.
683         * gst/gstthread.c: (gst_thread_change_state):
684           Fix debugging message
685
686 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
687
688         * gst/gstinfo.h:
689           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
690         * docs/gst/tmpl/gstreamer-unused.sgml:
691           removed all traces of cvs conflicts
692
693 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
694
695         * configure.ac:
696         * gst/schedulers/cothreads_compat.h:
697         * libs/Makefile.am:
698           remove last instances of wingo cothread usage
699
700 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
701
702         * gst/gstplugin.c:
703         * gst/gstversion.h.in:
704         * gst/parse/grammar.y:
705           change comment block from /** to /* when not gtk-doc comments
706
707 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
708
709         * gst/gst.c: whitespace and doc style fixes
710
711 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
712
713         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
714
715 2003-12-24  Colin Walters  <walters@verbum.org>
716
717         * gst/elements/gsttypefindelement.c:
718           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
719           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
720           Don't double-free caps.
721
722 2003-12-23  David Schleef  <ds@schleef.org>
723
724         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
725           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
726           Many little fixes and additions of debug statements to
727           get rhythmbox working.
728
729 2003-12-23  Colin Walters  <walters@verbum.org>
730
731         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
732         Use GST_PAD_LINK_SUCCESSFUL.
733
734 2003-12-23  David Schleef  <ds@schleef.org>
735
736         * gst/elements/gstaggregator.c:
737         * gst/elements/gsttee.c:
738           Use gst_pad_proxy_getcaps().
739         * gst/gstpad.c:
740         * gst/gstpad.h:
741           Add gst_pad_proxy_getcaps(), which filter elements can use
742           as a generic getcaps implementation.
743           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
744           was advertised.
745
746 2003-12-23  David Schleef  <ds@schleef.org>
747
748         * gst/gstpad.c:
749           Rearrange/rewrite much of the pad negotiation code, since it
750           resembled pasta.  This actually changes the way some
751           negotiation works, since the previous code was inconsistent
752           depending on how it was invoked.  Add (internal) structure
753           GstPadLink, which is used to hold some information (more in
754           the future) about the link between two pads.  Fixes a number
755           of bugs, including random lossage of filter caps when the
756           initial negotiation is delayed.  A few functions are still
757           unimplemented.
758         * gst/gstpad.h:
759           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
760           these when testing GstPadLinkReturn values instead of comparing
761           directly.
762
763 2003-12-23  David Schleef  <ds@schleef.org>
764
765         * gst/gstvalue.c: 
766         * gst/gstvalue.h:
767           Rearrange lots of code.  Change registration of compare function
768           into registration of compare/serialize/deserialize functions.
769           Doesn't include implementation of gst_value_[de]serialize(),
770           but that should be easy.
771
772 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
773
774         * docs/gst/gstreamer-sections.txt:
775         * docs/gst/tmpl/gstprops.sgml: removed
776         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
777           David removed props and caps code, so let's remove their docs as well.
778           Removed all no longer existing symbols from gstreamer-sections.txt
779           
780 2003-12-22  Colin Walters  <walters@verbum.org>
781
782         * gst/gsttaginterface.c, gst/gsttaginterface.h,
783           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
784           of tags directly.
785
786 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
787
788         * gst/elements/gstelements.c:
789           Set ranks of elements to NONE, so the autoplugger doesn't use them.
790         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
791           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
792           gst_caps (peer).
793
794 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
795
796         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
797         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
798         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
799         (gst_spider_identity_sink_loop_type_finding):
800         * gst/autoplug/gstspideridentity.h:
801           Fix autoplugging in spider element, so it works with new caps.
802           This was mainly caused by identifying empty caps incorrectly.
803
804 2003-12-22  David Schleef  <ds@schleef.org>
805
806         * gststructure.c, gstvalue.c, gstvalue.h: Add
807           gst_value_init_and_copy() and use it, to avoid silly mistakes in
808           using g_value_copy()
809
810 2003-12-21  David Schleef  <ds@schleef.org>
811
812         * many, many files: Merge CAPS branch.  This includes:
813           - implemention of GstValue and several GstValue types
814           - implemention of GstStructure
815           - entire rewrite of GstCaps
816           - removal of GstProps
817           - many changes to GstPad to compensate for new caps paradigm
818           - removal of GstBufferpool
819         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
820         gstvalue.h, gst/gstcaps[2]*.[ch]:
821           - rename gstcaps2.[ch] to gstcaps.[ch]
822
823 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
824
825         * gst/gstqueue.c: (gst_queue_handle_pending_events),
826         (gst_queue_chain), (gst_queue_handle_src_event):
827           implement timeout for sending events. Workaround for if the
828           pipeline on this queue is not passing any data.
829
830 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
831                                                                                 
832         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
833         * moved CVS to freedesktop.org
834