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