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