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