814e1b798c61b6e1a31ffb9aa49ba6a595d81954
[platform/upstream/gstreamer.git] / ChangeLog
1 2004-02-25  Andy Wingo  <wingo@pobox.com>
2
3         * gst/gstpad.c (gst_pad_link_prepare): Re-add
4         gst_pad_link_prepare. Please email the list with specific reasons
5         for reverting.
6
7 2004-02-24  Andy Wingo  <wingo@pobox.com>
8
9         * gst/gstelement.c (gst_element_dispose): Protect against multiple
10         invocations.
11
12         * gst/schedulers/gstoptimalscheduler.c
13         I added a mess of prototypes at the top of the file by way of
14         documentation. Some of the operations on chains and groups were
15         re-organized.
16
17         (create_group): Added a type argument so if the group is enabled,
18         the setup_group_scheduler knows what to do.
19         (group_elements): Added a type argument here, too, to be passed on
20         to create_group.
21         (group_element_set_enabled): If an unlinked PLAYING element is
22         added to a bin, we have to create a new group to hold the element,
23         and this function will be called before the group is added to the
24         chain. Thus we have a valid case for group->chain==NULL. Instead
25         of calling chain_group_set_enabled, just set the flag on the group
26         (the chain's status will be set when the group is added to it).
27         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
28         Setup the group scheduler when the group is enabled, not
29         specifically when an element goes PAUSED->PLAYING. This means
30         PLAYING elements can be added, linked, and scheduled into a
31         PLAYING pipeline, as was intended.
32         (add_to_group): Don't ref the group twice. I don't know when this
33         double-ref got in here. Removing it has the potential to cause
34         segfaults if other parts of the scheduler are buggy. If you find
35         that the scheduler is segfaulting for you, put in an extra ref
36         here and see if that hacks over the underlying issue. Of course,
37         then find out what code is unreffing a group it doesn't own...
38         (create_group): Make the extra refcount floating, and remove it
39         after adding the element. This means that...
40         (unref_group): Destroy when the refcount reaches 0, not 1, like
41         every other refcounted object in the known universe.
42         (remove_from_group): When a group becomes empty, set it to be not
43         active, and remove it from its chain. Don't unref it again,
44         there's no floating reference any more.
45         (destroy_group): We have to remove the group from the chain in
46         remove_from_group (rather than here) to break refcounting cycles
47         (the chain always has a ref on the group). So assert that
48         group->chain==NULL.
49         (ref_group_by_count): Removed, it was commented out anyway.
50         (merge_chains): Use the remove_from_chain and add_to_chain
51         primitives to do the reparenting, instead of rolling our own
52         implementation.
53         (add_to_chain): The first non-disabled group in the chain's group
54         list will be the entry point for the chain. Because buffers can
55         accumulate in loop elements' peer bufpens, we preferentially
56         schedule loop groups before get groups to avoid unnecessary
57         execution of get-based groups when the bufpens are already full.
58         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
59         (get_group_schedule_function): Ditto.
60         (loop_group_schedule_function): Ditto.
61         (gst_opt_scheduler_loop_wrapper): Ditto.
62         (gst_opt_scheduler_iterate): Ditto.
63
64         I understand the opt scheduler now, yippee!
65
66         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
67         (gst_pad_get_name, gst_pad_set_chain_function) 
68         (gst_pad_set_get_function, gst_pad_set_event_function) 
69         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
70         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
71         (gst_pad_set_query_function, gst_pad_get_query_types) 
72         (gst_pad_get_query_types_default) 
73         (gst_pad_set_internal_link_function) 
74         (gst_pad_set_formats_function, gst_pad_set_link_function) 
75         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
76         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
77         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
78         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
79         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
80         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
81         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
82         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
83         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
84         (gst_pad_event_default_dispatch, gst_pad_event_default) 
85         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
86         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
87         (gst_pad_get_formats_default, gst_pad_get_formats): Better
88         argument checks, and some doc fixes.
89
90         (gst_pad_custom_new_from_template): Um, does anyone
91         use these functions? Actually make a custom pad instead of a
92         normal one.
93         (gst_pad_try_set_caps): Transpose some checks.
94         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
95         the pad is in negotiation.
96         (gst_pad_try_relink_filtered): Use pad_link_prepare.
97         
98         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
99
100         * gst/gstelement.h: 
101         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
102         on the list.
103
104 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
105
106         * gst/gstbin.c: (gst_bin_add):
107           add error for not being able to add elements
108
109 2004-02-22  Julien MOUTTE <julien@moutte.net>
110
111         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
112         audio-codec and video-codec.
113
114 2004-02-22  Benjamin Otte  <otte@gnome.org>
115
116         reported by: Padraig O'Briain <padraig.obriain@sun.com>
117
118         * autogen.sh:
119           replace test -e with test -x for mkinstalldirs to be more portable.
120           (fixes #134816)
121
122 2004-02-22  Benjamin Otte  <otte@gnome.org>
123
124         * gst/gstpad.c:
125           revert last patch from Andy, it makes gst_pad_can_link_filtered much
126           too noisy
127         * gst/gsttag.c: (_gst_tag_initialize):
128         * gst/gsttag.h:
129           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
130         * libs/gst/control/dparam.c: (gst_dparam_attach):
131         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
132           check that types for attached dparams match
133
134 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
135
136         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
137         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
138         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
139
140 2004-02-20  Andy Wingo  <wingo@pobox.com>
141
142         * gst/gstbin.c:
143         * gst/gstbuffer.c:
144         * gst/gstplugin.c:
145         * gst/registries/gstxmlregistry.c: 
146         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
147
148         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
149         (gst_element_add_pad): DEBUG->INFO, some fixes.
150         (gst_element_get_compatible_pad_template): Just see if the
151         templates' caps intersect, not if one is a strict subset of the
152         other. This conforms more to what gst_pad_link_intersect() does.
153         (gst_element_class_add_pad_template): Don't memcpy the pad
154         template, just ref it.
155         (gst_element_get_compatible_pad_filtered): Clean up debug messages
156
157         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
158         (gst_pad_link_filtered): Debug changes.
159         (gst_pad_link_prepare): New function, consolidated from
160         can_link_filtered and link_filtered.
161
162         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
163         look more like that of the functions in gstelement.c
164
165         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
166         object, and return the empty string if object is NULL.
167
168         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
169         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
170         LOG, not DEBUG. We still get flex info on debug.
171
172         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
173         debug string more verbose.
174         (plugin_times_older_than): DEBUG->LOG.
175
176 2004-02-20  Julien MOUTTE <julien@moutte.net>
177
178         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
179         will emit found_tag for each stream they demux with the codec.
180
181 2004-02-20  Benjamin Otte  <otte@gnome.org>
182
183         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
184           copy navigation event correctly. Check freeing tag lists. 
185         * gst/gstthread.c: (gst_thread_change_state):
186           don't abort() on state changing mess - it might happen because of
187           bugs.
188         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
189           use boxed functions
190         * gst/gstvalue.h:
191           fix GST_VALUE_HOLDS_CAPS
192
193 2004-02-19  David Schleef  <ds@schleef.org>
194
195         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
196         and use it for GST_FUNCTION.  (bug #134750)
197
198 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
199
200         * po/fr.po:
201         * po/nl.po:
202           updating translations
203
204 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
205
206         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
207
208 2004-02-18  kost@imn.htwk-leipzig.de
209
210         reviewed by: David Schleef  <ds@schleef.org>
211
212         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
213         for libgstcontrol.
214
215 2004-02-18  David Schleef  <ds@schleef.org>
216
217         * libs/gst/control/dparam.c: (gst_dparam_class_init):
218         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
219         (gst_dpsmooth_new): Additional fixes to get double dparams working.
220         * tools/gst-inspect.c: (print_element_info): Support dumping of
221         double dparam information.
222
223 2004-02-17  David Schleef  <ds@schleef.org>
224
225         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
226         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
227         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
228         Use GST_TYPE_CAPS in signal prototype.
229         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
230         Convert GST_TYPE_CAPS to boxed.
231         * gst/gstelement.c: (gst_element_class_init):
232         Use GST_TYPE_TAG_LIST in signal prototype.
233         * gst/gstindex.c: (gst_index_class_init):
234         * gst/gstindex.h:
235         Add GST_TYPE_INDEX_ENTRY type.
236         * gst/gstmarshal.list:
237         Add necessary marshal types.
238         * gst/gstpad.c: (gst_real_pad_class_init),
239         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
240         (gst_pad_recover_caps_error):
241         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
242         * gst/gststructure.c: (_gst_structure_initialize),
243         (gst_structure_copy), (_gst_structure_copy_conditional):
244         * gst/gststructure.h:
245         Convert GST_TYPE_STRUCTURE to boxed.
246         * gst/gsttag.c: (gst_tag_list_get_type):
247         * gst/gsttag.h:
248         Add GST_TYPE_TAG_LIST type.
249
250 2004-02-17  Julien MOUTTE  <julien@moutte.net>
251
252         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
253         to what we agreed with david.
254         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
255
256 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
257
258         * po/nl.po: update translation
259
260 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
261
262         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
263           throw an error if spider is trying to play a mime type there is
264           no decoder for
265         * po/POTFILES.in:
266           add gst/autoplug/gstspider.c for translation
267
268 2004-02-17  Julien MOUTTE  <julien@moutte.net>
269
270         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
271         silently when the pad is negotiating.
272
273 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
274
275         * docs/faq/Makefile.am:
276           add script to run gstreamer uninstalled 
277         * docs/faq/faq.xml:
278         * docs/faq/developing.xml:
279         * docs/faq/gst-uninstalled:
280           extract script to run gstreamer uninstalled
281         * docs/manuals.mak:
282           add EXTRA_SOURCES variable for Makefile.am's to set to
283           use additional SOURCE files for the doc build
284
285 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
286
287         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
288
289 2004-02-15  Julien MOUTTE  <julien@moutte.net>
290
291         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
292         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
293         an error was thrown by osssink. Basically a state change failure for
294         an element in a different scheduling group was considered as successfull
295         , which means that caps nego was going on and weird stuff happened. Like
296         i wrote in the comment there, if someone want to revert that please
297         drop me a mail explaining why because i really see no point in keeping
298         that broken behaviour there.
299         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
300         be empty, we then return NULL which will trigger a nice error when 
301         pulling from the pad.
302
303 2004-02-13  David Schleef  <ds@schleef.org>
304
305         * libs/gst/control/dparam.c: (gst_dparam_class_init),
306         (gst_dparam_get_property), (gst_dparam_set_property),
307         (gst_dparam_do_update_default):
308         * libs/gst/control/dparam.h:
309         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
310         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
311         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
312         (gst_dpsmooth_do_update_double):
313         * libs/gst/control/dparam_smooth.h:
314         * libs/gst/control/dparammanager.c:
315         (gst_dpman_inline_direct_update):
316         Add support for double dparams.
317
318 2004-02-13  David Schleef  <ds@schleef.org>
319
320         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
321         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
322
323 2004-02-13  Mattias Wadman  <mattias@sudac.org>
324
325         reviewed by: David Schleef  <ds@schleef.org>
326
327         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
328         (gst_fdsrc_init), (gst_fdsrc_set_property),
329         (gst_fdsrc_get_property), (gst_fdsrc_get):
330         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
331         and sends an EOS event if file descriptor reading times out.
332
333 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
334
335         * configure.ac:
336           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
337
338 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
339
340         * configure.ac: pass required libxml version as argument
341         (bug reported by Christophe Fergeau)
342
343 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
344   
345         * docs/gst/gstreamer-docs.sgml:
346         * docs/gst/tmpl/gstxml.sgml:
347         * docs/libs/gstreamer-libs-docs.sgml:
348           version API docs
349
350 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
351
352         * gst/gstinfo.c:
353         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
354         (gst_registry_pool_feature_filter):
355         * gst/gstthread.c: (gst_thread_class_init):
356         * gst/gstvalue.c:
357           add includes exposed by building without libxml
358         * gst/indexers/Makefile.am:
359           do not build fileindex when LOADSAVE disabled; we should have
360           a better libxml check later since fileindex depends on xml, not
361           LOADSAVE or REGISTRY
362         * libs/gst/control/Makefile.am:
363           link with m
364         * tools/Makefile.am:
365           fix wrong source code for gst-xmlinspect
366
367 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
368
369         * configure.ac:
370           fix gcov help output
371           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
372         * docs/random/release:
373           some updated releasing notes
374         * gstreamer.spec.in:
375           more updates
376
377 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
378
379         * docs/faq/faq.xml:
380         * docs/manual/manual.xml:
381         * docs/pwg/pwg.xml:
382         * docs/pwg/titlepage.xml:
383           put version in documentation
384
385 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
386
387         * tools/Makefile.am: fix man page installation
388
389 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
390
391         * configure.ac:
392           don't check for libxml when load/save and registry disabled (#105844)
393         * gstreamer.spec.in:
394           sync with fedora candidate spec
395
396 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
397
398         * po/fr.po:
399         * po/nl.po:
400           replace multidisksrc with multifilesrc
401
402 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
403
404         * po/POTFILES.in:
405           update to multidisksrc => multifilesrc file renaming (#134145)
406
407 2004-02-11  David Schleef  <ds@schleef.org>
408
409         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
410         * docs/gst/tmpl/gstpadtemplate.sgml: same
411         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
412         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
413         fixing dance.
414         * gst/gstutils.c: Remove disabled code that uses GstProps.
415         * gst/registries/gstxmlregistry.h: same
416         * docs/random/ds/0.9-suggested-changes: random notes
417
418 2004-02-11  kost@imn.htwk-leipzig.de
419
420         reviewed by: David Schleef  <ds@schleef.org>
421
422         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
423         initialisation of clock (bug #134128)
424
425 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
426
427         * configure.ac:
428         * gst/elements/Makefile.am:
429         * gst/elements/gstelements.c:
430         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
431         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
432         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
433         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
434         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
435         * gst/elements/gstmultifilesrc.h:
436           rename multidisksrc to multifilesrc (part of #122200)
437
438 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
439
440         * docs/manuals.mak:
441           fix automake complaints
442         * gst-element-check.m4:
443           fix unquotedness
444
445 2004-02-11  David Schleef  <ds@schleef.org>
446
447         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
448         * gst/gstatomic_impl.h: Disable sparc implementation.
449
450 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
451
452         * gst-element-check.m4:
453           fix underquoted macros as reported by automake 1.8.x (#133800)
454         * configure.ac:
455           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
456           by autopoint (fixes #132996)
457
458 2004-02-10  Andy Wingo  <wingo@pobox.com>
459
460         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
461         way to do inheritance.
462         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
463         (gst_pad_get_query_types, gst_pad_get_query_types_default):
464         Routine docs.
465         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
466         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
467         doc.
468         (gst_pad_unlink, gst_pad_is_linked): Docs.
469         (gst_pad_renegotiate): A brief description of capsnego.
470         (gst_pad_try_set_caps): Document.
471         (gst_pad_try_set_caps_nonfixed): Document.
472         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
473         (gst_pad_set_parent): Deprecated (although not out of the API).
474         (gst_pad_get_parent): Deprecated, although many plugins use this.
475         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
476         are private and will go away in 0.9.
477         (gst_pad_perform_negotiate): Doc.
478         (gst_pad_link_unnegotiate): I think this is meant to be static.
479         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
480         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
481         (gst_pad_get_peer): Doc updates.
482         (gst_pad_caps_change_notify): Doc.
483         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
484         (gst_ghost_pad_new): Doc fixes.
485
486         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
487         (gst_object_check_uniqueness): 
488
489         * gst/gstelement.c (gst_element_add_pad) 
490         (gst_element_add_ghost_pad, gst_element_remove_pad) 
491         (gst_element_remove_ghost_pad, gst_element_get_pad) 
492         (gst_element_get_static_pad, gst_element_get_pad_list) 
493         (gst_element_class_get_pad_template_list) 
494         (gst_element_class_get_pad_template): Work on the docs.
495         (gst_element_get_pad_template_list): Uses the class method.
496         (gst_element_get_compatible_pad_template): Docs, and consolidate
497         some test conditions. 
498         (gst_element_get_pad_from_template): New static function.
499         (gst_element_request_compatible_pad): Docs, and work with
500         non-request compatible templates. 
501         (gst_element_get_compatible_pad_filtered): Docs and remove
502         redundant checks.
503         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
504         (gst_element_link_filtered, gst_element_link_many) 
505         (gst_element_link, gst_element_link_pads) 
506         (gst_element_unlink_many): Docs.
507
508 2004-02-05  Andy Wingo  <wingo@pobox.com>
509
510         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
511         s/pointer/boxed/.
512
513         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
514
515         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
516         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
517         with the type=GST_TYPE_CAPS. This allows language bindings to know
518         what kind of data they're dealing with.
519
520         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
521         to NULL when g_value_init is called. GstCaps, which rolls its own
522         type implementation, now does the same instead of allocating empty
523         caps.
524         (_gst_caps_initialize, _gst_caps_collect_value,
525         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
526         table methods. This allows G_VALUE_COLLECT to work.
527
528 2004-02-05  Andy Wingo  <wingo@pobox.com>
529
530         * configure.ac:
531         * testsuite/Makefile.am (SUBDIRS): 
532         * testsuite/ghostpads/Makefile.am: 
533         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
534
535         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
536         These two routines are the only ones that set
537         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
538         pad template. They should be made static, depending on ABI needs.
539         (gst_real_pad_dispose): Handle the case of ghost pads without a
540         parent. Assert after dealing with ghost pads that the ghost pad
541         list is empty.
542         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
543         set after creation.
544         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
545         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
546         functions. set_property will call add_ghost_pad/remove_ghost_pad
547         as appropriate.
548         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
549
550         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
551         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
552         (gst_element_remove_pad): Handle ghost pads as well.
553         (gst_element_remove_ghost_pad): Deprecated (could be removed,
554         depending on API-stability needs).
555
556 2004-02-05  Andy Wingo  <wingo@pobox.com>
557
558         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
559         of course they're const
560
561 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
562
563         * tools/Makefile.am:
564         * tools/gst-feedback:
565         * tools/gst-feedback-0.7:
566           make gst-feedback versioned too for consistency
567
568 2004-02-11  David Schleef  <ds@schleef.org>
569
570         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
571         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
572
573 2004-02-10  Julien MOUTTE <julien@moutte.net>
574
575         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
576         the structure does not contain a valid tag list. Adding a safety check
577         to remove a noisy warning in that case.
578
579 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
580
581         * gst/gst.c: fix name to be in line with others
582
583 2004-02-09  Julien MOUTTE <julien@moutte.net>
584
585         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
586         not shout that loud when len is 0. Just return 0 silently.
587
588 2004-02-09  Julien MOUTTE  <julien@moutte.net>
589
590         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
591         because data_unref has one and i prefer the debug to be symetric.
592         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
593         were refed when added to the queue and unrefed only once when the queue
594         was flushed. Now the flush handler unref the buffers two times : first
595         unref for the ref added when pushing in the queue's tail and second
596         unref to destroy the flushed buffer.
597
598 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
599
600         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
601
602 2004-02-06  David Schleef  <ds@schleef.org>
603
604         * docs/random/ds/0.9-suggested-changes: Random ramblings
605         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
606         to int before printing.
607         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
608         * gst/parse/parse.l: same.  See bug #129600
609
610 2004-02-06  David Schleef  <ds@schleef.org>
611
612         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
613         (gst_index_add_entry), (gst_index_add_associationv),
614         (gst_index_add_association): Add gst_index_add_associationv()
615         and clean up gst_index_add_association(). #127133
616
617 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
618
619         * autogen.sh: check out common with right tag if CVS/Tag exists
620
621 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
622
623         * testsuite/ghostpads/ghostpads.c: (main):
624           fix testsuite from segfaulting
625
626 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
627
628         * Makefile.am: add release target
629         * configure.ac: bump nano to 1
630         * docs/random/release:
631
632 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
633
634         * gst/gstcaps.h:
635         * gst/gstelement.c: (gst_element_base_class_init),
636         (gst_element_class_set_details), (gst_element_clear_pad_caps):
637         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
638         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
639         (gst_real_pad_dispose):
640         * gst/gststructure.c: (gst_structure_free),
641         (gst_structure_from_string):
642           put reverted patch back in
643         * gst/gstelement.c: (gst_element_remove_pad):
644           free explicit caps if they're set
645         * gst/gstpad.c: (_gst_pad_default_fixate_func):
646           copy the structure when fixating
647
648 2004-02-05  David Schleef  <ds@schleef.org>
649
650         * gst/gstmarshal.list:
651         * gst/gstpad.c: (gst_real_pad_class_init),
652         (_gst_real_pad_fixate_accumulator):
653         Revert POINTER->BOXED change in signal marshaller.
654
655 === gstreamer 0.7.4 ===
656                                                                                 
657 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
658                                                                                 
659         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
660         * configure.ac: changed for release
661
662 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
663
664         * gstreamer.spec.in:
665           bump required version of gtk-doc
666
667 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
668
669         * gst/gstcaps.h:
670         * gst/gstelement.c: (gst_element_base_class_init),
671         (gst_element_class_set_details), (gst_element_clear_pad_caps):
672         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
673         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
674         (gst_real_pad_dispose):
675         * gst/gststructure.c: (gst_structure_free),
676         (gst_structure_from_string):
677           revert patch that breaks applications, reapply after release
678           to get this fixed properly
679
680 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
681
682         * gst/gsttag.c: (_gst_tag_initialize):
683         * gst/gsttag.h:
684           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
685
686 2004-02-04  David Schleef  <ds@schleef.org>
687
688         Fix some memleaks:
689         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
690         (gst_spider_plug_from_srcpad):
691         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
692
693 2004-02-04  David Schleef  <ds@schleef.org>
694
695         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
696         a GstRealPad before accessing its structure members.
697
698 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
699
700         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
701         (gst_clock_get_speed):
702         * gst/gstclock.h:
703           reset padding, remove unused fields
704
705 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
706
707         * gst/autoplug/gstspideridentity.c:
708         (gst_spider_identity_sink_loop_type_finding):
709           use get_allowed_caps, not get_caps (fixes #132519)
710         * gst/elements/gsttypefind.c: (stop_typefinding):
711           use correct order when sending buffers and seeking
712
713 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
714
715         * configure.ac:
716         * gst/gstelement.h:
717         * gst/gstpad.h:
718         * gst/gstqueue.h:
719           upgrade libtool CURRENT, reset padding
720
721 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
722
723         * configure.ac:
724           bump to prerelease
725           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
726
727 2004-02-04  David Schleef  <ds@schleef.org>
728
729         * docs/random/ds/0.9-suggested-changes: random notes
730         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
731         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
732         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
733         expansion.
734         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
735         (gst_filesink_get_query_types): same
736         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
737         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
738         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
739         to use new GST_PTR_FORMAT.
740         * gst/gstelement.h: deprecate function factory macros
741         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
742         These are our last variadic macros that can't be replaced with
743         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
744         attempting to deprecate gst_element_clock_wait().
745         * gst/gstevent.h: same
746         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
747         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
748         * gst/gstpad.h: deprecate function factory macros similar to above.
749
750 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
751
752         * configure.ac:
753         * tools/Makefile.am:
754         * tools/gst-run.c: (popt_callback), (hash_print_key),
755         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
756         (get_candidates), (main):
757           add new source file to generate non-versioned wrapper binaries
758           for our tools.
759
760 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
761
762         * gst/gstevent.c: (_gst_event_free):
763           actually break; inside the switch statement
764         * gst/parse/grammar.y:
765           fix memleak where GValues weren't unset
766
767 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
768
769         * gst/gststructure.c: (gst_structure_from_string):
770           fix huge memleak
771         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
772         (new_entry), (gst_type_find_element_chain):
773         * gst/gstelement.c: (gst_element_base_class_init),
774         (gst_element_class_set_details):
775         * gst/gstpad.c: (gst_pad_can_link_filtered):
776           fix smaller memleaks
777         * gst/gstpad.c: (gst_real_pad_dispose):
778           check that explicit caps are gone
779         * gst/gststructure.c: (gst_structure_free):
780           actually free the structure
781         * gst/gstelement.c: (gst_element_clear_pad_caps):
782           unset explicit caps
783
784 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * tools/Makefile.am:
787           use AM_CFLAGS since all the CFLAGS are the same
788           use AM_LDFAGS
789
790 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
791
792         * docs/manual/gnome.xml:
793           expand example a little
794         * gst/gst.c: (gst_init_with_popt_table),
795         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
796           make sure popt option displays are done with right textdomain
797           use GstPoptOption type
798         * gst/gst.h:
799           create GstPoptOption type
800
801 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
802
803         * gst/gsterror.c: (_gst_stream_errors_init):
804         * gst/gsterror.h:
805           adding error type for no codec
806         * po/POTFILES.in:
807           add gst-inspect
808         * po/nl.po:
809           update dutch translation
810         * tools/gst-inspect.c: (print_element_list), (main):
811           do proper internationalization
812         * tools/gst-launch.c: (idle_func):
813           remove commented out function call
814
815 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
816
817         * docs/README:
818           add some error fixing notes
819         * docs/gst/gstreamer-sections.txt:
820           remove double entries
821         * docs/gst/tmpl/gstbin.sgml:
822         * docs/gst/tmpl/gstclock.sgml:
823           remove override
824         * docs/gst/tmpl/gstelement.sgml:
825         * docs/gst/tmpl/gstindex.sgml:
826         * docs/gst/tmpl/gstobject.sgml:
827         * docs/gst/tmpl/gstpadtemplate.sgml:
828         * docs/gst/tmpl/gstreamer-unused.sgml:
829         * docs/gst/tmpl/gsttag.sgml:
830         * docs/gst/tmpl/gstthread.sgml:
831         * docs/gst/tmpl/gstxml.sgml:
832         * gst/gsttag.h:
833           sync header prototypes with c decls
834         * gst/gsttaginterface.c:
835           fix doc headers
836
837 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
838
839         * gst/parse/Makefile.am:
840         * gst/gstobject.h:
841           get rid of gstmarshal.h dependency. It's not needed.
842         * gst/gst.h:
843         * gst/elements/gstfakesink.c:
844         * gst/elements/gstfakesrc.c:
845         * gst/elements/gstidentity.c:
846         * gst/gstbin.c:
847         * gst/gstelement.c:
848         * gst/gstindex.c:
849         * gst/gstobject.c:
850         * gst/gstpad.c:
851         * gst/gstthread.c:
852         * gst/gstxml.c:
853         * libs/gst/control/dparam.c:
854         * libs/gst/control/dparammanager.c:
855           include gstmarshal.h.
856         Fixes #132045
857
858 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
859
860         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
861         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
862         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
863         * gst/elements/gstfilesrc.h:
864           don't ref the filesrc when creating mmaped buffers. Don't keep a
865           list of not-yet-destroyed buffers.
866         * gst/gstbuffer.h:
867           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
868
869 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
870
871         * gst/gst.c: (init_pre):
872           remove textdomain
873
874 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
875
876         * docs/pwg/advanced-events.xml:
877         * docs/pwg/advanced-scheduling.xml:
878         * docs/pwg/intro-basics.xml:
879         * docs/pwg/other-manager.xml:
880         * docs/pwg/other-nton.xml:
881         * docs/pwg/other-ntoone.xml:
882         * docs/pwg/other-oneton.xml:
883         * docs/pwg/pwg.xml:
884           All sort of documentation... Forgot what. Point is that I want this
885           in before I leave. The 'other-*' will be the last section and will
886           explain issues specific to these type of elements.
887
888 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
889
890         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
891         (gst_filesrc_get_read):
892           set all the values on buffers that we can
893
894 2004-02-02  David Schleef  <ds@schleef.org>
895
896         Change usage of isblah() to g_ascii_isblah() to be more locale
897         independent.  (#133076)
898         * gst/gsturi.c: (gst_uri_protocol_check_internal):
899         * gst/gstutils.c:
900         * gst/parse/parse.l:
901
902 2004-02-02  Jon Trowbridge  <trow@gnu.org>
903
904         reviewed by: David Schleef  <ds@schleef.org>
905
906         Fix memory leaks:
907         * gst/gstcaps.c: (gst_caps_to_string):
908         * gst/registries/gstxmlregistry.c:
909         (gst_xml_registry_add_path_list_func),
910         (gst_xml_registry_parse_padtemplate):
911
912 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
913
914         * gst/gstelement.c: (gst_element_default_error):
915           suffix error messages with period
916
917 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
918
919         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
920         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
921         * gst/gsterror.c: (gst_error_get_message):
922           Suffix with dots
923         * po/fr.po:
924         * po/nl.po:
925           Update translation files
926
927 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
928
929         * gst/autoplug/gstspideridentity.c:
930         (gst_spider_identity_sink_loop_type_finding):
931         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
932         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
933         (gst_filesink_close_file), (gst_filesink_handle_event),
934         (gst_filesink_chain):
935         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
936         (gst_filesrc_get_read), (gst_filesrc_open_file):
937         * gst/elements/gstidentity.c: (gst_identity_chain):
938         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
939         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
940         (gst_pipefilter_chain), (gst_pipefilter_open_file):
941         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
942         * gst/gsterror.c: (_gst_core_errors_init),
943         (_gst_library_errors_init), (_gst_resource_errors_init),
944         (_gst_stream_errors_init), (gst_error_get_message):
945         * gst/gstpad.c: (gst_pad_set_explicit_caps),
946         (gst_pad_recover_caps_error), (gst_pad_pull):
947         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
948         * gst/schedulers/gstbasicscheduler.c:
949         (gst_basic_scheduler_chainhandler_proxy),
950         (gst_basic_scheduler_gethandler_proxy),
951         (gst_basic_scheduler_cothreaded_chain):
952           Suffix error messages with period.
953           Use (NULL) instead of NULL
954
955 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
956
957         * docs/gst/tmpl/gstelement.sgml:
958         * docs/gst/tmpl/gstxml.sgml:
959         * gst/gstelement.c: (gst_element_error_full):
960           add element path to error
961
962 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
963
964         * docs/random/mimetypes:
965           update raw int/float info
966         * gst/gsttag.c: (_gst_tag_initialize):
967         * gst/gsttag.h:
968           add GST_TAG_ENCODER
969
970 2004-01-30  David Schleef  <ds@schleef.org>
971
972         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
973           missing (#132991)
974
975 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
976
977         reviewed by Benjamin Otte 
978           parts of the patch submitted in bug #113913
979
980         * configure.ac:
981           use AC_C_INLINE. Use = instead of == with test
982         * examples/plugins/example.c:
983         * gst/autoplug/gstspideridentity.c:
984         * gst/elements/gstfdsrc.c:
985         * gst/elements/gstfilesrc.c:
986         * gst/elements/gstidentity.c:
987         * gst/elements/gstmultidisksrc.c:
988         * gst/elements/gststatistics.c:
989         * gst/gstelement.c:
990         * gst/gstobject.c:
991         * gst/gstpad.c:
992         * gst/gstpipeline.c:
993         * gst/gstthread.c:
994           don't end enums with a comma
995         * gst/gstindex.c: (gst_index_compare_func):
996           do explicit casting to gint
997         * gst/gsttrace.c: (gst_trace_text_flush):
998           #define strsize as a macro
999
1000 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1001
1002         * docs/README:
1003         * docs/gst/gstreamer-docs.sgml:
1004         * docs/gst/gstreamer-sections.txt:
1005         * docs/gst/tmpl/gstelement.sgml:
1006         * docs/gst/tmpl/gsterror.sgml:
1007         * docs/gst/tmpl/gstinterface.sgml:
1008         * docs/gst/tmpl/gstreamer-unused.sgml:
1009         * docs/gst/tmpl/gststructure.sgml:
1010         * docs/gst/tmpl/gsttag.sgml:
1011         * docs/gst/tmpl/gsttaginterface.sgml:
1012         * docs/gst/tmpl/gstvalue.sgml:
1013         make sure all API ends up in the built docs
1014         * gst/gstinterface.c:
1015         * gst/gststructure.c: (gst_structure_id_set_value),
1016         (gst_structure_set_value), (gst_structure_id_get_value):
1017         * gst/gststructure.h:
1018         * gst/gstvalue.h:
1019         sync .h with .c declarations
1020
1021 2004-01-30  Julien Moutte  <julien@moutte.net>
1022
1023         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
1024         Ronald will fix riffread.
1025
1026 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1027
1028         * docs/pwg/advanced-interfaces.xml:
1029           Added tuner interface docs.
1030
1031 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1032
1033         * docs/random/mimetypes:
1034           correct Theora information
1035         * gst/gstelement.h:
1036           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
1037
1038 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1039
1040         * gst/gstelement.c: (gst_element_error_full):
1041         * gst/gstelement.h:
1042           GST_ELEMENT_ERROR in enum -> _IN_ERROR
1043
1044 2004-01-29  Julien MOUTTE  <julien@moutte.net>
1045
1046         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
1047         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
1048         again and even before DISCONT.
1049         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
1050         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
1051         bytestream so that it's not stopping to fill the bytestream if events
1052         different than EOS or DISCONT are received. Instead it process them so
1053         that they go downstream.
1054
1055 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1056
1057         * docs/gst/tmpl/gstelement.sgml:
1058         * docs/gst/tmpl/gstreamer-unused.sgml:
1059         * docs/gst/tmpl/gstxml.sgml:
1060         * gst/autoplug/gstspideridentity.c:
1061         (gst_spider_identity_sink_loop_type_finding):
1062         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
1063         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
1064         (gst_filesink_close_file), (gst_filesink_handle_event),
1065         (gst_filesink_chain):
1066         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
1067         (gst_filesrc_get_read), (gst_filesrc_open_file):
1068         * gst/elements/gstidentity.c: (gst_identity_chain):
1069         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
1070         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
1071         (gst_pipefilter_chain), (gst_pipefilter_open_file):
1072         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
1073         * gst/gstelement.h:
1074         * gst/gstpad.c: (gst_pad_set_explicit_caps),
1075         (gst_pad_recover_caps_error), (gst_pad_pull):
1076         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
1077         * gst/schedulers/gstbasicscheduler.c:
1078         (gst_basic_scheduler_chainhandler_proxy),
1079         (gst_basic_scheduler_gethandler_proxy),
1080         (gst_basic_scheduler_cothreaded_chain):
1081           gst_element_error -> GST_ELEMENT_ERROR
1082
1083 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1084
1085         * docs/Makefile.am:
1086         * docs/gst/tmpl/gstelement.sgml:
1087         * docs/gst/tmpl/gstxml.sgml:
1088         * docs/manuals.mak:
1089         * docs/pwg/advanced-request.xml:
1090         * docs/pwg/advanced-scheduling.xml:
1091         * docs/pwg/advanced-tagging.xml:
1092           fix non-validating docbook using CDATA
1093           make sure make check-local gets run first to check if it validates
1094
1095 2004-01-29  Julien MOUTTE <julien@moutte.net>
1096
1097         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
1098         handling (up and downstream).
1099         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
1100         my_filter thing.
1101
1102 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1103
1104         * docs/pwg/advanced-tagging.xml:
1105           Add docs about tag writing.
1106
1107 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1108
1109         * docs/pwg/advanced-tagging.xml:
1110           Add a part about tag reading and application signalling... Tag
1111           writing still needs to be documented.
1112         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
1113           We can set file locations in READY, too.
1114
1115 2004-01-29  Julien MOUTTE <julien@moutte.net>
1116
1117         * docs/random/ds/element-checklist: Adding some notes about src
1118         events.
1119
1120 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1121
1122         * docs/random/mimetypes:
1123           Update docs to point to correct elements for various mimetypes, and
1124           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
1125           <stephane.loeuillet@tiscali.fr>.
1126
1127 2004-01-28  David Schleef  <ds@schleef.org>
1128
1129         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
1130
1131 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1132
1133         * docs/random/mimetypes:
1134           update docs for audio/x-raw-float. Add "buffer-frames=0 means
1135           undefined"
1136         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
1137           make it only work in NULL.
1138         * gst/gstcaps.c:
1139           don't posion NULL caps
1140         * gst/gstelement.c: (gst_element_set_time):
1141           add debugging statement
1142         * gst/gstelement.c: (gst_element_emit_found_tag),
1143         (gst_element_found_tag_func), (gst_element_found_tags):
1144         * gst/gstelement.h:
1145           These functions take const taglists
1146         * gst/gstpad.c: (gst_pad_proxy_getcaps):
1147           fix memleak
1148         * gst/gstpad.c: (gst_pad_event_default):
1149           make more effort on handling discont and clocks, g_warn if everything
1150           fails
1151         * gst/gststructure.c: (gst_structure_remove_fields),
1152         (gst_structure_remove_fields_valist):
1153         * gst/gststructure.h:
1154           add gst_structure_remove_fields(_valist)
1155         * gst/gsttag.c:
1156           fix doc glitch
1157
1158 2004-01-28  David Schleef  <ds@schleef.org>
1159
1160         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
1161         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
1162         Fix memory leakage of gst_caps_to_string().
1163
1164         Use GST_PTR_FORMAT instead of gst_caps_to_string():
1165         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
1166         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
1167         (gst_spider_identity_sink_loop_type_finding):
1168         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
1169         (find_suggest):
1170         * gst/gstpad.c: (gst_pad_try_relink_filtered),
1171         (gst_pad_set_explicit_caps):
1172         * gst/parse/grammar.y:
1173
1174 2004-01-28  David Schleef  <ds@schleef.org>
1175
1176         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
1177         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
1178         * docs/random/ds/0.9-suggested-changes: Notes from Company.
1179         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
1180         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
1181         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
1182         (gst_debug_log_default), (_gst_info_printf_extension),
1183         (_gst_info_printf_extension_arginfo):  Add printf extension.
1184         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
1185         * gst/gststructure.c: (gst_structure_to_string),
1186         (_gst_structure_parse_value): Use gst_value_deserialize() and
1187         remove old code.
1188         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
1189         (gst_value_deserialize_boolean), (gst_strtoi),
1190         (gst_value_deserialize_int), (gst_value_deserialize_double),
1191         (gst_value_deserialize_string), (gst_value_deserialize): Implement
1192         a bunch of deserialize functions and gst_value_deserialize.
1193         * gst/gstvalue.h: er, _de_serialize, not unserialize
1194         * testsuite/caps/string-conversions.c: (main): We don't currently
1195         handle (float) in caps, so convert these to (double).
1196         * testsuite/debug/Makefile.am: Add new test for the printf extension
1197         * testsuite/debug/printf_extension.c: (main): same
1198
1199 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1200
1201         * docs/random/company/time:
1202           Add some docs about clocking and time
1203
1204 2004-01-28  Julien MOUTTE <julien@moutte.net>
1205
1206         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
1207
1208 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1209
1210         * docs/pwg/advanced-clock.xml:
1211         * docs/pwg/advanced-dparams.xml:
1212         * docs/pwg/advanced-events.xml:
1213         * docs/pwg/advanced-interfaces.xml:
1214         * docs/pwg/advanced-midi.xml:
1215         * docs/pwg/advanced-request.xml:
1216         * docs/pwg/advanced-scheduling.xml:
1217         * docs/pwg/advanced-tagging.xml:
1218         * docs/pwg/advanced-types.xml:
1219         * docs/pwg/appendix-checklist.xml:
1220         * docs/pwg/building-boiler.xml:
1221         * docs/pwg/building-chainfn.xml:
1222         * docs/pwg/building-filterfactory.xml:
1223         * docs/pwg/building-pads.xml:
1224         * docs/pwg/building-props.xml:
1225         * docs/pwg/building-signals.xml:
1226         * docs/pwg/building-state.xml:
1227         * docs/pwg/building-testapp.xml:
1228         * docs/pwg/intro-basics.xml:
1229         * docs/pwg/intro-preface.xml:
1230         * docs/pwg/other-autoplugger.xml:
1231         * docs/pwg/other-sink.xml:
1232         * docs/pwg/other-source.xml:
1233         * docs/pwg/titlepage.xml:
1234           fix up id's
1235
1236 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1237
1238         * docs/95NonPath:
1239         * docs/HACKING:
1240         * docs/README:
1241         * docs/building-the-docs-on-debian:
1242           collect relevant bits of doc info
1243
1244 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1245
1246         * docs/pwg/advanced_tagging.xml:
1247           Half-assed commit so Thomas can re-arrange document IDs here to be
1248           consistent, too.
1249
1250 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1251
1252         * docs/manual/autoplugging.xml:
1253         * docs/manual/bins-api.xml:
1254         * docs/manual/bins.xml:
1255         * docs/manual/buffers-api.xml:
1256         * docs/manual/buffers.xml:
1257         * docs/manual/clocks.xml:
1258         * docs/manual/components.xml:
1259         * docs/manual/cothreads.xml:
1260         * docs/manual/debugging.xml:
1261         * docs/manual/dparams-app.xml:
1262         * docs/manual/dynamic.xml:
1263         * docs/manual/elements-api.xml:
1264         * docs/manual/elements.xml:
1265         * docs/manual/factories.xml:
1266         * docs/manual/gnome.xml:
1267         * docs/manual/goals.xml:
1268         * docs/manual/helloworld.xml:
1269         * docs/manual/helloworld2.xml:
1270         * docs/manual/init-api.xml:
1271         * docs/manual/intro.xml:
1272         * docs/manual/links-api.xml:
1273         * docs/manual/links.xml:
1274         * docs/manual/manual.xml:
1275         * docs/manual/motivation.xml:
1276         * docs/manual/pads-api.xml:
1277         * docs/manual/pads.xml:
1278         * docs/manual/plugins-api.xml:
1279         * docs/manual/plugins.xml:
1280         * docs/manual/programs.xml:
1281         * docs/manual/queues.xml:
1282         * docs/manual/quotes.xml:
1283         * docs/manual/schedulers.xml:
1284         * docs/manual/states-api.xml:
1285         * docs/manual/states.xml:
1286         * docs/manual/threads.xml:
1287         * docs/manual/typedetection.xml:
1288         * docs/manual/xml.xml:
1289           use chapter, part, section or misc as id starts for all bits
1290
1291 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1292
1293         * docs/gst/gstreamer-sections.txt:
1294           Fix up TITLE of the sections
1295
1296 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1297
1298         * docs/pwg/advanced_interfaces.xml:
1299           Add documentation on propertyprobing.
1300         * docs/pwg/advanced_events.xml:
1301         * docs/pwg/advanced_tagging.xml:
1302         * docs/pwg/building_boiler.xml:
1303         * docs/pwg/building_filterfactory.xml:
1304         * docs/pwg/pwg.xml:
1305           Move filterfactory and tagging into their own chapter, add a chapter
1306           on events. all these are empty placeholders that will be filled in
1307           some day.
1308
1309 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1310
1311         * docs/pwg/advanced_interfaces.xml:
1312           Docs for mixer interface. Also a check for website uploading.
1313
1314 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1315
1316         * docs/HACKING:
1317         * docs/Makefile.am:
1318         * docs/faq/Makefile.am:
1319         * docs/gst/Makefile.am:
1320         * docs/gst/tmpl/gstelement.sgml:
1321         * docs/gst/tmpl/gstplugin.sgml:
1322         * docs/gst/tmpl/gstreamer-unused.sgml:
1323         * docs/libs/Makefile.am:
1324         * docs/manual/Makefile.am:
1325         * docs/manuals.mak:
1326         * docs/pwg/Makefile.am:
1327         * docs/upload.mak:
1328           Separate out upload target and make it similar for
1329           both docbook and gtk-doc docs
1330
1331 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1332
1333         * docs/manuals.mak:
1334           Fix upload target to work with freedesktop
1335
1336 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1337
1338         * docs/pwg/advanced_types.xml:
1339           Add notes on creating your own types.
1340         * docs/pwg/building_boiler.xml:
1341         * docs/pwg/building_pads.xml:
1342         * docs/pwg/building_state.xml:
1343           Add some stuff about how to retrieve values from structures, how
1344           that relates to types and change layout slightly again to be almost
1345           perfect.
1346
1347 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1348
1349         * docs/pwg/advanced_dparams.xml:
1350         * docs/pwg/advanced_scheduling.xml:
1351           Change index layout slightly.
1352
1353 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1354
1355         * docs/pwg/advanced_clock.xml:
1356         * docs/pwg/advanced_interfaces.xml:
1357         * docs/pwg/advanced_midi.xml:
1358           General placeholders for now.
1359         * docs/pwg/advanced_request.xml:
1360           Explanation about sometimes and request pads.
1361         * docs/pwg/advanced_scheduling.xml:
1362           Concept of bytestream, loopfunctions and schedulers.
1363         * docs/pwg/building_boiler.xml:
1364           Add something about plugin-init.
1365
1366 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1367
1368         * docs/pwg/building_pads.xml:
1369           Fix broken docbook
1370
1371 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1372
1373         * docs/pwg/advanced_interfaces.xml:
1374         * docs/pwg/pwg.xml:
1375           Add as a placeholder for future filling-in.
1376         * docs/pwg/basics_autoplugging.xml:
1377         * docs/pwg/basics_buffers.xml:
1378         * docs/pwg/basics_elements.xml:
1379         * docs/pwg/basics_events.xml:
1380         * docs/pwg/basics_plugins.xml:
1381         * docs/pwg/basics_types.xml:
1382           Remove, because unused (this is all in intro_basics.xml).
1383         * docs/pwg/building_signals.xml:
1384           Short intro to signals + reference to GObject docs - we really
1385           shouldn't go into these sort of things to deply because we don't
1386           use them that extensively anyway.
1387         * docs/pwg/building_state.xml:
1388           Explanation of states. Benjamin, please check.
1389         * docs/pwg/building_testapp.xml:
1390           Put everything in one page - putting only a few lines of content
1391           per page doesn't really make sense.
1392
1393           Time to get into the advanced topics. ;).
1394
1395 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1396
1397         * docs/pwg/advanced_types.xml:
1398           Finish documenting the current state of mimetypes.
1399         * docs/pwg/building_boiler.xml:
1400         * docs/pwg/building_chainfn.xml:
1401         * docs/pwg/building_pads.xml:
1402         * docs/pwg/building_props.xml:
1403         * docs/pwg/building_testapp.xml:
1404           Start documenting the "how to build a simple audio filter" part
1405           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
1406           states and (maybe?) a short introduction to capsnego in the chapter
1407           on pads (building_pads.xml). Capsnego should probably be explained
1408           fully in advanced_capsnego.xml or so.
1409
1410 2004-01-26  David Schleef  <ds@schleef.org>
1411
1412         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
1413         * gst/gstpad.h: Add new function to allow element to (somewhat)
1414         specify non-fixed caps on a pad.
1415         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
1416         that I added a few weeks ago.
1417
1418 2004-01-26  David Schleef  <ds@schleef.org>
1419
1420         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
1421           making try_set_caps() work with non-fixed caps.
1422
1423 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1424
1425         * docs/pwg/advanced_types.xml:
1426         * docs/pwg/intro_basics.xml:
1427         * docs/pwg/intro_preface.xml:
1428         * docs/pwg/pwg.xml:
1429         * docs/pwg/titlepage.xml:
1430           First try to resurrect the PWG. I'm halfway integrating the mimetypes
1431           in here (docs/random/mimetypes), and will from there on work on both
1432           updating outdated parts and adding missing parts.
1433           That doesn't mean I'll fix it completely, but I'll try at least. ;).
1434
1435 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1436
1437         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
1438           policy is set
1439
1440 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1441
1442         * gst/gstelement.h:
1443           remove gst_element_factory_get_version. It doesn't exist anymore.
1444         * gst/gstplugin.c:
1445         * gst/gstplugin.h:
1446           remove gst_plugin_set_name and change gst_plugin_get_longname to
1447           gst_plugin_get_description to match code.
1448         * gst/gsterror.h:
1449           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
1450         * gst/gstpad.c: (gst_pad_try_set_caps):
1451           make it work with nonfixed caps.
1452           Note that even in the nonfixed case the link function of the pad
1453           that tries to set caps isn't called.
1454
1455 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1456
1457         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
1458           fix bug where buffer was not assembled correctly
1459         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
1460           silence by default
1461         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
1462           only seek if there's no more buffers that could work without seeking
1463
1464 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1465
1466         * gst/gsttag.c: (_gst_tag_initialize):
1467         * gst/gsttag.h:
1468           Add application tag (for encoding/muxing app).
1469
1470 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1471
1472         * autogen.sh:
1473           make autopoint force, and libtoolize not copy
1474         * common/m4/as-docbook.m4:
1475           added docbook xml catalog setup check
1476         * common/m4/gst-doc.m4:
1477           use docbook check
1478
1479 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1480
1481         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
1482         * gst/gsttag.h:
1483           add GstTagFlag
1484
1485 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1486
1487         * docs/gst/gstreamer-sections.txt:
1488         * docs/gst/tmpl/gst.sgml:
1489         * docs/gst/tmpl/gstbuffer.sgml:
1490         * docs/gst/tmpl/gstclock.sgml:
1491         * docs/gst/tmpl/gstelement.sgml:
1492         * docs/gst/tmpl/gstreamer-unused.sgml:
1493         * docs/gst/tmpl/gstxml.sgml:
1494           sync latest API changes to docs
1495
1496 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1497
1498         * gst/gstpluginfeature.c:
1499           fix doc snippet
1500         * tools/gst-inspect.c: (print_element_list):
1501           fix output of typefind
1502           add GPL header
1503         * tools/gst-launch.c:
1504           add GPL header
1505
1506 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1507
1508         * gst/elements/Makefile.am:
1509         * gst/elements/gstelements.c:
1510         * gst/elements/gsttypefindelement.c:
1511         * gst/elements/gsttypefindelement.h:
1512         * po/POTFILES.in:
1513         * po/fr.po:
1514         * po/nl.po:
1515           renamed gsttypefindelement to gsttypefind, conserving CVS history
1516
1517 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1518
1519         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
1520         * gst/gsttag.h:
1521           add some tags used in ogg as well
1522           fix _ in replaygain tags
1523
1524 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * gst/gsterror.h:
1527           fix wrong GST_LIBRARY_ERROR_ENCODE addition
1528
1529 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1530
1531         * gst/gstelement.c: (gst_element_error_full):
1532         * gst/gstelement.h:
1533           change _extended to _full
1534
1535 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1536
1537         reviewed by: <delete if not using a buddy>
1538
1539         * docs/gst/tmpl/gst.sgml:
1540         * docs/gst/tmpl/gstbuffer.sgml:
1541         * docs/gst/tmpl/gstclock.sgml:
1542         * docs/gst/tmpl/gstelement.sgml:
1543         * docs/gst/tmpl/gstreamer-unused.sgml:
1544         * docs/gst/tmpl/gstxml.sgml:
1545         * gst/gstelement.c: (gst_element_error_full):
1546         * gst/gstelement.h:
1547
1548 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1549
1550         * gst/gstelement.h: fix _gst_element_error_printf prototype
1551
1552 2004-01-20  David Schleef  <ds@schleef.org>
1553
1554         * gst/gststructure.c: (gst_structure_to_string):
1555         Convert function to use gst_value_serialize().
1556         * gst/gstvalue.c: (gst_value_serialize_list),
1557         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
1558         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
1559         (gst_value_serialize_int), (gst_value_serialize_double),
1560         (gst_string_wrap), (gst_value_serialize_string),
1561         (gst_value_serialize), (gst_value_deserialize):
1562         * gst/gstvalue.h:
1563         Add implementations for serialize.
1564
1565 2004-01-20  Julien MOUTTE  <julien@moutte.net>
1566
1567         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
1568         we want to keep that one in the future or change xvidenc.c to use 
1569         another error.
1570
1571 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1572
1573         * gst/gstelement.c: (_gst_element_error_printf):
1574         * gst/gstelement.h:
1575           privatise function
1576
1577 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1578
1579         * docs/random/error:
1580           doc explaining error system
1581         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
1582           cleanup
1583
1584 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1585
1586         * gst/gst-i18n-app.h:
1587         * gst/gst-i18n-lib.h:
1588           remove inclusion of config.h
1589         * po/POTFILES.in:
1590         * po/nl.po:
1591           add gst/gstelement.c
1592
1593 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1594
1595         * po/nl.po: updated Dutch translation
1596
1597 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1598
1599         * gst/gsterror.c: (_gst_core_errors_init),
1600         (_gst_library_errors_init), (_gst_resource_errors_init),
1601         (_gst_stream_errors_init):
1602         remove ending punctuation dots
1603
1604 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
1607         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
1608         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
1609         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
1610         (gst_pipefilter_chain), (gst_pipefilter_open_file):
1611         use GST_ERROR_SYSTEM
1612
1613 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1614
1615         * gst/gstelement.c: (gst_element_error_printf),
1616         (gst_element_error_extended):
1617         * gst/gstelement.h:
1618           add a helper printf function so we can have NULL values passed.
1619
1620 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1621
1622         * gst/gstelement.h:
1623           add G_STMT macros to gst_element_error, which isn't strictly
1624           necessary but people tell me to anyway.
1625
1626 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1627
1628         * gst/Makefile.am:
1629         * gst/autoplug/gstspideridentity.c:
1630         (gst_spider_identity_sink_loop_type_finding):
1631         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
1632         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
1633         (gst_filesink_close_file), (gst_filesink_handle_event),
1634         (gst_filesink_chain):
1635         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
1636         (gst_filesrc_map_region), (gst_filesrc_get_read),
1637         (gst_filesrc_open_file):
1638         * gst/elements/gstidentity.c: (gst_identity_chain):
1639         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
1640         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
1641         (gst_pipefilter_chain), (gst_pipefilter_open_file):
1642         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
1643         * gst/gst.h:
1644         * gst/gst_private.h:
1645         * gst/gstelement.c: (gst_element_class_init),
1646         (gst_element_default_error), (gst_element_error_func),
1647         (gst_element_error_extended):
1648         * gst/gstelement.h:
1649         * gst/gsterror.c: (_gst_core_errors_init),
1650         (_gst_library_errors_init), (_gst_resource_errors_init),
1651         (_gst_stream_errors_init), (gst_error_get_message):
1652         * gst/gsterror.h:
1653         * gst/gstinfo.c: (_gst_debug_init):
1654         * gst/gstmarshal.list:
1655         * gst/gstpad.c: (gst_pad_set_explicit_caps),
1656         (gst_pad_recover_caps_error), (gst_pad_pull):
1657         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
1658         * gst/schedulers/gstbasicscheduler.c:
1659         (gst_basic_scheduler_chainhandler_proxy),
1660         (gst_basic_scheduler_gethandler_proxy),
1661         (gst_basic_scheduler_cothreaded_chain):
1662         * po/POTFILES.in:
1663         * po/fr.po:
1664         * po/nl.po:
1665           change error signal
1666           add error categories
1667
1668 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
1669
1670         * gst/gsttag.c: (_gst_tag_initialize):
1671         * gst/gsttag.h:
1672         Add replaygain tag
1673
1674 2004-01-18  Colin Walters  <walters@verbum.org>
1675
1676         * examples/retag/retag.c: Call gst_init before processing
1677         program args.  Add g_assert to _link_many call.
1678
1679 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1680
1681         * gst/gstpad.c: (gst_pad_alloc_buffer):
1682           Return a newly allocated buffer when the pad has no peer.
1683
1684 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1685
1686         * gst/gstclock.c: (gst_clock_get_time):
1687           make it compile with gcc 2.95 again.
1688           Patch by Scott Wheeler
1689
1690 2004-01-15  David Schleef  <ds@schleef.org>
1691
1692         * gst/gstcaps.h:
1693         Added gst_caps_is_simple() macro.
1694         * testsuite/caps/caps.c: (test1):
1695         * testsuite/caps/intersect2.c: (main):
1696         * testsuite/caps/intersection.c: (main):
1697         Fixes to make 'make check' work again after removing
1698         gst_caps_is_chained().
1699
1700 2004-01-15  Leif Johnson <leif@ambient.2y.net>
1701
1702         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
1703         and additions to the MIDI document.
1704
1705 2004-01-15  David Schleef  <ds@schleef.org>
1706
1707         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
1708         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
1709         of GST_RPAD_, since we don't know if it's a real or ghost pad.
1710
1711 2004-01-15  David Schleef  <ds@schleef.org>
1712
1713         * gst/gstqueue.c:
1714         * gst/gstqueue.h:
1715         Fix the spelling of "treshold" and make min_threshold actually
1716         affect the queue.
1717
1718 2004-01-15  David Schleef  <ds@schleef.org>
1719
1720         * gst/gstcaps.c:
1721         Add lots of documentation.
1722         * gst/gstcaps.h:
1723         Deprecate a few functions.
1724         * gst/gstpad.c:
1725         Removed use of deprecated functions.
1726
1727 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1728
1729         * gst/gstpad.c: (gst_pad_is_linked):
1730         * gst/gstpad.h:
1731           implement gst_pad_is_linked
1732         * gst/gstelement.h:
1733           reserve space for initiate_state_change
1734
1735 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1736
1737         * gst/autoplug/gstspideridentity.c:
1738         (gst_spider_identity_sink_loop_type_finding):
1739           break infinite loop by just returning instead of looping
1740         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
1741           set event time difference correctly. Set it to 1 second instead
1742           of 100ms to be more tolerant
1743         * gst/gstelement.c: (gst_element_set_time):
1744           add debugging output
1745
1746 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1747
1748         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
1749           query if buffers are inside the pool, ignore events
1750
1751 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1752
1753         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
1754         (gst_clock_set_speed), (gst_clock_set_active),
1755         (gst_clock_is_active), (gst_clock_reset),
1756         (gst_clock_handle_discont):
1757         * gst/gstclock.h:
1758           deprecate old interface and disable functions that aren't in use
1759           anymore.
1760         * gst/gstelement.h:
1761         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
1762         (gst_element_set_time), (gst_element_adjust_time):
1763           add concept of "element time" and functions to get/set this time.
1764         * gst/gstelement.c: (gst_element_change_state):
1765           update element time correctly.
1766         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
1767           This is a debug message, not a g_critical.
1768         * gst/gstpad.c: (gst_pad_event_default):
1769           handle discontinuous events right with element time.
1770         * gst/gstscheduler.c: (gst_scheduler_state_transition):
1771           update to clocking fixes.
1772           set clocks on elements in READY=>PAUSED. The old behaviour caused
1773           a wrong element time on the first element that started playing.
1774         * gst/schedulers/gstbasicscheduler.c:
1775         (gst_basic_scheduler_class_init):
1776         * gst/schedulers/gstoptimalscheduler.c:
1777         (gst_opt_scheduler_class_init):
1778           remove code that just implements the default behaviour.
1779         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
1780           update to use new clocking functions
1781         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
1782         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
1783           update to test new element time.
1784         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
1785           use _get_allowed_caps instead of _get_caps. This catches filtered
1786           caps correctly.
1787         * testsuite/debug/commandline.c:
1788           update for new GST_DEBUG syntax.
1789         * testsuite/threads/Makefile.am:
1790           disable a test that only works sometimes.
1791
1792 2004-01-13  Julien MOUTTE <julien@moutte.net>
1793
1794         * po/LINGUAS: Adding fr.
1795         * po/fr.po: Adding french translation.
1796
1797 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1798
1799         * gst/parse/grammar.y:
1800         * po/POTFILES.in:
1801         * po/nl.po:
1802         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
1803           translate parsing error messages
1804
1805 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1806
1807         * po/POTFILES.in: adding gst-launch
1808         * po/nl.po: updated translation, all 99 strings translated
1809         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
1810         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
1811           fix strings for translation
1812
1813 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1814
1815         * gst/gst.c:
1816           - capitalize beginnings of popt options
1817           - fix strings for translation
1818           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
1819
1820 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1821
1822         * po/README: add some notes on how to update translations
1823
1824 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1825
1826         * ABOUT-NLS: removed, is autogenerated from autopoint
1827         * autogen.sh: add autopoint stuff
1828         * configure.ac: fix up gettext stuff
1829         * gst/Makefile.am: add i18n headers to noinst_HEADERS
1830         * gst/elements/gsttypefindelement.c: add header include
1831         * gst/gettext.h: add header, copy from system-installed header
1832         * gst/gst-i18n-app.h: to be included by each app having translations
1833         * gst/gst-i18n-lib.h: to be included by each lib having translations
1834         * gst/gst.c: (init_pre): fix up gettext calls
1835         * gst/gst_private.h: remove i18n stuff, moving to separate headers
1836         * po/LINGUAS: the new way to specify translations present
1837         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
1838         * po/Makevars: the variables filled in for GStreamer
1839         * po/POTFILES.in: added new files with translations
1840         * po/de.po: has new strings
1841         * po/nl.po: readded, has new strings
1842
1843 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1844
1845         * gst/gsttag.c: fix some strings marked for translation
1846
1847 2004-01-13  Iain <iain@prettypeople.org>
1848
1849         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
1850         group when we add an element to it, cos we unref it when we remove one
1851
1852 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1853
1854         * testsuite/debug/commandline.c: (debug_not_reached):
1855         * testsuite/debug/output.c: (check_message):
1856           fix testsuite
1857
1858 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1859
1860         * examples/cutter/.cvsignore:
1861         * examples/helloworld/.cvsignore:
1862         * examples/launch/.cvsignore:
1863         * examples/manual/.cvsignore:
1864         * examples/mixer/.cvsignore:
1865         * examples/pingpong/.cvsignore:
1866         * examples/plugins/.cvsignore:
1867         * examples/queue/.cvsignore:
1868         * examples/queue2/.cvsignore:
1869         * examples/queue3/.cvsignore:
1870         * examples/queue4/.cvsignore:
1871         * examples/retag/.cvsignore:
1872         * examples/thread/.cvsignore:
1873         * examples/typefind/.cvsignore:
1874         * examples/xml/.cvsignore:
1875         * gst/.cvsignore:
1876         * gst/autoplug/.cvsignore:
1877         * gst/elements/.cvsignore:
1878         * gst/indexers/.cvsignore:
1879         * gst/parse/.cvsignore:
1880         * gst/registries/.cvsignore:
1881         * gst/schedulers/.cvsignore:
1882         * libs/gst/bytestream/.cvsignore:
1883         * libs/gst/control/.cvsignore:
1884         * libs/gst/getbits/.cvsignore:
1885         * tests/.cvsignore:
1886         * tests/bufspeed/.cvsignore:
1887         * tests/instantiate/.cvsignore:
1888         * tests/memchunk/.cvsignore:
1889         * tests/muxing/.cvsignore:
1890         * tests/sched/.cvsignore:
1891         * tests/seeking/.cvsignore:
1892         * tests/threadstate/.cvsignore:
1893         * testsuite/.cvsignore:
1894         * testsuite/caps/.cvsignore:
1895         * testsuite/cleanup/.cvsignore:
1896         * testsuite/dynparams/.cvsignore:
1897         * testsuite/plugin/.cvsignore:
1898         * tools/.cvsignore:
1899           update - this is huge, because it includes *.bb, *.bbg and *.da files
1900           which are generated for gcov.
1901
1902 2004-01-11  David Schleef  <ds@schleef.org>
1903
1904         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
1905         a function to parse integers in ways that strto[u]l() does not.
1906
1907 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1908
1909         * tools/gst-inspect.c: (print_caps):
1910           improve output of caps a bit
1911
1912 2004-01-11  David Schleef  <ds@schleef.org>
1913
1914         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
1915         inherit correct flags (READONLY and DONTKEEP).
1916
1917 2004-01-11  David Schleef  <ds@schleef.org>
1918
1919         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
1920         (gst_filesrc_map_region):
1921         * gst/gstbuffer.c: (_gst_buffer_initialize),
1922         (_gst_buffer_sub_free), (gst_buffer_default_copy),
1923         (gst_buffer_new), (gst_buffer_create_sub),
1924         (gst_buffer_is_span_fast), (gst_buffer_span):
1925         * gst/gstbuffer.h:
1926         Change GstBuffer private structure element names. (all files)
1927         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1928         (gst_queue_link):
1929         * gst/gstqueue.h:
1930         Implement getcaps/pad_link functions that handle the case where
1931         there are data in the queue.
1932
1933 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1934
1935         * gst/elements/gstbufferstore.c:
1936           initialize debugging structure correctly
1937         * gst/elements/gsttee.c: (gst_tee_set_property):
1938           g_object_notify when property was changed
1939         * gst/elements/gsttypefindelement.c:
1940         (gst_type_find_element_change_state):
1941           clear caps correctly
1942
1943 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1944
1945         * gst/gstqueue.c: (gst_queue_init):
1946           Use better defaults for when a queue should block. This
1947           gets rid of jerky playback for quite a few files.
1948           It takes more memory.
1949
1950 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1951
1952         (gst_xml_registry_parse_padtemplate):
1953           make critical message slightly more useful
1954
1955 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1956
1957         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
1958         (gst_debug_message_get), (gst_debug_log_default):
1959         * gst/gstinfo.h:
1960           Change gst_debug_log(_valist) to take a const format string.
1961           Change prototype of log function and functions using those to 
1962           take a GstDebugMessage instead of a string that requires using
1963           gst_debug_message_get.
1964
1965 2004-01-08  David Schleef  <ds@schleef.org>
1966
1967         * Makefile.am:
1968         * configure.ac:
1969         Add option --enable-gcov to build GStreamer with -fprofile-arcs
1970         and -ftest-coverage, which allows gcov to show information about
1971         testsuite coverage.
1972
1973 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
1974
1975         * gst/gstutils.h:
1976           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
1977           GST_PARENT_CALL_WITH_DEFAULT
1978         * gst/elements/gstaggregator.c: 
1979         * gst/elements/gstbufferstore.c: 
1980         * gst/elements/gstfakesink.c: 
1981         * gst/elements/gstfakesrc.c: 
1982         * gst/elements/gstfdsink.c: 
1983         * gst/elements/gstfdsrc.c: 
1984         * gst/elements/gstfilesink.c: 
1985         * gst/elements/gstfilesrc.c: 
1986         * gst/elements/gstidentity.c: 
1987         * gst/elements/gstmd5sink.c: 
1988         * gst/elements/gstmultidisksrc.c:
1989         * gst/elements/gstpipefilter.c: 
1990         * gst/elements/gstshaper.c:
1991         * gst/elements/gststatistics.c:
1992         * gst/elements/gsttee.c:
1993         * gst/elements/gsttypefindelement.c:
1994           use them.
1995
1996 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1997
1998         * docs/gst/gstreamer-docs.sgml: remove props
1999         * docs/gst/gstreamer-sections.txt: remove props
2000         * docs/gst/tmpl/gst.sgml:
2001         * docs/gst/tmpl/gstbin.sgml:
2002         * docs/gst/tmpl/gstbuffer.sgml:
2003         * docs/gst/tmpl/gstcaps.sgml:
2004         * docs/gst/tmpl/gstclock.sgml:
2005         * docs/gst/tmpl/gstelement.sgml:
2006         * docs/gst/tmpl/gstindex.sgml:
2007         * docs/gst/tmpl/gstobject.sgml:
2008         * docs/gst/tmpl/gstpad.sgml:
2009         * docs/gst/tmpl/gstpadtemplate.sgml:
2010         * docs/gst/tmpl/gstreamer-unused.sgml:
2011         * docs/gst/tmpl/gstthread.sgml:
2012         * docs/gst/tmpl/gstxml.sgml:
2013           sync with code reorganization
2014
2015 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
2016
2017         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
2018         Make the 'Could not find compatible pad' message more informative.
2019
2020 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2021                                                                                 
2022         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
2023           Fix for if we pass NULL as property to location.
2024         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
2025         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
2026           Fix for instantiate-test (see below).
2027         * gst/gststructure.c: (_gst_structure_parse_value):
2028           Fix compile error on gcc-2.96.
2029         * configure.ac:
2030         * tests/Makefile.am:
2031         * tests/instantiate/Makefile.am:
2032         * tests/instantiate/create.c: (create_all_elements), (main):
2033           Add a test that instantiates all elements. This makes it easy to
2034           track dead code for old API/design (like setting event functions
2035           on sink pads and so on).
2036
2037 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
2038
2039         * gst/gstcaps.c: (gst_caps_append_structure):
2040           Move the poisoning to allow a NULL structure
2041         * gst/gstevent.c: (_gst_event_free):
2042           When freeing a navigation event, free the structure
2043           also
2044
2045 2004-01-04  David Schleef  <ds@schleef.org>
2046
2047         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
2048         Remove usage of gst_pad_proxy_fixate.
2049         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
2050         (gst_caps_split_one), (gst_caps_replace):
2051         Add poisoning code.
2052         * gst/gstmarshal.list:
2053         Add pointer__pointer for fixate signal
2054         * gst/gstpad.c: (gst_real_pad_class_init),
2055         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
2056         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
2057         (gst_pad_set_explicit_caps), (gst_pad_template_new):
2058         Add poisoning code. Add fixate signal on RealPad. Change
2059         set_explicit_caps() to take const GstCaps, like try_set_caps().
2060         * gst/gstpad.h:
2061         * testsuite/caps/Makefile.am:
2062         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
2063
2064 2004-01-03  David Schleef  <ds@schleef.org>
2065
2066         * gst/elements/gsttypefindelement.c:
2067         (gst_type_find_element_have_type), (gst_type_find_element_init):
2068         Use gst_pad_use_explicit_caps for src pad.
2069         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
2070         before using it.
2071
2072 2004-01-03  David Schleef  <ds@schleef.org>
2073
2074         * gst/gstelement.c: (gst_element_link_pads_filtered),
2075         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
2076         that linking was successful.
2077         * gst/gstpad.c: (gst_pad_link_free),
2078         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
2079         (gst_pad_link_try), (gst_pad_link_unnegotiate),
2080         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
2081         GstPadLinkReturn correctly between functions, and don't fail
2082         when DELAYED is used (DELAYED is very important).  Better
2083         cleanup on unlinking and unnegotiation.  Should fix some spider
2084         bugs.
2085
2086 2004-01-02  David Schleef  <ds@schleef.org>
2087
2088         * gst/gstelement.c: (gst_element_class_init),
2089         (gst_element_base_class_init): ->padtemplates should be cleared
2090         in base_init, since we need to have a fresh list for every
2091         class.  (Alternately, we chould copy the list and share the
2092         actual pad templates (not the list), but that would require
2093         changing every plugin to move pad template registration from
2094         base_init to class_init.)
2095
2096 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2097
2098         * gst/gstelement.c: (gst_element_class_add_pad_template):
2099           Refuse registering a pad template if another pad template
2100           with the same name already exists (#114715).
2101
2102 2004-01-02  David Schleef  <ds@schleef.org>
2103
2104         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
2105         (gst_caps_is_equal_fixed): Add new function.
2106         * gst/gstcaps.h: ditto.
2107         * gst/gstpad.c: (gst_real_pad_class_init),
2108         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
2109         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
2110         check new caps against existing caps -- if they're the same, return
2111         OK without renegotiating.  caps-nego-failed signal fixed so that
2112         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
2113         to save an extra caps copy.  Don't complete negotiation if a pad
2114         link function returns DELAYED.
2115
2116 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2117
2118         * gst/gstpad.c: (gst_pad_try_relink_filtered):
2119           Fix wrong g_return_if_fail
2120
2121 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
2122
2123         * gst/gstbin.c: (gst_bin_class_init):
2124         Change the marshalling of element_added/element_removed
2125         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
2126         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
2127
2128 2004-01-01  David Schleef  <ds@schleef.org>
2129
2130         * gst/gstpad.c: (gst_pad_set_explicit_caps),
2131         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
2132         (gst_pad_use_explicit_caps):
2133         * gst/gstpad.h:
2134         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
2135         to use an internal getcaps and link fuction so that negotiation
2136         always results in the explicitly set caps.
2137         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
2138         are particularly useful for decoders.
2139
2140 2003-12-31  David Schleef  <ds@schleef.org>
2141
2142         * gst/elements/gstidentity.c: (gst_identity_class_init),
2143         (gst_identity_init), (gst_identity_chain),
2144         (gst_identity_set_property), (gst_identity_get_property):
2145         * gst/elements/gstidentity.h:
2146         * gst/gstqueue.c: (gst_queue_init):
2147           Negotiation fixes.
2148
2149 2003-12-31  David Schleef  <ds@schleef.org>
2150
2151         * gst/gstcaps.c: (gst_caps_intersect),
2152         (_gst_caps_normalize_foreach), (gst_caps_normalize):
2153           Implement gst_caps_normalize().
2154         * testsuite/caps/normalisation.c: (main):
2155           Add an additional test
2156
2157 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2158
2159         * gst/gstqueue.c: (gst_queue_init):
2160           use gst_pad_proxy_getcaps()
2161
2162 2003-12-31  David Schleef  <ds@schleef.org>
2163
2164         * gst/elements/gstshaper.c: (gst_shaper_link):
2165         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
2166         * gst/gstqueue.c: (gst_queue_link):
2167           Negotiation fixes.
2168
2169 2003-12-31  David Schleef  <ds@schleef.org>
2170
2171         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
2172         * gst/gstpad.h: Add functions that are useful as default pad
2173         link and fixate functions for elements.
2174
2175 2003-12-30  David Schleef  <ds@schleef.org>
2176
2177         * gst/gstpad.c: (gst_pad_link_try):
2178           Fix segfault when attempting to return to old caps
2179
2180 2003-12-29  David Schleef  <ds@schleef.org>
2181
2182         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
2183         (gst_caps_structure_simplify), (gst_caps_simplify):
2184         * gst/gstcaps.h:
2185           Add simplify function
2186         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
2187         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
2188         * gst/gstpad.h:
2189           Copy over srcnotify, sinknotify when calling old pad_link
2190           functions.  Add new is_negotiated() function.
2191         * gst/gststructure.c: (gst_structure_copy):
2192           Fix an incredibly stupid bug that should have been noticed
2193           weeks ago.  _copy() returned the argument, not the new copy.
2194
2195 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2196
2197         * gst/gstcaps.c: (gst_caps_append):
2198           add sanity checks
2199         * gst/gstcaps.h: (gst_caps_debug):
2200           remove, it doesn't exist anymore.
2201         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
2202         (gst_element_threadsafe_properties_post_run):
2203           make debugging messages not clutter up THREAD debug category
2204         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
2205         (gst_element_change_state):
2206           update to new caps API
2207         * gst/gstinterface.c: (gst_implements_interface_cast):
2208           don't put vital code in g_return_if_fail
2209         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
2210         (gst_pad_link_filtered):
2211           add pst_pad_try_link and use it.
2212         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
2213           implement correctly, deprecate first one.
2214         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
2215           add and implement.
2216         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
2217           implement.
2218         (gst_pad_get_negotiated_caps):
2219           add and implement. Make GST_PAD_CAPS call this function.
2220         (gst_pad_get_caps):
2221           remove unneeded check..
2222         (gst_pad_recover_caps_error):
2223           disable, always return FALSE.
2224         (gst_real_pad_dispose):
2225           don't free caps and appfilter anymore, they're unused.
2226         * gst/gstpad.h:
2227           Reflect changes mentioned above.
2228         * gst/gstsystemclock.c: (gst_system_clock_wait):
2229           Make 'clock is way behind' a debugging message.
2230         * gst/gstthread.c: (gst_thread_change_state):
2231           Fix debugging message
2232
2233 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2234
2235         * gst/gstinfo.h:
2236           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
2237         * docs/gst/tmpl/gstreamer-unused.sgml:
2238           removed all traces of cvs conflicts
2239
2240 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2241
2242         * configure.ac:
2243         * gst/schedulers/cothreads_compat.h:
2244         * libs/Makefile.am:
2245           remove last instances of wingo cothread usage
2246
2247 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2248
2249         * gst/gstplugin.c:
2250         * gst/gstversion.h.in:
2251         * gst/parse/grammar.y:
2252           change comment block from /** to /* when not gtk-doc comments
2253
2254 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2255
2256         * gst/gst.c: whitespace and doc style fixes
2257
2258 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2259
2260         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
2261
2262 2003-12-24  Colin Walters  <walters@verbum.org>
2263
2264         * gst/elements/gsttypefindelement.c:
2265           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
2266           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
2267           Don't double-free caps.
2268
2269 2003-12-23  David Schleef  <ds@schleef.org>
2270
2271         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
2272           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
2273           Many little fixes and additions of debug statements to
2274           get rhythmbox working.
2275
2276 2003-12-23  Colin Walters  <walters@verbum.org>
2277
2278         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
2279         Use GST_PAD_LINK_SUCCESSFUL.
2280
2281 2003-12-23  David Schleef  <ds@schleef.org>
2282
2283         * gst/elements/gstaggregator.c:
2284         * gst/elements/gsttee.c:
2285           Use gst_pad_proxy_getcaps().
2286         * gst/gstpad.c:
2287         * gst/gstpad.h:
2288           Add gst_pad_proxy_getcaps(), which filter elements can use
2289           as a generic getcaps implementation.
2290           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
2291           was advertised.
2292
2293 2003-12-23  David Schleef  <ds@schleef.org>
2294
2295         * gst/gstpad.c:
2296           Rearrange/rewrite much of the pad negotiation code, since it
2297           resembled pasta.  This actually changes the way some
2298           negotiation works, since the previous code was inconsistent
2299           depending on how it was invoked.  Add (internal) structure
2300           GstPadLink, which is used to hold some information (more in
2301           the future) about the link between two pads.  Fixes a number
2302           of bugs, including random lossage of filter caps when the
2303           initial negotiation is delayed.  A few functions are still
2304           unimplemented.
2305         * gst/gstpad.h:
2306           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
2307           these when testing GstPadLinkReturn values instead of comparing
2308           directly.
2309
2310 2003-12-23  David Schleef  <ds@schleef.org>
2311
2312         * gst/gstvalue.c: 
2313         * gst/gstvalue.h:
2314           Rearrange lots of code.  Change registration of compare function
2315           into registration of compare/serialize/deserialize functions.
2316           Doesn't include implementation of gst_value_[de]serialize(),
2317           but that should be easy.
2318
2319 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2320
2321         * docs/gst/gstreamer-sections.txt:
2322         * docs/gst/tmpl/gstprops.sgml: removed
2323         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
2324           David removed props and caps code, so let's remove their docs as well.
2325           Removed all no longer existing symbols from gstreamer-sections.txt
2326           
2327 2003-12-22  Colin Walters  <walters@verbum.org>
2328
2329         * gst/gsttaginterface.c, gst/gsttaginterface.h,
2330           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
2331           of tags directly.
2332
2333 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2334
2335         * gst/elements/gstelements.c:
2336           Set ranks of elements to NONE, so the autoplugger doesn't use them.
2337         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
2338           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
2339           gst_caps (peer).
2340
2341 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2342
2343         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2344         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
2345         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
2346         (gst_spider_identity_sink_loop_type_finding):
2347         * gst/autoplug/gstspideridentity.h:
2348           Fix autoplugging in spider element, so it works with new caps.
2349           This was mainly caused by identifying empty caps incorrectly.
2350
2351 2003-12-22  David Schleef  <ds@schleef.org>
2352
2353         * gststructure.c, gstvalue.c, gstvalue.h: Add
2354           gst_value_init_and_copy() and use it, to avoid silly mistakes in
2355           using g_value_copy()
2356
2357 2003-12-21  David Schleef  <ds@schleef.org>
2358
2359         * many, many files: Merge CAPS branch.  This includes:
2360           - implemention of GstValue and several GstValue types
2361           - implemention of GstStructure
2362           - entire rewrite of GstCaps
2363           - removal of GstProps
2364           - many changes to GstPad to compensate for new caps paradigm
2365           - removal of GstBufferpool
2366         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
2367         gstvalue.h, gst/gstcaps[2]*.[ch]:
2368           - rename gstcaps2.[ch] to gstcaps.[ch]
2369
2370 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2371
2372         * gst/gstqueue.c: (gst_queue_handle_pending_events),
2373         (gst_queue_chain), (gst_queue_handle_src_event):
2374           implement timeout for sending events. Workaround for if the
2375           pipeline on this queue is not passing any data.
2376
2377 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
2378                                                                                 
2379         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
2380         * moved CVS to freedesktop.org
2381