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