adding basetransform and iterator docs
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/gst/gstreamer-docs.sgml:
4         * docs/gst/gstreamer-sections.txt:
5         * docs/gst/gstreamer.types:
6         * docs/gst/tmpl/gstbasesink.sgml:
7         * docs/gst/tmpl/gstbasesrc.sgml:
8         * docs/gst/tmpl/gstbasetransform.sgml:
9         * docs/gst/tmpl/gstelement.sgml:
10         * docs/gst/tmpl/gstiterator.sgml:
11         * gst/base/gstbasesrc.c:
12         * gst/base/gstbasesrc.h:
13         * gst/base/gstbasetransform.h:
14         * gst/gstelement.c:
15         * gst/gstiterator.h:
16           adding basetransform and iterator docs
17
18 2005-06-27  Andy Wingo  <wingo@pobox.com>
19
20         * docs/design/part-activation.txt: Notes on how activation should
21         work -- not quite implemented yet.
22
23 2005-06-25  Wim Taymans  <wim@fluendo.com>
24
25         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
26         At least get the chain function correct, needs more
27         fixing.
28
29 2005-06-25  Wim Taymans  <wim@fluendo.com>
30
31         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
32         (gst_basesink_handle_object), (gst_basesink_event),
33         (gst_basesink_do_sync), (gst_basesink_handle_event),
34         (gst_basesink_change_state):
35         * gst/gsttask.h:
36         Right, two problems here: ghostpads don't take locks and
37         glib _rec_mutex_lock_full() with depth==0 still locks.
38         Catch illegal locking and g_warn them.
39
40 2005-06-25  Wim Taymans  <wim@fluendo.com>
41
42         * check/states/sinks.c: (START_TEST), (gst_object_suite):
43         Have to check for completion now...
44
45 2005-06-25  Wim Taymans  <wim@fluendo.com>
46
47         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
48         (gst_basesink_handle_object), (gst_basesink_event),
49         (gst_basesink_do_sync), (gst_basesink_handle_event),
50         (gst_basesink_change_state):
51         * gst/gstpad.h:
52         Unlock STREAM_LOCK whatever the recursion was.
53
54 2005-06-25  Wim Taymans  <wim@fluendo.com>
55
56         * gst/base/gstbasesink.c: (gst_basesink_set_property),
57         (gst_basesink_preroll_queue_empty),
58         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
59         (gst_basesink_event), (gst_basesink_do_sync),
60         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
61         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
62         (gst_basesink_change_state):
63         Reworked the base sink, handle event and buffer serialisation
64         correctly and removed possible deadlock.
65         Handle EOS correctly.
66
67 2005-06-25  Wim Taymans  <wim@fluendo.com>
68
69         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
70         (gst_pipeline_change_state):
71         * tools/gst-launch.c: (check_intr), (event_loop), (main):
72         Allow elements to post EOS in the state change function.
73         Fix up -launch, make it exit the poll loop when the
74         pipeline actually changed state.
75         Fix up warning parsing in -launch.
76
77 2005-06-25  Wim Taymans  <wim@fluendo.com>
78
79         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
80         (gst_tee_sink_activate):
81         Core takes STREAM_LOCK for us now.
82
83 2005-06-25  Wim Taymans  <wim@fluendo.com>
84
85         * gst/gstelement.c: (gst_element_get_state_func),
86         (gst_element_set_state):
87         * gst/gstelement.h:
88         * gst/gstmessage.c: (gst_message_parse_error),
89         (gst_message_parse_warning):
90         Keep track of current target state while performing a state
91         change so that subclasses can do something interesting.
92         Fix parsing of warning/error messages when GError is NULL.
93
94 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
95
96         * docs/gst/Makefile.am:
97         * docs/gst/gstreamer-docs.sgml:
98         * docs/gst/gstreamer-sections.txt:
99         * docs/gst/gstreamer.types:
100         * docs/gst/tmpl/gstbasesink.sgml:
101         * docs/gst/tmpl/gstbasesrc.sgml:
102         * docs/gst/tmpl/gstbin.sgml:
103         * docs/gst/tmpl/gstcompat.sgml:
104         * docs/gst/tmpl/gstfakesink.sgml:
105         * docs/gst/tmpl/gstfakesrc.sgml:
106         * docs/gst/tmpl/gstfilesink.sgml:
107         * docs/gst/tmpl/gstfilesrc.sgml:
108         * docs/gst/tmpl/gstindex.sgml:
109         * docs/manual/appendix-quotes.xml:
110         * gst/base/gstbasesrc.h:
111         * gst/elements/gstfakesrc.h:
112         * gst/gstmessage.h:
113           start pulling in base classes and elements in our docs
114
115 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
116
117         * docs/gst/Makefile.am:
118         * docs/libs/Makefile.am:
119           fixed make distcheck with gtk-doc 1.3
120
121 2005-06-23  Wim Taymans  <wim@fluendo.com>
122
123         * gst/gstelement.c: (gst_element_get_state_func),
124         (gst_element_set_state), (gst_element_change_state):
125         When the state did not change, also report NO_PREROLL
126         when it matters.
127
128 2005-06-23  Wim Taymans  <wim@fluendo.com>
129
130         * gst/gstpad.c: (gst_pad_event_default):
131         * gst/gstqueue.c: (gst_queue_loop):
132         No unsafe task pausing please.
133
134 2005-06-23  Wim Taymans  <wim@fluendo.com>
135
136         * gst/schedulers/threadscheduler.c:
137         (gst_thread_scheduler_task_start),
138         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
139         Ref the task before pushing it on the threadpool. This
140         makes sure that we have a ref when the threadfunction is
141         actually called.
142
143 2005-06-23  Andy Wingo  <wingo@pobox.com>
144
145         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
146         offset is greater than the file's size.
147
148         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
149         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
150         * gst/gstobject.c (gst_object_class_init): Make the class lock
151         recursive. Wim won't let me drop deep_notify. Decodebin works
152         again, whoopdy doo.
153
154         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
155         internal pad, and hacks accordingly. Doesn't do it on the target
156         pad because we change its caps. Probably catches all cases of
157         interest tho.
158         (gst_ghost_pad_set_property): Connect to notify::caps as
159         appropritate.
160
161         * tests/network-clock.scm (plot-simulation): Pipe data to the
162         elite python skript.
163
164         * tests/network-clock-utils.scm (define-parameter): New macro,
165         defines a parameter that can be set via the command line.
166         (set-parameter!, parse-parameter-arguments): Command line args
167         parser.
168
169         * tests/plot-data: Simple matplotlib-based plotter, takes input on
170         stdin.
171
172 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
173
174         * gst/elements/gsttypefindelement.c:
175         (gst_type_find_element_handle_event):
176           Don't restart typefinding on a discont.
177         * gst/gstelement.c: (gst_element_set_state):
178           Debug spelling fix.
179         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
180           Allow changing mode of an active pad.
181           Debug output fixes.
182         * gst/registries/gstlibxmlregistry.c: (load_feature):
183           Don't cast a static pad template to a normal pad template.
184
185 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
186
187         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
188         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
189           remove gst_strtoll completely, since it didn't actually do
190           anything more than what g_ascii_strtoull already does.
191           check for range errors when deserializing
192           do a cast for the unsigned cases; but further fixing needs
193           a decision on what the interpretation of "(int)" and
194           deserialization should be for values that fall outside the
195           type's boundaries (ie, refuse, or interpret as casting)
196
197 2005-06-23  Wim Taymans  <wim@fluendo.com>
198
199         * check/Makefile.am:
200         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
201         * docs/design/part-live-source.txt:
202         * docs/design/part-states.txt:
203         * gst/base/gstbasesrc.c: (gst_basesrc_init),
204         (gst_basesrc_set_live), (gst_basesrc_is_live),
205         (gst_basesrc_get_range), (gst_basesrc_activate),
206         (gst_basesrc_change_state):
207         * gst/base/gstbasesrc.h:
208         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
209         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
210         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
211         * gst/gstelement.c: (gst_element_get_state_func),
212         (gst_element_set_state):
213         * gst/gstelement.h:
214         * gst/gsttypes.h:
215         * tools/gst-launch.c: (event_loop), (main):
216         Added support for live sources and other elements that
217         cannot do preroll.
218         Updated design docs, added live-source design doc.
219         Implemented live source functionality in basesrc
220         Fix error condition in _bin_get_state()
221         Implement live source handling in -launch.
222         Added check for live sources.
223         Fixed case in GstBin where elements were changed state
224         multiple times.
225
226
227 2005-06-23  Andy Wingo  <wingo@pobox.com>
228
229         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
230         borken refcounting.
231
232         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
233         gst_caps_replace takes care of this for us.
234
235         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
236         gst_pad_set_caps on the target, not just its setcaps() function.
237
238         * tests/network-clock.scm: 
239         * tests/network-clock-utils.scm: A network clock simulator.
240         Something of an algorithmic testbed before doing something in C.
241
242 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
243
244         * check/Makefile.am:
245         * check/gst/capslist.h:
246           copy over from 0.8, and add two with bitmasks specified with
247           (int) 0xFF...
248         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
249           add test to parse everything from capslist.h
250         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
251         (main):
252           add test for structure deserialization
253         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
254           add tests for deserialization of strings to int types
255         * gst/gststructure.c: (gst_structure_nth_field_name):
256         * gst/gststructure.h:
257           add a way to get the name of a field referenced by index
258         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
259           instead of checking if the resulting long long lies between
260           min and max, we check if the long long would fit into
261           a number of bytes for the final type.
262           This fixes cases where a string represents 2^32 - 1, which
263           when cast to int would be the (valid) -1, but is bigger than
264           G_MAXINT
265
266 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * gst/parse/grammar.y:
269           add a log line for type deserialization
270
271 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
272
273         * check/gst/gstvalue.c: (START_TEST):
274         * gst/gstvalue.c: (gst_value_deserialize):
275           return long long, not int, so gint64 deserialization actually
276           works.  Is there any flag that makes the compiler check this ?
277           Fixes #308559
278
279 2005-06-22  Wim Taymans  <wim@fluendo.com>
280
281         * gst/gstbuffer.h:
282         Added convenience macros for setting buffers in GValue.
283
284 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
285
286         * check/gst/.cvsignore:
287         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
288           add a test deserializing int64, and comment part out because
289           it fails, yay !
290
291 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
292
293         * check/Makefile.am:
294         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
295         * testsuite/Makefile.am:
296         * testsuite/caps/Makefile.am:
297         * testsuite/caps/value_serialize.c:
298         * testsuite/test_gst_init.c:
299           move a value_serialize test over
300
301 2005-06-20  Wim Taymans  <wim@fluendo.com>
302
303         * gst/gstpad.c:
304         Small doc updates.
305         
306         * gst/gstvalue.c: (gst_value_compare_buffer),
307         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
308         (gst_value_compare_flags), (gst_value_serialize_flags),
309         (gst_value_deserialize_flags), (_gst_value_initialize):
310         Fix serialisation of buffers, they are not boxed types anymore
311
312 2005-06-20  Wim Taymans  <wim@fluendo.com>
313
314         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
315         Testcase to show error in buffer-on-caps serialisation.
316
317 2005-06-20  Andy Wingo  <wingo@pobox.com>
318
319         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
320         will be adding to later.
321
322         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
323         if its socks fill with rocks.
324         (gst_system_clock_obtain): Set the name on object construction.
325         Avoid double-checked locking.
326
327 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
328
329         * gst/gsturi.c: (gst_element_make_from_uri):
330           Fix potential endless loop.
331
332 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
333
334         * check/Makefile.am:
335           add gsttag
336         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
337         (main):
338           move over from testsuite dir and clean up
339         * configure.ac:
340         * gst/gsttag.c:
341         * testsuite/Makefile.am:
342         * testsuite/tags/.cvsignore:
343         * testsuite/tags/Makefile.am:
344         * testsuite/tags/merge.c:
345           remove testsuite/tags
346
347 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
348
349         * docs/gst/gstreamer-sections.txt:
350         * docs/gst/tmpl/gstenumtypes.sgml:
351         * win32/gstenumtypes.c:
352           clean up documentation build a little
353
354 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
355
356         * check/gstcheck.h:
357           add macros for checking refcounts on objects and caps
358         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
359           add some more unit tests
360         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
361         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
362           fix leaked refcounts (I hope :)) so unittest works
363         * gst/gstpad.h:
364           whitespace removal
365
366 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
367
368         * configure.ac: back to HEAD
369
370 === release 0.9.1 ===
371
372 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
373
374         * NEWS:
375         * RELEASE:
376           updated
377
378 2005-06-17  Andy Wingo  <wingo@pobox.com>
379
380         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
381         assert; it's always possible that the pad gets deactivated in
382         between the checks in gstpad.c and the implementation. Rely on
383         finish_preroll() to return a FLUSHING or similar instead of on the
384         assert.
385         
386         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
387         clock and post an EOS message if we come out of finish_preroll in
388         the playing state.
389
390 2005-06-16  David Schleef  <ds@schleef.org>
391
392         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
393         (gst_capsfilter_set_property): Allow NULL as possible value
394         for filter_caps property, indicating GST_CAPS_ANY.
395
396 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
397
398         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
399           fix debug output
400         * gst/schedulers/Makefile.am:
401           use libgst prefix
402         * gstreamer.spec.in:
403           fix spec for it
404
405 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
406
407         * gstreamer.spec.in:
408           clean up
409
410 2005-06-08  Andy Wingo  <wingo@pobox.com>
411
412         * gst/gstutils.c: RPAD fixes all around.
413         (gst_element_link_pads): Refcounting fixes.
414
415         * tools/gst-inspect.c:
416         * tools/gst-xmlinspect.c:
417         * parse/grammar.y:
418         * gst/base/gsttypefindhelper.c:
419         * gst/base/gstbasesink.c:
420         * gst/gstqueue.c: RPAD fixes.
421
422         * gst/gstghostpad.h:
423         * gst/gstghostpad.c: New ghost pad implementation as full proxy
424         pads. The tricky thing is they provide both source and sink
425         interfaces, since they proxy the internal pad for the external
426         pad, and vice versa. Implement with lower-level ProxyPad objects,
427         with the interior proxy pad as a child of the exterior ghost pad.
428         Should write a doc on this.
429         
430         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
431         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
432         gst_object API.
433         
434         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
435         pads are real pads. No ghost pads in this file. Not documenting
436         the myriad s/RPAD/PAD/ and REALIZE fixes.
437         (gst_pad_class_init): Add properties for "direction" and
438         "template". Both are construct-only, so they can't change during
439         the life of the pad. Fixes properly deriving from GstPad.
440         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
441         derived objects, just set properties when creating the objects via
442         g_object_new.
443         (gst_pad_get_parent): Implement as a function, return NULL if the
444         parent is not an element.
445         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
446         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
447         
448         * gst/gstobject.c (gst_object_class_init): Make name a construct
449         property. Don't set it in the object init.
450
451         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
452         with UNKNOWN direction.
453         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
454         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
455         (gst_element_remove_pad): Remove ghost-pad special cases.
456         (gst_element_pads_activate): Remove rpad cruft.
457
458         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
459         catch the pad's-parent-not-an-element case.
460
461         * gst/gst.h: Include gstghostpad.h.
462
463         * gst/gst.c (init_post): No more real, ghost pads.
464
465         * gst/Makefile.am: Add gstghostpad.[ch].
466
467         * check/Makefile.am:
468         * check/gst/gstbin.c:
469         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
470         into a bin creates ghost pads, and that the refcounts are right.
471         Partly moved from gstbin.c.
472
473 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
474
475         * check/gst-libs/.cvsignore:
476         * check/gst/.cvsignore:
477         * check/pipelines/.cvsignore:
478           ignore more
479         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
480         (START_TEST), (cleanup_suite), (main):
481           add some tests related to cleanup after running pipelines
482
483 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
484
485         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
486           add a testsuite for GstBuffer
487
488 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * gst/gstminiobject.h:
491           add defines for accessing the refcount
492
493 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
494
495         * Makefile.am: added support for html unit test coverage reports
496
497 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
498
499         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
500           Free existing caps if the capsfilter changes. Add a FIXME about
501           setting those caps on the pads.
502
503         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
504           Before adding a ghost pad to a parent bin, check that there isn't
505           already one for the element on the bin. Prevents infinite recursion
506           when using decodebin in parse pipelines. Andy says he'll rewrite the
507           way this works anyway, so ignore the hack.
508
509 2005-06-02  Andy Wingo  <wingo@pobox.com>
510
511         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
512         file size, pass it on to the type find helper.
513
514         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
515         segment_start and segment_end properly according to the seek
516         method. Segment_end is still a bit flaky because offset can be
517         negative for CUR and END cases, but it takes -1 as an "unset"
518         value.
519
520 2005-06-02  Wim Taymans  <wim@fluendo.com>
521
522         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
523         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
524         (gst_basesink_activate):
525         * gst/base/gstbasesink.h:
526         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
527         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
528         (gst_pad_query), (gst_pad_start_task):
529         * gst/gstpad.h:
530         * gst/gstqueue.c: (gst_queue_bufferalloc),
531         (gst_queue_handle_sink_event), (gst_queue_chain):
532         Bufferalloc: return GstFlowReturn to more accuratly report
533         why allocation failed.
534
535 2005-06-02  Wim Taymans  <wim@fluendo.com>
536
537         * gst/gstpipeline.c: (gst_pipeline_send_event):
538         Take snapshot of state without blocking.
539
540 2005-06-02  Wim Taymans  <wim@fluendo.com>
541
542         * docs/design/part-TODO.txt:
543         * docs/design/part-caps.txt:
544         * docs/design/part-clocks.txt:
545         * docs/design/part-negotiation.txt:
546         * docs/design/part-preroll.txt:
547         Small doc updates 
548
549 2005-05-30  Wim Taymans  <wim@fluendo.com>
550
551         * gst/elements/gstidentity.c: (gst_identity_event),
552         (gst_identity_transform), (gst_identity_get_property):
553         Protect last_message property as it is accessed from
554         multiple threads.
555
556 2005-05-30  Wim Taymans  <wim@fluendo.com>
557
558         * gst/gstelement.c: (gst_element_init),
559         (gst_element_pads_activate), (gst_element_change_state):
560         Slicker pad activation code.
561
562 2005-05-30  Wim Taymans  <wim@fluendo.com>
563
564         * gst/Makefile.am:
565         * gst/gstelement.h:
566         * gst/gstelementfactory.h:
567         * gst/gsttypes.h:
568         Move elementfactory methods to separate .h file.
569
570 2005-05-30  Wim Taymans  <wim@fluendo.com>
571
572         * docs/design/part-overview.txt:
573         * gst/gstsystemclock.h:
574         Small typo fixes, doc updates.
575
576 2005-05-30  Wim Taymans  <wim@fluendo.com>
577
578         * gst/gst.c: (gst_init_get_popt_table), (init_post),
579         (init_popt_callback):
580         Remove cpu-opt flag.
581
582 2005-05-30  Wim Taymans  <wim@fluendo.com>
583
584         * gst/gstbuffer.c: (gst_subbuffer_finalize),
585         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
586         * gst/gstbuffer.h:
587         Avoid typechecking in places where not needed.
588         Added accessor for malloc_data.
589
590 2005-05-30  Wim Taymans  <wim@fluendo.com>
591
592         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
593         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
594         (gst_pad_configure_sink), (gst_pad_configure_src),
595         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
596         (gst_pad_start_task):
597         Propagate errors from _set_caps() in configure_src/sink
598         functions instead of returning TRUE.
599         FLUSH events can travel up and downstream
600
601
602 2005-05-30  Wim Taymans  <wim@fluendo.com>
603
604         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
605         (gst_basesink_activate):
606         Handle EOS in preroll.
607
608 2005-05-30  Wim Taymans  <wim@fluendo.com>
609
610         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
611         (gst_queue_loop), (gst_queue_handle_src_event):
612         Remove old pieces of code
613         Flushing the queue in an upstream event is a very bad idea.
614
615 2005-05-26  Andy Wingo  <wingo@pobox.com>
616
617         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
618         gst_value_set_mini_object so as to add a ref on the object (which
619         will be removed when the value is unset).
620
621         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
622         arg type in ::handoff.
623
624         * gst/gstelement.c (gst_element_change_state): Also deactivate
625         pads in READY->NULL, just in case the element didn't make it to
626         PAUSED. Wingo tested, Wim approved.
627
628 2005-05-26  Wim Taymans  <wim@fluendo.com>
629
630         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
631         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
632         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
633         A flushing pad cannot be used to alloc_buffer from.
634
635 2005-05-26  Wim Taymans  <wim@fluendo.com>
636
637         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
638         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
639         (gst_bus_source_dispatch), (gst_bus_source_finalize),
640         (gst_bus_create_watch), (gst_bus_add_watch_full):
641         * gst/gstbus.h:
642         Implement a real GSource and use g_main_context_wakeup() to
643         signal new messages instead of the socketpair.
644
645 2005-05-25  Wim Taymans  <wim@fluendo.com>
646
647         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
648         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
649         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
650         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
651         (gst_pad_send_event), (gst_pad_start_task):
652         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
653         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
654         (gst_queue_sink_activate), (gst_queue_src_activate),
655         (gst_queue_change_state):
656         * gst/gstqueue.h:
657         Fix state changes for non sinks. We now change sinks, then elements
658         with unconnected srcpads, then the rest.
659         More efficient queue unlocking in flush and state changes.
660         Set the pad activate mode even if it does not have an activate
661         function.
662
663 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
664
665         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
666           Don't go in pull mode for non-seekable sources.
667         * gst/elements/gsttypefindelement.h:
668         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
669         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
670         (free_entry), (stop_typefinding),
671         (gst_type_find_element_handle_event), (find_peek),
672         (gst_type_find_element_chain), (do_pull_typefind),
673         (gst_type_find_element_change_state):
674           Allow typefinding (w/o seeking) in push-mode, simplified version
675           of what was in 0.8.
676         * gst/gstutils.c: (gst_buffer_join):
677         * gst/gstutils.h:
678           gst_buffer_join() from 0.8.
679
680 2005-05-25  Wim Taymans  <wim@fluendo.com>
681
682         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
683         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
684         (gst_pad_send_event), (gst_pad_start_task):
685         Disable attempt at mode switching until it is figured out.
686
687 2005-05-25  Wim Taymans  <wim@fluendo.com>
688
689         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
690         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
691         (gst_basesink_finish_preroll), (gst_basesink_chain),
692         (gst_basesink_loop), (gst_basesink_activate),
693         (gst_basesink_change_state):
694         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
695         (gst_basesrc_get_range), (gst_basesrc_loop),
696         (gst_basesrc_activate):
697         * gst/elements/gsttee.c: (gst_tee_sink_activate):
698         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
699         (gst_real_pad_init), (gst_real_pad_set_property),
700         (gst_real_pad_get_property), (gst_pad_set_active),
701         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
702         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
703         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
704         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
705         (gst_pad_event_default_dispatch), (gst_pad_event_default),
706         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
707         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
708         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
709         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
710         (gst_pad_stop_task):
711         * gst/gstpad.h:
712         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
713         (gst_queue_loop), (gst_queue_src_activate):
714         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
715         (gst_task_get_state):
716         * gst/gsttask.h:
717         * gst/schedulers/threadscheduler.c:
718         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
719         Implement gst_pad_pause/start/stop_task(), take STREAM lock
720         in task function.
721         Remove ACTIVE pad flag, use FLUSHING everywhere
722         Added _pad_chain(), _pad_get_range() to call chain/getrange 
723         functions.
724         Add locks around IS_FLUSHING when reading.
725         Take STREAM lock in chain(), get_range() functions so plugins
726         don't need to take it anymore.
727         
728
729
730 2005-05-25  Wim Taymans  <wim@fluendo.com>
731
732         * tools/gst-launch.c: (event_loop):
733         Unref message after using its contents instead of
734         before.
735
736 2005-05-24  Wim Taymans  <wim@fluendo.com>
737
738         * docs/design/draft-ghostpads.txt:
739         * docs/design/draft-push-pull.txt:
740         * docs/design/draft-query.txt:
741         * docs/design/part-overview.txt:
742         Docs updates, added general overview doc.
743
744 2005-05-21  David Schleef  <ds@schleef.org>
745
746         * docs/gst/tmpl/old/GstBin.sgml:
747         * docs/gst/tmpl/old/GstBuffer.sgml:
748         * docs/gst/tmpl/old/GstCaps.sgml:
749         * docs/gst/tmpl/old/GstClock.sgml:
750         * docs/gst/tmpl/old/GstCompat.sgml:
751         * docs/gst/tmpl/old/GstData.sgml:
752         * docs/gst/tmpl/old/GstElement.sgml:
753         * docs/gst/tmpl/old/GstEvent.sgml:
754         * docs/gst/tmpl/old/GstIndex.sgml:
755         * docs/gst/tmpl/old/GstStructure.sgml:
756         * docs/gst/tmpl/old/GstTag.sgml:
757         * docs/gst/tmpl/old/cothreads.sgml:
758         * docs/gst/tmpl/old/cothreads_compat.sgml:
759         * docs/gst/tmpl/old/gettext.sgml:
760         * docs/gst/tmpl/old/gobject2gtk.sgml:
761         * docs/gst/tmpl/old/grammar.tab.sgml:
762         * docs/gst/tmpl/old/gst-i18n-app.sgml:
763         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
764         * docs/gst/tmpl/old/gst_private.sgml:
765         * docs/gst/tmpl/old/gstaggregator.sgml:
766         * docs/gst/tmpl/old/gstarch.sgml:
767         * docs/gst/tmpl/old/gstatomic_impl.sgml:
768         * docs/gst/tmpl/old/gstbufferstore.sgml:
769         * docs/gst/tmpl/old/gstdata_private.sgml:
770         * docs/gst/tmpl/old/gstdisksink.sgml:
771         * docs/gst/tmpl/old/gstdisksrc.sgml:
772         * docs/gst/tmpl/old/gstelementfactory.sgml:
773         * docs/gst/tmpl/old/gstextratypes.sgml:
774         * docs/gst/tmpl/old/gstfakesink.sgml:
775         * docs/gst/tmpl/old/gstfakesrc.sgml:
776         * docs/gst/tmpl/old/gstfdsink.sgml:
777         * docs/gst/tmpl/old/gstfdsrc.sgml:
778         * docs/gst/tmpl/old/gstfilesink.sgml:
779         * docs/gst/tmpl/old/gstfilesrc.sgml:
780         * docs/gst/tmpl/old/gsthttpsrc.sgml:
781         * docs/gst/tmpl/old/gstidentity.sgml:
782         * docs/gst/tmpl/old/gstindexfactory.sgml:
783         * docs/gst/tmpl/old/gstmarshal.sgml:
784         * docs/gst/tmpl/old/gstmd5sink.sgml:
785         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
786         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
787         * docs/gst/tmpl/old/gstpadtemplate.sgml:
788         * docs/gst/tmpl/old/gstpipefilter.sgml:
789         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
790         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
791         * docs/gst/tmpl/old/gstshaper.sgml:
792         * docs/gst/tmpl/old/gstspider.sgml:
793         * docs/gst/tmpl/old/gstspideridentity.sgml:
794         * docs/gst/tmpl/old/gststatistics.sgml:
795         * docs/gst/tmpl/old/gsttee.sgml:
796         * docs/gst/tmpl/old/gsttimecache.sgml:
797         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
798         * docs/gst/tmpl/old/gstxmlregistry.sgml:
799         * docs/gst/tmpl/old/gthread-cothreads.sgml:
800         * docs/gst/tmpl/old/types.sgml:
801           I didn't intend to add these or check them in.
802
803 2005-05-19  David Schleef  <ds@schleef.org>
804
805         * configure.ac: Use -no-common everywhere.  In a sane world, it
806           would be the default in libtool, because without it, you can't
807           build DLLs on Windows.
808         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
809         * docs/gst/gstreamer-sections.txt:
810         * docs/gst/tmpl/gstcpu.sgml:
811         * docs/gst/tmpl/gstdata.sgml:
812         * docs/gst/tmpl/gstthread.sgml:
813
814 2005-05-19  David Schleef  <ds@schleef.org>
815
816         * gst/gstminiobject.c: (gst_value_set_mini_object),
817         (gst_value_take_mini_object), (gst_value_get_mini_object):
818         * gst/gstminiobject.h: Add GValue set/get functions.
819
820 2005-05-19  Wim Taymans  <wim@fluendo.com>
821
822         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
823         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
824         (gst_subbuffer_init), (gst_buffer_is_span_fast):
825         * gst/gstbuffer.h:
826         * gst/gstbus.c: (gst_bus_post):
827         * gst/gstelement.c: (gst_element_get_random_pad):
828         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
829         Make subbufer unref the parent in finalize.
830         some more debugging info.
831
832
833 2005-05-19  Wim Taymans  <wim@fluendo.com>
834
835         * gst/base/gstbasesink.c: (gst_basesink_class_init),
836         (gst_basesink_init), (gst_basesink_finalize),
837         (gst_basesink_activate), (gst_basesink_change_state):
838         Don't free preroll queue too early.
839
840 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
841
842         * gst/Makefile.am:
843         * gst/ROADMAP:
844           Hi, I'm outdated. Please shoot me.
845
846 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
847
848         * gst/gstpipeline.c: (gst_pipeline_send_event):
849           Do not access variables after they have been deleted.
850
851 2005-05-19  Wim Taymans  <wim@fluendo.com>
852
853         * tools/gst-inspect.c: (print_plugin_features):
854         A plugin feature does unfortunatly not use the
855         object name yet...
856
857 2005-05-18  Wim Taymans  <wim@fluendo.com>
858
859         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
860         Port _span() functions to new subbuffers.
861
862 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
863
864         * gst/gstbin.c: (gst_bin_add_func):
865           Fix clock settery in bins when adding kids after the clock has
866           been selected.
867
868 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
869
870         * gst/elements/gstidentity.c: (gst_identity_class_init):
871           Workaround until signals support GstMiniObject.
872
873 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
874
875         * gst/gstbuffer.c:
876         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
877
878 2005-05-18  Wim Taymans  <wim@fluendo.com>
879
880         * gst/base/Makefile.am:
881         * gst/base/gstadapter.c: (gst_adapter_base_init),
882         (gst_adapter_class_init), (gst_adapter_init),
883         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
884         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
885         (gst_adapter_flush), (gst_adapter_available),
886         (gst_adapter_available_fast):
887         * gst/base/gstadapter.h:
888         Ported and added adapter to the base classes.
889
890 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
891
892         * gst/gst.c:
893         * gst/gstmessage.c:
894           Make sure the class is reffed/unreffed once before threads can be
895           used.  Fixes #304551.
896
897 2005-05-17  Wim Taymans  <wim@fluendo.com>
898
899         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
900         (gst_basesink_chain_unlocked), (gst_basesink_activate):
901         * gst/gstminiobject.c: (gst_mini_object_get_type),
902         (gst_mini_object_free):
903         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
904         (gst_pad_push), (gst_pad_push_event):
905         * gst/gstqueue.c: (gst_queue_change_state):
906         Don't queue buffers in basesink when we are flushing.
907         Unref buffer when flushing in basesink.
908         Flush queue when going to READY
909         Unref buffer when _push() returns an error.
910         Don't free MiniObject instance when refcount is incremented
911         in _finalize() so that we can recover objects.
912
913 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
914
915         * docs/manual/advanced-schedulers.xml:
916         * docs/manual/appendix-checklist.xml:
917         * docs/pwg/advanced-clock.xml:
918         * docs/pwg/advanced-interfaces.xml:
919         * docs/pwg/advanced-request.xml:
920         * docs/pwg/advanced-types.xml:
921         * docs/pwg/intro-preface.xml:
922         * examples/plugins/example.c: (gst_example_get_type),
923         (gst_example_class_init), (gst_example_chain),
924         (gst_example_set_property), (gst_example_get_property),
925         (gst_example_change_state), (plugin_init):
926         * examples/plugins/example.h:
927           small doc fixes
928
929 2005-05-17  Wim Taymans  <wim@fluendo.com>
930
931         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
932         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
933         * gst/gstqueue.c: (gst_queue_change_state):
934         Clear queue when going to READY.
935         Remove IN_SETCAPS flag too.
936
937 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
938
939         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
940           Remove implicit cast from gboolean to GstElementStateReturn;
941           make sure we still return failure in paused => ready case if
942           the parent class fails to change state and our own stop 
943           vfunc succeeds.
944
945 2005-05-17  Wim Taymans  <wim@fluendo.com>
946
947         * tools/gst-launch.c: (event_loop):
948         Message was unreffed too soon.
949
950 2005-05-16  Andy Wingo  <wingo@pobox.com>
951
952         * gst/gstbin.c (sink_iterator_filter): Err... um...
953
954         * check/gst/gstbin.c (test_ghost_pads): New test for the
955         ghosting-if-elements-not-in-same-bin behavior.
956
957 2005-05-16  David Schleef  <ds@schleef.org>
958
959         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
960         accessing refcount directly.
961
962 2005-05-15  David Schleef  <ds@schleef.org>
963
964         * check/Makefile.am: remove GstData checks
965         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
966         * gst/Makefile.am: add miniobject, remove data
967         * gst/gst.h: add miniobject, remove data
968         * gst/gstdata.c: remove
969         * gst/gstdata.h: remove
970         * gst/gstdata_private.h: remove
971         * gst/gsttypes.h: remove GstEvent and GstMessage
972         * gst/gstelement.c: (gst_element_post_message): fix for API changes
973         * gst/gstmarshal.list: change BOXED -> OBJECT
974
975         Implement GstMiniObject.
976         * gst/gstminiobject.c:
977         * gst/gstminiobject.h:
978
979         Modify to be subclasses of GstMiniObject.
980         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
981         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
982         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
983         (gst_subbuffer_get_type), (gst_subbuffer_init),
984         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
985         (gst_buffer_span):
986         * gst/gstbuffer.h:
987         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
988         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
989         (_gst_event_copy), (gst_event_new):
990         * gst/gstevent.h:
991         * gst/gstmessage.c: (_gst_message_initialize),
992         (gst_message_get_type), (gst_message_class_init),
993         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
994         (gst_message_new), (gst_message_new_error),
995         (gst_message_new_warning), (gst_message_new_tag),
996         (gst_message_new_state_changed), (gst_message_new_application):
997         * gst/gstmessage.h:
998         * gst/gstprobe.c: (gst_probe_perform),
999         (gst_probe_dispatcher_dispatch):
1000         * gst/gstprobe.h:
1001         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1002         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1003         (_gst_query_copy), (gst_query_new):
1004
1005         Update elements for GstData -> GstMiniObject changes
1006         * gst/gstquery.h:
1007         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1008         (gst_queue_chain), (gst_queue_loop):
1009         * gst/elements/gstbufferstore.c:
1010         (gst_buffer_store_add_buffer_func),
1011         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1012         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1013         (gst_fakesink_render):
1014         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1015         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1016         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1017         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1018         (gst_filesrc_create_read):
1019         * gst/elements/gstidentity.c: (gst_identity_class_init):
1020         * gst/elements/gsttypefindelement.c:
1021         (gst_type_find_element_src_event), (free_entry_buffers),
1022         (gst_type_find_element_handle_event):
1023         * libs/gst/dataprotocol/dataprotocol.c:
1024         (gst_dp_header_from_buffer):
1025         * libs/gst/dataprotocol/dataprotocol.h:
1026         * libs/gst/dataprotocol/dp-private.h:
1027
1028 2005-05-15  David Schleef  <ds@schleef.org>
1029
1030         * gst/elements/gstelements.c: Don't include headers that were
1031         just removed.
1032
1033 2005-05-15  David Schleef  <ds@schleef.org>
1034
1035         * gst/elements/Makefile.am: Remove some elements that don't
1036         need to be in the core (or even exist at all).
1037         * gst/elements/gstaggregator.c:
1038         * gst/elements/gstaggregator.h:
1039         * gst/elements/gstmd5sink.c:
1040         * gst/elements/gstmd5sink.h:
1041         * gst/elements/gstmultifilesrc.c:
1042         * gst/elements/gstmultifilesrc.h:
1043         * gst/elements/gstpipefilter.c:
1044         * gst/elements/gstpipefilter.h:
1045         * gst/elements/gstshaper.c:
1046         * gst/elements/gstshaper.h:
1047         * gst/elements/gststatistics.c:
1048         * gst/elements/gststatistics.h:
1049         * po/POTFILES.in: Remove above files.
1050
1051 2005-05-14  Andy Wingo  <wingo@pobox.com>
1052
1053         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1054         so as to get the refs right.
1055         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1056         unreffing objects that don't pass the filter.
1057
1058         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1059         gst_element_set_bus.
1060         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1061         normal cases, this will destroy the bus.
1062
1063         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1064         object.
1065
1066         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1067         has no sinks.
1068
1069 2005-05-13  Andy Wingo  <wingo@pobox.com>
1070
1071         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1072         gst_pad_link, call pad_link_maybe_ghosting,
1073         (pad_link_maybe_ghosting): Links pads, making sure that the
1074         elements being linked are in the same bin.
1075         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1076         Helpers for pad_link_maybe_ghosting.
1077
1078 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1079
1080         * configure.ac:
1081           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1082
1083 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1084
1085         * docs/design/part-element-source.txt:
1086           Mention GstPushSrc
1087
1088 2005-05-12  Wim Taymans  <wim@fluendo.com>
1089
1090         * gst/base/gstbasesink.c: (gst_basesink_init),
1091         (gst_basesink_activate):
1092         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1093         (gst_basesrc_is_seekable):
1094         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1095         (bin_element_is_sink), (gst_bin_change_state):
1096         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1097         * gst/gstelement.h:
1098         Identify sinks by their flag to avoid overly complicated
1099         checks (fow now).
1100         Do state changes even for elements not reachable from the
1101         sinks.
1102         BaseSink is a sink now :)
1103         Some more debugging info in the basesrc.
1104
1105
1106 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1107
1108         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1109           Implement _query on a bin, similar to _send_event.
1110
1111 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1112
1113         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1114           Discont event offset format should be GST_FORMAT_BYTES,
1115           not GST_FORMAT_TIME.
1116
1117 2005-05-12  Wim Taymans  <wim@fluendo.com>
1118
1119         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1120         Same fix as Ronald's but without the signal. 
1121
1122 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1123
1124         * gst/gstutils.c: (gst_element_query_position):
1125           No, an element is not a pad.
1126
1127 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1128
1129         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1130         (gst_bin_get_state):
1131           If a child is removed from a bin while we remove the child from
1132           the bin and while we're retrieving its state, signal this to the
1133           get_state function so we abort the wait (instead of waiting for
1134           a timeout) and can immediately re-iterate over all other elements.
1135
1136 2005-05-12  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/base/Makefile.am:
1139         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1140         (gst_basesrc_start):
1141         * gst/base/gstbasesrc.h:
1142         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1143         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1144         (gst_pushsrc_init), (gst_pushsrc_create):
1145         * gst/base/gstpushsrc.h:
1146         Added is_seekable to BaseSrc
1147         Added simple PushSrc.
1148
1149 2005-05-11  Wim Taymans  <wim@fluendo.com>
1150
1151         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1152         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1153         (gst_element_link_pads), (gst_element_query_position),
1154         (gst_element_query_convert), (intersect_caps_func),
1155         (gst_pad_query_position), (gst_pad_query_convert):
1156         Fix refcounting in utils function.
1157         No point in trying to activate a pad when it's added, it could
1158         be added from the state change function and then we deadlock, the
1159         element has to decide what to do.
1160
1161 2005-05-10  Andy Wingo  <wingo@pobox.com>
1162
1163         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1164         *all* the arguments.
1165
1166         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1167         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1168         lock (according to the docs -- if this is wrong change the docs).
1169
1170         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1171         flush messages in the NULL state.
1172
1173         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1174         message immediately and return.
1175         (gst_bus_set_flushing): New function. If a bus is flushing, it
1176         flushes out any queued messages and immediately unrefs new
1177         messages. This is so when an element goes to NULL, all of the
1178         unhandled messages coming from it can be freed, and their
1179         references to the element dropped. In other words: message source
1180         ref considered harmful :P
1181
1182         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1183         we're finished with it.
1184
1185         * gst/gstmessage.c (gst_message_new_state_changed): 
1186
1187 2005-05-10  Wim Taymans  <wim@fluendo.com>
1188
1189         * gst/gstvalue.c: (gst_value_compare_flags),
1190         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1191         (_gst_value_initialize):
1192         Added flags serialize/deserialize/compare code.
1193
1194 2005-05-09  Andy Wingo  <wingo@pobox.com>
1195
1196         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1197         Intersect the peer's caps with our caps.
1198
1199 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1200
1201         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1202         * gst/elements/gsttypefindelement.c: (find_peek):
1203           Handle negative offsets better. Fixes decodebin.
1204
1205 2005-05-09  Wim Taymans  <wim@fluendo.com>
1206
1207         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1208         (gst_base_transform_event):
1209         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1210         Implement accept_caps.
1211         Fix silly lock/unlock mismatch in base class.
1212
1213 2005-05-09  Wim Taymans  <wim@fluendo.com>
1214
1215         * docs/design/draft-push-pull.txt:
1216         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1217         * gst/elements/gstfilesink.c: (gst_filesink_init),
1218         (gst_filesink_query):
1219         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1220         (gst_type_find_handle_src_query), (find_element_get_length):
1221         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1222         * gst/gstelement.h:
1223         * gst/gstmessage.c:
1224         * gst/gstmessage.h:
1225         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1226         (gst_real_pad_get_caps_unlocked),
1227         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1228         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1229         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1230         (gst_real_pad_dispose), (gst_real_pad_finalize),
1231         (gst_pad_load_and_link), (gst_pad_save_thyself),
1232         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1233         (gst_pad_check_pull_range), (gst_pad_pull_range),
1234         (gst_pad_template_get_type), (gst_pad_template_class_init),
1235         (gst_pad_template_init), (gst_pad_template_dispose),
1236         (name_is_valid), (gst_static_pad_template_get),
1237         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1238         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1239         (gst_pad_get_element_private), (gst_pad_start_task),
1240         (gst_pad_pause_task), (gst_pad_stop_task),
1241         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1242         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1243         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1244         (gst_ghost_pad_new):
1245         * gst/gstpad.h:
1246         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1247         (gst_query_new_position), (gst_query_set_position),
1248         (gst_query_parse_position), (gst_query_new_convert),
1249         (gst_query_set_convert), (gst_query_parse_convert):
1250         * gst/gstquery.h:
1251         * gst/gstqueryutils.c:
1252         * gst/gstqueryutils.h:
1253         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1254         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1255         (gst_queue_handle_src_query):
1256         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1257         (gst_element_query_position), (gst_element_query_convert),
1258         (intersect_caps_func), (gst_pad_query_position),
1259         (gst_pad_query_convert):
1260         * gst/gstutils.h:
1261         * tools/gst-inspect.c: (print_pad_info):
1262         * tools/gst-xmlinspect.c: (print_element_info):
1263         Remove old query functions. Ported old code.
1264         Added position/convert helper functions to gstutils.
1265         Reordered gstpad.c code, grouping relevant things.
1266         Remove gst_message_new(), always need to speficy a specific
1267         message.
1268
1269
1270 2005-05-09  Andy Wingo  <wingo@pobox.com>
1271
1272         * gst/gstiterator.h: Add some includes.
1273
1274         * gst/gstqueryutils.h: Include more headers.
1275
1276         * gst/gstpad.h:
1277         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1278         some uses of gst_pad_query.
1279
1280         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1281         NULL out parameters.
1282         (gst_query_new_position): New proc, allocates a new position
1283         query.
1284
1285         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1286         gstqueryutils.c to the build.
1287
1288         * gst/gststructure.c (gst_structure_set_valist): Implement with
1289         the generic G_VALUE_COLLECT.
1290         
1291 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1292
1293         * gst/Makefile.am: (gst_headers):
1294         Added gstqueryutils.h to the list of headers to install, that was
1295         a 'nachty' move wingo :)
1296
1297 2005-05-06  Andy Wingo  <wingo@pobox.com>
1298
1299         * gst/gstquery.h
1300         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1301         GstData, init a memchunk.
1302         (standard_definitions): Add a few query types, deprecate a few.
1303         (gst_query_get_type): New proc.
1304         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1305         implementation.
1306         (gst_query_new_application, gst_query_get_structure): New public
1307         procs.
1308
1309         * docs/design/draft-query.txt: Removed LINKS from the query types,
1310         because all the rest can be dispatched to other pads -- seemed
1311         ugly to have a query that couldn't be dispatched. internal_links
1312         is fine as a pad method.
1313
1314         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1315         in gstpad.c, but maintain binary compatibility for the moment.
1316         Will fix before 0.9 is out.
1317
1318         * gst/gstqueryutils.c: 
1319         * gst/gstqueryutils.h: New files, implement 3 methods for each
1320         query type: parse_query, parse_response, and set. Probably need an
1321         allocator as well.
1322
1323         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1324
1325         * gst/elements/gstfilesink.c (gst_filesink_query2):
1326         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1327         query_types, and formats methods.
1328
1329         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1330         (gst_pad_set_query2_function): New functions.
1331         (gst_real_pad_init): Set query2_default as the default query2
1332         function. Basically just dispatches to internally linked pads.
1333
1334         Needs review!
1335         
1336         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1337         without using the atomic operations. Only one thread can possibly
1338         be accessing the data at this point. Changed so as to avoid
1339         gst_atomic operations.
1340
1341 2005-05-06  Wim Taymans  <wim@fluendo.com>
1342
1343         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1344         Also set caps if we use the fallback buffer alloc.
1345
1346 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1347
1348         * docs/gst/Makefile.am:
1349         * docs/gst/gstreamer-docs.sgml:
1350         * docs/gst/gstreamer-sections.txt:
1351         * docs/gst/tmpl/gstatomic.sgml:
1352         * docs/gst/tmpl/gstmemchunk.sgml:
1353         * testsuite/elements/struct_i386.h:
1354         * win32/GStreamer.vcproj:
1355         * win32/Makefile:
1356           Purge GstAtomic stuff from docs and win32 makefiles as well
1357
1358 2005-05-06  Wim Taymans  <wim@fluendo.com>
1359
1360         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1361         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1362         * gst/gstpad.c: (gst_pad_peer_get_caps):
1363         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1364         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1365         (gst_queue_src_activate), (gst_queue_change_state):
1366         * gst/gstqueue.h:
1367         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1368         (intersect_caps_func):
1369         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1370         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1371         Some fixes for the peer_get_caps() change.
1372
1373 2005-05-06  Wim Taymans  <wim@fluendo.com>
1374
1375         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1376         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1377         (gst_basesink_activate):
1378         Actually do something with error codes returned from the push
1379         functions.
1380
1381 2005-05-06  Wim Taymans  <wim@fluendo.com>
1382
1383         * docs/design/part-element-sink.txt:
1384         * docs/design/part-element-source.txt:
1385         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1386         (gst_basesink_event), (gst_basesink_activate):
1387         * gst/base/gstbasesink.h:
1388         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1389         (gst_basesrc_activate):
1390         * gst/base/gstbasesrc.h:
1391         * gst/gstelement.c: (gst_element_pads_activate):
1392         Some more documentation.
1393         Fixed scheduling decision in _pads_activate().
1394
1395 2005-05-05  Andy Wingo  <wingo@pobox.com>
1396
1397         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1398         the test suite.
1399
1400 2005-05-05  Wim Taymans  <wim@fluendo.com>
1401
1402         * gst/base/Makefile.am:
1403         * gst/base/gstbasesink.h:
1404         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1405         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1406         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1407         (gst_collectpads_class_init), (gst_collectpads_init),
1408         (gst_collectpads_finalize), (gst_collectpads_new),
1409         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1410         (find_pad), (gst_collectpads_remove_pad),
1411         (gst_collectpads_is_active), (gst_collectpads_collect),
1412         (gst_collectpads_collect_range), (gst_collectpads_start),
1413         (gst_collectpads_stop), (gst_collectpads_peek),
1414         (gst_collectpads_pop), (gst_collectpads_available),
1415         (gst_collectpads_read), (gst_collectpads_flush),
1416         (gst_collectpads_chain):
1417         * gst/base/gstcollectpads.h:
1418         * gst/elements/Makefile.am:
1419         * gst/elements/gstelements.c:
1420         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1421         (gst_fakesink_get_times), (gst_fakesink_event),
1422         (gst_fakesink_preroll), (gst_fakesink_render):
1423         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1424         (gst_filesink_init), (gst_filesink_set_location),
1425         (gst_filesink_open_file), (gst_filesink_close_file),
1426         (gst_filesink_pad_query), (gst_filesink_event),
1427         (gst_filesink_render), (gst_filesink_change_state):
1428         * gst/elements/gstfilesink.h:
1429         Added object to help in making collect pad based elements.
1430         Ported filesink.
1431         Make event function in sink baseclass return gboolean.
1432
1433 2005-05-05  Wim Taymans  <wim@fluendo.com>
1434
1435         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1436         (gst_bin_get_by_name):
1437         * gst/gstbuffer.h:
1438         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1439         (gst_clock_finalize):
1440         * gst/gstdata.c: (gst_data_replace):
1441         * gst/gstdata.h:
1442         * gst/gstelement.c: (gst_element_request_pad),
1443         (gst_element_pads_activate):
1444         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1445         (gst_object_unref):
1446         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1447         (gst_pad_set_checkgetrange_function),
1448         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1449         (gst_pad_check_pull_range), (gst_pad_pull_range),
1450         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1451         (gst_pad_pause_task), (gst_pad_stop_task):
1452         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1453         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1454         Fix name lookup in GstBin.
1455         Added _data_replace() function and _buffer_replace()
1456         Use finalize method to clean up clock.
1457         Fix refcounting on request pads.
1458         Fix pad schedule mode error.
1459         Some more object refcounting debug info,
1460
1461
1462 2005-05-04  Andy Wingo <wingo@pobox.com>
1463
1464         * check/Makefile.am:
1465         * docs/gst/tmpl/gstatomic.sgml:
1466         * docs/gst/tmpl/gstplugin.sgml:
1467         * gst/base/gstbasesink.c: (gst_basesink_activate):
1468         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1469         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1470         (gst_basesrc_query), (gst_basesrc_set_property),
1471         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1472         (gst_basesrc_activate):
1473         * gst/base/gstbasesrc.h:
1474         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1475         (gst_base_transform_src_activate):
1476         * gst/elements/gstelements.c:
1477         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1478         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1479         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1480         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1481         (gst_type_find_element_checkgetrange),
1482         (gst_type_find_element_activate):
1483         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1484         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1485         (gst_caps_load_thyself):
1486         * gst/gstelement.c: (gst_element_pads_activate),
1487         (gst_element_save_thyself), (gst_element_restore_thyself):
1488         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1489         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1490         * gst/gstpad.h:
1491         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1492         (gst_xml_parse_file), (gst_xml_parse_memory),
1493         (gst_xml_get_element), (gst_xml_make_element):
1494         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1495         (_file_index_id_save_xml), (gst_file_index_commit):
1496         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1497         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1498         (load_paths):
1499         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1500         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1501         * tools/gst-complete.c: (main):
1502         * tools/gst-compprep.c: (main):
1503         * tools/gst-inspect.c: (print_element_properties_info):
1504         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1505         * tools/gst-xmlinspect.c: (print_element_properties):
1506         GCC 4 fixen.
1507         
1508 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1509
1510         * gst/gstplugin.c: (gst_plugin_check_module),
1511         (gst_plugin_check_file), (gst_plugin_load_file):
1512             apply patch from #172526 to make register work on MacOSX
1513
1514 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1515
1516         * docs/gst/tmpl/gstconfig.sgml:
1517         * gst/gstconfig.h.in:
1518           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1519         * testsuite/debug/printf_extension.c: (main):
1520           Do not use GST_PTR_FORMAT on pointers to types with
1521           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1522         * testsuite/elements/property.h:
1523           use correct printf format
1524
1525 2005-05-02  Wim Taymans  <wim@fluendo.com>
1526
1527         * docs/design/draft-push-pull.txt:
1528         * docs/design/draft-query.txt:
1529         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1530         (gst_basesrc_start):
1531         Added draft for new query API.
1532         Added draft for better selecting scheduling methods.
1533         Make basesrc ignore length if the subclass does not support
1534         it.
1535
1536 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1537
1538         * gst/Makefile.am:
1539           possible fixes for automake-1.5 - _LIBADD is reserved
1540
1541 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1542
1543         * docs/faq/Makefile.am:
1544         * docs/manual/Makefile.am:
1545         * docs/manuals.mak:
1546         * docs/pwg/Makefile.am:
1547         * gst/Makefile.am:
1548           possible fixes for automake-1.5
1549
1550 2005-04-28  Wim Taymans  <wim@fluendo.com>
1551
1552         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1553         (gst_basesink_pad_getcaps), (gst_basesink_init),
1554         (gst_basesink_do_sync):
1555         * gst/gstclock.c: (gst_clock_entry_new):
1556         * gst/gstevent.c: (gst_event_discont_get_value):
1557         * gst/gstpipeline.c: (pipeline_bus_handler),
1558         (gst_pipeline_change_state):
1559         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1560         Better debugging of clocking info.
1561         Allow NULL values when getting discont values.
1562
1563 2005-04-27  Wim Taymans  <wim@fluendo.com>
1564
1565         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1566         * check/gst/gstpad.c: (gst_pad_suite):
1567         Increase timeout for checks.
1568
1569 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1570
1571         * check/Makefile.am:
1572           fix the broken rule for cleanup.  Apparently this rule is
1573           only needed on FC2, so maybe this warrants further autotool
1574           inspection.
1575
1576 2005-04-26  Wim Taymans  <wim@fluendo.com>
1577
1578         * gst/gsttrashstack.h:
1579         Ooohh. a nasty one! After having a failed pop() from the stack,
1580         it's possible that the stack is empty. In that case, don't
1581         follow the NULL pointer.
1582
1583 2005-04-25  Wim Taymans  <wim@fluendo.com>
1584
1585         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1586         (gst_pad_set_checkgetrange_function),
1587         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1588         (gst_pad_check_pull_range), (gst_pad_pull_range),
1589         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1590         (gst_pad_pause_task), (gst_pad_stop_task):
1591         * gst/gstplugin.c: (gst_plugin_load):
1592         * gst/gstplugin.h:
1593         Remove gst_library_load as it does more harm than good with
1594         the new g_module flags.
1595         Revert bogus caps template check in pad linking, pad caps
1596         are important when linking not the template, which is more
1597         general than the current caps.
1598
1599 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1600
1601         * gst/autoplug/.cvsignore:
1602         * gst/autoplug/Makefile.am:
1603         * gst/autoplug/gstsearchfuncs.c:
1604         * gst/autoplug/gstsearchfuncs.h:
1605         * gst/autoplug/gstspider.c:
1606         * gst/autoplug/gstspider.h:
1607         * gst/autoplug/gstspideridentity.c:
1608         * gst/autoplug/gstspideridentity.h:
1609         * gst/autoplug/spidertest.c:
1610           Die, spider, die.
1611
1612 2005-04-25  Wim Taymans  <wim@fluendo.com>
1613
1614         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1615         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1616         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1617         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1618         * gst/gstpad.h:
1619         Added stubs for unimplemented functions. 
1620
1621 2005-04-24  David Schleef  <ds@schleef.org>
1622
1623         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1624         please fix.
1625
1626 2005-04-24  David Schleef  <ds@schleef.org>
1627
1628         Convert everything from GstAtomicInt to g_atomic_int_*, and
1629         remove gstatomic.
1630         * gst/Makefile.am:
1631         * gst/gstatomic.c:
1632         * gst/gstatomic.h:
1633         * gst/gstatomic_impl.h:
1634         * gst/gstbuffer.c:
1635         * gst/gstcaps.c:
1636         * gst/gstcaps.h:
1637         * gst/gstclock.c:
1638         * gst/gstclock.h:
1639         * gst/gstdata.c:
1640         * gst/gstdata.h:
1641         * gst/gstdata_private.h:
1642         * gst/gstevent.c:
1643         * gst/gstinfo.c:
1644         * gst/gstinfo.h:
1645         * gst/gstmessage.c:
1646         * gst/gstobject.c:
1647         * gst/gstobject.h:
1648         * gst/gststructure.c:
1649         * gst/gststructure.h:
1650         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1651         * gst/gstutils.h:
1652
1653 2005-04-24  David Schleef  <ds@schleef.org>
1654
1655         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1656         make the regressions tests work.  Remove some code that is no
1657         longer true.
1658         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1659         Disable warning for pads without templates.
1660
1661 2005-04-24  David Schleef  <ds@schleef.org>
1662
1663         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1664         functions that handle filtered links.
1665         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1666         removed functions.
1667         * gst/gstutils.c: Fix/remove utility functions that handle
1668         filtered caps.
1669         * gst/gstutils.h:
1670         * gst/gstvalue.c: Add serialization/deserialization of caps
1671         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1672         requires fixing so that the filter caps notation creates
1673         a capsfilter element and sets the filter_caps property.  I
1674         think everyone probably wants to keep the shorthand notation.
1675         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1676         * docs/gst/tmpl/gstpad.sgml:
1677
1678         * gst/elements/gstelements.c: Register capsfilter element.
1679         * gst/Makefile.am: fix spacing
1680         * docs/random/ds/0.9-suggested-changes: random
1681
1682 2005-04-23  David Schleef  <ds@schleef.org>
1683
1684         * gst/elements/Makefile.am:
1685         * gst/elements/gstcapsfilter.c: New element that acts like an
1686         identity, but filters caps.  Will eventually replace filtered
1687         caps in pad linking.
1688         * gst/gstutils.c: (gst_element_create_all_pads): New function
1689         to create all the ALWAYS pads that are registered with an
1690         element class.  This functionality should eventually be
1691         merged in with GstElement initialization.
1692         * gst/gstutils.h:
1693         * testsuite/trigger/README: part of trigger test code that should
1694         have been checked in a long time ago.
1695
1696 2005-04-23  David Schleef  <ds@schleef.org>
1697
1698         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1699         needed with new versions of libtool (nobody will confirm this),
1700         and hard to carry around.
1701         * gst/autoplug/Makefile.am:
1702         * gst/base/Makefile.am:
1703         * gst/elements/Makefile.am:
1704         * gst/indexers/Makefile.am:
1705         * gst/schedulers/Makefile.am:
1706         * libs/gst/bytestream/Makefile.am:
1707         * libs/gst/control/Makefile.am:
1708         * libs/gst/dataprotocol/Makefile.am:
1709         * libs/gst/getbits/Makefile.am:
1710
1711 2005-04-21  Wim Taymans  <wim@fluendo.com>
1712
1713         * docs/design/draft-push-pull.txt:
1714         * docs/design/part-MT-refcounting.txt:
1715         * docs/design/part-TODO.txt:
1716         * docs/design/part-caps.txt:
1717         * docs/design/part-events.txt:
1718         * docs/design/part-gstbus.txt:
1719         * docs/design/part-gstpipeline.txt:
1720         * docs/design/part-messages.txt:
1721         * docs/design/part-push-pull.txt:
1722         * docs/design/part-query.txt:
1723         Some more docs.
1724
1725 2005-04-21  Wim Taymans  <wim@fluendo.com>
1726
1727         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1728         (gst_message_new), (gst_message_new_error),
1729         (gst_message_new_warning), (gst_message_new_tag),
1730         (gst_message_new_state_changed), (gst_message_new_application),
1731         (gst_message_get_structure):
1732         * gst/gstmessage.h:
1733         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1734         (gst_structure_copy_conditional):
1735         Use parent refcount in GstMessage to ensure GstStructure
1736         consistency.
1737         Cleaned up headers a bit.
1738         
1739
1740 2005-04-20  Wim Taymans  <wim@fluendo.com>
1741
1742         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1743         (gst_basesink_pad_getcaps), (gst_basesink_init),
1744         (gst_basesink_chain_unlocked):
1745         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1746         (gst_type_find_helper):
1747         * gst/elements/gsttypefindelement.c:
1748         (gst_type_find_element_have_type), (gst_type_find_element_init),
1749         (stop_typefinding), (gst_type_find_element_handle_event),
1750         (find_suggest), (gst_type_find_element_chain),
1751         (gst_type_find_element_checkgetrange),
1752         (gst_type_find_element_getrange), (do_typefind),
1753         (gst_type_find_element_activate):
1754         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1755         (gst_buffer_default_free), (gst_buffer_default_copy),
1756         (gst_buffer_set_caps):
1757         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1758         (gst_caps_replace):
1759         * gst/gstmessage.c: (gst_message_new),
1760         (gst_message_new_state_changed):
1761         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1762         (gst_pad_set_checkgetrange_function),
1763         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1764         (gst_pad_set_caps), (gst_pad_check_pull_range),
1765         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1766         * gst/gstpad.h:
1767         * gst/gsttypefind.c: (gst_type_find_register):
1768         Make gst_caps_replace() work like other _replace() functions.
1769         Use _caps_replace() where possible.
1770         Make sure _message_new() initialises its field.
1771         Add gst_static_pad_template_get_caps()
1772
1773
1774 2005-04-18  Andy Wingo  <wingo@pobox.com>
1775
1776         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1777         on the peer, not the pad. I think that was a typo. Pass an extra
1778         arg to see if random access is possible. Activate the pads as
1779         PULL_RANGE if possible.
1780
1781         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1782
1783         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1784         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1785         to PROP_....
1786
1787 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1788
1789         * docs/faq/using.xml:
1790           Add note on gstreamer-properties (#154996).
1791
1792 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1793
1794         * docs/random/bbb/optional-properties:
1795           Some analysis on optional properties.
1796
1797 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1798
1799         * docs/gst/tmpl/gstelementfactory.sgml:
1800         * gst/gstelement.h:
1801         * gst/gstelementfactory.c: (gst_element_factory_init),
1802         (gst_element_factory_cleanup), (gst_element_register),
1803         (__gst_element_factory_add_static_pad_template),
1804         (gst_element_factory_get_static_pad_templates),
1805         (gst_element_factory_can_src_caps),
1806         (gst_element_factory_can_sink_caps):
1807         * gst/registries/Makefile.am:
1808         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1809         (gst_xml_registry_class_init), (gst_xml_registry_init),
1810         (gst_xml_registry_new), (gst_xml_registry_set_property),
1811         (gst_xml_registry_get_property), (get_time), (make_dir),
1812         (gst_xml_registry_get_perms_func),
1813         (plugin_times_older_than_recurse), (plugin_times_older_than),
1814         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1815         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1816         (add_to_char_array), (read_string), (read_uint), (read_enum),
1817         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1818         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1819         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1820         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1821         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1822         (gst_xml_registry_rebuild):
1823         * gst/registries/gstlibxmlregistry.h:
1824         * tools/gst-compprep.c: (main):
1825         * tools/gst-inspect.c: (print_pad_templates_info):
1826         * tools/gst-xmlinspect.c: (print_element_info):
1827           Use libxml2 for registry parsing, use staticpadtemplates in
1828           elementfactories. Makes gst_init() +/- 10x faster.
1829
1830 2005-04-12  Wim Taymans  <wim@fluendo.com>
1831
1832         * gst/base/Makefile.am:
1833         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1834         (gst_basesink_pad_getcaps), (gst_basesink_init),
1835         (gst_basesink_event), (gst_basesink_change_state):
1836         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1837         (gst_basesrc_init), (gst_basesrc_query),
1838         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1839         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1840         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1841         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1842         (gst_basesrc_stop), (gst_basesrc_activate),
1843         (gst_basesrc_change_state):
1844         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1845         (helper_find_suggest), (gst_type_find_helper):
1846         * gst/base/gsttypefindhelper.h:
1847         * gst/elements/Makefile.am:
1848         * gst/elements/gstelements.c:
1849         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1850         (gst_fakesink_get_times), (gst_fakesink_event),
1851         (gst_fakesink_preroll), (gst_fakesink_render):
1852         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1853         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1854         (gst_fakesrc_get_property), (gst_fakesrc_create),
1855         (gst_fakesrc_start), (gst_fakesrc_stop):
1856         * gst/elements/gstfakesrc.h:
1857         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1858         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1859         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1860         (gst_filesrc_create_read), (gst_filesrc_create),
1861         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1862         (gst_filesrc_start):
1863         * gst/elements/gsttypefindelement.c:
1864         (gst_type_find_element_have_type), (gst_type_find_element_init),
1865         (start_typefinding), (stop_typefinding), (push_buffer_store),
1866         (gst_type_find_element_handle_event),
1867         (gst_type_find_element_chain),
1868         (gst_type_find_element_checkgetrange),
1869         (gst_type_find_element_getrange), (do_typefind),
1870         (gst_type_find_element_activate),
1871         (gst_type_find_element_change_state):
1872         * gst/elements/gsttypefindelement.h:
1873         * gst/gstpipeline.c: (pipeline_bus_handler):
1874         Added typefind helper.
1875         Small preroll fix in the base sink.
1876         Disable typefind code in basesrc.
1877         Crude port of typefindelement.
1878         Fakesrc cleanups.
1879
1880
1881 2005-04-11  Wim Taymans  <wim@fluendo.com>
1882
1883         * check/gst/gstbus.c: (gstbus_suite):
1884         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
1885         * check/gstcheck.h:
1886           Fix up the timeout so that the test does not fail.
1887
1888 2005-04-06  Wim Taymans  <wim@fluendo.com>
1889
1890         * gst/base/README:
1891         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1892         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
1893         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1894         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1895         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1896         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1897         (gst_basesrc_stop), (gst_basesrc_activate),
1898         (gst_basesrc_change_state), (basesrc_find_peek),
1899         (basesrc_find_suggest), (gst_basesrc_type_find):
1900         * gst/base/gstbasesrc.h:
1901         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
1902         (gst_filesrc_class_init), (gst_filesrc_init),
1903         (gst_filesrc_finalize), (gst_filesrc_set_location),
1904         (gst_filesrc_set_property), (gst_filesrc_get_property),
1905         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1906         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1907         (gst_filesrc_create_read), (gst_filesrc_create),
1908         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
1909         * gst/elements/gstfilesrc.h:
1910         * gst/gstelement.c: (gst_element_get_state_func),
1911         (gst_element_lost_state), (gst_element_pads_activate):
1912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1913         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1914         (gst_pad_pull_range):
1915         * gst/gstpad.h:
1916         More work on the generic source base class, implement seeking,
1917         query.
1918         Make filesrc extend the base source class.
1919         Added gst_pad_set_checkgetrange_function to GstPad.
1920
1921 2005-04-06  Andy Wingo  <wingo@pobox.com>
1922
1923         * pkgconfig/gstreamer-base.pc.in:
1924         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
1925
1926         * pkgconfig/Makefile.am:
1927         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
1928
1929 2005-04-04  Wim Taymans  <wim@fluendo.com>
1930
1931         * gst/base/Makefile.am:
1932         * gst/base/README:
1933         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1934         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
1935         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
1936         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
1937         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1938         (gst_basesrc_base_init), (gst_basesrc_class_init),
1939         (gst_basesrc_init), (gst_basesrc_get_formats),
1940         (gst_basesrc_get_query_types), (gst_basesrc_query),
1941         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
1942         (gst_basesrc_set_property), (gst_basesrc_get_property),
1943         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
1944         (gst_basesrc_loop), (gst_basesrc_activate),
1945         (gst_basesrc_change_state):
1946         * gst/base/gstbasesrc.h:
1947         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
1948         (gst_fakesrc_class_init), (gst_fakesrc_init),
1949         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
1950         (gst_fakesrc_get_property), (gst_fakesrc_create):
1951         * gst/elements/gstfakesrc.h:
1952         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
1953         (gst_filesrc_open_file), (gst_filesrc_loop),
1954         (gst_filesrc_activate), (filesrc_find_peek),
1955         (gst_filesrc_type_find):
1956         Made base source class, make fakesrc extend it.
1957         Add comments to basesink class.
1958         Some filesrc cleanup.
1959
1960 2005-03-31  David Schleef  <ds@schleef.org>
1961
1962         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
1963         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
1964         expected to link against libgstreamer.
1965         * gst/base/Makefile.am: link against libgstreamer
1966         * gst/elements/Makefile.am: same
1967
1968 2005-03-31  Andy Wingo  <wingo@pobox.com>
1969
1970         * tests/instantiate/Makefile.am:
1971         * tests/instantiate/caps.c: Add test to test speed of caps copy
1972         and free.
1973
1974         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
1975         GMemChunk to be fair.
1976
1977         * gst/gsttrashstack.h: Remove warning about using the fallback
1978         trash stack implementation, it's still faster than malloc.
1979
1980 2005-03-30  Andy Wingo  <wingo@pobox.com>
1981
1982         * tests/complexity.c: Add a copyright.
1983
1984 2005-03-31  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
1987         (gst_base_transform_class_init), (gst_base_transform_init),
1988         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
1989         (gst_base_transform_get_property),
1990         (gst_base_transform_sink_activate),
1991         (gst_base_transform_src_activate),
1992         (gst_base_transform_change_state):
1993         * gst/base/gstbasetransform.h:
1994         * gst/elements/gstidentity.c: (gst_identity_class_init),
1995         (gst_identity_event), (gst_identity_check_perfect),
1996         (gst_identity_transform), (gst_identity_start),
1997         (gst_identity_stop):
1998         Added start/stop methods to transform base class so subclasses 
1999         don't need to deal with state changes even.
2000
2001 2005-03-31  Wim Taymans  <wim@fluendo.com>
2002
2003         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2004         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2005         * gst/gstevent.h:
2006         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2007         (gst_pad_pull_range):
2008         Added rate to the discont event to prepare for variable speed
2009         and reverse playback.
2010
2011 2005-03-29  David Schleef  <ds@schleef.org>
2012
2013         * configure.ac:
2014         * testsuite/trigger/Makefile.am:
2015         * testsuite/trigger/trigger.c: A little example program to show
2016         how trigger-based elements can work.
2017
2018 2005-03-29  Wim Taymans  <wim@fluendo.com>
2019
2020         * gst/base/Makefile.am:
2021         * gst/base/README:
2022         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2023         (gst_basesink_base_init), (gst_basesink_class_init),
2024         (gst_basesink_pad_getcaps), (gst_basesink_init),
2025         (gst_basesink_activate), (gst_basesink_change_state):
2026         * gst/base/gstbasesink.h:
2027         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2028         (gst_base_transform_base_init), (gst_base_transform_finalize),
2029         (gst_base_transform_class_init), (gst_base_transform_init),
2030         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2031         (gst_base_transform_event), (gst_base_transform_getrange),
2032         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2033         (gst_base_transform_set_property),
2034         (gst_base_transform_get_property),
2035         (gst_base_transform_sink_activate),
2036         (gst_base_transform_src_activate),
2037         (gst_base_transform_change_state):
2038         * gst/base/gstbasetransform.h:
2039         * gst/elements/gstidentity.c: (gst_identity_finalize),
2040         (gst_identity_class_init), (gst_identity_init),
2041         (gst_identity_event), (gst_identity_check_perfect),
2042         (gst_identity_transform), (gst_identity_set_property),
2043         (gst_identity_get_property), (gst_identity_change_state):
2044         * gst/elements/gstidentity.h:
2045         * gst/gstelement.c: (gst_element_get_state_func),
2046         (gst_element_lost_state), (gst_element_pads_activate):
2047         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2048         (gst_pad_check_pull_range), (gst_pad_pull_range):
2049         * gst/gstpad.h:
2050         Simplify pad activation.
2051         Added function to check if pull_range can be performed.
2052         Error out when pulling inactive or flushing pads.
2053         Removed const from refcounted types as it does not make sense.
2054         Simplify pad templates in basesink
2055         Added base class for simple 1-to-1 transforms.
2056         Make identity subclass the base transform.
2057
2058 2005-03-29  Andy Wingo  <wingo@pobox.com>
2059
2060         * docs/libs/gstreamer-libs-overrides.txt: 
2061         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2062         really don't understand what's going on, but like whatever. I want
2063         green buildbot!
2064
2065         * docs/gst/Makefile.am:
2066         * docs/libs/Makefile.am: Dist the overrides files.
2067
2068         * check/Makefile.am (clean-local): Remove .libs directories.
2069
2070         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2071         elements to EXTRA_DIST, so po/ files are happy.
2072
2073         * po/POTFILES.in: Er, remove it here.
2074
2075         * po/POTFILES: Remove gstspider.c.
2076
2077         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2078
2079         * docs/libs/gstreamer-libs-docs.sgml: 
2080         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2081         bytestream.
2082
2083         * tests/complexity.c (main): Set the length of the preroll queue
2084         on the sinks to prevent a lockup.
2085
2086         * libs/gst/dataprotocol/Makefile.am: 
2087         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2088         the same as the one in check/gst-libs/gdp.c.
2089
2090         * po/, docs/gst/: Commit automatic changes to docs and po files.
2091
2092         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2093         the versioned libgstbase.
2094
2095         * check/Makefile.am: Depend on an unversioned gst-register, seems
2096         to make autoconf happier.
2097
2098         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2099
2100 2005-03-28  Wim Taymans  <wim@fluendo.com>
2101
2102         * configure.ac:
2103         * docs/design/part-gstelement.txt:
2104         * docs/design/part-negotiation.txt:
2105         * docs/design/part-preroll.txt:
2106         * docs/design/part-scheduling.txt:
2107         * docs/design/part-states.txt:
2108         * gst/Makefile.am:
2109         * gst/base/Makefile.am:
2110         * gst/base/README:
2111         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2112         (gst_basesink_base_init), (gst_basesink_class_init),
2113         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2114         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2115         (gst_basesink_set_pad_functions),
2116         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2117         (gst_basesink_set_property), (gst_basesink_get_property),
2118         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2119         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2120         (gst_basesink_preroll_queue_push),
2121         (gst_basesink_preroll_queue_empty),
2122         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2123         (gst_basesink_event), (gst_basesink_get_times),
2124         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2125         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2126         (gst_basesink_loop), (gst_basesink_activate),
2127         (gst_basesink_change_state):
2128         * gst/base/gstbasesink.h:
2129         * gst/elements/Makefile.am:
2130         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2131         (gst_fakesink_class_init), (gst_fakesink_init),
2132         (gst_fakesink_set_property), (gst_fakesink_get_property),
2133         (gst_fakesink_get_times), (gst_fakesink_event),
2134         (gst_fakesink_preroll), (gst_fakesink_render),
2135         (gst_fakesink_change_state):
2136         * gst/elements/gstfakesink.h:
2137         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2138         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2139         * gst/gstelement.c: (gst_element_add_pad),
2140         (gst_element_get_state_func), (gst_element_abort_state),
2141         (gst_element_commit_state), (gst_element_lost_state),
2142         (gst_element_set_state), (gst_element_pads_activate):
2143         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2144         * gst/gstpipeline.c: (gst_pipeline_send_event),
2145         (gst_pipeline_change_state):
2146         Added state change code.
2147         Added/updated docs.
2148         Added sink base class, make fakesink extend the base class.
2149         Small cleanups in GstPipeline.
2150
2151 2005-03-26  David Schleef  <ds@schleef.org>
2152
2153         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2154         is broken and should be implemented in a different library.
2155         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2156         * gst/gst.h: remove gstcpu.h
2157         * gst/gstcpu.c: remove
2158         * gst/gstcpu.h: remove
2159         * gst/Makefile.am.future: Remove this file.  It's ancient.
2160
2161 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2162
2163         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2164         (gst_bin_send_event):
2165           Add default event/set_manager handlers. The set_manager handler
2166           takes care that the manager is distributed over kids that were
2167           already in the bin before the manager was set. The event handler
2168           is a utility virtual function that sends the event over all sinks,
2169           so that gst_element_send_event (bin, event); has the expected
2170           behaviour.
2171         * gst/gstpad.c: (gst_pad_event_default):
2172           Re-install default event handling for discontinuities, so that
2173           seeking works without requiring hacks in applications or extra
2174           code in sinks.
2175         * gst/gstpipeline.c: (gst_pipeline_class_init),
2176         (gst_pipeline_send_event):
2177           Half hack, half utility: set a pipeline to PAUSED for seek events,
2178           since that is the only way we can guarantee a/v sync. Means that
2179           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2180           and it "just works".
2181
2182 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2183
2184         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2185           Lock/unlock mismatch.
2186
2187 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2188
2189         * docs/faq/gst-uninstalled:
2190           add gst-plugins-base
2191         * docs/gst/Makefile.am:
2192           don't error out until docs are fixed
2193         * docs/gst/gstreamer.types:
2194           remove thread
2195
2196 2005-03-22  Wim Taymans  <wim@fluendo.com>
2197
2198         * check/Makefile.am:
2199         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2200         * gst/gststructure.c: (gst_structure_set_valist),
2201         (gst_structure_copy_conditional):
2202         Activated more tests.
2203         Added message test.
2204         Added G_TYPE_POINTER to GstStructure.
2205         
2206
2207 2005-03-22  Wim Taymans  <wim@fluendo.com>
2208
2209         * docs/design/part-TODO.txt:
2210         * docs/design/part-events.txt:
2211         * docs/design/part-gstbin.txt:
2212         * docs/design/part-gstbus.txt:
2213         * docs/design/part-gstpipeline.txt:
2214         * docs/design/part-messages.txt:
2215         * gst/gstbus.c:
2216         * gst/gstmessage.c:
2217         Docs updates
2218
2219 2005-03-21  Wim Taymans  <wim@fluendo.com>
2220
2221         * gst/gstbus.c: (gst_bus_post):
2222         Fix copy-and-paste error.
2223
2224 2005-03-21  Wim Taymans  <wim@fluendo.com>
2225
2226         * check/Makefile.am:
2227         * gst/Makefile.am:
2228         * gst/elements/Makefile.am:
2229         * gst/elements/gstelements.c:
2230         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2231         (gst_fakesink_event), (gst_fakesink_chain):
2232         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2233         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2234         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2235         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2236         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2237         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2238         (gst_fakesrc_loop), (gst_fakesrc_activate),
2239         (gst_fakesrc_change_state):
2240         * gst/elements/gstfakesrc.h:
2241         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2242         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2243         (gst_filesrc_open_file), (gst_filesrc_loop),
2244         (gst_filesrc_activate), (gst_filesrc_change_state),
2245         (filesrc_find_peek), (filesrc_find_suggest),
2246         (gst_filesrc_type_find):
2247         * gst/elements/gstidentity.c: (gst_identity_finalize),
2248         (gst_identity_class_init), (gst_identity_init),
2249         (gst_identity_proxy_getcaps), (identity_queue_push),
2250         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2251         (gst_identity_getrange), (gst_identity_chain),
2252         (gst_identity_sink_loop), (gst_identity_src_loop),
2253         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2254         (gst_identity_set_property), (gst_identity_get_property),
2255         (gst_identity_change_state):
2256         * gst/elements/gstidentity.h:
2257         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2258         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2259         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2260         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2261         (gst_tee_sink_activate):
2262         * gst/elements/gsttee.h:
2263         * gst/gst.c: (gst_register_core_elements), (init_post):
2264         * gst/gst.h:
2265         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2266         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2267         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2268         (gst_bin_change_state):
2269         * gst/gstbin.h:
2270         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2271         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2272         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2273         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2274         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2275         (bus_watch_callback), (bus_watch_destroy),
2276         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2277         (poll_timeout), (gst_bus_poll):
2278         * gst/gstbus.h:
2279         * gst/gstcaps.h:
2280         * gst/gstdata.h:
2281         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2282         (gst_element_post_message), (gst_element_message_full),
2283         (gst_element_get_state_func), (gst_element_get_state),
2284         (gst_element_abort_state), (gst_element_commit_state),
2285         (gst_element_lost_state), (gst_element_set_state),
2286         (gst_element_pads_activate), (gst_element_change_state),
2287         (gst_element_dispose), (gst_element_set_manager_func),
2288         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2289         (gst_element_set_manager), (gst_element_get_manager),
2290         (gst_element_set_bus), (gst_element_get_bus),
2291         (gst_element_set_scheduler), (gst_element_get_scheduler):
2292         * gst/gstelement.h:
2293         * gst/gstevent.c: (gst_event_new_segment_seek),
2294         (gst_event_new_flush):
2295         * gst/gstevent.h:
2296         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2297         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2298         (gst_message_new_eos), (gst_message_new_error),
2299         (gst_message_new_warning), (gst_message_new_tag),
2300         (gst_message_new_state_changed), (gst_message_new_application),
2301         (gst_message_get_structure), (gst_message_parse_tag),
2302         (gst_message_parse_state_changed), (gst_message_parse_error),
2303         (gst_message_parse_warning):
2304         * gst/gstmessage.h:
2305         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2306         (gst_real_pad_set_property), (gst_pad_set_active),
2307         (gst_pad_is_active), (gst_pad_set_blocked_async),
2308         (gst_pad_set_blocked), (gst_pad_is_blocked),
2309         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2310         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2311         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2312         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2313         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2314         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2315         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2316         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2317         (gst_pad_set_caps), (gst_pad_configure_sink),
2318         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2319         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2320         (gst_real_pad_dispose), (gst_real_pad_finalize),
2321         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2322         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2323         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2324         * gst/gstpad.h:
2325         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2326         (pipeline_bus_handler), (gst_pipeline_change_state),
2327         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2328         * gst/gstpipeline.h:
2329         * gst/gstprobe.h:
2330         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2331         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2332         (gst_queue_link_src), (gst_queue_bufferalloc),
2333         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2334         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2335         (gst_queue_loop), (gst_queue_handle_src_event),
2336         (gst_queue_handle_src_query), (gst_queue_src_activate),
2337         (gst_queue_change_state):
2338         * gst/gstqueue.h:
2339         * gst/gstscheduler.c: (gst_scheduler_init),
2340         (gst_scheduler_dispose), (gst_scheduler_create_task),
2341         (gst_scheduler_factory_create):
2342         * gst/gstscheduler.h:
2343         * gst/gststructure.c: (gst_structure_get_type),
2344         (gst_structure_copy_conditional):
2345         * gst/gststructure.h:
2346         * gst/gsttaginterface.h:
2347         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2348         (gst_task_init), (gst_task_dispose), (gst_task_create),
2349         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2350         (gst_task_pause):
2351         * gst/gsttask.h:
2352         * gst/gstthread.c:
2353         * gst/gstthread.h:
2354         * gst/gsttypes.h:
2355         * gst/schedulers/Makefile.am:
2356         * gst/schedulers/cothreads_compat.h:
2357         * gst/schedulers/entryscheduler.c:
2358         * gst/schedulers/faircothreads.c:
2359         * gst/schedulers/faircothreads.h:
2360         * gst/schedulers/fairscheduler.c:
2361         * gst/schedulers/gstbasicscheduler.c:
2362         * gst/schedulers/gstoptimalscheduler.c:
2363         * gst/schedulers/gthread-cothreads.h:
2364         * gst/schedulers/threadscheduler.c:
2365         (gst_thread_scheduler_task_get_type),
2366         (gst_thread_scheduler_task_class_init),
2367         (gst_thread_scheduler_task_init),
2368         (gst_thread_scheduler_task_start),
2369         (gst_thread_scheduler_task_stop),
2370         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2371         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2372         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2373         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2374         (plugin_init):
2375         * libs/gst/Makefile.am:
2376         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2377         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2378         (gst_file_pad_parent_set):
2379         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2380         (gst_dp_event_from_packet):
2381         * tests/complexity.c: (main):
2382         * tests/mass_elements.c: (main):
2383         * testsuite/states/locked.c: (message_received), (main):
2384         * testsuite/states/parent.c: (main):
2385         * tools/gst-inspect.c: (print_element_flag_info),
2386         (print_implementation_info), (print_pad_info):
2387         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2388         (main):
2389         * tools/gst-md5sum.c: (event_loop), (main):
2390         * tools/gst-typefind.c: (main):
2391         * tools/gst-xmlinspect.c: (print_element_info):
2392         Next big merge.
2393         Added GstBus for mainloop integration.
2394         Added GstMessage for sending notifications on the bus.
2395         Added GstTask as an abstraction for pipeline entry points.
2396         Removed GstThread.
2397         Removed Schedulers.
2398         Simplified GstQueue for multithreaded core.
2399         Made _link threadsafe, removed old capsnego.
2400         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2401         Added pad blocking functions.
2402         Reworked scheduling functions in GstPad to prepare for
2403         scheduling updates soon.
2404         Moved events out of data stream.
2405         Simplified GstEvent types.
2406         Added return values to push/pull.
2407         Removed clocking from GstElement.
2408         Added prototypes for state change function for next merge.
2409         Removed iterate from bins and state change management.
2410         Fixed some elements, disabled others for now.
2411         Fixed -inspect and -launch.
2412         Added check for GstBus.
2413
2414 2005-03-10  Wim Taymans  <wim@fluendo.com>
2415
2416         * docs/design/part-MT-refcounting.txt:
2417         * docs/design/part-clocks.txt:
2418         * docs/design/part-gstelement.txt:
2419         * docs/design/part-gstobject.txt:
2420         * docs/design/part-standards.txt:
2421         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2422         (gst_bin_remove_func), (gst_bin_remove):
2423         * gst/gstbin.h:
2424         * gst/gstbuffer.c:
2425         * gst/gstcaps.h:
2426         * testsuite/clock/clock1.c: (main):
2427         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2428         (main):
2429         * testsuite/dlopen/loadgst.c: (do_test):
2430         * testsuite/refcounting/bin.c: (add_remove_test1),
2431         (add_remove_test2), (main):
2432         * testsuite/refcounting/element.c: (main):
2433         * testsuite/refcounting/element_pad.c: (main):
2434         * testsuite/refcounting/pad.c: (main):
2435         * tools/gst-launch.c: (sigint_handler_sighandler):
2436         * tools/gst-typefind.c: (main):
2437         Doc updates.
2438         Added doc about clock.
2439         removed gst_bin_iterate_recurse_up(), marked methods
2440         for removal.
2441         Fix more testsuites.
2442
2443 2005-03-09  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/gstpad.c: (gst_pad_get_direction),
2446         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2447         (gst_pad_collect_valist):
2448         * testsuite/bins/interface.c: (main):
2449         * testsuite/caps/audioscale.c: (test_caps):
2450         * testsuite/caps/caps.c: (test1), (test2), (test3):
2451         * testsuite/caps/deserialize.c: (main):
2452         * testsuite/caps/enumcaps.c: (main):
2453         * testsuite/caps/filtercaps.c: (main):
2454         * testsuite/caps/intersect2.c: (main):
2455         * testsuite/caps/random.c: (main):
2456         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2457         * testsuite/caps/sets.c: (check_caps):
2458         * testsuite/caps/simplify.c: (check_caps), (main):
2459         * testsuite/caps/subtract.c: (check_caps):
2460         Fix _pad_get_direction wrt ghostpads.
2461         Fix caps testsuite.
2462
2463 2005-03-09  Wim Taymans  <wim@fluendo.com>
2464
2465         * check/Makefile.am:
2466         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2467         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2468         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2470         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2471         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2472         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2473         (bin_element_is_sink), (gst_bin_iterate_sinks),
2474         (gst_bin_iterate_all_by_interface):
2475         * gst/gstbin.h:
2476         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2477         (gst_element_change_state), (gst_element_dispose),
2478         (gst_element_finalize), (gst_element_set_loop_function):
2479         * gst/gstelement.h:
2480         * gst/gstiterator.c: (find_custom_fold_func):
2481         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2482         (gst_pad_collectv), (gst_pad_collect_valist),
2483         (gst_pad_template_new):
2484         * gst/gstpipeline.c: (gst_pipeline_class_init),
2485         (gst_pipeline_dispose), (gst_pipeline_set_property),
2486         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2487         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2488         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2489         * gst/gstutils.h:
2490         * gst/schedulers/entryscheduler.c:
2491         * gst/schedulers/gstbasicscheduler.c:
2492         (gst_basic_scheduler_cothreaded_chain),
2493         (gst_basic_scheduler_chain_add_element):
2494         * testsuite/bins/interface.c: (main):
2495         Added GstBin test.
2496         Added GstSystemClock test.
2497         Implemented clock distribution code in GstBin.
2498         Implemented iterate sinks method for future use.
2499         Rearranged gstelement.h
2500         Fix GstIterator comparison bug.
2501         Moved some code to GstPipeline, mostly clocking related.
2502
2503 2005-03-09  Wim Taymans  <wim@fluendo.com>
2504
2505         * configure.ac:
2506         * gst/gst_private.h:
2507         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2508         (gst_bin_remove_func), (gst_bin_remove),
2509         (gst_bin_get_by_name_recurse_up):
2510         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2511         (gst_clock_id_compare_func), (gst_clock_id_wait),
2512         (gst_clock_id_wait_async), (gst_clock_init),
2513         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2514         * gst/gstelement.h:
2515         * gst/gstinfo.c: (_gst_debug_init):
2516         * gst/gstobject.h:
2517         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2518         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2519         * gst/gstpad.h:
2520         Bump version number, we're now 0.9.0
2521         Add future debugging category.
2522         Fix NULL _unref() in _get_by_name_recurse_up
2523         Rearrange gstpad.h.
2524         Update some docs.
2525
2526 2005-03-08  Wim Taymans  <wim@fluendo.com>
2527
2528         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2529         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2530         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2531         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2532         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2533         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2534         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2535         * gst/elements/gstidentity.c: (gst_identity_class_init):
2536         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2537         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2538         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2539         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2540         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2541         (gst_tee_link):
2542         * gst/gstelement.c: (gst_element_class_init),
2543         (gst_element_base_class_init), (gst_element_init),
2544         (gst_element_get_random_pad), (gst_element_wait_state_change),
2545         (gst_element_change_state), (gst_element_dispose),
2546         (gst_element_finalize), (gst_element_set_loop_function):
2547         * gst/gstelement.h:
2548         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2549         * gst/gstthread.c: (gst_thread_class_init),
2550         (gst_thread_release_children_locks), (gst_thread_change_state):
2551         * gst/schedulers/gstbasicscheduler.c:
2552         (gst_basic_scheduler_loopfunc_wrapper),
2553         (gst_basic_scheduler_chain_wrapper),
2554         (gst_basic_scheduler_src_wrapper),
2555         (gst_basic_scheduler_remove_element):
2556         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2557         Remove threadsafe properties. Fix elements because GObject
2558         complains when installing a property before declaring a
2559         set/get_property handler.
2560         Rearrange gstelement.h file, use STATE macros for state locks.
2561         Free mutexes in the finalize method instead of dispose.
2562
2563 2005-03-08  Wim Taymans  <wim@fluendo.com>
2564
2565         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2566         * gst/gstthread.c: (gst_thread_release_children_locks):
2567         Added parentage check.
2568         Fix build og GstThread again.
2569
2570 2005-03-08  Wim Taymans  <wim@fluendo.com>
2571
2572         * docs/design/part-MT-refcounting.txt:
2573         * docs/design/part-conventions.txt:
2574         * docs/design/part-gstobject.txt:
2575         * docs/design/part-relations.txt:
2576         * docs/design/part-standards.txt:
2577         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2578         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2579         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2580         (gst_bin_iterate_all_by_interface):
2581         * gst/gstbuffer.h:
2582         * gst/gstclock.h:
2583         * gst/gstelement.c: (gst_element_class_init),
2584         (gst_element_change_state), (gst_element_set_loop_function):
2585         * gst/gstelement.h:
2586         * gst/gstiterator.c:
2587         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2588         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2589         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2590         (gst_object_set_parent), (gst_object_unparent),
2591         (gst_object_check_uniqueness):
2592         * gst/gstobject.h:
2593         Docs updates, clean up some headers.
2594
2595 2005-03-07  Wim Taymans  <wim@fluendo.com>
2596
2597         * check/.cvsignore:
2598         * check/Makefile.am:
2599         * check/gst-libs/.cvsignore:
2600         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2601         * check/gst/.cvsignore:
2602         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2603         (START_TEST), (gstbus_suite), (main):
2604         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2605         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2606         (gst_data_suite), (main):
2607         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2608         (add_fold_func), (gstiterator_suite), (main):
2609         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2610         (thread_name_object), (thread_name_object_default),
2611         (gst_object_name_compare), (gst_object_suite), (main):
2612         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2613         (gst_pad_suite), (main):
2614         * check/gstcheck.c: (gst_check_log_message_func),
2615         (gst_check_log_critical_func), (gst_check_init):
2616         * check/gstcheck.h:
2617         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2618         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2619         Added checks.
2620
2621 2005-03-07  Wim Taymans  <wim@fluendo.com>
2622
2623         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2624         (gst_list_iterator_next), (gst_list_iterator_resync),
2625         (gst_list_iterator_free), (gst_iterator_new_list),
2626         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2627         (gst_iterator_free), (gst_iterator_push), (filter_next),
2628         (filter_resync), (filter_uninit), (filter_free),
2629         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2630         (gst_iterator_foreach), (find_custom_fold_func),
2631         (gst_iterator_find_custom):
2632         * gst/gstiterator.h:
2633         Added missing files.
2634
2635 2005-03-07  Wim Taymans  <wim@fluendo.com>
2636
2637         * Makefile.am:
2638         * configure.ac:
2639         * docs/design/part-MT-refcounting.txt:
2640         * docs/design/part-conventions.txt:
2641         * docs/design/part-gstobject.txt:
2642         * docs/design/part-relations.txt:
2643         * examples/mixer/mixer.c: (main):
2644         * examples/thread/thread.c: (eos), (main):
2645         * gst/Makefile.am:
2646         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2647         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2648         (gst_spider_plug_from_srcpad):
2649         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2650         (gst_spider_identity_change_state),
2651         (gst_spider_identity_sink_loop_type_finding):
2652         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2653         * gst/elements/gstidentity.c: (gst_identity_init):
2654         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2655         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2656         * gst/elements/gsttypefindelement.c: (free_entry):
2657         * gst/gst.c:
2658         * gst/gst.h:
2659         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2660         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2661         (gst_bin_set_index), (gst_bin_set_element_sched),
2662         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2663         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2664         (gst_bin_iterate_elements), (iterate_child_recurse),
2665         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2666         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2667         (compare_interface), (gst_bin_get_by_interface),
2668         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2669         * gst/gstbin.h:
2670         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2671         (gst_buffer_default_free), (gst_buffer_default_copy),
2672         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2673         (gst_buffer_create_sub):
2674         * gst/gstbuffer.h:
2675         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2676         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2677         (gst_caps_unref), (gst_static_caps_get),
2678         (gst_caps_remove_and_get_structure), (gst_caps_append),
2679         (gst_caps_append_structure), (gst_caps_remove_structure),
2680         (gst_caps_copy_nth), (gst_caps_set_simple),
2681         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2682         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2683         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2684         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2685         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2686         (gst_caps_structure_figure_out_union),
2687         (gst_caps_switch_structures), (gst_caps_do_simplify),
2688         (gst_caps_replace), (gst_caps_from_string),
2689         (gst_caps_copy_conditional):
2690         * gst/gstcaps.h:
2691         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2692         (_gst_clock_id_free), (gst_clock_id_unref),
2693         (gst_clock_id_compare_func), (gst_clock_id_wait),
2694         (gst_clock_id_wait_async), (gst_clock_class_init),
2695         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2696         (gst_clock_get_time), (gst_clock_set_time_adjust),
2697         (gst_clock_set_property), (gst_clock_get_property):
2698         * gst/gstclock.h:
2699         * gst/gstcompat.h:
2700         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2701         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2702         * gst/gstdata.h:
2703         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2704         (gst_element_requires_clock), (gst_element_provides_clock),
2705         (gst_element_set_clock), (gst_element_clock_wait),
2706         (gst_element_wait), (gst_element_set_time_delay),
2707         (gst_element_is_indexable), (gst_element_add_pad),
2708         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2709         (pad_compare_name), (gst_element_get_static_pad),
2710         (gst_element_request_pad), (gst_element_get_request_pad),
2711         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2712         (gst_element_class_get_pad_template_list),
2713         (gst_element_class_get_pad_template), (gst_element_error_func),
2714         (gst_element_get_random_pad), (gst_element_get_event_masks),
2715         (gst_element_send_event), (gst_element_seek),
2716         (gst_element_get_query_types), (gst_element_query),
2717         (gst_element_get_formats), (gst_element_convert),
2718         (gst_element_is_locked_state), (gst_element_set_locked_state),
2719         (gst_element_sync_state_with_parent), (gst_element_change_state),
2720         (gst_element_finalize), (gst_element_yield),
2721         (gst_element_interrupt), (gst_element_set_scheduler),
2722         (gst_element_get_scheduler), (gst_element_set_loop_function):
2723         * gst/gstelement.h:
2724         * gst/gstevent.h:
2725         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2726         (gst_format_get_by_nick), (gst_format_get_details),
2727         (gst_format_iterate_definitions):
2728         * gst/gstformat.h:
2729         * gst/gstindex.c: (gst_index_gtype_resolver):
2730         * gst/gstinfo.c:
2731         * gst/gstinfo.h:
2732         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2733         (gst_mem_chunk_free):
2734         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2735         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2736         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2737         (gst_object_dispatch_properties_changed),
2738         (gst_object_set_name_default), (gst_object_set_name),
2739         (gst_object_get_name), (gst_object_set_name_prefix),
2740         (gst_object_get_name_prefix), (gst_object_set_parent),
2741         (gst_object_get_parent), (gst_object_unparent),
2742         (gst_object_check_uniqueness), (gst_object_save_thyself),
2743         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2744         (gst_object_set_property), (gst_object_get_property),
2745         (gst_object_get_path_string):
2746         * gst/gstobject.h:
2747         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2748         (gst_real_pad_init), (gst_real_pad_get_property),
2749         (gst_pad_custom_new), (gst_pad_get_direction),
2750         (gst_pad_set_active), (gst_pad_is_active),
2751         (gst_pad_set_event_function), (gst_pad_is_linked),
2752         (gst_pad_link_free), (gst_pad_link_intersect),
2753         (gst_pad_link_fixate), (gst_pad_set_caps),
2754         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2755         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2756         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2757         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2758         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2759         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2760         (gst_pad_realize), (gst_pad_get_allowed_caps),
2761         (gst_real_pad_dispose), (gst_real_pad_finalize),
2762         (gst_pad_collectv), (gst_pad_collect_valist),
2763         (gst_pad_template_dispose), (gst_pad_template_new),
2764         (gst_pad_get_internal_links):
2765         * gst/gstpad.h:
2766         * gst/gstpipeline.c: (gst_pipeline_dispose),
2767         (gst_pipeline_change_state):
2768         * gst/gstpipeline.h:
2769         * gst/gstplugin.c:
2770         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2771         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2772         * gst/gstpluginfeature.h:
2773         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2774         * gst/gstquery.c: (_gst_query_type_initialize),
2775         (gst_query_type_register), (gst_query_type_get_by_nick),
2776         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2777         * gst/gstquery.h:
2778         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2779         * gst/gstscheduler.c: (gst_scheduler_add_element),
2780         (gst_scheduler_factory_create):
2781         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2782         (gst_structure_free), (gst_structure_set_name),
2783         (gst_structure_id_set_value), (gst_structure_set_value),
2784         (gst_structure_set_valist), (gst_structure_remove_field),
2785         (gst_structure_remove_fields),
2786         (gst_structure_remove_fields_valist),
2787         (gst_structure_remove_all_fields), (gst_structure_foreach),
2788         (gst_structure_map_in_place),
2789         (gst_caps_structure_fixate_field_nearest_int),
2790         (gst_caps_structure_fixate_field_nearest_double):
2791         * gst/gststructure.h:
2792         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2793         (gst_system_clock_init), (gst_system_clock_dispose),
2794         (gst_system_clock_async_thread),
2795         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2796         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2797         * gst/gstsystemclock.h:
2798         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2799         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2800         * gst/gsttaginterface.c:
2801         * gst/gstthread.c: (gst_thread_dispose),
2802         (gst_thread_release_children_locks), (gst_thread_change_state),
2803         (gst_thread_main_loop):
2804         * gst/gsttrashstack.h:
2805         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2806         * gst/gsttypes.h:
2807         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2808         (gst_element_request_pad), (gst_element_get_pad_from_template),
2809         (gst_element_request_compatible_pad),
2810         (gst_element_get_compatible_pad_filtered),
2811         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2812         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2813         (gst_element_link_many), (gst_element_link),
2814         (gst_element_link_pads), (gst_element_unlink_pads),
2815         (gst_element_unlink_many), (gst_element_unlink),
2816         (gst_pad_can_link_filtered), (gst_pad_can_link),
2817         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2818         (gst_object_default_error), (gst_bin_add_many),
2819         (gst_bin_remove_many), (gst_element_populate_std_props),
2820         (gst_element_class_install_std_props), (gst_buffer_merge),
2821         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2822         (link_fold_func), (gst_pad_proxy_setcaps):
2823         * gst/gstutils.h:
2824         * gst/gstvalue.c: (gst_value_deserialize_string):
2825         * gst/parse/grammar.y:
2826         * gst/schedulers/gstbasicscheduler.c:
2827         (gst_basic_scheduler_cothreaded_chain),
2828         (gst_basic_scheduler_chain_recursive_add),
2829         (gst_basic_scheduler_pad_link):
2830         * gst/schedulers/gstoptimalscheduler.c:
2831         (get_group_schedule_function),
2832         (gst_opt_scheduler_state_transition),
2833         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2834         * libs/gst/bytestream/bytestream.c:
2835         * libs/gst/dataprotocol/dataprotocol.c:
2836         (gst_dp_header_from_buffer):
2837         * po/nb.po:
2838         * po/ru.po:
2839         * tests/threadstate/threadstate2.c: (eos):
2840         * tools/gst-compprep.c: (main):
2841         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2842         (print_pad_info), (print_children_info):
2843         * tools/gst-launch.c: (idle_func), (main):
2844         * tools/gst-md5sum.c: (idle_func), (main):
2845         * tools/gst-xmlinspect.c: (print_element_info):
2846         First THREADED backport attempt, focusing on adding locks and
2847         making sure the API is threadsafe. Needs more work. More docs
2848         follow this week.
2849
2850 2005-02-24  Andy Wingo  <wingo@pobox.com>
2851
2852         * tests/bench-complexity.scm:
2853         * tests/complexity.gnuplot: New files, good for running complexity
2854         benchmarks.
2855
2856         * tests/Makefile.am:
2857         * tests/complexity.c: New test, sets up N elements, at each level
2858         teeing into M streams per element. Eeeenteresting.
2859
2860         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2861         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2862         running bench-mass_elements.scm.
2863
2864         * tests/bench-mass_elements.scm: New script, runs mass_elements
2865         for various numbers of identities, outputting the results to a
2866         file. Requires guile 1.6. Just for testing.
2867
2868 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2869
2870         * gst/schedulers/fairscheduler.c:
2871           compile with debug disabled
2872
2873 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2874
2875         * configure.ac:
2876           hunting season on 0.9 is now OPEN
2877
2878 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
2879
2880         * docs/libs/tmpl/gstcontrol.sgml:
2881         * docs/libs/tmpl/gstdparam.sgml:
2882         * docs/libs/tmpl/gstdplinint.sgml:
2883         * docs/libs/tmpl/gstdpman.sgml:
2884         * docs/libs/tmpl/gstdpsmooth.sgml:
2885         * docs/libs/tmpl/gstunitconvert.sgml:
2886           more docs for the state of dparams
2887
2888 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2889
2890         * gst/gstelementfactory.c: (gst_element_factory_create):
2891         * gst/gstobject.c: (gst_object_init),
2892         (gst_object_set_name_default), (gst_object_set_name):
2893           name objects by default, not in gst_element_factory_create. Allows
2894           using elements created with g_object_new. (fixes #167283)
2895
2896 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2897
2898         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
2899           make the time that debugging functions print relative to when
2900           gst_init was called
2901
2902 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * gst/gsttaginterface.c:
2905           Fix inline docs: tag setter vararg functions are NULL-terminated,
2906           GST_TAG_INVALID doesn't exist any more.
2907
2908 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2909
2910         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
2911         Allocate the 1 byte more memory that was forgotten!!!!!
2912         fixes memory corruption on 64bit platforms
2913
2914 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
2915
2916         * docs/pwg/building-pads.xml:
2917         * docs/pwg/intro-basics.xml:
2918           fixed a few typos, relabeled introductionary list of types
2919         * docs/random/ensonic/dparams.txt:
2920           more notes abut dparam changes
2921         * libs/gst/control/dparam.c: (gst_dparam_attach):
2922         * libs/gst/control/dparammanager.c:
2923         * libs/gst/control/dparammanager.h:
2924           - many comments and notes on dparam implementation
2925           - new dparams are were not initialized to the default value
2926             from param spec
2927
2928 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2929
2930         submitted by: Peter Astakhov
2931
2932         * po/LINGUAS:
2933         * po/ru.po:
2934           adding Russian translation
2935
2936 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2937
2938         * configure.ac:
2939         * docs/gst/Makefile.am:
2940         * docs/libs/Makefile.am:
2941           make sure popt is added to gtk-doc flags.  Fixes #147782.
2942
2943 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2944
2945         * docs/faq/using.xml:
2946           Fix typo in FAQ (artssink => artsdsink)
2947
2948 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2949
2950         * tools/gst-launch.1.in:
2951           Fix typo (#166699).
2952
2953 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         * docs/faq/using.xml:
2956           Add -v argument to fakesrc/fakesink gst-launch line,
2957           so that the promised output will actually show up.
2958
2959 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2960
2961         * gst/gstthread.c: (gst_thread_change_state):
2962           Implement state-change error handling (#166073).
2963
2964 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2965
2966         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2967           Release interrupt after handling (#166250).
2968
2969 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2970
2971         * configure.ac:
2972           back to HEAD
2973
2974 === release 0.8.9 ===
2975
2976 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2977
2978         * NEWS:
2979         * RELEASE:
2980         * configure.ac:
2981           releasing 0.8.9, "Like Eating Glass"
2982
2983 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2984
2985         submitted by: Clytie Siddall
2986
2987         * po/vi.po: Added Vietnamese translation
2988
2989 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2990
2991         patch by: Tim Philipp-Müller
2992
2993         * configure.ac:
2994         * gst/gstpad.c:
2995           unref data when probe function returns FALSE.  Fixes #166362
2996
2997 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2998
2999         * gst/gst.c: (gst_init_get_popt_table):
3000           Fix typo (#166269).
3001
3002 2005-02-04  Andy Wingo  <wingo@pobox.com>
3003
3004         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3005         the debugging on whether the caps are compatible.
3006
3007 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3008
3009         * docs/manual/basics-elements.xml:
3010           Fix two typos.
3011
3012 2005-02-02  Wim Taymans  <wim@fluendo.com>
3013
3014         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3015         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3016         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3017         Remove some FIXMEs after analysing and commenting why they
3018         are not issues.
3019
3020 2005-02-02  Wim Taymans  <wim@fluendo.com>
3021
3022         * gst/schedulers/gstoptimalscheduler.c:
3023         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3024         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3025         (get_invalid_call), (chain_invalid_call),
3026         (get_group_schedule_function), (loop_group_schedule_function),
3027         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3028         (gst_opt_scheduler_state_transition),
3029         (gst_opt_scheduler_add_element),
3030         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3031         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3032         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3033         (gst_opt_scheduler_show):
3034         Added lock to protect scheduler data structures.
3035
3036 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3037
3038         * testsuite/threads/threadi.c: (cb_data):
3039           Fix buglet in test.
3040
3041 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3042
3043         * testsuite/threads/Makefile.am:
3044         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3045           On Wim's request, split the test in three separately-compiled
3046           tests that each test a very specific bug. Two of them still fail,
3047           will create bugs for those. threadi.c indicates why they fail.
3048
3049 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3050
3051         * gst/schedulers/gstoptimalscheduler.c:
3052         (get_group_schedule_function):
3053           Try to work with the threading mess that queue_link is.
3054
3055 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3056
3057         * gst/gstbin.c: (gst_bin_remove_func):
3058           Explicitely make an element release locks in a group when being
3059           remove from a bin.
3060         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3061           If there's no scheduler, always return immediately (similar to
3062           gst_element_interrupt).
3063
3064 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3065
3066         * gst/gstbin.c: (gst_bin_child_state_change_func):
3067           Remove a piece of code that could never be reached.
3068         * docs/gst/gstreamer-sections.txt:
3069         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3070         (gst_pad_call_get_function):
3071         * gst/gstpad.h:
3072         * testsuite/pad/Makefile.am:
3073           Fix #150546, enable tests.
3074
3075 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3076
3077         * docs/pwg/advanced-types.xml:
3078           Fix description for buffer-frames=0.
3079         * docs/gst/tmpl/gstbin.sgml:
3080         * gst/gstbin.c: (gst_bin_child_state_change_func),
3081         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3082         * gst/gstbin.h:
3083         * testsuite/threads/Makefile.am:
3084         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3085         (cb_state), (cb_play), (main):
3086           Fix non-recursive state changes to *really* change the state
3087           of the object, and not just call parent_class->state_change.
3088           Fix a lot of lockups caused by this. Fixes #132775. Add test
3089           for the problem. Also enable test to show #142588 (fixed).
3090         * gst/gstthread.c: (gst_thread_change_state),
3091         (gst_thread_child_state_change):
3092           Don't exit the thread if we go to NULL and are inside thread
3093           context. Instead, return control to the main thread context
3094           and exit from there.
3095         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3096           Don't unset virtual functions, since those may still be used.
3097           That's not necessarily correct, but suffices for now.
3098         * configure.ac:
3099         * testsuite/Makefile.am:
3100         * testsuite/pad/Makefile.am:
3101         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3102         (gst_test_sink_base_init), (gst_test_sink_chain),
3103         (gst_test_sink_init), (main):
3104         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3105         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3106         (main):
3107         * testsuite/pad/link.c: (gst_test_element_class_init),
3108         (gst_test_element_base_init), (gst_test_src_get),
3109         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3110         (gst_test_filter_loop), (gst_test_filter_init),
3111         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3112         (cb_error), (main):
3113           Add tests to show #150546. Pass, but should fail (currently
3114           disabled from the testsuite).
3115         * gst/gstscheduler.c: (gst_scheduler_dispose):
3116           Dereference child schedulers on dispose (#94464).
3117         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3118           Fix typo.
3119         * testsuite/threads/thread.c: (main):
3120           Add more debug.
3121
3122 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3123
3124         * gst/gstpad.c: (gst_pad_push):
3125           Oops, revert previous commit, broke testsuite...
3126
3127 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3128
3129         * gst/gstpad.c: (gst_pad_push):
3130           Add check that the pad on which the push is performed is not a
3131           get-based pad (#150546).
3132
3133 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3134
3135         * gst/elements/gsttypefindelement.c:
3136         (gst_type_find_element_handle_event):
3137           Fix buffer pushing if stream EOSes during typefinding.
3138
3139 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3140
3141         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3142
3143         * gst/gstvalue.c: (gst_string_wrap):
3144           Allow NULL-strings as argument (#165365).
3145
3146 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3147
3148         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3149
3150         * gst/schedulers/faircothreads.c:
3151         (gst_fair_scheduler_cothread_queue_show):
3152           Fix build without debug enabled.
3153
3154 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3155
3156         * docs/gst/gstreamer-sections.txt:
3157         * docs/libs/gstreamer-libs-docs.sgml:
3158         * docs/libs/gstreamer-libs-sections.txt:
3159         * docs/libs/tmpl/gstcontrol.sgml:
3160         * docs/libs/tmpl/gstdparam.sgml:
3161         * docs/libs/tmpl/gstdplinint.sgml:
3162         * docs/libs/tmpl/gstdpman.sgml:
3163         * docs/libs/tmpl/gstdpsmooth.sgml:
3164         * docs/libs/tmpl/gstputbits.sgml:
3165         * docs/libs/tmpl/gstunitconvert.sgml:
3166         * libs/gst/control/dparam.c:
3167         * libs/gst/control/dparam.h:
3168         * libs/gst/control/dparammanager.c:
3169         (gst_dpman_add_required_dparam_callback),
3170         (gst_dpman_add_required_dparam_direct),
3171         (gst_dpman_add_required_dparam_array),
3172         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3173         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3174         (gst_dpman_get_manager)
3175           restructured DParam docs
3176
3177 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3178
3179         * gst-element-check.m4:
3180           Only check for gst-inspect if we haven't already
3181           found it in previous element check runs
3182
3183 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3184
3185         * docs/gst/Makefile.am:
3186         * docs/libs/Makefile.am:
3187           fixed install rules to treat style.css as optional
3188
3189 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3190
3191         * docs/gst/Makefile.am:
3192         * docs/libs/Makefile.am:
3193           install style.css along with docs
3194         * docs/gst/tmpl/gstbin.sgml:
3195         * docs/gst/tmpl/gstclock.sgml:
3196         * docs/gst/tmpl/gstdata.sgml:
3197         * docs/gst/tmpl/gstelement.sgml:
3198         * gst/gstbin.h:
3199         * gst/gstelement.c: (gst_element_class_init):
3200         * gst/gstelement.h:
3201           fixing incomplete docs
3202
3203 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3204
3205         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3206           Don't unref seek event twice when fflush() fails
3207           
3208 2005-01-22  David Schleef  <ds@schleef.org>
3209
3210         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3211
3212 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3213
3214         * docs/gst/Makefile.am:
3215         * docs/libs/Makefile.am:
3216           added params for deprecation guards
3217         * gst/gst.c:
3218         * gst/gst.h:
3219         * gst/gsterror.c: (_gst_resource_errors_init),
3220         (_gst_stream_errors_init):
3221         * gst/gsterror.h:
3222           documented some more enums
3223
3224 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3225         * gst/autoplug/gstspideridentity.c:
3226         Cosmetic fix - spider_find_peek should be static
3227         * gst/parse/parse.l:
3228         Applying fix for #164261
3229
3230 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3231
3232         * docs/gst/gstreamer-sections.txt:
3233         * docs/gst/tmpl/gstplugin.sgml:
3234         * docs/libs/gstreamer-libs-sections.txt:
3235         * docs/libs/tmpl/gstcontrol.sgml:
3236         * gst/gstbuffer.h:
3237         * gst/gsttag.h:
3238         * gst/gstvalue.c:
3239           added docs for the TAG defines
3240
3241 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3242
3243         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3244           Only unref entry if there is an entry.
3245
3246 2005-01-17  Wim Taymans  <wim@fluendo.com>
3247
3248         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3249         (remove_from_group), (schedule_group), (normalize_group),
3250         (gst_opt_scheduler_iterate):
3251         Also ref/unref decoupled elements before iterating the
3252         group since they are not added to the list of elements.
3253
3254 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3255
3256         * docs/manual/highlevel-components.xml:
3257           Add subtitle/streamselection as new features to playbin.
3258
3259 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3260
3261         * docs/manual/manual.xml:
3262           Re-enable dataaccess docs (oops).
3263
3264 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3265
3266         * docs/pwg/advanced-types.xml:
3267         * docs/random/mimetypes:
3268           Add documentation on libsndfile types (#163309), by Steve Baker
3269           <steve@stevebaker.org>.
3270         * gst/gstelement.c: (gst_element_release_request_pad):
3271           If an element has no explicit function, just remove the pad.
3272
3273 2005-01-17  Luca Ognibene  <luogni@tin.it>
3274
3275         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3276
3277         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3278           Fix memleak (#163801).
3279
3280 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3281
3282         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3283           I think this is actually more correct...
3284
3285 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3286
3287         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3288           Another workaround for memory access while destroyed in callback.
3289           Please, someone with refcount knowledge, have a look at this.
3290
3291 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3292
3293         * docs/faq/faq.xml:
3294         * docs/faq/legal.xml:
3295           move the legal Q&A here
3296
3297 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3298
3299         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3300         (gst_tee_request_new_pad):
3301           Fix negotiation.
3302
3303 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3304
3305         * docs/random/omega/caps2:
3306         * testsuite/caps/caps_strings:
3307           replace framerate aproximations by their real value
3308           (24000/1001, 30000/1001, 60000/1001)
3309           Partially fixes bug #164049
3310
3311 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3312
3313         * docs/gst/Makefile.am:
3314           don't fail on the stupid GstPoptOption
3315
3316 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3317
3318         * gst/gstpad.h:
3319         * gst/gstprobe.c:
3320           allow probes to work on ghost pads by realizing the pad
3321           probe debugging
3322
3323 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326         * docs/gst/tmpl/gstpad.sgml:
3327         * gst/gstpad.c: (gst_pad_set_active_recursive):
3328         * gst/gstpad.h:
3329           Add gst_pad_set_active_recursive().
3330
3331 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3332
3333         * docs/random/release:
3334           updates
3335         * gst/gst_private.h:
3336         * gst/gstinfo.c:
3337         * gst/gstobject.c:
3338           move deep_notify logging to a new category
3339         * gst/gstprobe.c:
3340         * gst/gstprobe.h:
3341           add stuff so bindings can wrap probes
3342
3343 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3344
3345         * gst/gstplugin.c: (gst_plugin_load):
3346           Fix plugin loading if plugin/lib was already loaded. Fixes
3347           #163383
3348
3349 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3350
3351         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3352
3353         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3354           Protect plugin loading by a mutex so it's threadsafe. Fixes
3355           #163234.
3356
3357 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3358
3359         * gst/gstevent.c: (_gst_event_copy):
3360           Reference source object when copying events, since it'll be
3361           dereferenced on event dereferencing as well.
3362
3363 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3364
3365         * docs/gst/gstreamer-sections.txt:
3366         * docs/gst/tmpl/gstevent.sgml:
3367         * gst/gstevent.c: (gst_event_new_filler_stamped),
3368         (gst_event_filler_get_duration):
3369         * gst/gstevent.h:
3370           Add two new functions for filler events (which are used to
3371           synchronize streams if one of them is not having any data
3372           for a while) without interrupting the actual data-stream.
3373           Basically a no-op.
3374         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3375         (gst_queue_link_sink), (gst_queue_link_src),
3376         (gst_queue_change_state):
3377           Allow for renegotiation while filled. Required for stream
3378           switching while playing.
3379
3380 2005-01-08  Benjamin Otte  <otte@gnome.org>
3381
3382         * gst/gstelement.c: (gst_element_link_many):
3383           fix up g_return_if_fail's
3384         * po/LINGUAS:
3385         * po/de.po:
3386           add German translation, that was somehow not included
3387
3388 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3389
3390         * docs/random/mimetypes:
3391           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3392           do not add them to riff-lib as they are not common
3393
3394 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3395
3396         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3397           Check for existence of probe after performing the probe before
3398           re-accessing it to prevent segfaults caused by removal of the
3399           probe in the callback.
3400
3401 2005-01-05  David Schleef  <ds@schleef.org>
3402
3403         * testsuite/registry/Makefile.am:
3404         * testsuite/registry/gst-print-formats.c:
3405         (print_pad_templates_info), (print_element_list),
3406         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3407         (g_list_uniqify), (get_pad_templates_info),
3408         (get_element_mime_list), (print_mime_list), (main): A little
3409         program that looks through the registry to find elements of
3410         a given type.  Not particularly interesting as a test, except
3411         that there's no other test covering the same area.
3412
3413 2005-01-05  David Schleef  <ds@schleef.org>
3414
3415         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3416         (fault_handler_sigaction), (fault_spin),
3417         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3418         in signal.h-type signal handlers by not calling forbidden functions,
3419         including gst_element_set_state().
3420
3421 2005-01-05  David Schleef  <ds@schleef.org>
3422
3423         * gst/gstvalue.h: Mark _gst_reserved[] as private
3424
3425 2005-01-05  David Schleef  <ds@schleef.org>
3426
3427         * gst/gstvalue.c: Fix doc build problem.
3428
3429 2005-01-05  David Schleef  <ds@schleef.org>
3430
3431         * gst/gstvalue.c: Add some documentation
3432
3433 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3434
3435         * docs/README:
3436           another shell oneliner for empty return value docs
3437         * gst/gstcaps.c:
3438         * gst/gstvalue.c:
3439         * libs/gst/control/dparam.c:
3440           more doc fixes (parameters and return values)
3441
3442 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3443
3444         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3445
3446         * gst/gstregistry.h:
3447         * gst/registries/gstxmlregistry.c:
3448           Fix macro's for Mingw (fixes #162276).
3449
3450 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * docs/README:
3453           quick shell oneliner to find undocumented members
3454         * docs/gst/tmpl/gstplugin.sgml:
3455         * docs/gst/tmpl/gstscheduler.sgml:
3456         * docs/gst/tmpl/gstthread.sgml:
3457           more enumtypes cleanup
3458         * gst/gsterror.h:
3459           activated documentation comments, now someone needs to document
3460           the enums :(
3461
3462 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3463
3464         * docs/manual/manual.xml:
3465           Add dataaccess part (doh!).
3466
3467 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3468
3469         * docs/manual/advanced-autoplugging.xml:
3470           Fix typo (intiate -> initiate).
3471
3472 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3473
3474         * docs/random/bbb/streamselection:
3475           Add some notes on how to handle multi-subtitle/-audio streams.
3476
3477 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3478
3479         * docs/gst/gstreamer-docs.sgml:
3480         * docs/gst/gstreamer-sections.txt:
3481         * docs/gst/tmpl/gstenumtypes.sgml:
3482         * docs/gst/tmpl/gsterror.sgml:
3483         * docs/gst/tmpl/gstevent.sgml:
3484         * docs/gst/tmpl/gstpad.sgml:
3485         * docs/gst/tmpl/gstpadtemplate.sgml:
3486         * docs/gst/tmpl/gstthread.sgml:
3487           removed gstenumtypes section from docs and put all the enums into
3488           their sections
3489
3490 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3491
3492         * gst/gstplugin.c:
3493           document gst_library_load a bit more (riff special case + return
3494           value if already loaded)
3495         * testsuite/bytestream/filepadsink.c:
3496           plugin name is 'gstbytestream', not 'bytestream'
3497
3498 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3499
3500         * docs/random/bbb/subtitles:
3501           Add some first mind rumblings on proper subtitle support.
3502
3503 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3504
3505         * po/ca.po:
3506         * po/sv.po:
3507           updated translations
3508
3509 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3510
3511         * docs/manual/advanced-dataaccess.xml:
3512           Add section on how to use fakesrc/fakesink/identity in your
3513           application, plus section on how to embed plugins. Also mention
3514           probes.
3515         * docs/manual/appendix-checklist.xml:
3516         * docs/manual/appendix-debugging.xml:
3517         * docs/manual/appendix-gnome.xml:
3518         * docs/manual/appendix-integration.xml:
3519           Debug -> checklist, GNOME -> integration, add sections on Linux,
3520           KDE integration and add other things useful for application
3521           development.
3522         * docs/manual/manual.xml:
3523           Remove some fixmes, update some file pointers.
3524         * docs/pwg/appendix-checklist.xml:
3525           Fix typo.
3526         * docs/pwg/building-boiler.xml:
3527           Remove ugly header and add commented fixme.
3528         * docs/pwg/pwg.xml:
3529           Add fixme.
3530         * examples/manual/Makefile.am:
3531           Add example for added docs.
3532
3533 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3534
3535         * configure.ac:
3536           back to HEAD
3537
3538 === release 0.8.8 ===
3539
3540 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3541
3542         * NEWS:
3543         * RELEASE:
3544         * configure.ac:
3545           Releasing 0.8.8, "I'll Take Care Of You"
3546
3547 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3548
3549         * configure.ac:
3550           second prerelease
3551
3552 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3553
3554         patch by: Wim Taymans
3555
3556         * gst/gstbin.c:
3557           Fix for #159852 - make iterate emission threadsafe
3558
3559 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3560
3561         * docs/faq/cvs.xml:
3562           notes about new fdo account request
3563
3564 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3565
3566         * docs/gst/gstreamer-docs.sgml:
3567         * docs/gst/tmpl/gstenumtypes.sgml:
3568         * docs/gst/tmpl/gstplugin.sgml:
3569         * docs/libs/gstreamer-libs-docs.sgml:
3570           Added missing short docs. Added ids for navigation.
3571
3572 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3573
3574         * docs/manual/advanced-autoplugging.xml:
3575         * docs/manual/advanced-schedulers.xml:
3576         * docs/manual/advanced-threads.xml:
3577           Rewrites. Remove cothreads, go a bit into opt specifically,
3578           document threads and their gotchas, and do some technical stuff
3579           on autoplugging plus add some working examples. Fixes #157395.
3580         * examples/manual/Makefile.am:
3581           Add typefind/autoplugger example (one that actually works).
3582           Remove queue example since it's a duplicate of the thread one.
3583
3584 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3585
3586         * gst/gstvalue.c: (gst_value_deserialize_string):
3587           use deprecated g_value_set_string_take_ownership to keep compatible
3588           with glib 2.2
3589
3590 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3591
3592         * gst/gstvalue.c: (gst_value_deserialize_string):
3593           revert last patch, only dom a g_utf8_validate now before accepting
3594           the string - caps parsing strips " from strings so we can't rely on
3595           them
3596         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3597           disable a test that tested the above and comment it
3598
3599 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3600
3601         Patch reviewed by David Schleef  <ds@schleef.org>
3602
3603         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3604         bug #153882)
3605         * win32/gstenumtypes.h: same
3606
3607 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3608
3609         * gst/gstpad.c: (gst_pad_query):
3610           Do query on realized pad, similar to how convert/send_event handle
3611           this. Also makes sense, since this pad belongs to the function to
3612           which this query will be sent. Fixes #158163.
3613
3614 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3615
3616         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3617
3618 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3619
3620         * docs/faq/general.xml: fix pipeline to actually work
3621
3622 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3623
3624         * gst/gstvalue.c: (gst_value_deserialize_string):
3625           check that a simple string that gets deserialized does not contain
3626           invalid characters
3627         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3628           remove a test that tested a wring behaviour
3629
3630 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3631
3632         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3633
3634         * docs/manual/intro-motivation.xml:
3635           Fix typos.
3636
3637 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3638
3639         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3640
3641         * docs/gst/tmpl/gstprobe.sgml:
3642           Fix documentation of probe callback - it is supposed to return
3643           FALSE, not TRUE, to remove data from the stream (#159087).
3644
3645 2004-12-16  Daniel Gazard  <dany42@free.fr>
3646
3647         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3648
3649         * gst/gstelementfactory.c: (gst_element_factory_create):
3650           Fix compile failure if compiling without libxml2 support (#149936).
3651
3652 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3653
3654         * docs/manual/advanced-autoplugging.xml:
3655         * docs/manual/highlevel-components.xml:
3656           Move spider from autoplugging to components. Autoplugging is for
3657           internals, not for solutions. ;-).
3658
3659 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3660
3661         * docs/random/ds/0.9-suggested-changes:
3662           Make note on device/location/uri property names.
3663
3664 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3665
3666         * docs/manual/advanced-autoplugging.xml:
3667         * docs/manual/advanced-clocks.xml:
3668         * docs/manual/advanced-interfaces.xml:
3669         * docs/manual/advanced-metadata.xml:
3670         * docs/manual/advanced-position.xml:
3671         * docs/manual/advanced-schedulers.xml:
3672         * docs/manual/advanced-threads.xml:
3673         * docs/manual/appendix-gnome.xml:
3674         * docs/manual/appendix-programs.xml:
3675         * docs/manual/appendix-quotes.xml:
3676         * docs/manual/autoplugging.xml:
3677         * docs/manual/basics-bins.xml:
3678         * docs/manual/basics-data.xml:
3679         * docs/manual/basics-elements.xml:
3680         * docs/manual/basics-helloworld.xml:
3681         * docs/manual/basics-init.xml:
3682         * docs/manual/basics-pads.xml:
3683         * docs/manual/basics-plugins.xml:
3684         * docs/manual/bins-api.xml:
3685         * docs/manual/bins.xml:
3686         * docs/manual/buffers-api.xml:
3687         * docs/manual/buffers.xml:
3688         * docs/manual/clocks.xml:
3689         * docs/manual/components.xml:
3690         * docs/manual/cothreads.xml:
3691         * docs/manual/debugging.xml:
3692         * docs/manual/dparams-app.xml:
3693         * docs/manual/dynamic.xml:
3694         * docs/manual/elements-api.xml:
3695         * docs/manual/elements.xml:
3696         * docs/manual/factories.xml:
3697         * docs/manual/gnome.xml:
3698         * docs/manual/goals.xml:
3699         * docs/manual/helloworld.xml:
3700         * docs/manual/helloworld2.xml:
3701         * docs/manual/highlevel-components.xml:
3702         * docs/manual/highlevel-xml.xml:
3703         * docs/manual/init-api.xml:
3704         * docs/manual/intro-basics.xml:
3705         * docs/manual/intro-motivation.xml:
3706         * docs/manual/intro-preface.xml:
3707         * docs/manual/intro.xml:
3708         * docs/manual/links-api.xml:
3709         * docs/manual/links.xml:
3710         * docs/manual/manual.xml:
3711         * docs/manual/motivation.xml:
3712         * docs/manual/pads-api.xml:
3713         * docs/manual/pads.xml:
3714         * docs/manual/plugins-api.xml:
3715         * docs/manual/plugins.xml:
3716         * docs/manual/programs.xml:
3717         * docs/manual/queues.xml:
3718         * docs/manual/quotes.xml:
3719         * docs/manual/schedulers.xml:
3720         * docs/manual/states-api.xml:
3721         * docs/manual/states.xml:
3722         * docs/manual/threads.xml:
3723         * docs/manual/typedetection.xml:
3724         * docs/manual/win32.xml:
3725         * docs/manual/xml.xml:
3726           Try 2. This time, include a short preface as a "general
3727           introduction", also add code blocks around all code samples
3728           so they get compiled. We still need a way to tell readers
3729           the filename of the code sample. In some cases, don't show
3730           all code in the documentation, but do include it in the generated
3731           code. This allows for focussing on specific bits in the docs,
3732           while still having a full test application available.
3733         * examples/manual/Makefile.am:
3734           Fix up examples for new ADM. Add several of the new examples that
3735           were either added or were missing from the build system.
3736         * examples/manual/extract.pl:
3737           Allow nameless blocks.
3738
3739 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3740
3741         * docs/manual/elements-api.xml:
3742         * docs/manual/helloworld.xml:
3743         * examples/manual/extract.pl:
3744           fix last example.  Add example of adding code blocks that are not
3745           shown in docbook output.
3746
3747 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * docs/manual/dynamic.xml:
3750         * docs/manual/elements-api.xml:
3751         * docs/manual/gnome.xml:
3752         * docs/manual/helloworld2.xml:
3753         * docs/manual/init-api.xml:
3754         * docs/manual/queues.xml:
3755         * docs/manual/threads.xml:
3756         * docs/manual/xml.xml:
3757         * examples/manual/extract.pl:
3758           Make it possible to extract example code from separate blocks.
3759           Should make Ronald happy.
3760
3761 2004-12-15  Wim Taymans  <wim@fluendo.com>
3762
3763         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3764         (remove_from_group), (group_elements_set_visited),
3765         (normalize_group), (gst_opt_scheduler_iterate):
3766         Fix bug where a flag was not updated on a decoupled entry point 
3767         because we were just checking the group element list and decoupled
3768         elements are not in that list..
3769
3770 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3771
3772         * docs/manual/advanced-autoplugging.xml:
3773         * docs/manual/advanced-clocks.xml:
3774         * docs/manual/advanced-dparams.xml:
3775         * docs/manual/advanced-interfaces.xml:
3776         * docs/manual/advanced-metadata.xml:
3777         * docs/manual/advanced-position.xml:
3778         * docs/manual/advanced-schedulers.xml:
3779         * docs/manual/advanced-threads.xml:
3780         * docs/manual/appendix-debugging.xml:
3781         * docs/manual/appendix-gnome.xml:
3782         * docs/manual/appendix-programs.xml:
3783         * docs/manual/appendix-quotes.xml:
3784         * docs/manual/appendix-win32.xml:
3785         * docs/manual/autoplugging.xml:
3786         * docs/manual/basics-bins.xml:
3787         * docs/manual/basics-data.xml:
3788         * docs/manual/basics-elements.xml:
3789         * docs/manual/basics-helloworld.xml:
3790         * docs/manual/basics-init.xml:
3791         * docs/manual/basics-pads.xml:
3792         * docs/manual/basics-plugins.xml:
3793         * docs/manual/bins-api.xml:
3794         * docs/manual/bins.xml:
3795         * docs/manual/buffers-api.xml:
3796         * docs/manual/buffers.xml:
3797         * docs/manual/clocks.xml:
3798         * docs/manual/components.xml:
3799         * docs/manual/cothreads.xml:
3800         * docs/manual/debugging.xml:
3801         * docs/manual/dparams-app.xml:
3802         * docs/manual/dynamic.xml:
3803         * docs/manual/elements-api.xml:
3804         * docs/manual/elements.xml:
3805         * docs/manual/factories.xml:
3806         * docs/manual/gnome.xml:
3807         * docs/manual/goals.xml:
3808         * docs/manual/helloworld.xml:
3809         * docs/manual/helloworld2.xml:
3810         * docs/manual/highlevel-components.xml:
3811         * docs/manual/highlevel-xml.xml:
3812         * docs/manual/init-api.xml:
3813         * docs/manual/intro-motivation.xml:
3814         * docs/manual/intro-preface.xml:
3815         * docs/manual/intro.xml:
3816         * docs/manual/links-api.xml:
3817         * docs/manual/links.xml:
3818         * docs/manual/manual.xml:
3819         * docs/manual/motivation.xml:
3820         * docs/manual/pads-api.xml:
3821         * docs/manual/pads.xml:
3822         * docs/manual/plugins-api.xml:
3823         * docs/manual/plugins.xml:
3824         * docs/manual/programs.xml:
3825         * docs/manual/queues.xml:
3826         * docs/manual/quotes.xml:
3827         * docs/manual/schedulers.xml:
3828         * docs/manual/states-api.xml:
3829         * docs/manual/states.xml:
3830         * docs/manual/threads.xml:
3831         * docs/manual/typedetection.xml:
3832         * docs/manual/win32.xml:
3833         * docs/manual/xml.xml:
3834           First try at rewriting the ADM. Needs lotsamore work, but some
3835           parts might already be somewhat useful.
3836         * docs/pwg/advanced-interfaces.xml:
3837           Remove properties interface, it never actually existed (except for
3838           on my HD...).
3839
3840 2004-12-13  David Schleef  <ds@schleef.org>
3841
3842         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3843         be NULL (bug #160220).
3844
3845 2004-12-13  David Schleef  <ds@schleef.org>
3846
3847         * configure.ac: remove all mmx stuff, because it's not used.
3848         * docs/random/ds/0.9-suggested-changes: additional notes
3849         * include/Makefile.am: we don't use these anymore
3850         * include/mmx.h: remove
3851         * include/sse.h: remove
3852
3853 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3854
3855         * docs/random/mimetypes:
3856           Add FOURCC code for h264 codec (VSSH)
3857           Add alternate FOURCC codes for h263 related codecs
3858
3859 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3860
3861         * docs/manual/programs.xml:
3862           Added more gst-launch examples.
3863
3864 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3865
3866         * gst/gstqueue.c: (gst_queue_handle_src_query):
3867           Check for availability again.
3868
3869 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3870
3871         * gst/gstcaps.c: (gst_caps_compare_structures):
3872           Simple caps go first. This has the nice side-effect of fixing an
3873           obscure warning.
3874
3875 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3876
3877         * gst/gstversion.h.in:
3878           Protect header.
3879
3880 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3881
3882         * gst/schedulers/gstoptimalscheduler.c:
3883         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
3884         (gst_opt_scheduler_get_wrapper):
3885           When we're recursing into a chain run, only run the directly
3886           related group, not all queued ones. This will fix a possible
3887           deadlock in chains with more than two groups.
3888
3889 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3890
3891         * autogen.sh:
3892           remove patch if autopoint fails
3893
3894 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3895
3896         * docs/gst/gstreamer-sections.txt:
3897           Document Thomas' addition, fix build, make Luis the sheriff happy.
3898
3899 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3900
3901         * gst/gstplugin.c:
3902         * gst/gstplugin.h:
3903           add accessor for version field
3904
3905 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3906
3907         submitted by: Luca Ferretti <elle.uca@infinito.it>
3908
3909         * po/LINGUAS:
3910         * po/it.po:
3911           New tranlation added: Italian
3912
3913 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3914
3915         * gst/gstpad.c: (gst_pad_is_negotiated),
3916         (gst_pad_get_negotiated_caps):
3917           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
3918           it doesn't actually check the contents), so be sure to hand it
3919           a RealPad else we'll crash.
3920
3921 2004-12-03  Wim Taymans  <wim@fluendo.com>
3922
3923         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3924         (gst_queue_link), (gst_queue_handle_src_query):
3925         Reverted to 1.110 until this makes the testsuite and various
3926         apps work.
3927
3928 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
3929
3930         * docs/upload.mak: fix included CVS conflict strings
3931
3932 2004-12-01  William Jon McCann  <mccann@jhu.edu>
3933
3934         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3935
3936         * gst/gstelement.c: (gst_element_error_full):
3937           Use g_error_new_literal because error text may have
3938           percentage signs in it. Fixes #160019.
3939
3940 2004-12-01  Benjamin Otte  <otte@gnome.org>
3941
3942         * gst/elements/gstbufferstore.c:
3943         (gst_buffer_store_add_buffer_func):
3944           don't try to make subbuffers bigger than they can be. (fixes
3945           #159970)
3946
3947 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3948
3949         * docs/gst/gstreamer-sections.txt:
3950         * docs/gst/tmpl/gstvalue.sgml:
3951           Add new function to docs to fix build.
3952
3953 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3954
3955         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
3956         * gst/gstpad.c: (_gst_pad_default_fixate_value),
3957         (_gst_pad_default_fixate_foreach):
3958         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
3959         * gst/gstvalue.h:
3960           Deprecate _type_is_fixed, use _value_is_fixed instead, since
3961           in some cases (arrays), the fixedness depends on the content.
3962         * gst/gstqueue.c: (gst_queue_handle_src_query):
3963           Check for availability before doing something.
3964
3965 2004-11-29  Wim Taymans  <wim@fluendo.com>
3966
3967         * testsuite/threads/Makefile.am:
3968         * testsuite/threads/signals.c: (gst_test_get_type),
3969         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
3970         (gst_test_set_property), (gst_test_get_property),
3971         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
3972         (gst_test_do_prop), (run_thread), (main):
3973         Added a bunch of testcases that show threadsafety bugs in glib.
3974
3975 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
3976
3977         * docs/manual/programs.xml:
3978           Added a first batch of gst-launch examples, as provided by Ronald
3979           and others from the devel-mlist
3980
3981 2004-11-28  Benjamin Otte  <otte@gnome.org>
3982
3983         * gst/gstelement.c: (gst_element_negotiate_pads):
3984           simplify
3985         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
3986         (gst_value_serialize_string), (gst_value_deserialize_string):
3987           add unwrapping of previously wrapped strings. Fix bug in wrapping
3988           while at it.
3989         * testsuite/caps/value_serialize.c: (test1),
3990         (test_string_serialization), (test_string_deserialization), (main):
3991           add tests for string (de)serialization
3992
3993 2004-11-26  Wim Taymans  <wim@fluendo.com>
3994
3995         * testsuite/threads/159566.c: (object_deep_notify), (main):
3996         * testsuite/threads/Makefile.am:
3997         Added testsuite to show bug #159566
3998
3999 2004-11-25  Wim Taymans  <wim@fluendo.com>
4000
4001         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4002         (gst_thread_child_state_change), (gst_thread_main_loop):
4003         Ref the thread object in the GThread mainloop. Break out of the
4004         thread mainloop if it holds the last ref. This properly exits
4005         the threads when disposing the thread from its own context. It
4006         also avoids possible deadlocks in the dispose function.
4007
4008 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4009
4010         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4011         it is necessary to wait.
4012
4013 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4014
4015         * docs/pwg/building-boiler.xml:
4016           Make description somewhat clearer.
4017
4018 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4019
4020         * docs/upload.mak:
4021           Apparently docs changed location on FDO's server.
4022
4023 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4024
4025         * docs/pwg/appendix-checklist.xml:
4026           Add some random notes on things to check when writing an element.
4027           This list can be extended as people see fit.
4028
4029 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4030
4031         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4032         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4033         pad. The queue will now wait until it is empty and forward the new
4034         caps to the source.
4035         * gst/gstbin.c (gst_bin_set_element_sched)
4036         (gst_bin_unset_element_sched): Make sure that all elements and
4037         links are registered and unregistered with the scheduler exactly
4038         once. This elaborates on a fix by Benjamin Otte, but
4039         guarantees that decoupled elements are also registered.
4040
4041 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4042
4043         * docs/manual/quotes.xml:
4044           add a quote
4045         * configure.ac:
4046         * gst/gst.c:
4047         * gst/gstinfo.c:
4048           add LIBDIR and move init message higher up so it's at the start
4049
4050 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4051
4052         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4053         * gstreamer.spec.in: add fair
4054
4055 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4056
4057         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4058         * gst/elements/gstidentity.c: (gst_identity_class_init):
4059           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4060           <teuf@gnome.org> (#157263).
4061         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4062         (gst_type_find_handle_src_query):
4063           Subtract size of internally stored data from position queries.
4064
4065 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4066
4067         * gst/schedulers/fairscheduler.c:
4068         * gst/schedulers/faircothreads.c:
4069         * gst/schedulers/faircothreads.h:
4070         New cothread based scheduler: Fair scheduler.
4071         * gst/schedulers/gthread-cothreads.h: 
4072         Add the standard #if around the whole file.
4073         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4074         compilation of the functions defined in this file. This is
4075         necessary to be able to use this file as a normal header.
4076         * gst/schedulers/Makefile.am: Add compiling support for fair
4077         scheduler.
4078         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4079         scheduler cothreads layer from documentation generation.
4080
4081 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4082
4083         * gst/autoplug/gstspideridentity.c:
4084         (gst_spider_identity_sink_loop_type_finding):
4085           Don't crash if that function is not implemented.
4086
4087 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4088
4089         * docs/pwg/advanced-types.xml:
4090           Another typo.
4091
4092 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4093
4094         * docs/pwg/intro-preface.xml:
4095           Hm, ok, so the brackets weren't really useful...
4096         * docs/pwg/other-ntoone.xml:
4097           Fix embarassing typo.
4098
4099 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4100
4101         * docs/pwg/intro-preface.xml:
4102           Rewrite preface.
4103
4104 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4105
4106         * docs/pwg/advanced-scheduling.xml:
4107         * docs/pwg/advanced-tagging.xml:
4108         * docs/pwg/advanced-types.xml:
4109         * docs/pwg/building-boiler.xml:
4110         * docs/pwg/building-chainfn.xml:
4111         * docs/pwg/building-signals.xml:
4112         * docs/pwg/building-state.xml:
4113         * docs/pwg/building-testapp.xml:
4114         * docs/pwg/intro-basics.xml:
4115         * docs/pwg/other-manager.xml:
4116         * docs/pwg/other-source.xml:
4117           Typo fixes.
4118         * docs/pwg/other-manager.xml:
4119           Add some first content. No example code yet.
4120         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4121           Remove double newlines.
4122
4123 2004-11-04  Wim Taymans  <wim@fluendo.com>
4124
4125         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4126         (remove_from_group), (normalize_group), (group_migrate_connected),
4127         (gst_opt_scheduler_iterate):
4128         * testsuite/schedulers/.cvsignore:
4129         * testsuite/schedulers/Makefile.am:
4130         * testsuite/schedulers/queue_link.c: (main):
4131         Added testcase for scheduler segfault.
4132         Fix scheduler segfault when removing a decoupled
4133         entry point as the last element from a group.
4134
4135 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4136
4137         * gst/gstmarshal.list: add missing marshaller, fixes build
4138
4139 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4140
4141         * docs/random/signal: added notes about using BOXED for GstBuffer
4142         signal marshallers, not POINTER
4143
4144 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4145
4146         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4147         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4148         POINTER=>BOXED changes to marshal GstBuffers
4149
4150 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4151
4152         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4153         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4154
4155 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4156
4157         * docs/gst/gstreamer-sections.txt:
4158         * docs/gst/tmpl/gstcaps.sgml:
4159         * docs/gst/tmpl/gsterror.sgml:
4160         * docs/gst/tmpl/gstinfo.sgml:
4161         * docs/gst/tmpl/gstmacros.sgml:
4162         * docs/gst/tmpl/gstutils.sgml:
4163         * docs/random/ensonic/interfaces.txt:
4164         * gst/gstinfo.h:
4165           added some more docs, removed two obsolete defines
4166
4167 2004-11-02  Kjartan Maraas <as at gnome.org>
4168
4169         reviewed by: Wim Taymans, Ronald Bultje.
4170
4171         * gst/cothreads.c: (cothread_create):
4172         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4173         (gst_bin_child_state_change_func):
4174         * gst/gstbuffer.c: (gst_buffer_span):
4175         * gst/gstelement.c: (gst_element_get_index),
4176         (gst_element_get_event_masks), (gst_element_get_query_types),
4177         (gst_element_get_formats):
4178         * gst/gsterror.c: (_gst_core_errors_init),
4179         (_gst_library_errors_init), (_gst_resource_errors_init),
4180         (_gst_stream_errors_init):
4181         * gst/gstobject.c: (gst_object_default_deep_notify):
4182         * gst/gstpad.c: (gst_pad_get_event_masks),
4183         (gst_pad_get_internal_links_default):
4184         * gst/gstplugin.c: (gst_plugin_register_func),
4185         (gst_plugin_get_module):
4186         * gst/gststructure.c: (gst_structure_get_string),
4187         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4188         (gst_structure_to_abbr):
4189         * gst/gstutils.c: (gst_print_element_args):
4190         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4191         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4192         Aplied part of patch #157127: Cleanup of issues reported by 
4193         sparse.
4194         Also do not try to use cothreads when there is no cothread
4195         context yet.
4196
4197 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4198
4199         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4200         (gst_opt_scheduler_iterate):
4201         Applied patch #154061. Running a pipeline in which an element 
4202         calls GST_ELEMENT_ERROR in the chain function, the opt 
4203         scheduler doesn't unref the chain so it never gets freed.
4204
4205 2004-11-02  Wim Taymans  <wim@fluendo.com>
4206
4207         * gst/gststructure.c: (gst_structure_get_abbrs),
4208         (gst_structure_from_abbr), (gst_structure_to_abbr):
4209         Remove that ugly if-then thing in the code that converts
4210         between strings and types.
4211
4212 2004-11-02  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/gstscheduler.c: (gst_scheduler_add_element),
4215         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4216         Aplied clock distribution patch, this should fix bug
4217         #148787.
4218
4219 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4220
4221         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4222
4223         * po/LINGUAS:
4224         * po/nb.po:
4225           Added Norwegian Bokmaal translation
4226
4227 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4228
4229         * tools/gst-inspect.c: (print_signal_info):
4230           print signal arguments as pointers if they are
4231
4232 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4233
4234         * docs/pwg/building-boiler.xml:
4235           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4236
4237 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4238
4239         * gst/parse/parse.l:
4240         * testsuite/parse/parse1.c: (main):
4241         Since parse can do 'element name=a:b' make 'a:b.' work as
4242         well. 
4243         Added testcase to verify fix.
4244
4245 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4246
4247         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4248         Use the realpad when printing the direction.
4249         Add extra \n when printing extensions of typefind factories.
4250
4251 2004-10-13  David Schleef  <ds@schleef.org>
4252
4253         * examples/manual/Makefile.am: $< isn't portable in Makefile
4254         rules.
4255
4256 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4257
4258         * docs/gst/tmpl/gstobject.sgml:
4259         * docs/gst/tmpl/gstplugin.sgml:
4260         * docs/gst/tmpl/gstpluginfeature.sgml:
4261         * docs/gst/tmpl/gstregistry.sgml:
4262         * docs/gst/tmpl/gstversion.sgml:
4263         * gst/gstbin.c:
4264           more api documentation
4265         * gst/gstplugin.c: (gst_plugin_register_func),
4266         (gst_plugin_check_file), (gst_plugin_load_file):
4267           better error signaling and logging
4268
4269 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4270
4271         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4272           Subtract current queue contents from position queries.
4273
4274 2004-10-11  Johan Dahlin  <johan@gnome.org>
4275
4276         * gst/gsturi.c (gst_uri_get_location): unescape string
4277         (gst_uri_construct): escape string.
4278
4279 2004-10-11  Benjamin Otte  <otte@gnome.org>
4280
4281         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4282         (gst_pad_try_set_caps_nonfixed):
4283           allow renegotiation of unconnected pads (as inside spider). Simply
4284           return OK if unconnected - mimic try_set_caps there.
4285
4286 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4287
4288         * gst/gstbin.c: (gst_bin_sync_children_state):
4289           Add missing break.
4290
4291 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4292
4293         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4294         Set element to EOS before sending EOS event
4295
4296 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4297
4298         * gst/elements/gsttypefindelement.c:
4299         (gst_type_find_element_handle_event):
4300         Handle EOS events when doing the transition from
4301         typefind to data passing. This should fix the
4302         infinite loops in short files.
4303
4304 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4305
4306         * gst/gstthread.c: (gst_thread_change_state),
4307         (gst_thread_child_state_change):
4308         Make sure no iteration happens while performing
4309         the state change as it could mess up the internal
4310         consistency of the thread state.
4311
4312 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4313
4314         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4315         (gst_thread_change_state), (gst_thread_child_state_change):
4316         Do not try to grab the iterate lock in the state change method
4317         when we are in the same thread as the iterate or else we
4318         could deadlock. Some other cleanups.
4319
4320 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4321
4322         * configure.ac:
4323           bump nano to cvs
4324
4325 === release 0.8.7 ===
4326
4327 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4328
4329         * configure.ac:
4330         * NEWS:
4331         * RELEASE:
4332         * configure.ac:
4333           releasing 0.8.7, "A Cruise"
4334
4335 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4336
4337         * docs/random/mimetypes:
4338         Add an entry for Sony ATRAC3 audio format with mime-type
4339         used by rmdemux et riff-read
4340
4341 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4342
4343         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4344         Push the buffer store instead of clearing it in case that
4345         the stream is not seekable.
4346
4347 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4348
4349         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4350         (gst_thread_main_loop):
4351         Lock the iteration and the state change so that automatic
4352         negotiation and fixation does not happen at the same time
4353         as the in stream negotiation.
4354
4355 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * configure.ac:
4358           bump nano to cvs
4359
4360 === release 0.8.6 ===
4361
4362 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4363
4364         * configure.ac:
4365         * NEWS:
4366         * RELEASE:
4367         * configure.ac:
4368           releasing 0.8.6, "Narc"
4369
4370 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4371
4372         * configure.ac:
4373           prerel bump
4374
4375 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4376
4377         patch by: Steve Lhomme
4378
4379         * gst/elements/gstfakesrc.c:
4380         * gst/elements/gstidentity.c:
4381         * gst/gstthread.c:
4382           Fix for #153881
4383
4384 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4385
4386         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4387         Fix threadsafety of the crc checking function.
4388
4389 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4390
4391         patch by: Ronald Bultje
4392
4393         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4394         (gst_type_find_element_handle_event),
4395         (gst_type_find_element_chain):
4396         * gst/elements/gsttypefindelement.h:
4397          #153657.
4398          Filter out discont event from seekable sources when typefind
4399          asks them to seek.  Fixes typefind with demuxers for
4400          avi, asf and matroska.
4401
4402 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4403
4404         * docs/gst/gstreamer-sections.txt:
4405         * gst/gstcaps.c:
4406         * gst/gstcaps.h:
4407         * gst/gstpad.c:
4408           Revert preferred caps: (#147789)
4409
4410 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4411
4412         * win32/dirent.c:
4413           fix a memory leak
4414
4415 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4416
4417         * configure.ac:
4418           bump for prerelease
4419
4420 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4421
4422         * docs/Makefile.am:
4423         * docs/manual/elements-api.xml:
4424           restructure so that common stuff is shown first
4425         * docs/manual/init-api.xml:
4426           convert to examples
4427         * docs/manual/manual.xml:
4428         * docs/manuals.mak:
4429         * docs/url.entities:
4430           link to API on the website, possibly override later in build
4431         * examples/manual/.cvsignore:
4432           ignore more
4433         * examples/manual/Makefile.am:
4434           add more examples
4435         * examples/manual/extract.pl:
4436           error out on failure
4437
4438 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * docs/gst/tmpl/gstthread.sgml:
4441         * docs/manual/init-api.xml:
4442         * examples/manual/Makefile.am:
4443           convert two code bits to examples
4444
4445 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4446
4447         * gst/gstelement.c: (gst_element_change_state):
4448           Well, actually, I was about to remove this insane assert when
4449           I noticed Wim already did that. A warning is nice so we can
4450           fix actual ugs (using --g-fatal-warnings and backtraces), so
4451           I added that instead.
4452
4453 2004-09-06  Wim Taymans  <wim@fluendo.com>
4454
4455         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4456         (gst_element_threadsafe_properties_post_run),
4457         (gst_element_set_state), (gst_element_change_state):
4458         Added extra refcounting around various places. 
4459
4460 2004-09-06  Wim Taymans  <wim@fluendo.com>
4461
4462         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4463         Fix debug info.
4464
4465 2004-09-06  Wim Taymans  <wim@fluendo.com>
4466
4467         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4468         (remove_from_group):
4469         Some more debug info.
4470
4471 2004-09-03  Wim Taymans  <wim@fluendo.com>
4472
4473         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4474         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4475         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4476         (gst_fakesrc_get), (gst_fakesrc_change_state):
4477         * gst/elements/gstfakesrc.h:
4478         * gst/elements/gstidentity.c: (gst_identity_class_init),
4479         (gst_identity_init), (gst_identity_chain),
4480         (gst_identity_set_property), (gst_identity_get_property),
4481         (gst_identity_change_state):
4482         * gst/elements/gstidentity.h:
4483         Added datarate properties to limit the datarate.
4484
4485 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4486
4487         * gst/autoplug/gstspider.c: (plugin_init):
4488           don't set a rank. We don't want to autoplug by inserting spiders.
4489
4490 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4491
4492         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4493         (gst_spider_identity_plug):
4494           add a template for spider's sink
4495         * gst/gst.c: (gst_register_core_elements):
4496           queue's rank should be NULL, we don't want spider to add it.
4497
4498 2004-08-18  David Schleef  <ds@schleef.org>
4499
4500         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4501         * docs/libs/Makefile.am: same
4502         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4503         * docs/random/ds/0.9-planning: random additions
4504         * docs/random/ds/0.9-suggested-changes: same
4505         * gst/gstxml.h: remove vestigal GstXMLNs definition
4506
4507         Preferred caps: (#147789)
4508         * docs/gst/gstreamer-sections.txt: Add symbols
4509         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4510         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4511         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4512         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4513         (gst_caps_get_preferred), (gst_caps_set_preferred),
4514         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4515         (gst_caps_use_preferred): Handle caps preferences
4516         * gst/gstcaps.h: Add caps preferences
4517         * gst/gstpad.c: (gst_pad_link_get_preferred),
4518         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4519         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4520         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4521         negotiation.
4522
4523 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4524
4525         * gst/autoplug/gstspideridentity.c:
4526         (gst_spider_identity_request_new_pad):
4527         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4528         (gst_aggregator_init):
4529         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4530         (gst_fakesink_init):
4531         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4532         (gst_fakesrc_init):
4533         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4534         (gst_fdsink_init):
4535         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4536         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4537         (gst_filesink_init):
4538         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4539         (gst_filesrc_init):
4540         * gst/elements/gstidentity.c: (gst_identity_base_init),
4541         (gst_identity_init):
4542         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4543         (gst_multifilesrc_init):
4544         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4545         (gst_pipefilter_init):
4546         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4547         (gst_statistics_init):
4548         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4549         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4550           s/gst_pad_new/&_from_template/
4551           register pad templates in the base_init function
4552           add static pad template definitions
4553
4554 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4555
4556         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4557         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4558         * testsuite/refcounting/pad.c: (main):
4559         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4560           s/gst_pad_new/&_from_template/
4561           prepare deprecation of gst_pad_new
4562
4563 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4564
4565         patch by: Luca Ognibene <skaboy81@virgilio.it>
4566
4567         * gst/gstcaps.c:
4568         * gst/gstelement.c:
4569         * gst/gstpad.c:
4570         * gst/gstxml.c:
4571           fix memleaks.  Fixes #150001
4572
4573 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4574
4575         * docs/random/ds/0.9-suggested-changes:
4576           add notes - mostly about pad templates
4577
4578 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4579
4580         * win32/GStreamer.vcproj:
4581           temporary locale files are .gmo not .mo
4582
4583 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4584
4585         * configure.ac: bump nano to cvs
4586
4587 === release 0.8.5 ===
4588
4589 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         * configure.ac:
4592           releasing 0.8.5, "Stuttgart"
4593         * NEWS:
4594         * RELEASE:
4595         * configure.ac:
4596         * docs/random/release:
4597           updates for release
4598
4599 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4600
4601         patch by: Wim Taymans (wim@fluendo.com)
4602
4603         * gst/gstbuffer.c:
4604         * gst/gstindex.h:
4605         * libs/gst/dataprotocol/dataprotocol.c:
4606           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4607
4608 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4609
4610         * Makefile.am:
4611         * win32/MANIFEST:
4612           add win32 dir to the build.  Fixes #149981.
4613
4614 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * configure.ac:
4617           bump libtool versioning
4618         * gst/gststructure.c:
4619           mark function as static
4620         * po/af.po:
4621         * po/az.po:
4622         * po/ca.po:
4623         * po/cs.po:
4624         * po/en_GB.po:
4625         * po/fr.po:
4626         * po/nl.po:
4627         * po/sq.po:
4628         * po/sr.po:
4629         * po/sv.po:
4630         * po/tr.po:
4631         * po/uk.po:
4632           translations update
4633         * win32/README.txt:
4634           trademark protection
4635
4636 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4637
4638         * configure.ac:
4639           fix GST_ORIGIN
4640           set GST_PACKAGE to source, and distinguish between release and other
4641         * tools/gst-inspect.c:
4642           print out plugin an element factory is part of so we see this info
4643
4644 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4645
4646         * docs/gst/gstreamer-sections.txt:
4647         * docs/gst/tmpl/gstbuffer.sgml:
4648         * docs/gst/tmpl/gstschedulerfactory.sgml:
4649           reorder docs a little, make GstBuffer's more sensible.
4650         * gst/gstbuffer.h:
4651           API: added GST_BUFFER_FLAG_DELTA_UNIT
4652         * gst/gstscheduler.c:
4653           comment API addition
4654
4655 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4656
4657         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4658           work with non-regular files that can be mmapped (like /dev/zero)
4659         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4660           get rid of typefinds that require a seek when we can't seek instead
4661           of trying them over and over again
4662         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4663           return non-zero failure value when the pipeline was interrupted or
4664           an error occurred
4665
4666 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4667
4668         * win32/config.h:
4669         * win32/GStreamer.vcproj:
4670           compile and install the locales
4671
4672 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4673
4674         * gst/gstvalue.c:
4675           fix a possible memory leak under Windows
4676
4677 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4678
4679         * win32/GStreamer.vcproj:
4680           fix a memory leak that occured under Windows
4681         * win32/gstreamer.def:
4682           add gst_scheduler_register
4683
4684 2004-08-11  Benjamin Otte  <otte@gnome.org>
4685
4686         * docs/gst/gstreamer-sections.txt:
4687         * gst/gstscheduler.c: (gst_scheduler_register):
4688         * gst/gstscheduler.h:
4689           API:
4690           add gst_scheduler_register shortcut similar to gst_element_register
4691         * gst/schedulers/entryscheduler.c: (plugin_init):
4692         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4693         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4694           use it
4695
4696 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4697
4698         * gst/gstvalue.h:
4699           fix a memory leak that occured under Windows
4700
4701 2004-08-10  Colin Walters  <walters@redhat.com>
4702
4703         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4704         Don't use O_EXCL to open temporary registry.  It will prevent
4705         registry creation if a temporary one already exists, which
4706         is unnecessary.
4707
4708 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4709
4710         * docs/gst/gstreamer-sections.txt:
4711         * docs/gst/tmpl/gstvalue.sgml:
4712           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4713
4714 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4715
4716         * win32/gstbytestream.vcproj:
4717         * win32/gstelements.vcproj:
4718         * win32/gstgetbits.vcproj:
4719         * win32/gst-inspect.vcproj:
4720         * win32/gst-launch.vcproj:
4721         * win32/gstoptimalscheduler.vcproj:
4722         * win32/GStreamer.vcproj:
4723         * win32/gst-register.vcproj:
4724         * win32/gstspider.vcproj:
4725           update the include and lib dirs to fit standard libraries as
4726           described in the Win32 manual
4727
4728 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4729
4730         * win32/config.h:
4731         * win32/gstversion.h:
4732           enable NLS again, push the version number for the coming 0.8.5 release
4733
4734 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4735
4736         * gst/gstvalue.h:
4737           export gst_type_XXX for windows DLLs
4738
4739 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4740
4741         * docs/faq/gst-uninstalled:
4742           fix PKG_CONFIG_PATH and PYTHONPATH
4743         * gst/schedulers/Makefile.am:
4744           cleanup
4745         * libs/gst/bytestream/bytestream.c:
4746           remove newline
4747         * po/LINGUAS:
4748         * po/sq.po:
4749           adding Albanian translation (Laurent Dhima)
4750         * po/cs.po:
4751           updated
4752
4753 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4754
4755         * po/ca.po:
4756         * po/sv.po:
4757           updated translations
4758
4759 2004-08-04  Benjamin Otte  <otte@gnome.org>
4760
4761         * tests/mass_elements.c: (main):
4762           allow specifying src and sink element explicitly, so I can test
4763           videotestsrc instead of fakesrc
4764
4765 2004-08-04  Benjamin Otte  <otte@gnome.org>
4766
4767         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4768         (gst_structure_id_empty_new), (gst_structure_empty_new),
4769         (gst_structure_copy):
4770           add gst_structure_id_empty_new_with_size to allow preallocating
4771           value array sizes. Use this in gst_structure_copy to get rid of
4772           reallocs.
4773           don't do quark=>string=>quark when copying structures
4774
4775 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4776
4777         * docs/manual/win32.xml:
4778         * win32/README.txt:
4779           update documentation with the clean version of dependencies
4780
4781 2004-08-03  Benjamin Otte  <otte@gnome.org>
4782
4783         * gst/schedulers/entryscheduler.c:
4784         (gst_entry_scheduler_remove_element):
4785           fix for GST_DISABLE_DEBUG
4786         * tools/gst-launch.c: (print_tag):
4787           fixes for G_DISABLE_ASSERT
4788
4789 2004-08-03  Benjamin Otte  <otte@gnome.org>
4790
4791         * gst/gst.c: (gst_register_core_elements):
4792           fix for G_DISABLE_ASSERT
4793         * gst/gstinfo.c: (__gst_in_valgrind):
4794           add for GST_DISABLE_DEBUG
4795
4796 2004-08-03  Benjamin Otte  <otte@gnome.org>
4797
4798         * gst/parse/parse.l:
4799           fix for G_DISABLE_ASSERT
4800
4801 2004-08-03  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/gstbin.c: (gst_bin_get_type),
4804         (gst_bin_child_state_change_func):
4805         * gst/gstthread.c: (gst_thread_change_state):
4806         Backported some debug logging from a reverted patch
4807         Don't try to destroy the thread twice. Added some more
4808         debugging in GstThread. Unlock and signal even if we
4809         are in the thread context.
4810
4811 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4812
4813         * po/uk.po:
4814           updated translation
4815
4816 2004-07-30  David Schleef  <ds@schleef.org>
4817
4818         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4819
4820 2004-07-29  David Schleef  <ds@schleef.org>
4821
4822         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4823         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4824
4825 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4826
4827         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4828         (gst_bin_add_func), (gst_bin_remove_func),
4829         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4830         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4831         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4832         (gst_bin_sync_children_state):
4833         * gst/gstbin.h:
4834         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4835         (gst_thread_change_state):
4836         * testsuite/states/Makefile.am:
4837           revert state change patches as agreed so we can rework them
4838           gradually
4839
4840 2004-07-29  Benjamin Otte  <otte@gnome.org>
4841
4842         * libs/gst/control/Makefile.am:
4843           link to libgstreamer (fixes Debian bug 262019, see
4844           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4845
4846 2004-07-29  Wim Taymans  <wim@fluendo.com>
4847
4848         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4849         (check_from_fraction_convert), (transform_test), (main):
4850         Make the test less pedantic about float roundoff errors.
4851
4852 2004-07-29  Benjamin Otte  <otte@gnome.org>
4853
4854         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4855         (gst_filesrc_srcpad_event):
4856           make seek events to before start/after end of file not fail, but
4857           seek to start/end instead
4858         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4859           add more output
4860
4861 2004-07-29  Benjamin Otte  <otte@gnome.org>
4862
4863         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4864           check that caps are fixed
4865         * gst/gstpad.c: (gst_pad_template_new):
4866           don't try to simplify caps, costs too much time on gst_init
4867         * gst/gstplugin.c: (gst_plugin_add_feature):
4868           G_ERROR if features are added twice
4869         * gst/gsttypefind.c: (gst_type_find_register):
4870         * gst/gstelementfactory.c: (gst_element_register):
4871           don't add features twice
4872         * docs/random/ds/0.9-suggested-changes:
4873           add note about possible gst_init optimization
4874
4875 2004-07-28  David Schleef  <ds@schleef.org>
4876
4877         * testsuite/elements/Makefile.am:
4878         * testsuite/elements/struct_i386.h:
4879         * testsuite/elements/struct_size.c: (main):  A little test
4880         to keep distcheck from working if someone changes a structure
4881         size accidentally.
4882
4883 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4884
4885         * docs/libs/Makefile.am:
4886         * docs/libs/gstreamer-libs-docs.sgml:
4887         * docs/libs/gstreamer-libs-sections.txt:
4888         * docs/libs/tmpl/gstbytestream.sgml:
4889         * docs/libs/tmpl/gstcontrol.sgml:
4890         * docs/libs/tmpl/gstdataprotocol.sgml:
4891         * docs/libs/tmpl/gstgetbits.sgml:
4892         * libs/gst/bytestream/Makefile.am:
4893         * libs/gst/bytestream/bytestream.c:
4894         * libs/gst/bytestream/bytestream.h:
4895         * libs/gst/control/Makefile.am:
4896         * libs/gst/dataprotocol/Makefile.am:
4897         * libs/gst/getbits/Makefile.am:
4898         * libs/gst/getbits/getbits.h:
4899           various doc and style fixes, adding bytestream to libs docs.
4900
4901 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * docs/gst/gstreamer-docs.sgml:
4904         * docs/libs/Makefile.am:
4905         * docs/libs/gstreamer-libs-docs.sgml:
4906         * docs/libs/gstreamer-libs-sections.txt:
4907         * libs/gst/control/dparam.c:
4908           more doc fixes.  gst-libs docs now build the same way as gst.
4909
4910 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * configure.ac:
4913         * testsuite/Makefile.am:
4914         * testsuite/bins/Makefile.am:
4915         * testsuite/caps/Makefile.am:
4916         * testsuite/cleanup/Makefile.am:
4917         * testsuite/clock/Makefile.am:
4918         * testsuite/debug/Makefile.am:
4919         * testsuite/dlopen/Makefile.am:
4920         * testsuite/dynparams/Makefile.am:
4921         * testsuite/elements/.cvsignore:
4922         * testsuite/elements/Makefile.am:
4923         * testsuite/enumcaps/Makefile.am:
4924         * testsuite/enumcaps/enumcaps.c:
4925         * testsuite/ghostpads/Makefile.am:
4926         * testsuite/indexers/Makefile.am:
4927         * testsuite/negotiation/Makefile.am:
4928         * testsuite/parse/Makefile.am:
4929         * testsuite/plugin/Makefile.am:
4930         * testsuite/refcounting/Makefile.am:
4931         * testsuite/schedulers/.cvsignore:
4932         * testsuite/states/Makefile.am:
4933         * testsuite/tags/Makefile.am:
4934         * testsuite/threads/Makefile.am:
4935           fold enumcaps into caps dir
4936           clean up Makefile.am's for testsuite
4937
4938 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * docs/gst/Makefile.am:
4941         * docs/libs/Makefile.am:
4942           clean up docs build.  Fixes needless rebuilding of template files.
4943
4944 2004-07-28  Wim Taymans  <wim@fluendo.com>
4945
4946         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
4947         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
4948         Make sure that a bin state change tries to keep the children
4949         in sync. 
4950         Added debug logging to the thread.
4951
4952 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4953
4954         * win32/GStreamer.vcproj:
4955         * win32/gstreamer.def:
4956           more exports for the plugins
4957
4958 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4959
4960         * win32/gstgetbits.vcproj:
4961         * win32/gstgetbits.def:
4962         * win32/msvc71.sln:
4963           add support for the getbits plugin
4964
4965 2004-07-27  Wim Taymans  <wim@fluendo.com>
4966
4967         * gst/gstvalue.c: (gst_value_transform_double_fraction),
4968         (gst_value_transform_fraction_double), (_gst_value_initialize):
4969         * testsuite/caps/Makefile.am:
4970         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4971         (check_from_fraction_convert), (transform_test), (main):
4972         Added transform functions between double and fraction.
4973         Added testcase to verify transforms
4974
4975 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4976
4977         * win32/GStreamer.vcproj:
4978           rename GStreamer-0.8.lib to libgstreamer.lib
4979
4980 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4981
4982         * win32/gstelements.vcproj:
4983         * win32/gstoptimalscheduler.vcproj:
4984           fixes for the Release build
4985
4986 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4987
4988         * win32/config.h:
4989           update the version number
4990
4991 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4992
4993         * win32/GStreamer.vcproj:
4994           add gstinterface to the build
4995
4996 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4997
4998         * win32/gstreamer.def:
4999           add many definitions needed by plugins,
5000           GST_CAT_DEFAULT only available in the Debug build ?
5001
5002 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5003
5004         * gst/gstelement.c: (gst_element_set_eos_recursive):
5005           various whitespace fixes.
5006           doc fix, fixes #148497
5007
5008 2004-07-25  Benjamin Otte  <otte@gnome.org>
5009
5010         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5011           don't delay links on the sink elements, it causes unnegotiated
5012           links.
5013         * gst/elements/gsttypefindelement.c:
5014         (gst_type_find_element_base_init):
5015           add our padtemplates, we indeed do have some.
5016         * gst/elements/gsttypefindelement.c:
5017         (gst_type_find_element_handle_event),
5018         (gst_type_find_element_chain):
5019           don't push data when typefinding failed.
5020         * gst/gstpad.c: (gst_pad_link_fixate):
5021           check that no fixate function returns empty caps.
5022         * gst/gstpad.c: (gst_pad_push):
5023           check that the link is negotiated before data gets pushed.
5024         * tools/gst-register.c: (main):
5025           don't assert (fixes #148283)
5026
5027 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5028
5029         * docs/gst/gstreamer-sections.txt:
5030         * docs/gst/tmpl/gstconfig.sgml:
5031           add GST_PLUGIN_EXPORT definition
5032
5033 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5034
5035         * gst/gstplugin.h:
5036         * gst/gstconfig.h.in:
5037         * win32/gstconfig.h:
5038         * win32/gstelements.def:
5039         * win32/gstelements.vcproj:
5040         * win32/gstoptimalscheduler.def:
5041         * win32/gstoptimalscheduler.vcproj:
5042         * win32/gstspider.def:
5043         * win32/gstspider.vcproj:
5044           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5045
5046 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5047
5048         * docs/gst/gstreamer-sections.txt:
5049           remove GST_CAT_DEFAULT because the type has changed
5050
5051 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5052
5053         * win32/gstbytestream.vcproj:
5054         * win32/gstelements.vcproj:
5055         * win32/gst-inspect.vcproj:
5056         * win32/gst-launch.vcproj:
5057         * win32/gstoptimalscheduler.vcproj:
5058         * win32/GStreamer.vcproj:
5059         * win32/gst-register.vcproj:
5060         * win32/gstspider.vcproj:
5061         * win32/msvc71.sln:
5062           Copy the files where needed after building, The testsuite will be
5063           built separately
5064
5065 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5066
5067         * win32/config.h:
5068         * win32/README.txt:
5069         * docs/manual/win32.xml:
5070         Fixed the plugin and GStreamer location
5071
5072 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5073
5074         * win32/gstreamer.def:
5075         More exports for the plugins
5076
5077 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5078
5079         * gst/gstinfo.h:
5080         Marc was right, we need to export literally GST_CAT_DEFAULT
5081
5082 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5083
5084         * win32/config.h:
5085         NLS crashes in gettext, disabled until this is solved
5086
5087 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5088
5089         * win32/gst-inspect.vcproj:
5090         * win32/gst-launch.vcproj:
5091         Should use NLS when available
5092
5093 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5094
5095         * gst/registries/gstxmlregistry.c:
5096         removing the file doesn't seem to be a good idea on Linux
5097
5098 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5099
5100         * gst/registries/gstxmlregistry.c:
5101         Remove the registry before renaming the tempfile (needed for Windows)
5102
5103 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5104
5105         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5106         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5107         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5108         * gst/elements/gstmultifilesrc.h:
5109         Added newmedia property so it generates newmedia events between each
5110         file when property is set, as well as fixed eos handling
5111
5112 2004-07-22  David Schleef  <ds@schleef.org>
5113
5114         * gst/gststructure.c: (gst_structure_id_empty_new),
5115         (gst_structure_empty_new):  Set type field correctly.
5116         * gst/gststructure.h: Check type field correctly.
5117         * testsuite/caps/Makefile.am:
5118         * testsuite/caps/structure.c: (test1), (main): Add a very small
5119         test for structures.
5120
5121 2004-07-22  David Schleef  <ds@schleef.org>
5122
5123         * docs/random/ds/0.9-suggested-changes: more comments
5124         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5125
5126 2004-07-22  Benjamin Otte  <otte@gnome.org>
5127
5128         * gst/gstelementfactory.c: (gst_element_register):
5129           set the factory in the class struct, so gst_element_get_factory
5130           actually works
5131         * gst/parse/grammar.y:
5132           set element to playing when it gets unlocked as we can't rely on the
5133           bin state - all elements in the bin state might still be locked in
5134           NULL)
5135
5136 2004-07-22  Benjamin Otte  <otte@gnome.org>
5137
5138         * gst/gstelement.c: (gst_element_set_state_func):
5139           make this a static function
5140
5141 2004-07-22  Wim Taymans  <wim@fluendo.com>
5142
5143         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5144         (gst_opt_scheduler_pad_link):
5145         fix 147894-2 and the group_link problem.
5146
5147 2004-07-22  Wim Taymans  <wim@fluendo.com>
5148
5149         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5150         (handoff_identity), (main):
5151         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5152         (handoff_identity), (main):
5153         * testsuite/schedulers/Makefile.am:
5154         * testsuite/schedulers/group_link.c: (main):
5155         Show bug in scheduler when linking chain and loop based element 
5156         where the chain based element was not yet in a group.
5157
5158 2004-07-21  Benjamin Otte  <otte@gnome.org>
5159
5160         * gst/.cvsignore:
5161         * gst/autoplug/.cvsignore:
5162         * gst/elements/.cvsignore:
5163         * gst/indexers/.cvsignore:
5164         * libs/gst/bytestream/.cvsignore:
5165         * libs/gst/control/.cvsignore:
5166         * libs/gst/getbits/.cvsignore:
5167         * testsuite/states/.cvsignore:
5168         * testsuite/threads/.cvsignore:
5169           keep this up to date, since I seem to be the only one who cares
5170           about not missing files on commits (editor's note: no you don't,
5171           but feel free to change them at the time you add stuff instead
5172           of later on)
5173
5174 2004-07-21  Benjamin Otte  <otte@gnome.org>
5175
5176         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5177         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5178         (gst_bin_child_state_change_func), (set_kid_state_func),
5179         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5180           make state changes work correctly and reentrant (so removing
5181           elements from bins during state changes of bins doesn't cause
5182           segfaults or even wrong states)
5183           add debugging category and debugging output to print children states
5184         * gst/gstbin.c: (gst_bin_dispose): 
5185           add some assertion checks
5186         * gst/gstbin.h:
5187         * gst/gstbin.c: (gst_bin_sync_children_state):
5188           deprecate this function - it just does gst_bin_set_state (bin,
5189           GST_STATE (bin)) 
5190         * testsuite/threads/queue.c: (main):
5191           don't use gst_bin_sync_children_state anymore
5192         * testsuite/states/Makefile.am:
5193         * testsuite/states/bin.c:
5194           test that the state changes of bins work as expected
5195         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5196           some adjustments to change states correctly, too
5197         * gst/gstthread.c: (gst_thread_change_state):
5198           don't enable/disable "threadsafe" properties, they're unused and
5199           cause random segfaults
5200         * testsuite/threads/Makefile.am:
5201           the queue check randomly passes now, ignore it
5202
5203 2004-07-21  Benjamin Otte  <otte@gnome.org>
5204
5205         * gst/gstpad.c:
5206           check if data is NULL before outputting debug info. (fixes #145100)
5207
5208 2004-07-21  Benjamin Otte  <otte@gnome.org>
5209
5210         * gst/schedulers/entryscheduler.c:
5211         (gst_entry_scheduler_loop_wrapper),
5212         (gst_entry_scheduler_chain_wrapper),
5213         (gst_entry_scheduler_get_wrapper):
5214           reset the state when the cothread starts, so we don't get assertion
5215           failures on restarting of cothreads
5216
5217 2004-07-20  Benjamin Otte  <otte@gnome.org>
5218
5219         * gst/gstelement.c: (gst_element_link_pads_filtered):
5220           use correct sinkpad, if only sinkpad is specified, but not srcpad
5221           (fixes #147889)
5222         * gst/gstelement.c: (gst_element_set_state_func),
5223         (gst_element_change_state): ref/unref the element, signal handlers
5224         could get rid of the element otherwise
5225
5226 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5227
5228         * docs/random/ds/0.9-suggested-changes:
5229           Make note about renaming fixed-list to array.
5230         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5231         (_gst_value_initialize):
5232           Add array intersections.
5233         * testsuite/caps/intersect2.c: (main):
5234           Add test for array intersections.
5235
5236 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5237
5238         * configure.ac: back to cvs
5239
5240 === release 0.8.4 ===
5241
5242 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5243
5244         * configure.ac:
5245           releasing 0.8.4, "Paella"
5246           bump libtool versioning
5247
5248 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * po/LINGUAS:
5251         * po/ca.po:
5252           adding Catalan translation (Jordi Mallach)
5253
5254 2004-07-20  Wim Taymans  <wim@fluendo.com>
5255
5256         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5257         (handoff_identity), (main):
5258         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5259         (handoff_identity), (main):
5260         * testsuite/schedulers/Makefile.am:
5261         Added failing testcase for variant of #147894
5262
5263 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         patch by: David Moore
5266
5267         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5268         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5269         (group_migrate_connected):
5270         * testsuite/schedulers/Makefile.am:
5271           fix for #142813 (Deadlock in optimal scheduler)
5272
5273 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5274
5275         patch by: Wim Taymans
5276
5277         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5278         (gst_opt_scheduler_schedule_run_queue),
5279         (gst_opt_scheduler_get_wrapper), (get_group),
5280         (group_migrate_connected):
5281         * testsuite/schedulers/Makefile.am:
5282           fix for #147819 (Add some checks in the opt scheduler)
5283
5284 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         patch by: Benjamin Otte
5287
5288         * gst/gstelementfactory.c: (__gst_element_details_set):
5289           fix for #147929: running gst-register in non-utf8 locale can cause
5290           invalid registry
5291
5292 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5293
5294         patch by: Wim Taymans
5295
5296         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5297         (group_has_element), (element_get_reachables_func),
5298         (group_migrate_connected):
5299           fix for #147894 (opt scheduler decoupled elements mismanagement)
5300         * testsuite/schedulers/Makefile.am:
5301           testsuite app now passes
5302
5303 2004-07-19  Wim Taymans  <wim@fluendo.com>
5304
5305         * testsuite/schedulers/147819.c: (handoff_identity1),
5306         (handoff_identity2), (main):
5307         * testsuite/schedulers/Makefile.am:
5308         Added testcase for bug 147819
5309
5310 2004-07-19  Wim Taymans  <wim@fluendo.com>
5311
5312         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5313         (handoff_identity), (main):
5314         * testsuite/schedulers/Makefile.am:
5315         Added testcase for bug 147894
5316
5317 2004-07-16  Wim Taymans  <wim@fluendo.com>
5318
5319         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5320         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5321         * testsuite/schedulers/Makefile.am:
5322         Added testsuite for bug 142183 in its two incarnations. Refcount
5323         is not increased for scheduled elements and threadsafe properties
5324         mutexes are not properly unlocked.
5325
5326 2004-07-16  Wim Taymans  <wim@fluendo.com>
5327
5328         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5329         (create_chain), (destroy_chain), (create_group), (destroy_group),
5330         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5331         (group_dec_link), (gst_opt_scheduler_pad_link),
5332         (group_inc_links_for_element), (group_migrate_connected):
5333         Call group_inc_link with the proper src->sink ordering -- 
5334         break this, and we break sort_chain. patch from wingo for bug
5335         147713.
5336         Partially revert patch 1.89. When adding a loop based element to 
5337         the scheduler, the links to other groups are automatically followed
5338         and incremented. This should not happen because the bin will call
5339         pad_link explicitly for those connection, resulting in them counted 
5340         twice. Results in assertion failure on pipeline cleanup.
5341
5342 2004-07-16  Wim Taymans  <wim@fluendo.com>
5343
5344         * testsuite/schedulers/143777-2.c: (main):
5345         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5346         (main):
5347         * testsuite/schedulers/Makefile.am:
5348         Added cleanup code to testcase 143777-2.
5349         Added testcase to show bug 147713, does not really show the
5350         deadlock as I can't figure out how to trigger it, but it does
5351         demonstrate bad ordering in the scheduler.
5352
5353 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5354
5355         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5356           change strndup to g_strndup.  Fixes #147707
5357
5358 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5359
5360         * po/af.po:
5361         * po/az.po:
5362         * po/cs.po:
5363         * po/en_GB.po:
5364         * po/fr.po:
5365         * po/nl.po:
5366         * po/sr.po:
5367         * po/sv.po:
5368         * po/tr.po:
5369         * po/uk.po:
5370           updated translations
5371
5372 2004-07-16  Benjamin Otte  <otte@gnome.org>
5373
5374         * gst/gstvalue.c: (gst_greatest_common_divisor):
5375           use ints and return ints, fractions only use ints, too, so this
5376           avoids accidently casting multiplications to unsigned
5377         (gst_value_lcopy_fraction): it's ints, not uint32
5378         (gst_value_set_fraction): disallow minint, multiplying and negation
5379           are broken with it
5380         (gst_value_fraction_multiply): fix to make large numbers work and get
5381         rid of the assumption that the multiplication of two ints fits an
5382         int64 - dunno if that's true for all systems
5383         * testsuite/caps/Makefile.am:
5384         * testsuite/caps/fraction-multiply-and-zero.c:
5385         (check_multiplication), (check_equal), (zero_test), (main):
5386           add tests for all the stuff above
5387         * testsuite/caps/value_compare.c: (test1):
5388           fix comment
5389         * tests/.cvsignore:
5390         * testsuite/caps/.cvsignore:
5391         * testsuite/debug/.cvsignore:
5392         * testsuite/dlopen/.cvsignore:
5393         * testsuite/states/.cvsignore:
5394           get up to date
5395
5396 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5397
5398         * docs/manual/bins-api.xml:
5399         * docs/manual/factories.xml:
5400         * docs/manual/helloworld.xml:
5401         * docs/manual/links-api.xml: 
5402           fixes for out of date info, incorrect info and grammar
5403
5404 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5405
5406         * docs/manual/pads.xml:
5407         * docs/manual/pads-api.xml: grammar fix
5408
5409 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5410
5411         * docs/manual/pads-api.xml: typo + grammar fix
5412
5413 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5414
5415         * docs/gst/gstreamer-sections.txt:
5416           add new symbols
5417         * docs/gst/tmpl/gstelement.sgml:
5418         * docs/gst/tmpl/gstpad.sgml:
5419         * docs/gst/tmpl/gsttypes.sgml:
5420         * docs/gst/tmpl/gstvalue.sgml:
5421           update docs
5422         * gst/gststructure.c: (gst_structure_set_valist),
5423         (gst_structure_from_abbr), (gst_structure_to_abbr):
5424         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5425         (gst_greatest_common_divisor), (gst_value_init_fraction),
5426         (gst_value_copy_fraction), (gst_value_collect_fraction),
5427         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5428         (gst_value_get_fraction_numerator),
5429         (gst_value_get_fraction_denominator),
5430         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5431         (gst_value_deserialize_fraction),
5432         (gst_value_transform_fraction_string),
5433         (gst_value_transform_string_fraction),
5434         (gst_value_compare_fraction), (_gst_value_initialize):
5435         * gst/gstvalue.h:
5436           adding GstFraction GValue type, get/set, and multiply
5437         * testsuite/caps/Makefile.am:
5438         * testsuite/caps/fraction.c: (test), (main):
5439         * testsuite/caps/string-conversions.c: (main):
5440         * testsuite/caps/value_compare.c: (test1), (main):
5441           add regression tests for GstFraction
5442
5443 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5444         
5445         * docs/manual/init-api.xml: Grammar fix
5446
5447 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5448
5449         * docs/manual/states.xml: Fix inconsistent information
5450
5451 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         * gst/gstelement.c: (gst_element_set_state):
5454         * gst/gstpad.c: (gst_pad_try_set_caps):
5455         * gst/gststructure.c:
5456         * gst/gstthread.c: (gst_thread_child_state_change):
5457         * gst/gstvalue.c: (gst_value_compare_double):
5458         * gst/gstvalue.h:
5459         * testsuite/parse/parse1.c: (main):
5460           debugging additions and style cleanups
5461
5462 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5463
5464         * docs/manual/states.xml: Grammar fix
5465
5466 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5467
5468         * docs/manual/pads.xml: Grammar fix
5469
5470 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5471
5472         * docs/manual/elements.xml: Fixed image reference
5473
5474 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5475
5476         * docs/manual/goals.xml: Grammar fix
5477
5478 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5479
5480         * docs/manual/motivation.xml:
5481         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5482
5483 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5484
5485         * docs/manual/motivation.xml: Fix spelling
5486
5487 2004-07-15  Benjamin Otte  <otte@gnome.org>
5488
5489         * gst/gstelement.h: 
5490           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5491           strings.
5492         * gst/gstelement.c (gst_element_class_init):
5493           GError's are boxed, not objects
5494         * gst/gstmarshal.list:
5495           update list for the fixed error signal
5496
5497 2004-07-14  Andy Wingo  <wingo@pobox.com>
5498
5499         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5500         there all along, but the function wasn't. (guile-gstreamer's build
5501         system uses the address of the function -- I wasn't actually
5502         trying to use this.)
5503
5504 2004-07-14  Andy Wingo  <wingo@pobox.com>
5505
5506         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5507         as gst_pad_proxy_pad_link) just link to every other pad when they
5508         are called. In the case where the graph has cycles, this will mean
5509         that a call to try_set_caps will recurse. Allow this recursion
5510         and return OK, while we wait for the first try_set_caps to give a
5511         proper return value.
5512         (gst_pad_link_call_link_functions): Since this function is the
5513         only one to set the NEGOTIATING flag on a pad, if the flag is set
5514         it means that the link functions have indirectly recursed. If this
5515         happens, error out to avoid infinite recursion and an eventual
5516         SEGV.
5517         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5518         (gst_pad_proxy_getcaps): Intersect the result with the template
5519         caps to ensure that the return value is valid.
5520
5521 2004-07-14  Andy Wingo  <wingo@pobox.com>
5522
5523         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5524         one refcount, the calling function is the owner of the buffer.
5525
5526 2004-07-14  Wim Taymans  <wim@fluendo.com>
5527
5528         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5529         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5530         Fix stupid warning when an element is to be migrated but
5531         is already migrated.
5532
5533 2004-07-14  Wim Taymans  <wim@fluendo.com>
5534
5535         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5536         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5537         Make sure that a single non-loop-based element does not 
5538         end up in a group. This fixes the testsuite again.
5539
5540 2004-07-14  Wim Taymans  <wim@fluendo.com>
5541
5542         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5543         (add_to_group), (merge_groups), (schedule_group),
5544         (gst_opt_scheduler_get_wrapper), (group_elements),
5545         (group_dec_link), (gst_opt_scheduler_pad_link),
5546         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5547         (gst_opt_scheduler_iterate):
5548         move isolated groups to a new chain.
5549         Emit a warning instead of segfaulting in some error cases.
5550         Fix a bug where the link count between groups was not calculated 
5551         correctly. Fixes #144510.
5552
5553 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5554         * gst/elements/gstfilesrc.c:
5555           Binary files support under Windows now OK
5556       
5557 2004-07-13  Benjamin Otte  <otte@gnome.org>
5558
5559           compatibility fixes for Solaris 8/gcc 2.95
5560         * configure.ac:
5561           include libintl libs in LDFLAGS
5562         * gstvalue.c (gst_value_deserialize_buffer):
5563           cast isxdigit stuff to int to silence compiler warning
5564
5565 2004-07-12  Benjamin Otte  <otte@gnome.org>
5566
5567         * gst/gsttypes.h:
5568           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5569           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5570           just causes support madness
5571         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5572           make it work without this
5573         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5574         (gst_file_index_commit):
5575           glib IO channels don't want binary mode
5576         * testsuite/bytestream/filepadsink.c: (main):
5577         * testsuite/bytestream/test1.c: (read_param_file):
5578           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5579
5580 2004-07-12  Benjamin Otte  <otte@gnome.org>
5581
5582         * gst/gstelement.c: (gst_element_class_init),
5583         (gst_element_set_state), (gst_element_set_state_func):
5584           virutalize gst_element_set_state, use set_state member in class
5585           struct that was already added in 0.7 for this.
5586         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5587         (gst_bin_change_state):
5588           make gst_bin_foreach works similar to other foreach functions, plug
5589           memleaks in it. Make functions using it work with the new approach.
5590           Document gst_bin_foreach, so it can be exported if we want to
5591         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5592           use virtualized set_state to make set_state on bins set the state of
5593           all its children.
5594
5595 2004-07-12  Benjamin Otte  <otte@gnome.org>
5596
5597         * configure.ac:
5598           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5599           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5600         * gst/gstpad.c: (gst_pad_alloc_buffer):
5601           allow buffer_alloc functions to return NULL and allocate a normal
5602           buffer in that case
5603
5604 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5605         * gst/elements/gstfilesink.c:
5606         * gst/elements/gstfilesrc.c:
5607         * gst/indexers/gstfileindex.c:
5608         * gst/gsttypes.h:
5609         * testsuite/bytestream/filepadsink.c:
5610         * testsuite/bytestream/test1.c:
5611           Handle binary files under Windows
5612
5613 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5614         * docs/manual/win32.xml:
5615         * win32/config.h:
5616         * win32/gst-register.vcproj:
5617         * win32/gstreamer.def:
5618           Update to another gettext public build
5619
5620 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5621         * gst/gstplugin.c:
5622           Fix an impossible C syntax
5623         * win32/config.h:
5624           Disable i18n under Windows for the moment
5625         * win32/gst-register.vcproj:
5626           Use this configuration
5627
5628 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5629         * docs/manual/quotes.xml:
5630           Keep the quotes file alive
5631         * docs/random/ds/0.9-suggested-changes:
5632           Add the suggestion of including a 'rowstride' as part of video
5633           format caps
5634
5635 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5636
5637         * gst/gstelement.c: (gst_element_set_state),
5638         (gst_element_change_state):
5639           d'oh.  Set PENDING state correctly before forcing bin to change.
5640         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5641         (gst_structure_parse_fixed_list):
5642         * gst/schedulers/gstoptimalscheduler.c:
5643         (gst_opt_scheduler_state_transition):
5644         * testsuite/states/parent.c: (main):
5645           remove comment now that it's fixed.
5646
5647 2004-07-11  Benjamin Otte  <otte@gnome.org>
5648
5649         * gst/gstclock.h:
5650           GST_SECOND shouldn't cause a conversion to unsigned.
5651         * testsuite/clock/.cvsignore:
5652         * testsuite/clock/Makefile.am:
5653         * testsuite/clock/signedness.c: (main):
5654           make sure it never will again
5655
5656 2004-07-11  Andy Wingo  <wingo@pobox.com>
5657
5658         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5659         whose state is higher than the bin state, raise the bin state to
5660         ensure that bin state := highest child state.
5661         
5662 2004-07-11  Andy Wingo  <wingo@pobox.com>
5663
5664         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5665         procedure on the children of a bin. Assumes that the procedure can
5666         change the set of children.
5667         (set_kid_state_func): New static function.
5668         (gst_bin_change_state): Use gst_bin_foreach to call
5669         set_kid_state_func. Fixes a bug: if a child had a state-change
5670         handler that removes it from the bin, there would be a segfault.
5671         Hopefully it should also work in the case where the state-change
5672         handler on one child adds or removes other children. In any case,
5673         fixes should go to gst_bin_foreach.
5674
5675 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5676
5677         * gst/gstelement.c: (gst_element_set_state):
5678           compatibility fix for latest plugins release.  Change loop back
5679           to while {}
5680
5681 2004-07-09  Wim Taymans  <wim@fluendo.com>
5682
5683         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5684         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5685         (gst_thread_main_loop):
5686         Since remove is virtual in GstBin we must not assume the 
5687         elements GList to have anothing useful.
5688         Add some more logging to GstThread and be a bit more paranoid
5689         when resetting the scheduler.
5690         Set the state of the bin to NULL before removing the children.
5691
5692 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5693
5694         * testsuite/threads/Makefile.am:
5695         * testsuite/threads/threadg.c:
5696           added test to check if problem when removing all elements from a
5697           GstThread before setting GstThread state to NULL
5698
5699 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5700
5701         * docs/gst/tmpl/gstelement.sgml:
5702         * docs/gst/tmpl/gsttypes.sgml:
5703         * gst/gstbin.c: (gst_bin_change_state):
5704         * gst/gstelement.c: (gst_element_set_state),
5705         (gst_element_change_state):
5706           rework so that for bins we try to set the state on all children
5707           as well even if the bin is in the correct state already.
5708           change while to do so at least one iteration is done.
5709           For regular elements, we fall back to the previous behaviour for
5710           now since we first need a new plugins release.
5711         * testsuite/states/parent.c: (main):
5712           test for this case
5713           Fixes #123774
5714
5715 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5716
5717         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5718         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5719         (gst_queue_release_locks), (gst_queue_change_state),
5720         (gst_queue_set_property):
5721           add proper lock debugging.  Change dispose to finalize, since
5722           we're freeing mutexes and other stuff which should happen only once.
5723
5724 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5725
5726         * docs/gst/tmpl/gstelement.sgml:
5727         * docs/gst/tmpl/gstplugin.sgml:
5728         * docs/gst/tmpl/gsttypes.sgml:
5729         * docs/pwg/building-state.xml:
5730         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5731         * gst/gstelement.c: (gst_element_change_state):
5732         * gst/gstthread.c: (gst_thread_change_state):
5733           catch wrong state changes in element base class.
5734
5735 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5736
5737         * gst/gstinfo.h:
5738           clean up layout a little.
5739
5740 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5741
5742         * configure.ac:
5743         * testsuite/Makefile.am:
5744         * testsuite/states/Makefile.am:
5745         * testsuite/states/parent.c: (main):
5746           re-enable states testsuite dir.  Add test for state changes and
5747           parent behaviour
5748
5749 2004-07-09  Wim Taymans  <wim@fluendo.com>
5750
5751         * gst/schedulers/gstoptimalscheduler.c:
5752         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5753         (element_get_reachables_func), (element_get_reachables),
5754         (debug_element), (rechain_group), (group_migrate_connected),
5755         (gst_opt_scheduler_pad_unlink):
5756         Do not try to migrate decoupled elements to a new group since
5757         they are not added to groups.
5758
5759 2004-07-08  Benjamin Otte  <otte@gnome.org>
5760
5761         * gst/gstelement.c: (gst_element_error_func):
5762           make reentrant (= allow removing elements in error handler)
5763
5764 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5765
5766         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5767         (gst_pad_send_event), (gst_pad_call_chain_function):
5768           events sent to elements below PAUSED cannot be handled, so
5769           don't try to
5770
5771 2004-07-08  Wim Taymans  <wim@fluendo.com>
5772
5773         * gst/schedulers/gstoptimalscheduler.c:
5774         (chain_recursively_migrate_group), (create_group),
5775         (schedule_group), (gst_opt_scheduler_pad_link),
5776         (group_elements_set_visited), (element_get_reachables_func),
5777         (element_get_reachables), (group_can_reach_group), (debug_element),
5778         (rechain_group), (group_migrate_connected),
5779         (gst_opt_scheduler_pad_unlink):
5780         * testsuite/schedulers/Makefile.am:
5781         Implemented group splitting and rechaining.
5782         Fixes 143777 and 143777-2 in the testsuite.
5783
5784 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5785
5786         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5787           extra debugging
5788         * gst/gstevent.h:
5789         * gst/gstinfo.c: (gst_debug_log_default):
5790           print time nicely.  add thread pointer until someone figures out
5791           a completely portable way of getting at thread id's.
5792         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5793         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5794         (gst_pad_call_chain_function):
5795           extra debugging
5796         * gst/schedulers/gstoptimalscheduler.c:
5797         (get_group_schedule_function), (loop_group_schedule_function),
5798         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5799         (pad_clear_queued), (gst_opt_scheduler_iterate):
5800           rename BUFPEN and friends to DATAPEN since that's what they are.
5801
5802 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5803
5804         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5805         * gst/gstbuffer.h:
5806         * gst/gstpad.c:
5807           cleanups and debugging
5808
5809 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5810
5811         * configure.ac:
5812         * gst/gstvalue.c: (gst_value_compare_enum),
5813         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5814         (gst_value_can_compare), (gst_value_compare):
5815         * testsuite/Makefile.am:
5816         * testsuite/enumcaps/Makefile.am:
5817         * testsuite/enumcaps/enumcaps.c:
5818           Fix enum serialization, deserialization, comparison in caps, add
5819           a test to ensure that this continues working in the future.
5820
5821 2004-07-06  David Schleef  <ds@schleef.org>
5822
5823         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5824         Fix memleak.
5825
5826 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5827
5828         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5829         * gst/gstplugin.h:
5830         * gst/registries/gstxmlregistry.c:
5831         (plugin_times_older_than_recurse), (plugin_times_older_than),
5832         (gst_xml_registry_parse_padtemplate):
5833           only rebuild registry when actual plugins have a newer time than
5834           the registry.  Fixes #145520
5835
5836 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5837
5838         * docs/manual/manual.xml:
5839         * docs/manual/win32.xml:
5840           add chapter on win32 building.  fixes #142422
5841
5842 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5843
5844         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5845
5846         * gst/autoplug/gstspider.c: (gst_spider_init),
5847         (gst_spider_dispose):
5848           fix spider memleaks.  fixes #137863
5849
5850 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5851
5852         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5853
5854         * gst/schedulers/gstoptimalscheduler.c:
5855         (gst_opt_scheduler_pad_unlink):
5856           fix SIGBUS error, fixes #145338
5857
5858 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5859
5860         * gst/gstobject.c: (gst_object_replace):
5861         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5862         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5863           clean up clock lifecycle.  Fixes #109831
5864
5865 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5866
5867         * po/LINGUAS:
5868         * po/cs.po:
5869           added Czech translation (Miloslav Trmac)
5870
5871 2004-07-04  David Schleef  <ds@schleef.org>
5872
5873         * tools/Makefile.am:
5874         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
5875
5876 2004-07-04  David Schleef  <ds@schleef.org>
5877
5878         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
5879
5880 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5881
5882         * gst/gstbin.c: (gst_bin_restore_thyself):
5883           chain to parent restore so the bins get restored correctly
5884           in the editor
5885
5886 2004-07-03  David Schleef  <ds@schleef.org>
5887
5888         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5889         Actually do something in these functions, like before the big
5890         caps change.  (bug #145137)
5891
5892 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5893
5894         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
5895         (gst_element_get_compatible_pad_filtered):
5896         * gst/gstthread.c: (gst_thread_main_loop):
5897           more debugging
5898
5899 2004-07-02  David Schleef  <ds@schleef.org>
5900
5901         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
5902         * gst/gstobject.h:
5903         * gst/gstparse.h:
5904         * gst/gsttrace.h:
5905         * gst/gstxml.h:
5906
5907 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5908
5909         * gst/gstpad.c: (gst_pad_check_schedulers),
5910         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5911         (gst_pad_link_prepare):
5912           revert until testsuite is fixed
5913
5914 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * testsuite/Makefile.am:
5917         * testsuite/caps/filtercaps.c: (main):
5918         * testsuite/clock/clock1.c: (main):
5919         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
5920           fix some more tests
5921
5922 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5923
5924         * testsuite/cleanup/cleanup1.c: (create_pipeline):
5925         * testsuite/cleanup/cleanup2.c: (create_pipeline):
5926         * testsuite/cleanup/cleanup4.c: (main):
5927           fix testsuite
5928
5929 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5930
5931         * libs/gst/control/control.c:
5932         * libs/gst/control/dparam.c:
5933         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
5934         * libs/gst/control/dparammanager.c:
5935         * libs/gst/control/dparammanager.h:
5936         * testsuite/dynparams/Makefile.am:
5937         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
5938         (gst_dptest_change_state), (gst_dptest_chain), (main):
5939           fix testcase for dparams
5940           add debugging category
5941
5942 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * testsuite/Rules:
5945           change path
5946
5947 2004-07-02  Benjamin Otte  <otte@gnome.org>
5948
5949         * tests/.cvsignore:
5950         * tests/Makefile.am:
5951         * tests/mass_elements.c: (gst_get_current_time), (main):
5952           add simple benchmark to test various speeds of fakesrc ! identity !
5953           identity ! ... ! fakesink.
5954           Usage: mass_elements [num_identities] [num_buffers]
5955           If not specified they default to 1000.
5956
5957 2004-07-02  Benjamin Otte  <otte@gnome.org>
5958
5959         * gst/gstpad.c: (gst_pad_check_schedulers),
5960         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5961         (gst_pad_link_prepare):
5962           check that pads that get linked belong to the same manager. The old
5963           code allowed linking elements before putting them into bins, so it
5964           worked to link them and then put them in different threads, which
5965           lead to weird behaviour.
5966           Since this effectively disallows linking elements before putting
5967           them in a bin, some applications might not work after this and error
5968           out. If these applications are too critical, we might need to revert
5969           that patch. Please test this before the next release...
5970
5971 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5972
5973         * gst/gstpad.c: (gst_pad_get_caps):
5974           throw an error if the getcaps function does not return a subset of
5975           the template caps.
5976         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
5977           make disconts without position info an error in debugging
5978         * tests/spidey_bench.c: (handoff), (main):
5979           don't count first try when averaging
5980
5981 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5982
5983         * gst/gstplugin.c: (gst_plugin_load_file):
5984           figure out problem with dynamic test
5985
5986 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * docs/gst/Makefile.am:
5989           fix docs build
5990
5991 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * po/POTFILES.in:
5994         * po/af.po:
5995         * po/az.po:
5996         * po/en_GB.po:
5997         * po/fr.po:
5998         * po/nl.po:
5999         * po/sr.po:
6000         * po/sv.po:
6001         * po/tr.po:
6002         * po/uk.po:
6003         * tools/gst-register.c: (plugin_added_func), (main):
6004           i18n-ize -register, fix plural
6005
6006 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6007
6008         * gst/elements/gstidentity.c: (gst_identity_class_init),
6009         (gst_identity_init), (gst_identity_chain),
6010         (gst_identity_set_property), (gst_identity_get_property):
6011         * gst/elements/gstidentity.h:
6012           check for perfect stream
6013
6014 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6015
6016         * gst/elements/gstidentity.c: (gst_identity_chain):
6017           print offset_end
6018
6019 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6020
6021         * docs/gst/Makefile.am:
6022         * docs/gst/gstreamer-docs.sgml:
6023           doc fixes
6024
6025 2004-06-24  David Schleef  <ds@schleef.org>
6026
6027         * autogen.sh:  Remove call to env, since the buildbot isn't
6028         broken anymore.
6029
6030 2004-06-24  Wim Taymans  <wim@fluendo.com>
6031
6032         * gst/elements/Makefile.am:
6033         * gst/elements/gstelements.c:
6034         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6035         (gst_multifdsink_class_init), (gst_multifdsink_init),
6036         (gst_multifdsink_add), (gst_multifdsink_remove),
6037         (gst_multifdsink_clear), (gst_multifdsink_chain),
6038         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6039         * gst/elements/gstmultifdsink.h:
6040         Added an element that writes to multiple filedescriptors at once.
6041
6042 2004-06-24  Benjamin Otte  <otte@gnome.org>
6043
6044         * gst/parse/grammar.y:
6045           don't try to link elements before they have been added to bins
6046
6047 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6048
6049         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6050         (gst_file_pad_get_length):
6051         * libs/gst/bytestream/filepad.h:
6052           add 2 new functions
6053
6054 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6055
6056         * docs/gst/gstreamer-sections.txt:
6057         remove from docs, the define that Benjamin removed from gstelement.h
6058
6059 2004-06-22  Benjamin Otte  <otte@gnome.org>
6060
6061         * gst/gstelement.h:
6062           remove define that referenced a nonexisting GstElement struct member
6063
6064 2004-06-20  Benjamin Otte  <otte@gnome.org>
6065
6066         * gst/gstdata.c: (gst_data_is_writable):
6067           whoops, return values were wrong, so writable data was marked as
6068           non-writable and vice versa. (fixes #143953, spotted by Francis
6069           Labonte)
6070           Shows how rarely we need to copy data ;)
6071
6072 2004-06-20  Benjamin Otte  <otte@gnome.org>
6073
6074         * testsuite/schedulers/.cvsignore:
6075         * testsuite/schedulers/Makefile.am:
6076         * testsuite/schedulers/143777-2.c: (main):
6077           add test for opt breakage in bug #143777
6078
6079 2004-06-20  Benjamin Otte  <otte@gnome.org>
6080
6081         * gst/gstpad.c: (gst_pad_call_chain_function):
6082           check for if we were unlinked while inside the chainfunction (fixes
6083           entrygthread having issues with #143777)
6084         * testsuite/schedulers/143777.c: (main):
6085         * testsuite/schedulers/Makefile.am:
6086           add a test for that fix
6087
6088 2004-06-20  Benjamin Otte  <otte@gnome.org>
6089
6090         * gst/gstvalue.c: (gst_value_set_int_range):
6091           test that start is smaller then end
6092         * libs/gst/bytestream/Makefile.am:
6093         * libs/gst/bytestream/filepad.c: 
6094         * libs/gst/bytestream/filepad.h:
6095           add GstFilePad - a pad that behaves like a FILE*
6096         * testsuite/bytestream/.cvsignore:
6097         * testsuite/bytestream/Makefile.am:
6098         * testsuite/bytestream/filepadsink.c: 
6099           test for the GstFilePad
6100
6101 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6102
6103         * gst/elements/gstidentity.c: (gst_identity_class_init),
6104         (gst_identity_init), (gst_identity_set_clock),
6105         (gst_identity_chain), (gst_identity_set_property),
6106         (gst_identity_get_property):
6107         * gst/elements/gstidentity.h:
6108         * gst/gstclock.c: (gst_clock_id_wait):
6109           add a "sync" property to sync to the clock
6110
6111 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6112
6113         * gst/gstelementfactory.c: (gst_element_factory_create):
6114           make the freakin "elementfactory bla has no type" message more
6115           useful. So we actually can do something when someone shows up
6116           complaining about it.
6117
6118 2004-06-15  Johan Dahlin  <johan@gnome.org>
6119
6120         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6121         found. This matches the old behavior better. Thanks to Thomas for
6122         pointing out.
6123
6124 2004-06-14  David Schleef  <ds@schleef.org>
6125
6126         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6127         -fomit-frame-pointer.  Appears to generate correct code in
6128         other cases as well.
6129
6130 2004-06-14  Johan Dahlin  <johan@gnome.org>
6131
6132         * tools/gst-inspect.c (main): Add two new command line options: -a
6133         to print all elements and -n to print the name on each line. Also
6134         fix some error reporting.
6135         (main): Simplify, remove -n and always print names if -a is specified
6136
6137 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6138
6139         * win32/gstconfig.h:
6140         * win32/GSTreamer.vcproj:
6141         * win32/Makefile:
6142         * gst/gstconfig.h.in:
6143         * gst/gst.h:
6144         * gst/gstbin.h:
6145         * gst/gstelement.h:
6146         * gst/gstevent.h:
6147         * gst/gstobject.h:
6148         * gst/gstpad.h:
6149         * docs/gst/gstreamer-sections.txt:
6150         * docs/gst/tmpl/gstconfig.sgml:
6151           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6152
6153 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6154         * docs/gst/gstreamer-sections.txt:
6155         * docs/gst/tmpl/gstconfig.sgml:
6156         Add the GSTREAMER_EXPORT macro to the docs
6157
6158 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6159
6160         * tools/gst-compprep.c: (handle_xmlerror), (main):
6161         Add a check for the version that introduced SetStructuredError to fix
6162         the build on FC1
6163
6164 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6165
6166         * win32/msvc71.sln:
6167         * win32/testsuite/:
6168           prepare to compile the testsuite with MSVC
6169
6170 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6171
6172         * docs/manual/win32.xml:
6173           attempt to transform the Win32 README into an XML doc
6174
6175 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6176
6177         * gst/gst.c:
6178         * gst/gstbin.*:
6179         * gst/config.h.in:
6180         * gst/gstelement.*:
6181         * gst/gstevent.h:
6182         * gst/gstobject.*:
6183         * gst/gstpad.h:
6184         * tools/gst-register.c:
6185         * win32/gstreamer.def:
6186           extern symbols are now exported for the Windows DLL
6187
6188 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6189
6190         * gst/gstinfo.h:
6191           fix a problem to enable/disable DEBUG under MSVC
6192
6193 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6194
6195         * win32/:
6196           enable more debug code in DEBUG build
6197
6198 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6199
6200         * win32/config.h:
6201         * gst/gst-i18n-app.h:
6202           enable NLS under Windows
6203
6204 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6205         * tools/gst-compprep.c: (handle_xmlerror), (main):
6206           Make an error that baffled me a bit clearer
6207
6208 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6209
6210         * gst/gstqueue.c:
6211           don't use g_queue_get_length () because it's 2.4, use ->length
6212
6213 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6214
6215         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6216
6217         * tools/gst-inspect.c: (print_signal_info):
6218           don't free random data twice. (fixes #144185)
6219
6220 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6221
6222         * gst/gstqueue.c:
6223         * gst/gstqueue.h:
6224           fix removing from the wrong queue on event timeout
6225           fix disposing of the event queue by casting correctly
6226           add mutexes for handling the event queue
6227           someone was sleeping when fixing queue last time around :)
6228
6229 2004-06-10  Johan Dahlin  <johan@gnome.org>
6230
6231         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6232         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6233
6234 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6235
6236         * docs/random/gdp:
6237         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6238         * libs/gst/dataprotocol/dataprotocol.c:
6239         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6240         (gst_dp_buffer_from_header):
6241         * libs/gst/dataprotocol/dataprotocol.h:
6242         * libs/gst/dataprotocol/dp-private.h:
6243           rev version to 0.1, add buffer flags and copy them
6244
6245 2004-06-09  Johan Dahlin  <johan@gnome.org>
6246
6247         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6248         the flags from the buffer we're copying.
6249
6250 2004-06-09  Wim Taymans  <wim@fluendo.com>
6251
6252         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6253         * gst/elements/gstidentity.c: (gst_identity_init),
6254         (gst_identity_chain):
6255         Print more buffer info in fakesink.
6256         Make identity output similar to fakesink.
6257
6258 2004-06-07  Daniel Gazard  <dany42@free.fr>
6259
6260         reviewed by Benjamin Otte  <otte@gnome.org>
6261
6262         * configure.ac:
6263           fix cross compiling not working. (fixes #143741)
6264
6265 2004-06-07  Benjamin Otte  <otte@gnome.org>
6266
6267         * gst/gstelement.c: (gst_element_set_time_delay):
6268           add failure check
6269         * gst/gstinfo.h:
6270           put brackets around macro arguments of GST_TIME_ARGS, add note to
6271           move it to correct header in 0.9
6272
6273 2004-06-07  Benjamin Otte  <otte@gnome.org>
6274
6275         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6276         (gst_file_index_load), (_file_index_id_save_entries),
6277         (gst_file_index_commit), (gst_file_index_add_association),
6278         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6279         (gst_file_index_plugin_init):
6280           make debugging use a default category
6281
6282 2004-06-06  David Moore  <dcm@acm.org>
6283
6284         reviewed by Benjamin Otte  <otte@gnome.org>
6285
6286         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6287         (gst_fdsrc_change_state):
6288           reset offset counter when going READY => PAUSED. (fixes #142903)
6289
6290 2004-06-06  ed@catmur.co.uk
6291
6292         reviewed by Benjamin Otte  <otte@gnome.org>
6293
6294         * gst/registries/gstxmlregistry.c:
6295         (gst_xml_registry_rebuild_recurse):
6296           don't rely on g_dir_open to figure out if a file is a directory, use
6297           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6298           directories. (fixes #142850)
6299
6300 2004-06-06  Benjamin Otte  <otte@gnome.org>
6301
6302         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6303           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6304         * libs/gst/bytestream/adapter.c:
6305         * libs/gst/bytestream/adapter.h:
6306           fix copyright in header and typo in debugging category name
6307
6308 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6309
6310         * configure.ac:
6311           bump nano to cvs
6312
6313 === release 0.8.3 ===
6314
6315 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6316
6317         * configure.ac:
6318           update libtool versioning
6319           do a new release
6320         * docs/gst/tmpl/gstelement.sgml:
6321         * docs/gst/tmpl/gsttypes.sgml:
6322         * gst/gstinfo.c: (_gst_debug_init):
6323           put back GST_CAT_DATAFLOW to fix API breakage
6324
6325 2004-06-04  David Schleef  <ds@schleef.org>
6326
6327         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6328
6329 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6330
6331         * configure.ac:
6332           bump nano to cvs
6333
6334 === release 0.8.2 ===
6335
6336 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6337
6338         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6339           check GST_DEBUG environment variable which is parsed the same way
6340           as --gst-debug=
6341
6342 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6343
6344         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6345                             gstmd5sink.c gstshaper.c gsttee.c
6346                             gsttypefindelement.c
6347         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6348
6349           - removing trailing commas at end of enums
6350             it is correct C99 code but C90 compilers would complain
6351             (AIX, Forte, ...)
6352             ('should' fix #143290, at least partially)
6353
6354 2004-05-27  Wim Taymans  <wim@fluendo.com>
6355
6356         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6357         (chain_group_set_enabled), (create_group), (add_to_group),
6358         (merge_groups), (setup_group_scheduler), (group_elements),
6359         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6360         Don't try to follow the pad connections with other groups
6361         when a loop based element is added to the scheduler because
6362         the bin will inform the scheduler about the pad links a little
6363         later.
6364
6365 2004-05-27  Wim Taymans  <wim@fluendo.com>
6366
6367         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6368         (remove_from_chain), (chain_group_set_enabled),
6369         (setup_group_scheduler), (group_element_set_enabled),
6370         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6371         (gst_opt_scheduler_show):
6372         Elements without a group can do a state change as well, just wait
6373         with the setup of the scheduling function when it is added to a
6374         chain.
6375
6376 2004-05-27  Wim Taymans  <wim@fluendo.com>
6377
6378         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6379         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6380         (merge_groups), (setup_group_scheduler),
6381         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6382         (gst_opt_scheduler_show):
6383         Fixes to maintain internal consistency of the scheduler data
6384         structures. 
6385          - adding an enabled group to a chain should increment the
6386            number of enabled elements in that chain.
6387          - removing an enabled group from a chain could disable the
6388            chain.
6389          - removing a disabled group from a chain could enable the
6390            chain.
6391          - add g_assert when internal inconsistency is detected.
6392          - adding an element to a group could increase the number of
6393            links this group has with other groups.
6394          - merging two groups also merges the chains.
6395          - also show group links in the _show method.
6396            
6397
6398 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6399
6400         * gst/gstcaps.c: (gst_caps_structure_simplify):
6401           don't print error messages when there is no error
6402         * gst/gstvalue.c: (gst_value_compare_int_range):
6403           compare the second value, too
6404         * testsuite/caps/Makefile.am:
6405         * testsuite/caps/random.c: (assert_on_error), (main):
6406           add tests to make sure the two things above are checked for
6407
6408 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6409
6410         * configure.ac:
6411         * libs/gst/dataprotocol/Makefile.am:
6412         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6413         * libs/gst/dataprotocol/dataprotocol.h:
6414           wrap header in GST_ENABLE_NEW.  make code use it
6415
6416 2004-05-23  Johan Dahlin  <johan@gnome.org>
6417
6418         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6419         so verbose and print GstElement signal names all the time.
6420
6421 2004-05-22  David Schleef  <ds@schleef.org>
6422
6423         * gst/registries/gstxmlregistry.c:
6424         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6425         (bug #142957)
6426
6427 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6428
6429         * configure.ac:
6430           scrub cflags for glib2 so gcc doesn't complain when glib is in
6431           /usr/local
6432
6433 2004-05-21  Johan Dahlin  <johan@gnome.org>
6434
6435         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6436         __GNUC__, patch from Brian Cameron, fixes bug #142804
6437
6438 2004-05-20  David Schleef  <ds@schleef.org>
6439
6440         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6441         comparison code.  (bug #142819)
6442
6443 2004-05-20  Wim Taymans  <wim@fluendo.com>
6444
6445         * gst/gstbuffer.c: (gst_buffer_default_copy):
6446         * gst/gstbuffer.h:
6447         Added Comment to a flag.
6448         copy relevant flags in _buffer_copy.
6449
6450 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6451
6452         reviewed by: Wim Taymans <wim at fluendo dot com>
6453
6454         * gst/gstbuffer.h:
6455           add GST_BUFFER_IN_CAPS buffer flag
6456         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6457         (gst_structure_parse_any_list), (gst_structure_parse_list),
6458         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6459         * gst/gstvalue.c: (gst_value_serialize_any_list),
6460         (gst_value_transform_any_list_string),
6461         (gst_value_list_prepend_value), (gst_value_list_append_value),
6462         (gst_value_list_get_size), (gst_value_list_get_value),
6463         (gst_value_transform_list_string),
6464         (gst_value_transform_fixed_list_string),
6465         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6466         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6467         (_gst_value_initialize):
6468         * gst/gstvalue.h:
6469           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6470           < , > as a format.
6471         * testsuite/caps/string-conversions.c: (main):
6472           add regression tests for < >
6473
6474 2004-05-20  Johan Dahlin  <johan@gnome.org>
6475
6476         * docs/gst/Makefile.am (all-local): Re-add
6477
6478 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6479
6480         * docs/gst/Makefile.am:
6481         * docs/gst/gstreamer-docs.sgml:
6482         * docs/libs/Makefile.am:
6483         * docs/libs/gstreamer-libs-docs.sgml:
6484           fix distcheck issues
6485
6486 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6487
6488         * libs/gst/dataprotocol/Makefile.am:
6489           add to autotest
6490
6491 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6492
6493         * libs/gst/dataprotocol/Makefile.am:
6494         * libs/gst/dataprotocol/dataprotocol.c:
6495         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6496         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6497         * libs/gst/dataprotocol/dp-private.h:
6498           use GST macros to read/write fixed length ints
6499           add some more asserts
6500
6501 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6502
6503         * docs/libs/gstreamer-libs-docs.sgml:
6504         * docs/libs/gstreamer-libs-sections.txt:
6505           remove idct and putbits
6506         * configure.ac:
6507         * docs/libs/tmpl/gstdataprotocol.sgml:
6508         * libs/gst/Makefile.am:
6509         * libs/gst/dataprotocol/Makefile.am:
6510         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6511         (buffer_test), (caps_test), (event_test), (main):
6512         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6513         (gst_dp_dump_byte_array), (gst_dp_init),
6514         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6515         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6516         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6517         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6518         (gst_dp_validate_header), (gst_dp_validate_payload),
6519         (gst_dp_validate_packet), (plugin_init):
6520         * libs/gst/dataprotocol/dataprotocol.h:
6521         * libs/gst/dataprotocol/dp-private.h:
6522           add dataprotocol
6523
6524 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6525
6526         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6527           fix int variable deserialization and add a helper so we can actually
6528           debug this.
6529
6530 2004-05-18  David Schleef  <ds@schleef.org>
6531
6532         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6533           argv[0].  Calling yourself is probably not the best way to
6534           construct a test like this, btw.
6535
6536 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6537
6538         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6539           don't claim to be more intelligent than a scheduler when the
6540           scheduler claims the pipeline is stopped
6541         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6542         (safe_cothread_destroy),
6543         (gst_entry_scheduler_remove_all_cothreads),
6544         (gst_entry_scheduler_reset), (_remove_cothread),
6545         (gst_entry_scheduler_state_transition):
6546           hold off cothread destruction if we're not in main cothread
6547         * configure.ac:
6548         * testsuite/Makefile.am:
6549           add new test dir
6550         * testsuite/schedulers/.cvsignore:
6551         * testsuite/schedulers/Makefile.am:
6552           add tests
6553         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6554           check relinking and adding/removing elements from a running pipeline
6555         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6556           check unlinking in a running pipeline
6557         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6558           check unreffing a running pipeline
6559         * testsuite/schedulers/useless_iteration.c: (main):
6560           check iterating a pipeline that contains running threads works
6561
6562 2004-05-18  David Schleef  <ds@schleef.org>
6563
6564         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6565           is false.
6566
6567 2004-05-18  Wim Taymans  <wim@fluendo.com>
6568
6569         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6570         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6571         Fixed an error introduced with patch for 1.63. When setting
6572         a get based element as the entry point in a group, make sure
6573         to mark the group as GET based.
6574
6575 2004-05-18  Wim Taymans  <wim@fluendo.com>
6576
6577         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6578         (setup_group_scheduler), (loop_group_schedule_function),
6579         (gst_opt_scheduler_pad_link):
6580         Added some more debug info and fixed a bug where the group
6581         type was set to LOOP but it was in fact unknown.
6582
6583 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6584
6585         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6586           make resetting scheduler work twice in a row
6587
6588 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6589
6590         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6591         (CREATE_USERIALIZATION), (_gst_value_initialize),
6592         (gst_value_compare_float), (gst_value_serialize_float),
6593         (gst_value_deserialize_float), (gst_value_compare_enum),
6594         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6595           add serialization and comparison functions for long, int64, enum and
6596           float values
6597         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6598           use best serialization function in type hierarchy instead of only a
6599           matching one. This is required for enums to work.
6600         * gst/parse/grammar.y:
6601           use gst_caps_deserialize
6602         * testsuite/parse/Makefile.am:
6603           parse1 now works
6604         * testsuite/parse/parse1.c: (main):
6605           remove aggregator check, aggregator is broken, this test works now
6606           but fails because of bug #138012
6607         * testsuite/parse/parse2.c: (main):
6608           s/xvideosink/xvimagesink - this test looks a lot like we should
6609           disable it
6610
6611 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6612
6613         * gst/gstelement.c: (gst_element_class_init):
6614           whoops, store the signal id correctly
6615         * gst/schedulers/gstbasicscheduler.c:
6616         (gst_basic_scheduler_chain_wrapper):
6617           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6618           chain function isn't linked
6619
6620 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6621         * configure.ac:
6622         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6623         support until we decide where the flags should be used
6624         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6625         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6626         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6627         Output refused caps in the debug info
6628
6629 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6630
6631         * gst/elements/gstidentity.c: (gst_identity_chain):
6632           add duration debug
6633         * gst/gstinfo.c: (gst_debug_log_default):
6634           add timestamp
6635
6636 2004-05-13  Benjamin Otte  <otte@gnome.org>
6637
6638         * gst/gstpipeline.c: (gst_pipeline_dispose),
6639         (gst_pipeline_change_state):
6640           call gst_scheduler_reset on dispose (fixes #141416)
6641
6642 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6643
6644         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6645           compute mapsize correctly
6646         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6647           use correct datatypes when calling a varargs function
6648         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6649           push a DISCONT event as first thing
6650         * gst/gst_private.h:
6651         * gst/gstinfo.c: (_gst_debug_init):
6652           remove GST_DATAFLOW debugging category
6653         * gst/gstbin.c: (gst_bin_iterate):
6654           use GST_SCHEDULING category
6655         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6656         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6657         (gst_pad_call_get_function):
6658           add GST_DATAFLOW to easily track flow of buffers or events.
6659         * gst/gstqueue.c: (gst_queue_get_type),
6660         (gst_queue_handle_pending_events), (gst_queue_chain),
6661         (gst_queue_get), (gst_queue_handle_src_event):
6662           use own static debugging category GST_DATAFLOW for dataflow,
6663           use DEBUG category for showing which path events go, use LOG
6664           category for buffers.
6665
6666 2004-05-10  David Schleef  <ds@schleef.org>
6667
6668         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6669
6670 2004-05-10  David Schleef  <ds@schleef.org>
6671
6672         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6673         symbols, because otherwise we don't know what they are.  Thanks,
6674         the GStreamer team.
6675         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6676
6677 2004-05-10  David Schleef  <ds@schleef.org>
6678
6679         (from Steve Lhomme)
6680         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6681         are deleted.  Fix.
6682         * win32/Makefile.inspect:
6683         * win32/Makefile.launch:
6684         * win32/Makefile.register:
6685
6686 2004-05-10  David Schleef  <ds@schleef.org>
6687
6688         * gst/gstinfo.h: Add missing inline function.
6689         * gst/gsttrace.c: add include
6690         * gst/parse/grammar.y: remove unused code
6691         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6692         more portable.
6693         * tools/gst-register.c: wrap unistd.h
6694         
6695         More additions/fixes from Steve for the MSVC build.
6696         * win32/GStreamer.vcproj:
6697         * win32/Makefile:
6698         * win32/Makefile.inspect:
6699         * win32/Makefile.launch:
6700         * win32/Makefile.register:
6701         * win32/README.txt:
6702         * win32/gst-inspect.vcproj:
6703         * win32/gst-launch.vcproj:
6704         * win32/gst-register.vcproj:
6705         * win32/gstbytestream.def:
6706         * win32/gstbytestream.vcproj:
6707         * win32/gstconfig.h:
6708         * win32/gstelements.def:
6709         * win32/gstelements.vcproj:
6710         * win32/gstenumtypes.c:
6711         * win32/gstenumtypes.h:
6712         * win32/gstoptimalscheduler.def:
6713         * win32/gstoptimalscheduler.vcproj:
6714         * win32/gstreamer.def:
6715         * win32/gstspider.def:
6716         * win32/gstspider.vcproj:
6717         * win32/gstversion.h:
6718         * win32/msvc71.sln:
6719
6720 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6721
6722         * gst/gstelement.c: (gst_element_class_init),
6723         (gst_element_no_more_pads):
6724         * gst/gstelement.h:
6725           add gst_element_no_more_pads and the "no-more-pads" signal
6726
6727 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6728
6729         * gst/gstregistry.c: (gst_registry_add_plugin):
6730           refuse to add plugins when a plugin with same name is already
6731           registered. Fixes a bunch of "How to remove plugins?" issues.
6732           May lead to other problems though, let's test
6733
6734 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6735
6736         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6737         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6738         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6739
6740 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6741
6742         * tests/Makefile.am: fix am16 issue
6743
6744 2004-05-09  Benjamin Otte  <otte@gnome.org>
6745
6746         * libs/gst/bytestream/Makefile.am:
6747           we should indeed add .c files to makefiles or they won't be built
6748           (d'oh)
6749
6750 2004-05-08  Benjamin Otte  <otte@gnome.org>
6751
6752         * gst/gstpad.c: (gst_pad_proxy_fixate):
6753           really reduce the set of caps
6754
6755 2004-05-08  Benjamin Otte  <otte@gnome.org>
6756
6757         * tests/Makefile.am:
6758         * tests/spidey_bench.c: (handoff), (main):
6759           add benchmark to test how long spider needs to create a pipeline
6760
6761 2004-05-08  Benjamin Otte  <otte@gnome.org>
6762
6763         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6764           mark links as unengaged when unnegotiating instead of deactivating.
6765           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6766
6767 2004-05-08  Benjamin Otte  <otte@gnome.org>
6768
6769         * docs/manual/helloworld.xml:
6770           s/audiosink/osssink (patch by Patrick Guimond)
6771
6772 2004-05-07  David Schleef  <ds@schleef.org>
6773
6774         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6775         since it contains important stuff.
6776
6777 2004-05-07  David Schleef  <ds@schleef.org>
6778
6779         * testsuite/caps/caps.c: (test3), (main): A check for appending
6780         ANY caps.
6781
6782 2004-05-07  David Schleef  <ds@schleef.org>
6783
6784         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6785         which may contain commas.  Fixes detection of -Wa,-mregnames
6786
6787 2004-05-06  David Schleef  <ds@schleef.org>
6788
6789         Changes to handle compilers that don't have variadic macro
6790         support.  In particular, glib headers define some inlines
6791         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6792         builds.
6793         * gst/Makefile.am:
6794         * gst/cothreads.c:
6795         * gst/elements/gstfdsink.c:
6796         * gst/elements/gstfdsrc.c:
6797         * gst/elements/gstfilesink.c:
6798         * gst/elements/gstfilesrc.c:
6799         * gst/gst_private.h:
6800         * gst/gstatomic.c:
6801         * gst/gstcaps.c: (gst_caps_append):
6802         * gst/gstcpu.c: (gst_cpuid_i386):
6803         * gst/gstelement.c:
6804         * gst/gsterror.c:
6805         * gst/gstfilter.c:
6806         * gst/gstinfo.h:
6807         * gst/gstprobe.c:
6808         * gst/gstquery.c:
6809         * gst/gstregistry.c:
6810         * gst/gststructure.c:
6811         * gst/gsttaginterface.c:
6812         * gst/gsttrace.c: (gst_trace_new):
6813         * gst/gsttrashstack.c:
6814         * gst/gsturi.c:
6815         * gst/gstvalue.c:
6816         * gst/parse/grammar.y:
6817         * gst/parse/parse.l:
6818         * tools/gst-inspect.c: (main):
6819         * tools/gst-launch.c: (main):
6820         * tools/gst-xmlinspect.c: (PUT_STRING):
6821
6822 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6823
6824         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6825         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6826         * gst/elements/gstfilesrc.h:
6827           send NEW_MEDIA events correctly
6828         * gst/elements/gsttypefindelement.c: (start_typefinding),
6829         (gst_type_find_element_handle_event):
6830           restart typefinding when we get a NEW_MEDIA event
6831         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6832         (gst_bin_dispose):
6833           don't die when someone removes elements in callbacks
6834         * gst/gstelement.c: (gst_element_change_state):
6835           improve debugging
6836         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6837           we need a NEW_MEDIA event to engage a link
6838         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6839           don't g_print debugging stuff
6840         * testsuite/caps/simplify.c: (check_caps):
6841
6842 2004-05-04  Benjamin Otte  <otte@gnome.org>
6843
6844         * gst/parse/grammar.y:
6845           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6846
6847 2004-05-04  Benjamin Otte  <otte@gnome.org>
6848
6849         * testsuite/caps/renegotiate.c: (main):
6850           improve output in error case
6851
6852 2004-05-04  Benjamin Otte  <otte@gnome.org>
6853
6854         * gst/parse/grammar.y:
6855           fix assert to not trigger when there's no error argument
6856         * gst/parse/parse.l:
6857           fix definition of caps to allow more than two structures
6858         * testsuite/caps/Makefile.am:
6859         * testsuite/caps/renegotiate.c: (main):
6860           it's sinesrc and works in that case
6861
6862 2004-05-04  Wim Taymans  <wim@fluendo.com>
6863
6864         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6865         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6866         when removing an element from a group, we always need to
6867         decrement the link count that this group had with other 
6868         groups through the element.
6869         added an extra assert to catch inconsistencies when decrementing
6870         the link count.
6871
6872 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6873
6874         * configure.ac:
6875         * docs/gst/Makefile.am:
6876         * docs/gst/gstreamer-sections.txt:
6877         * docs/gst/tmpl/gstcompat.sgml:
6878         * examples/appreader/Makefile.am:
6879         * examples/cutter/Makefile.am:
6880         * examples/events/Makefile.am:
6881         * examples/helloworld/Makefile.am:
6882         * examples/helloworld2/Makefile.am:
6883         * examples/launch/Makefile.am:
6884         * examples/manual/Makefile.am:
6885         * examples/mixer/Makefile.am:
6886         * examples/pingpong/Makefile.am:
6887         * examples/plugins/Makefile.am:
6888         * examples/queue/Makefile.am:
6889         * examples/queue2/Makefile.am:
6890         * examples/queue3/Makefile.am:
6891         * examples/queue4/Makefile.am:
6892         * examples/retag/Makefile.am:
6893         * examples/thread/Makefile.am:
6894         * examples/typefind/Makefile.am:
6895         * examples/xml/Makefile.am:
6896         * gst/Makefile.am:
6897         * gst/autoplug/Makefile.am:
6898         * gst/elements/Makefile.am:
6899         * gst/gstcompat.h:
6900         * gst/indexers/Makefile.am:
6901         * gst/parse/Makefile.am:
6902         * gst/registries/Makefile.am:
6903         * gst/schedulers/Makefile.am:
6904         * libs/gst/bytestream/Makefile.am:
6905         * libs/gst/control/Makefile.am:
6906         * libs/gst/getbits/Makefile.am:
6907         * po/af.po:
6908         * po/az.po:
6909         * po/en_GB.po:
6910         * po/fr.po:
6911         * po/nl.po:
6912         * po/sr.po:
6913         * po/sv.po:
6914         * po/tr.po:
6915         * po/uk.po:
6916         * tests/Makefile.am:
6917         * tests/bufspeed/Makefile.am:
6918         * tests/instantiate/Makefile.am:
6919         * tests/memchunk/Makefile.am:
6920         * tests/muxing/Makefile.am:
6921         * tests/negotiation/Makefile.am:
6922         * tests/probes/Makefile.am:
6923         * tests/sched/Makefile.am:
6924         * tests/seeking/Makefile.am:
6925         * tests/threadstate/Makefile.am:
6926         * testsuite/caps/Makefile.am:
6927         * testsuite/cleanup/Makefile.am:
6928         * testsuite/dlopen/Makefile.am:
6929         * testsuite/dynparams/Makefile.am:
6930         * testsuite/plugin/Makefile.am:
6931         * testsuite/states/Makefile.am:
6932         * tools/Makefile.am:
6933           reorganize compile/link flags to be consistent
6934           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
6935
6936 2004-05-04  David Schleef  <ds@schleef.org>
6937
6938         The "once more, with feeling" check-in.
6939         * testsuite/caps/Makefile.am: dist caps_strings
6940         * testsuite/caps/renegotiate.c: (main): This test triggers a
6941           segfault in the core.  Marking as failing.
6942
6943 2004-05-03  David Schleef  <ds@schleef.org>
6944
6945         * testsuite/caps/deserialize.c: (main): Fix problems noticed
6946           by the build bots.
6947         * testsuite/caps/renegotiate.c: (main): Same.
6948
6949 2004-05-03  David Schleef  <ds@schleef.org>
6950
6951         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
6952
6953 2004-05-03  David Schleef  <ds@schleef.org>
6954
6955         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
6956           variable to find our source file.
6957
6958 2004-05-03  David Schleef  <ds@schleef.org>
6959
6960         * configure.ac:  Link plugins with libgstreamer and dependent
6961           libraries
6962         * testsuite/caps/Makefile.am:
6963         * testsuite/caps/caps_strings:
6964         * testsuite/caps/deserialize.c: (main): Add a little test to slog
6965           through a file of caps strings and test each one
6966
6967 2004-05-04  Benjamin Otte  <otte@gnome.org>
6968
6969         * libs/gst/bytestream/Makefile.am:
6970         * libs/gst/bytestream/adapter.c: 
6971         * libs/gst/bytestream/adapter.h:
6972           add GstAdapter, similar to bytestream, but doesn't require ugly event
6973           handling or uglier loopbased elements
6974
6975 2004-05-03  David Schleef  <ds@schleef.org>
6976
6977         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
6978         * testsuite/caps/erathostenes.c:
6979         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
6980
6981 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6982
6983         * docs/pwg/pwg.xml:
6984           remove hardcoded stylesheet path (duh)
6985         * docs/random/release:
6986         * docs/gst/gstreamer-sections.txt:
6987         * gst/Makefile.am:
6988         * gst/gst.h:
6989         * gst/gst_private.h:
6990         * gst/gstcaps.c:
6991         * gst/gstevent.c:
6992         * gst/gstformat.c:
6993         * gst/gstinfo.c:
6994         * gst/gstinfo.h:
6995         * gst/gstinterface.c:
6996         * gst/gstmemchunk.c:
6997         * gst/gstprobe.c:
6998         * gst/gstquery.c:
6999         * gst/gstregistry.c:
7000         * gst/gstregistrypool.c:
7001         * gst/gststructure.c:
7002         * gst/gsttaginterface.c:
7003         * gst/gstthread.c:
7004         * gst/gsttrace.c:
7005         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7006         * gst/gsturi.c:
7007         * gst/gstvalue.c:
7008           deprecate gst_info; remove gstlog.h
7009    
7010
7011 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * Makefile.am:
7014         * po/en_GB.po:
7015         * po/sv.po:
7016         * po/uk.po:
7017           updated translations
7018
7019 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7020
7021         * gst/gstbin.c: (gst_bin_dispose):
7022           better debugging
7023
7024 2004-05-03  Johan Dahlin  <johan@gnome.org>
7025
7026         * gst/schedulers/gstoptimalscheduler.c
7027         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7028         really is a GstElement. Avoids critical when running gst-launch -v
7029         and a oggdemux/decoding pipeline.
7030
7031 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7032
7033         * docs/gst/tmpl/gstpipeline.sgml :
7034         * docs/manual/elements-api.xml :
7035                 doc fix by Patrick Guimond (Protector) from devel ML
7036                 reviewed by ronald
7037
7038 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7039
7040         * docs/gst/Makefile.am :
7041         * docs/libs/Makefile.am :
7042                 apply a patch from Arwed v. Merkatz so that gtk-doc
7043                 generated docs install (same for .devhelp file)
7044                 (fixes part 1 of #138836)
7045
7046 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7047
7048         * docs/faq/dependencies.xml: typo
7049         * docs/faq/getting.xml :
7050             - fix download URL for new gstreamer site
7051             - hide sf.net download page as latest version aren't there
7052             - fix apt URLs
7053             - fill "get via CVS" paragraph (link to dev page on the site)
7054         * docs/faq/general.xml:
7055             hide status tables as they no more exists
7056             change case on plugins license file to reflect reality
7057         * docs/faq/troubleshooting.xml:
7058             remove the wiki question/answer as there is no more wiki
7059
7060 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7061
7062         * gst/gsterror.h:
7063           include the headers needed for declarations used in this header
7064
7065 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7066
7067         * docs/random/uraeus/gstreamer_and_midi.txt :
7068           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7069           (fixes #132288)
7070
7071 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7072
7073         reviewed by Benjamin Otte  <otte@gnome.org>
7074
7075         * gst/schedulers/gthread-cothreads.h:
7076           free allocated data for main cothread, too when destroying context
7077           (fixes #141417)
7078
7079 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7080
7081         * docs/manual/goals.xml : remove duplicated paragraph at end 
7082         of doc page (fixes #141448)
7083
7084 2004-04-29  David Schleef  <ds@schleef.org>
7085
7086         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7087         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7088
7089 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7090
7091         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7092           fix property
7093         * gst/gstcaps.c:
7094           fix doc string
7095         * po/POTFILES.in:
7096           rename typefind source file
7097
7098 2004-04-28  David Schleef  <ds@schleef.org>
7099
7100         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7101         * win32/GStreamer.vcproj:
7102         * win32/Makefile:
7103         * win32/config.h:
7104         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7105         (_trewinddir), (_ttelldir), (_tseekdir):
7106         * win32/dirent.h:
7107         * win32/gst-inspect.vcproj:
7108         * win32/gst-launch.vcproj:
7109         * win32/gst-register.vcproj:
7110         * win32/gstbytestream.vcproj:
7111         * win32/gstelements.vcproj:
7112         * win32/gstoptimalscheduler.vcproj:
7113         * win32/gstspider.vcproj:
7114         * win32/gtchar.h:
7115         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7116         * win32/mman.h:
7117         * win32/mman.inl:
7118         * win32/msvc71.sln:
7119
7120 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7121
7122         * gst/gst.c: (init_post):
7123         * gst/gstinfo.c:
7124           remove useless _gst_progname stuff
7125         * tools/gst-inspect.c: (print_field), (print_caps):
7126           improve caps output
7127
7128 2004-04-28  David Schleef  <ds@schleef.org>
7129
7130         Disable parsing of a lot of files that aren't part of the
7131         exported API.  Move corresponding template files to old/,
7132         waiting for removal when they don't contain anything
7133         interesting.
7134         * docs/gst/Makefile.am:
7135         * docs/gst/gstreamer-sections.txt:
7136         * docs/gst/tmpl/cothreads.sgml:
7137         * docs/gst/tmpl/cothreads_compat.sgml:
7138         * docs/gst/tmpl/gettext.sgml:
7139         * docs/gst/tmpl/gobject2gtk.sgml:
7140         * docs/gst/tmpl/grammar.tab.sgml:
7141         * docs/gst/tmpl/gst-i18n-app.sgml:
7142         * docs/gst/tmpl/gst-i18n-lib.sgml:
7143         * docs/gst/tmpl/gst_private.sgml:
7144         * docs/gst/tmpl/gstaggregator.sgml:
7145         * docs/gst/tmpl/gstarch.sgml:
7146         * docs/gst/tmpl/gstatomic_impl.sgml:
7147         * docs/gst/tmpl/gstbufferstore.sgml:
7148         * docs/gst/tmpl/gstdata_private.sgml:
7149         * docs/gst/tmpl/gstdisksink.sgml:
7150         * docs/gst/tmpl/gstdisksrc.sgml:
7151         * docs/gst/tmpl/gstelementfactory.sgml:
7152         * docs/gst/tmpl/gstextratypes.sgml:
7153         * docs/gst/tmpl/gstfakesink.sgml:
7154         * docs/gst/tmpl/gstfakesrc.sgml:
7155         * docs/gst/tmpl/gstfdsink.sgml:
7156         * docs/gst/tmpl/gstfdsrc.sgml:
7157         * docs/gst/tmpl/gstfilesink.sgml:
7158         * docs/gst/tmpl/gstfilesrc.sgml:
7159         * docs/gst/tmpl/gsthttpsrc.sgml:
7160         * docs/gst/tmpl/gstidentity.sgml:
7161         * docs/gst/tmpl/gstindexfactory.sgml:
7162         * docs/gst/tmpl/gstmarshal.sgml:
7163         * docs/gst/tmpl/gstmd5sink.sgml:
7164         * docs/gst/tmpl/gstmultidisksrc.sgml:
7165         * docs/gst/tmpl/gstmultifilesrc.sgml:
7166         * docs/gst/tmpl/gstpadtemplate.sgml:
7167         * docs/gst/tmpl/gstpipefilter.sgml:
7168         * docs/gst/tmpl/gstschedulerfactory.sgml:
7169         * docs/gst/tmpl/gstsearchfuncs.sgml:
7170         * docs/gst/tmpl/gstshaper.sgml:
7171         * docs/gst/tmpl/gstspider.sgml:
7172         * docs/gst/tmpl/gstspideridentity.sgml:
7173         * docs/gst/tmpl/gststatistics.sgml:
7174         * docs/gst/tmpl/gsttee.sgml:
7175         * docs/gst/tmpl/gsttimecache.sgml:
7176         * docs/gst/tmpl/gsttypefind.sgml:
7177         * docs/gst/tmpl/gsttypefindfactory.sgml:
7178         * docs/gst/tmpl/gstxmlregistry.sgml:
7179         * docs/gst/tmpl/gthread-cothreads.sgml:
7180         * docs/gst/tmpl/old/cothreads.sgml:
7181         * docs/gst/tmpl/old/cothreads_compat.sgml:
7182         * docs/gst/tmpl/old/gettext.sgml:
7183         * docs/gst/tmpl/old/gobject2gtk.sgml:
7184         * docs/gst/tmpl/old/grammar.tab.sgml:
7185         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7186         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7187         * docs/gst/tmpl/old/gst_private.sgml:
7188         * docs/gst/tmpl/old/gstaggregator.sgml:
7189         * docs/gst/tmpl/old/gstarch.sgml:
7190         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7191         * docs/gst/tmpl/old/gstbufferstore.sgml:
7192         * docs/gst/tmpl/old/gstdata_private.sgml:
7193         * docs/gst/tmpl/old/gstdisksink.sgml:
7194         * docs/gst/tmpl/old/gstdisksrc.sgml:
7195         * docs/gst/tmpl/old/gstelementfactory.sgml:
7196         * docs/gst/tmpl/old/gstextratypes.sgml:
7197         * docs/gst/tmpl/old/gstfakesink.sgml:
7198         * docs/gst/tmpl/old/gstfakesrc.sgml:
7199         * docs/gst/tmpl/old/gstfdsink.sgml:
7200         * docs/gst/tmpl/old/gstfdsrc.sgml:
7201         * docs/gst/tmpl/old/gstfilesink.sgml:
7202         * docs/gst/tmpl/old/gstfilesrc.sgml:
7203         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7204         * docs/gst/tmpl/old/gstidentity.sgml:
7205         * docs/gst/tmpl/old/gstindexfactory.sgml:
7206         * docs/gst/tmpl/old/gstmarshal.sgml:
7207         * docs/gst/tmpl/old/gstmd5sink.sgml:
7208         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7209         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7210         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7211         * docs/gst/tmpl/old/gstpipefilter.sgml:
7212         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7213         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7214         * docs/gst/tmpl/old/gstshaper.sgml:
7215         * docs/gst/tmpl/old/gstspider.sgml:
7216         * docs/gst/tmpl/old/gstspideridentity.sgml:
7217         * docs/gst/tmpl/old/gststatistics.sgml:
7218         * docs/gst/tmpl/old/gsttee.sgml:
7219         * docs/gst/tmpl/old/gsttimecache.sgml:
7220         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7221         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7222         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7223         * docs/gst/tmpl/old/types.sgml:
7224         * docs/gst/tmpl/types.sgml:
7225
7226         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7227         gtkdoc-scan doesn't like files with the same name in different
7228         directories.
7229         * gst/elements/Makefile.am:
7230         * gst/elements/gstelements.c:
7231         * gst/elements/gsttypefind.c: 
7232         * gst/elements/gsttypefind.h:
7233         * gst/elements/gsttypefindelement.c:
7234         * gst/elements/gsttypefindelement.h:
7235
7236 2004-04-28  David Schleef  <ds@schleef.org>
7237
7238         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7239         patch (bug #141317):
7240         * gst/gst-i18n-lib.h: Allow disabling gettext.
7241         * gst/gstatomic_impl.h: disable warning when it's dumb.
7242         * gst/gstclock.c: fix include
7243         * gst/gstcompat.h: fix variadic macro
7244         * gst/gstinfo.c: fix include
7245         * gst/gstmacros.h: add defines for inlines on MSVC
7246         * gst/gstplugin.c: fix includes
7247         * gst/gstregistry.c: fix includes
7248         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7249         * gst/gstsystemclock.c: fix include
7250         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7251         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7252         * gst/registries/gstxmlregistry.c:
7253         (gst_xml_registry_parse_element_factory): fix use of non-portable
7254         functions
7255         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7256         * libs/gst/control/dparammanager.h: same
7257
7258 2004-04-28  David Schleef  <ds@schleef.org>
7259
7260         Move a bunch of unused files to old/ with names that are
7261         not case-insensitive-unique.  These files still contain some
7262         useful information that needs to be merged into gstbin.sgml,
7263         etc., so they shouldn't be deleted yet.
7264         * docs/gst/tmpl/GstBin.sgml:
7265         * docs/gst/tmpl/GstBuffer.sgml:
7266         * docs/gst/tmpl/GstCaps.sgml:
7267         * docs/gst/tmpl/GstClock.sgml:
7268         * docs/gst/tmpl/GstCompat.sgml:
7269         * docs/gst/tmpl/GstData.sgml:
7270         * docs/gst/tmpl/GstElement.sgml:
7271         * docs/gst/tmpl/GstEvent.sgml:
7272         * docs/gst/tmpl/GstIndex.sgml:
7273         * docs/gst/tmpl/GstStructure.sgml:
7274         * docs/gst/tmpl/GstTag.sgml:
7275         * docs/gst/tmpl/old/GstBin.sgml:
7276         * docs/gst/tmpl/old/GstBuffer.sgml:
7277         * docs/gst/tmpl/old/GstCaps.sgml:
7278         * docs/gst/tmpl/old/GstClock.sgml:
7279         * docs/gst/tmpl/old/GstCompat.sgml:
7280         * docs/gst/tmpl/old/GstData.sgml:
7281         * docs/gst/tmpl/old/GstElement.sgml:
7282         * docs/gst/tmpl/old/GstEvent.sgml:
7283         * docs/gst/tmpl/old/GstIndex.sgml:
7284         * docs/gst/tmpl/old/GstStructure.sgml:
7285         * docs/gst/tmpl/old/GstTag.sgml:
7286
7287 2004-04-28  David Schleef  <ds@schleef.org>
7288
7289         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7290         (gst_caps_append), (gst_caps_append_structure),
7291         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7292         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7293         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7294         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7295         (gst_caps_intersect), (gst_caps_normalize),
7296         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7297         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7298         * gst/gstcaps.h: use GST_IS_CAPS().
7299
7300 2004-04-26  David Schleef  <ds@schleef.org>
7301
7302         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7303         assembly.  gcc doesn't handle it correctly. (bug #141083)
7304         * gst/gsttrashstack.h: same
7305
7306 2004-04-25  Benjamin Otte  <otte@gnome.org>
7307
7308         * gst/gstelement.c: (gst_element_change_state):
7309           fix assertion to do an int comparison
7310
7311 2004-04-25  Benjamin Otte  <otte@gnome.org>
7312
7313         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7314           better debugging output on error
7315
7316 2004-04-25  Benjamin Otte  <otte@gnome.org>
7317
7318         * gst/gstcaps.c: (gst_caps_subtract):
7319           fix memleak
7320
7321 2004-04-23  Benjamin Otte  <otte@gnome.org>
7322
7323         * gst/gstvalue.c: (gst_value_compare_buffer),
7324         (_gst_value_initialize):
7325           add comparison function for buffers
7326
7327 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7328
7329         * docs/pwg/pwg.xml:
7330           Just found out that this so-called "ima-wav" format is really
7331           just "dvi adpcm" (according to the MS WAV documentation). So
7332           renaming it. We didn't use it yet anyway.
7333
7334 2004-04-23  Benjamin Otte  <otte@gnome.org>
7335
7336         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7337           call gst_caps_is_subset
7338
7339 2004-04-23  Benjamin Otte  <otte@gnome.org>
7340
7341         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7342         (gst_caps_is_subset):
7343           add documentation
7344
7345 2004-04-23  Benjamin Otte  <otte@gnome.org>
7346           
7347         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7348         (gst_caps_structure_subtract), (gst_caps_subtract),
7349         (gst_caps_structure_figure_out_union),
7350         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7351           fix simplifying and subtracting not working correctly with optional
7352           properties
7353           solve assorted problems that make it now simplify ebven more
7354         * docs/gst/tmpl/gstcaps.sgml:
7355         * gst/gstcaps.h:
7356           make gst_caps_do_simplify return a bool to indicate if it simplified
7357         * testsuite/caps/simplify.c: (main):
7358           add more checks. The tests is quite a bit useless right now because
7359           the core is heavily simplifying itself.
7360         * testsuite/caps/caps.h:
7361           fix caps to contain all optional properties
7362
7363 2004-04-22  Benjamin Otte  <otte@gnome.org>
7364
7365         * docs/gst/tmpl/gstcaps.sgml:
7366         * docs/gst/tmpl/gstfilesrc.sgml:
7367         * docs/gst/tmpl/gststructure.sgml:
7368         * docs/gst/tmpl/gstvalue.sgml:
7369           update for recent API changes
7370         * gst/gstcaps.c: (gst_caps_do_simplify):
7371           fix to stop trying with a freed structure
7372         * gst/gstpad.c: (gst_pad_link_fixate):
7373           simplify caps
7374         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7375           remove C++ comment
7376         * gst/gstpad.h:
7377           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7378         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7379         (gst_structure_to_string):
7380           keep the correct type when using lists of ranges
7381         * gst/gstvalue.c: (gst_value_list_prepend_value),
7382         (gst_value_list_append_value):
7383           copy the value before adding to the list (d'oh)
7384         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7385         (gst_value_subtract_int_range_int_range):
7386           handle overflows correctly
7387         * gst/gstvalue.c: (gst_value_subtract_from_list):
7388           fix memleak
7389         * testsuite/caps/caps.h:
7390           add a caps that caused segfaults
7391
7392 2004-04-22  Benjamin Otte  <otte@gnome.org>
7393
7394         * testsuite/refcounting/pad.c: (main):
7395           fix test
7396
7397 2004-04-22  Benjamin Otte  <otte@gnome.org>
7398
7399         * gst/gstcaps.c: (gst_caps_subtract):
7400           allow subtracting ANY and EMPTY from ANY caps
7401
7402 2004-04-22  Benjamin Otte  <otte@gnome.org>
7403
7404         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7405         (gst_caps_union):
7406           only simplify in functions that create new caps. Simplifying in
7407           gst_caps_append breaks tests.
7408
7409 2004-04-22  Benjamin Otte  <otte@gnome.org>
7410
7411         * gst/gstcaps.c: (gst_caps_structure_simplify):
7412           unset GValue after use
7413         * gst/gstcaps.c: (gst_caps_append), 
7414         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7415           use gst_caps_simplify (reduces registry size by 30%)
7416         * gst/gstpad.c: (gst_pad_template_new):
7417           don't allow NULL caps
7418
7419 2004-04-22  Benjamin Otte  <otte@gnome.org>
7420
7421         * docs/gst/gstreamer-sections.txt:
7422           add gst_caps_do_simplify
7423         * gst/gstcaps.c:
7424           add documentation for gst_caps_do_simplify
7425         * gst/gstvalue.h:
7426           fix typo in gst_value_register_subtract_func declaration for gst-doc
7427
7428 2004-04-22  Benjamin Otte  <otte@gnome.org>
7429
7430         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7431           fix bug when converting from empty string.
7432         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7433         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7434           use gst_caps_new_empty to allocate a new caps. Only that function
7435           allocates memory for caps now.
7436         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7437         (gst_caps_remove_structure):
7438           add ability to remove one structure (but not to header yet)
7439         * gst/gstcaps.c: (gst_caps_compare_structures),
7440         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7441         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7442         * gst/gstcaps.h:
7443           add gst_caps_do_simplify that tries to simplify a caps in place.
7444           Deprecate old gst_caps_simplify function.
7445         * testsuite/caps/caps.h:
7446           add caps.h containing a common set of caps to test against.
7447         * testsuite/caps/sets.c: (check_caps), (main):
7448           use it.
7449         * testsuite/caps/.cvsignore:
7450         * testsuite/caps/Makefile.am:
7451         * testsuite/caps/simplify.c: (check_caps), (main):
7452           add test to check correctness and efficency of caps simplification.
7453
7454 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7455
7456         reviewed by Benjamin Otte  <otte@gnome.org>
7457
7458         * gst/gstparse.c: (_gst_parse_escape):
7459           Free the GString used in _gst_parse_escape()
7460
7461 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7462
7463         * gst/gstpad.c: (gst_pad_link_negotiate):
7464           refuse to link if the link is not possible
7465         * configure.ac:
7466         * testsuite/Makefile.am:
7467         * testsuite/negotiation/.cvsignore:
7468         * testsuite/negotiation/Makefile.am:
7469         * testsuite/negotiation/pad_link.c: (main):
7470           add test that checks the above behaviour
7471
7472 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7473
7474         * docs/gst/gstreamer-sections.txt:
7475           add newly added API
7476
7477 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7480         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7481         (gst_filesrc_open_file), (gst_filesrc_close_file),
7482         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7483         * gst/elements/gstfilesrc.h:
7484           add support for non-regular files (#140734)
7485
7486 2004-04-21  Benjamin Otte  <otte@gnome.org>
7487
7488         * gst/gstpad.c: (gst_pad_link_fixate):
7489           add sophisticated error checking code to see if fixation functions
7490           did their fixation right
7491
7492 2004-04-21  Benjamin Otte  <otte@gnome.org>
7493
7494         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7495           check for ANY caps before appending/unioning
7496         * gst/gstcaps.c: (gst_caps_is_subset),
7497         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7498         (gst_caps_structure_subtract), (gst_caps_subtract):
7499         * gst/gstcaps.h:
7500           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7501           the API. deprecate gst_caps_is_equal_fixed
7502         * gst/gstpad.c: (gst_pad_try_set_caps):
7503         * gst/gstqueue.c: (gst_queue_link):
7504           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7505         * gst/gststructure.c: (gst_structure_get_name_id):
7506         * gst/gststructure.h:
7507           add function gst_structure_get_name_id
7508         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7509         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7510         (gst_value_subtract_int_range_int_range),
7511         (gst_value_subtract_double_double_range),
7512         (gst_value_subtract_double_range_double),
7513         (gst_value_subtract_double_range_double_range),
7514         (gst_value_subtract_from_list), (gst_value_subtract_list),
7515         (gst_value_can_intersect), (gst_value_subtract),
7516         (gst_value_can_subtract), (gst_value_register_subtract_func),
7517         (_gst_value_initialize):
7518         * gst/gstvalue.h:
7519           add support for subtracting values from each other. Note that
7520           subtracting means subtracting as in set theory. Required for caps
7521           stuff above.
7522         * testsuite/caps/.cvsignore:
7523         * testsuite/caps/Makefile.am:
7524         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7525         * testsuite/caps/sets.c: (check_caps), (main):
7526         * testsuite/caps/subtract.c: (check_caps), (main):
7527           add tests for subtraction and equality code.
7528
7529 2004-04-20  David Schleef  <ds@schleef.org>
7530
7531         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7532         * gst/indexers/Makefile.am:
7533         * gst/schedulers/Makefile.am:
7534         * libs/gst/bytestream/Makefile.am:
7535         * libs/gst/control/Makefile.am:
7536         * libs/gst/getbits/Makefile.am:
7537
7538 2004-04-20  David Schleef  <ds@schleef.org>
7539
7540         * common/as-libtool.mak: Fine-tune DLL building.
7541         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7542         (like gst-plugins)
7543         * examples/plugins/Makefile.am: remove plugindir
7544         * gst/autoplug/Makefile.am: DLL building fixes
7545         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7546         Windows.
7547         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7548         * gst/indexers/Makefile.am: DLL building fixes
7549         * gst/schedulers/Makefile.am: DLL building fixes.
7550         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7551         * libs/gst/control/Makefile.am: same
7552         * libs/gst/getbits/Makefile.am: same
7553         * testsuite/Makefile.am: New dlopen directory
7554         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7555         when dlopened.
7556         * testsuite/dlopen/dlopen_gst.c: (main): same
7557         * testsuite/dlopen/loadgst.c: (do_test): same
7558
7559 2004-04-20  David Schleef  <ds@schleef.org>
7560
7561         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7562         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7563
7564 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7565
7566         * gst/gstelement.c: (gst_element_wait),
7567         (gst_element_set_time_delay), (gst_element_change_state):
7568           Use GST_TIME_*
7569
7570 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7571
7572         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7573         (gst_spider_identity_plug):
7574           improve debugging messages
7575         * gst/gstbin.c: (gst_bin_remove_func):
7576           make sure the state_change function is only called with simple state
7577           transitions
7578
7579 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7580
7581         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7582         (gst_fakesink_set_property), (gst_fakesink_chain):
7583         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7584         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7585         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7586         * gst/elements/gstidentity.c: (gst_identity_chain),
7587         (gst_identity_set_property):
7588         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7589         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7590           add warnings to _set_property for unknown arguments
7591           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7592
7593 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7594
7595         * Makefile.am:
7596         * docs/manuals.mak:
7597           add .po file download snippet
7598           fix a bug in the doc makefile
7599
7600 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7601
7602         * Makefile.am:
7603         * po/LINGUAS:
7604         * po/en_GB.po:
7605           Added en_GB translation (Gareth Owen)
7606
7607 2004-04-20  Johan Dahlin  <johan@gnome.org>
7608
7609         * gst/gstpad.c (_invent_event): Clean up
7610
7611 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7612
7613         * testsuite/caps/filtercaps.c: (main):
7614           fix test to test things correctly (caps are complicated)
7615
7616 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7617
7618         * testsuite/caps/Makefile.am:
7619         * testsuite/caps/filtercaps.c: (main):
7620           add test (that doesn't work right now, but should)
7621
7622 2004-04-19  David Schleef  <ds@schleef.org>
7623
7624         * configure.ac: Add test for allowing unaligned access.  Add define
7625         to put in gstconfig.h.
7626         * docs/gst/gstreamer-sections.txt: New symbols
7627         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7628         * docs/gst/tmpl/gstfilesrc.sgml:
7629         * docs/gst/tmpl/gstparse.sgml:
7630         * docs/gst/tmpl/gsttypes.sgml:
7631         * docs/gst/tmpl/gstutils.sgml:
7632         * docs/gst/tmpl/gstvalue.sgml:
7633         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7634         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7635         on most !i386/!powerpc architectures.  From Daniel Gazard
7636         <daniel.gazard@free.fr>.  (bug #140156)
7637         * po/af.po: Check in changes made by gettext.
7638         * po/az.po:
7639         * po/fr.po:
7640         * po/nl.po:
7641         * po/sr.po:
7642         * po/sv.po:
7643
7644 2004-04-20  Benjamin Otte  <otte@gnome.org>
7645
7646         * gst/schedulers/entryscheduler.c: 
7647         (gst_entry_scheduler_yield):
7648           refuse to yield when decoupled elements insist on doing that.
7649           At least it's better than crashing
7650
7651 2004-04-19  David Schleef  <ds@schleef.org>
7652
7653         * docs/libs/Makefile.am: Change sinclude to include
7654         * docs/gst/Makefile.am: same
7655         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7656
7657 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * po/LINGUAS:
7660         * po/uk.po:
7661           Added Ukrainian translation (Maxim V. Dziumanenko)
7662
7663 2004-04-19  Johan Dahlin  <johan@gnome.org>
7664
7665         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7666         checking here, do it before calling the function.
7667         Clean up, use for loops instead of while loops while iterating
7668         over lists.
7669
7670         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7671         in debug message.
7672         (gst_spider_create_and_plug): Improve debug message.
7673         General: Replace while loops which iterates over GLists with for
7674         loops. Which are much cleaner, improves readability, especially
7675         for gst_spider_identity_plug
7676
7677         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7678         fixes bug 140477
7679
7680 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7681
7682         * po/LINGUAS:
7683         * po/tr.po:
7684           Added Turkish translation (Baris Cicek)
7685
7686 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7687
7688         * docs/faq/troubleshooting.xml:
7689           Mention gst-register in the FAQ (fixes 139045).
7690
7691 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7692
7693         * docs/gst/gstreamer-sections.txt:
7694
7695 2004-04-17  Benjamin Otte  <otte@gnome.org>
7696
7697         * gst/gstelement.c: (gst_element_dispose):
7698           simplify
7699         * gst/gstpad.c: (gst_pad_call_chain_function):
7700           don't create loads of events due to bad macro usage
7701
7702 2004-04-16  David Schleef  <ds@schleef.org>
7703
7704         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7705         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7706         * gst/gstvalue.c: (gst_value_serialize_buffer),
7707         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7708         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7709         to indicate types that are fixed wrt caps or not.  Switching to
7710         this function fixes (bug #140298).
7711         * gst/gstvalue.h:
7712
7713 2004-04-16  David Schleef  <ds@schleef.org>
7714
7715         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7716         for GST_UNALIGNED_ACESS, since we essentially know which archs
7717         are ok.
7718
7719 2004-04-17  Benjamin Otte  <otte@gnome.org>
7720
7721         * docs/gst/Makefile.am:
7722           ignore gst/parse directory when building docs (fixes #140205)
7723
7724 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * testsuite/refcounting/mem.c: (vmsize):
7727           do error checking
7728
7729 2004-04-16  Johan Dahlin  <johan@gnome.org>
7730
7731         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7732         and gst_pad_call_get_function.
7733
7734 2004-04-15  David Schleef  <ds@schleef.org>
7735
7736         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7737         checks if we can access unaligned memory.
7738         * configure.ac: Use it.
7739
7740 2004-04-16  Benjamin Otte  <otte@gnome.org>
7741
7742         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7743         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7744         * gst/elements/gstfilesrc.h:
7745           s/seek_happened/need_discont/ and require discont before sending any
7746           data
7747
7748 2004-04-15  David Schleef  <ds@schleef.org>
7749
7750         * gst/gstvalue.c: (gst_value_serialize_buffer),
7751         (gst_value_deserialize_buffer), (_gst_value_initialize):
7752         Register these types as fundamental types. (bug #140015)
7753
7754 2004-04-16  Benjamin Otte  <otte@gnome.org>
7755
7756         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7757         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7758         (gst_pad_pull):
7759           implement enforcing discont events before buffers are passed. This
7760           allows state changes of only some elements and later correctly going
7761           on where they left off (or in short: you can now set audio sinks to
7762           NULL to release the device when the pipeline is paused)
7763         * gst/gstpad.c: (gst_pad_call_chain_function),
7764         (gst_pad_call_get_function):
7765         * gst/gstpad.h:
7766           add gst_pad_call_chain_function and gst_pad_call_get_function for
7767           scheduler interaction. They are required because of the changes
7768           above.
7769         * gst/schedulers/entryscheduler.c: (get_buffer),
7770         (gst_entry_scheduler_chain_wrapper),
7771         (gst_entry_scheduler_get_wrapper),
7772         (gst_entry_scheduler_state_transition),
7773         (gst_entry_scheduler_pad_link):
7774         * gst/schedulers/gstbasicscheduler.c:
7775         (gst_basic_scheduler_chain_wrapper),
7776         (gst_basic_scheduler_src_wrapper),
7777         (gst_basic_scheduler_chainhandler_proxy),
7778         (gst_basic_scheduler_gethandler_proxy),
7779         (gst_basic_scheduler_cothreaded_chain),
7780         (gst_basic_scheduler_chain_elements):
7781         * gst/schedulers/gstoptimalscheduler.c:
7782         (get_group_schedule_function), (pad_clear_queued),
7783         (gst_opt_scheduler_pad_link):
7784           use the new functions instead of calling get/chain-functions
7785           directly.
7786
7787 2004-04-15  David Schleef  <ds@schleef.org>
7788
7789         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7790         * docs/gst/tmpl/gstinfo.sgml: same
7791         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7792         gtk-doc put here.
7793         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7794         * examples/queue/queue.c: (main):  We iterate pipelines, not
7795         bins.  (bug #139996)
7796
7797 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7798
7799         * docs/pwg/advanced-types.xml:
7800           Add MS RLE support. Also document Qt RLE although I have no sample
7801           files for that yet. And document an extra property for ADPCM.
7802
7803 2004-04-15  David Schleef  <ds@schleef.org>
7804
7805         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7806         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7807         Windows.
7808
7809 2004-04-15  David Schleef  <ds@schleef.org>
7810
7811         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7812         symbol names to not conflict with new gstinfo.h symbols.
7813         * gst/gstinfo.h: Add inline functions for all those crazy
7814         compilers that don't know how to handle variadic macros (MSVC).
7815
7816 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7817
7818         * configure.ac: bump nano to 1
7819
7820 === release 0.8.1 ===
7821
7822 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * NEWS:
7825         * RELEASE:
7826         * configure.ac:
7827           releasing 0.8.1, "Snow Brigade"
7828
7829 2004-04-14  David Schleef  <ds@schleef.org>
7830
7831         * testsuite/Makefile.am: define tests_ignore
7832         * testsuite/Rules: Added new tests_ignore, which get compiled,
7833         but not run (generally because they're inconsistent or have
7834         heisenbugs).  Now we can ensure all the .c files compile in
7835         testsuite/.
7836         * testsuite/bins/Makefile.am: define tests_ignore
7837         * testsuite/bytestream/Makefile.am:
7838         * testsuite/caps/Makefile.am:
7839         * testsuite/clock/Makefile.am:
7840         * testsuite/debug/Makefile.am:
7841         * testsuite/debug/global.c: (gst_debug_log_one),
7842         (gst_debug_log_two): Fix compilation problem.
7843         * testsuite/dynparams/Makefile.am:
7844         * testsuite/elements/Makefile.am:
7845         * testsuite/ghostpads/Makefile.am:
7846         * testsuite/indexers/Makefile.am:
7847         * testsuite/parse/Makefile.am:
7848         * testsuite/plugin/Makefile.am:
7849         * testsuite/refcounting/Makefile.am:
7850         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7851         results, because it's not calculated correctly.
7852         * testsuite/refcounting/pad.c: (main): same
7853         * testsuite/states/Makefile.am:
7854         * testsuite/tags/Makefile.am:
7855         * testsuite/threads/Makefile.am:
7856
7857 2004-04-14  David Schleef  <ds@schleef.org>
7858
7859         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7860         generating bad code around the cpu detection asm code.
7861
7862 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7863
7864         * tools/gst-inspect.c: (print_element_info):
7865           print numeric version of rank as well, since we added some - 1
7866           rank values to elements
7867
7868 2004-04-13  David Schleef  <ds@schleef.org>
7869
7870         * configure.ac:  Disable various code when compiling for MinGW.
7871         * gst/elements/Makefile.am:
7872         * gst/elements/gstelements.c:
7873         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
7874         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
7875         * gst/registries/gstxmlregistry.c: (make_dir):
7876
7877 2004-04-13  David Schleef  <ds@schleef.org>
7878
7879         * gst/Makefile.am:
7880         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
7881         assembly.
7882         * gst/gstcpuid_i386.s: remove
7883
7884 2004-04-13  David Schleef  <ds@schleef.org>
7885
7886         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
7887         seems to think it needs to be done.
7888         * docs/gst/tmpl/gstfakesink.sgml:
7889         * docs/gst/tmpl/gstfakesrc.sgml:
7890         * docs/gst/tmpl/gstfdsink.sgml:
7891         * docs/gst/tmpl/gstfdsrc.sgml:
7892         * docs/gst/tmpl/gstfilesink.sgml:
7893         * docs/gst/tmpl/gstfilesrc.sgml:
7894         * docs/gst/tmpl/gstidentity.sgml:
7895         * docs/gst/tmpl/gstmd5sink.sgml:
7896         * docs/gst/tmpl/gstmultifilesrc.sgml:
7897         * docs/gst/tmpl/gstpipefilter.sgml:
7898         * docs/gst/tmpl/gstshaper.sgml:
7899         * docs/gst/tmpl/gstspider.sgml:
7900         * docs/gst/tmpl/gstspideridentity.sgml:
7901         * docs/gst/tmpl/gststatistics.sgml:
7902         * docs/gst/tmpl/gsttee.sgml:
7903         * docs/gst/tmpl/gsttypefind.sgml:
7904         * docs/gst/tmpl/gstutils.sgml:
7905
7906 2004-04-13  David Schleef  <ds@schleef.org>
7907
7908         * configure.ac: Changes to remove POSIXisms (mmap in this case)
7909         and to build DLLs on Windows.
7910         * gst/Makefile.am:
7911         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7912         (gst_filesrc_open_file):
7913         * gst/schedulers/Makefile.am:
7914
7915 2004-04-13  David Schleef  <ds@schleef.org>
7916
7917         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
7918         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
7919         fixating lists.
7920
7921 2004-04-12  David Schleef  <ds@schleef.org>
7922
7923         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7924         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
7925         to using it.
7926         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
7927         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
7928         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
7929         * gst/gststructure.c: (gst_structure_set_valist),
7930         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
7931         support for buffers.
7932         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
7933         intended to be const.
7934         * gst/gsttag.h: same
7935         * gst/gstvalue.c: (gst_value_serialize_buffer),
7936         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
7937         to (de)serialize buffers.
7938         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
7939         * testsuite/caps/string-conversions.c: (main):
7940         * testsuite/caps/value_serialize.c: add new test
7941
7942 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7943
7944         * docs/pwg/advanced-types.xml:
7945           Document MS video 1 (video/x-msvideocodec) mimetype/format.
7946
7947 2004-04-11  Benjamin Otte  <otte@gnome.org>
7948
7949         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7950           rename categories to basic_*
7951         * gst/schedulers/gstbasicscheduler.c: 
7952         (gst_basic_scheduler_chain_wrapper),
7953         (gst_basic_scheduler_chainhandler_proxy),
7954         (gst_basic_scheduler_gethandler_proxy),
7955         (gst_basic_scheduler_eventhandler_proxy):
7956           debugging category fixes - put common stuff in log category
7957         * gst/schedulers/gstbasicscheduler.c: 
7958         (gst_basic_scheduler_chain_elements):
7959           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
7960           active and linking two active chains
7961
7962 2004-04-10  Benjamin Otte  <otte@gnome.org>
7963
7964         * docs/pwg/intro-preface.xml:
7965           fix dead links and remove reference to Wiki
7966
7967 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7968
7969         * gst/schedulers/gstbasicscheduler.c:
7970           make sure we can switch back to the main function if we're still in
7971           the main function (supposed to fix #139617)
7972         * gst/schedulers/gthread-cothreads.h:
7973           don't throw an error when switching to the same cothread
7974
7975 2004-04-09  Benjamin Otte  <otte@gnome.org>
7976
7977         * gst/gstbin.c: (gst_bin_get_type):
7978         * gst/gstclock.c: (gst_clock_get_type):
7979         * gst/gstindex.c: (gst_index_get_type):
7980         * gst/gstobject.c: (gst_object_get_type),
7981         (gst_signal_object_get_type):
7982         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
7983         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
7984         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
7985         * gst/gstqueue.c: (gst_queue_get_type):
7986         * gst/gstregistry.c: (gst_registry_get_type):
7987         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7988         * gst/gstthread.c: (gst_thread_get_type):
7989           don't use memchunks for these objects, use malloc instead
7990
7991 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7992
7993         * docs/gst/.cvsignore:
7994         * docs/gst/Makefile.am:
7995         * docs/gst/gstreamer-sections.txt:
7996         * docs/gst/tmpl/gstaggregator.sgml:
7997         * docs/gst/tmpl/gstbuffer.sgml:
7998         * docs/gst/tmpl/gstclock.sgml:
7999         * docs/gst/tmpl/gstelement.sgml:
8000         * docs/gst/tmpl/gstfakesink.sgml:
8001         * docs/gst/tmpl/gstfakesrc.sgml:
8002         * docs/gst/tmpl/gstfdsink.sgml:
8003         * docs/gst/tmpl/gstfdsrc.sgml:
8004         * docs/gst/tmpl/gstfilesink.sgml:
8005         * docs/gst/tmpl/gstfilesrc.sgml:
8006         * docs/gst/tmpl/gstidentity.sgml:
8007         * docs/gst/tmpl/gstindex.sgml:
8008         * docs/gst/tmpl/gstinfo.sgml:
8009         * docs/gst/tmpl/gstmd5sink.sgml:
8010         * docs/gst/tmpl/gstmultifilesrc.sgml:
8011         * docs/gst/tmpl/gstpad.sgml:
8012         * docs/gst/tmpl/gstpipefilter.sgml:
8013         * docs/gst/tmpl/gstpipeline.sgml:
8014         * docs/gst/tmpl/gstpluginfeature.sgml:
8015         * docs/gst/tmpl/gstqueue.sgml:
8016         * docs/gst/tmpl/gstregistry.sgml:
8017         * docs/gst/tmpl/gstscheduler.sgml:
8018         * docs/gst/tmpl/gstshaper.sgml:
8019         * docs/gst/tmpl/gstspider.sgml:
8020         * docs/gst/tmpl/gstspideridentity.sgml:
8021         * docs/gst/tmpl/gststatistics.sgml:
8022         * docs/gst/tmpl/gstsystemclock.sgml:
8023         * docs/gst/tmpl/gsttee.sgml:
8024         * docs/gst/tmpl/gstthread.sgml:
8025         * docs/gst/tmpl/gsttypefind.sgml:
8026         * docs/gst/tmpl/gstutils.sgml:
8027           further doc build fixes
8028
8029 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8030
8031         * docs/gst/Makefile.am:
8032           make docs exit on scanning problems
8033           fix nonsrcdir build issues
8034         * docs/gst/gstreamer-sections.txt:
8035           adding stuff from -unused
8036         * gst/gstqueue.h:
8037           create GstQueueSize
8038         * gst/schedulers/cothreads_compat.h:
8039           fix cothread warnings
8040
8041 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8042
8043         * docs/gst/gstreamer-sections.txt:
8044           remove defines deprecated by Benjamin
8045
8046 2004-04-07  Benjamin Otte  <otte@gnome.org>
8047
8048         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8049           when the buffer is complete, don't check if other buffers are needed
8050         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8051           check that the offset is >0 so we don't try to read before the
8052           beginning of the file
8053         * gst/gstpad.c: (gst_pad_set_pad_template):
8054           sink the template, so we don't end up with 130k pad templates
8055
8056 2004-04-06  Benjamin Otte  <otte@gnome.org>
8057
8058         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8059           don't ref the element, adding already reffed it. And we didn't unref
8060           it later anyway... (huge memleak when you used many spider elements)
8061         * gst/gstelement.c: (gst_element_base_class_finalize):
8062         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8063         (gst_element_register):
8064         * gst/gsturi.c: (gst_element_make_from_uri):
8065           use gst_object_(un)ref instead of g_object(un)ref
8066
8067 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8068
8069         * gst/gstbuffer.h:
8070           remove macro that wouldn't work anymore because struct member has
8071           been removed.
8072         * gst/schedulers/entryscheduler.c: (schedule_forward):
8073           fix segfault for unconnected pads
8074         
8075 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8076
8077         reviewed by David Schleef <ds@schleef.org>
8078
8079         * gst/gstinfo.h:
8080           *_FORMAT modifiers should require putting a % in front of them for
8081           consistency reasons.
8082
8083 2004-04-05  Colin Walters  <walters@redhat.com>
8084
8085         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8086         space.
8087
8088 2004-04-05  Benjamin Otte  <otte@gnome.org>
8089
8090         * configure.ac:
8091         * gst/Makefile.am:
8092         * gst/gst_private.h:
8093         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8094           add support for detecting if GStreamer runs inside valgrind.
8095           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8096           print a big message in valgrind that GStreamer has detected it's
8097           running inside and might now use different code.
8098         * gst/gstmemchunk.c: (populate), (free_area),
8099         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8100         (gst_mem_chunk_free):
8101           flag memchunks for valgrind, so it can detect leaking of chunks.
8102           This allows detecting leaks of GstBuffer and GstEvent correctly
8103           inside valgrind.
8104
8105 2004-04-05  David Schleef  <ds@schleef.org>
8106
8107         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8108           jensgr@gmx.net (Jens Granseuer)
8109
8110 2004-04-05  David Schleef  <ds@schleef.org>
8111
8112         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8113         (gst_buffer_default_free), (gst_buffer_default_copy),
8114         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8115         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8116         structures in one place.
8117
8118 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8119
8120         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8121           (GST_TIME_FORMAT, GST_TIME_ARGS)
8122
8123 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8124
8125         * testsuite/elements/Makefile.am:
8126           disable test until it stops breaking make distcheck
8127
8128 2004-04-05  Johan Dahlin  <johan@gnome.org>
8129
8130         * po/sv.po: Updated translation
8131
8132 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8133
8134         * gst/gstplugin.c: (gst_plugin_load_file):
8135           fix segfault for when original plugin was loaded statically
8136
8137 2004-04-05  Benjamin Otte  <otte@gnome.org>
8138
8139         * testsuite/debug/category.c: (main):
8140         * testsuite/debug/commandline.c: (main):
8141         * testsuite/debug/output.c: (main):
8142           fix tests to work again with debugging enabled
8143
8144 2004-04-05  Benjamin Otte  <otte@gnome.org>
8145
8146         * gst/schedulers/gstbasicscheduler.c:
8147         (gst_basic_scheduler_pad_link):
8148           fix to work with recent scheduling changes
8149
8150 2004-04-05  Benjamin Otte  <otte@gnome.org>
8151
8152         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8153         prepareChangeLog doesn't work when cvs indents):
8154           don't throw an error when no element can be scheduled, there's too
8155           many weird reasons why it doesn't work. Return STOPPED instead.
8156           decoupled elemts' schedulability doesn't depend on bufpens.
8157
8158 2004-04-04  Benjamin Otte  <otte@gnome.org>
8159
8160         * gst/schedulers/gstbasicscheduler.c:
8161         (gst_basic_scheduler_pad_select):
8162           fix uninitialized variable warnings
8163
8164 2004-04-04  Benjamin Otte  <otte@gnome.org>
8165
8166         * gst/gstpad.c: (gst_pad_collect_valist):
8167           fix uninitialized variable warning
8168         * gst/schedulers/entryscheduler.c: (schedule_forward):
8169           fix shadowed variable
8170
8171 2004-04-04  Benjamin Otte  <otte@gnome.org>
8172
8173         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8174         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8175         (gst_pad_select):
8176         * gst/gstpad.h:
8177         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8178         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8179         * gst/gstscheduler.h:
8180           implement gst_pad_collect as replacement for gst_pad_select.
8181           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8182           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8183           new pad_select, lock and unlock calls.
8184         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8185         * gst/cothreads.h:
8186         * gst/schedulers/cothreads_compat.h:
8187         * gst/schedulers/gthread-cothreads.h:
8188           remove unused cothread_lock and cothread_unlock calls
8189         * gst/schedulers/entryscheduler.c:
8190         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8191         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8192         (gst_entry_scheduler_pad_select):
8193           update to new API
8194         * gst/schedulers/gstbasicscheduler.c:
8195         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8196         (gst_basic_scheduler_pad_select):
8197           remove useless lock and unlock calls, update pad_select to new API
8198           (untested)
8199         * gst/schedulers/gstoptimalscheduler.c:
8200         (gst_opt_scheduler_class_init):
8201           remove useless select, lock and unlock function calls
8202         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8203           use gst_pad_collect instead of gst_pad_select
8204
8205 2004-04-04  Benjamin Otte  <otte@gnome.org>
8206
8207         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8208         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8209         (schedule_next_element), (print_entry):
8210           add can_schedule_pad to handle element states.
8211           add schedule_forward to select the correct entry to schedule next
8212
8213 2004-04-03  Benjamin Otte  <otte@gnome.org>
8214
8215         * gst/schedulers/entryscheduler.c: 
8216           remove unused variable, fix error inside Rb, fix compile warning in
8217           unreachable code
8218
8219 2004-04-03  Benjamin Otte  <otte@gnome.org>
8220
8221         * gst/schedulers/entryscheduler.c:
8222           completely revamp the inner workings, so it's a lot easier to
8223           understand and extend
8224
8225 2004-04-03  Andy Wingo  <wingo@pobox.com>
8226
8227         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8228         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8229         This allows better introspection of pipeline topology.
8230         (add_to_chain): Don't do trickery to put loop elements first;
8231         rather, queue a chain sort by marking the chain as dirty.
8232         (remove_from_chain): Mark the chain dirty.
8233         (sort_chain): New function. Sorts the group list so that terminal
8234         sinks are first. This means elements on the sink side will be
8235         preferentially sscheduled before elements on the src side of the
8236         pipeline.
8237         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8238         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8239         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8240         (group_inc_link): Change argument and variable names to match the
8241         new link structure member names (src and sink).
8242         (group_dec_link): Add some description
8243
8244 2004-04-03  Benjamin Otte  <otte@gnome.org>
8245
8246         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8247         * gst/gstinfo.h:
8248         * testsuite/debug/category.c: (main):
8249         * testsuite/debug/commandline.c: (main):
8250         * testsuite/debug/output.c: (main):
8251         * testsuite/debug/printf_extension.c: (main):
8252           fix to successfully build and test with --disable-gst-debug
8253           configure switch (fixes #138705)
8254
8255 2004-04-03  Benjamin Otte  <otte@gnome.org>
8256
8257         * docs/pwg/building-boiler.xml:
8258           add cvs login line and s/anonymous/anoncvs/
8259
8260 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8261
8262         reviewed by Benjamin Otte  <otte@gnome.org>
8263
8264         * gst/gststructure.c: (gst_structure_free):
8265           memleak fix: free fields array (partial fix for #134839)
8266
8267 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8268
8269         * docs/random/ds/0.9-suggested-changes:
8270           Add a note to change handoff use in fakesrc to be usable in
8271           a more generic way (fakesrc should be renamed to appsrc or so).
8272         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8273           Change signal type to scope, so we can fill the buffer in the
8274           handoff handler (that's the whole use of this signal...).
8275
8276 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8277
8278         * docs/pwg/other-ntoone.xml:
8279           Document muxers and n-to-1 elements.
8280
8281 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8282
8283         * gst/registries/gstxmlregistry.c
8284         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8285         determine if a file is a G_MODULE. The old one discards paths
8286         containing "so" somewhere in the middle. My home directory is
8287         called "soto". Go figure...
8288
8289 2004-03-31  David Schleef  <ds@schleef.org>
8290
8291         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8292         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8293         * gst/gstbuffer.h:
8294
8295 2004-03-31  David Schleef  <ds@schleef.org>
8296
8297         * gst/gstvalue.c: (gst_value_union_int_int_range),
8298         (gst_value_union_int_range_int_range), (gst_value_can_union),
8299         (gst_value_union), (_gst_value_initialize):  Add some union
8300         implementations.  We didn't have any previously.
8301         * testsuite/caps/Makefile.am:
8302         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8303         (gst_audioscale_getcaps), (test_caps), (main): A little test
8304         that is the same as the caps manipulation in audioscale.
8305
8306 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8307
8308         * docs/faq/general.xml:
8309           add entry about "does gst support format X?"
8310
8311 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8312
8313         * gst/gstthread.c:
8314           fix docs
8315         * gst/gstutils.h:
8316           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8317
8318 2004-03-30  Benjamin Otte  <otte@gnome.org>
8319
8320         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8321           set the offset of the buffer to the requested offset
8322         * gst/elements/gsttypefind.c: (stop_typefinding):
8323           revert patch 1.18 (which I unfortunately don't know the reason for).
8324           This is needed to allow downstream elements to seek. Otherwise
8325           typefind might overwrite a previous seek by downstream elements.
8326           This lead to errors with id3tag and typefind on some mp3s.
8327         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8328         (gst_entry_scheduler_iterate):
8329           be more verbose when debugging
8330
8331 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8332
8333         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8334           make sure we don't get NULL strings
8335
8336 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8337
8338         * gst/gstcaps.c:
8339         * gst/gstelement.c:
8340         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8341         * gst/gstindex.c: (gst_index_resolver_get_type),
8342         (gst_index_get_type), (gst_index_factory_get_type):
8343         * gst/gstinfo.c:
8344         * gst/gstpad.c:
8345         * gst/gstplugin.c:
8346         * gst/gsturi.c: (gst_uri_handler_get_type):
8347         * gst/gstvalue.c:
8348           first batch of documentation fixes
8349
8350 2004-03-29  David Schleef  <ds@schleef.org>
8351
8352         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8353         * docs/gst/gstreamer-docs.sgml:  More hacking
8354         * docs/gst/gstreamer-sections.txt:
8355         * docs/gst/tmpl/cothreads_compat.sgml:
8356         * docs/gst/tmpl/gstcaps.sgml:
8357         * docs/gst/tmpl/gstclock.sgml:
8358         * docs/gst/tmpl/gstelement.sgml:
8359         * docs/gst/tmpl/gstevent.sgml:
8360         * docs/gst/tmpl/gstpad.sgml:
8361         * docs/gst/tmpl/gstutils.sgml:
8362         * docs/gst/tmpl/gstxml.sgml:
8363         * docs/gst/tmpl/gthread-cothreads.sgml:
8364         * docs/random/ds/0.9-suggested-changes:
8365         * gst/elements/gstfakesink.h: doc fixes
8366         * gst/elements/gstfakesrc.h: doc fixes
8367         * gst/gstcaps.c: doc fixes
8368         * gst/gstcaps.h: doc fixes
8369         * gst/gstelement.c: doc fixes
8370         * gst/gstelement.h: doc fixes
8371         * gst/gstindex.c: doc fixes
8372         * gst/gstinfo.c: doc fixes
8373         * gst/gstpad.c: doc fixes
8374         * gst/gstpad.h: doc fixes
8375         * gst/gstplugin.c: doc fixes
8376         * gst/gsttypefind.h: doc fixes
8377         * gst/gsturi.c: doc fixes
8378         * gst/gstvalue.c: doc fixes
8379
8380 2004-03-29  Colin Walters  <walters@redhat.com>
8381
8382         * gst/registries/gstxmlregistry.c (get_time)
8383         (plugin_times_older_than_recurse):
8384         Use the result of stat to determine whether a path is a file,
8385         so we don't attempt to opendir() files.
8386
8387 2004-03-29  Benjamin Otte  <otte@gnome.org>
8388
8389         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8390           print caps in debugging output when setting caps failed
8391         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8392         (schedule_next_element), (get_buffer), (run_chainhandler),
8393         (element_may_start), (gst_entry_scheduler_chain_handler),
8394         (gst_entry_scheduler_get_handler),
8395         (gst_entry_scheduler_state_transition),
8396         (gst_entry_scheduler_pad_link):
8397           make this scheduler a testcase for mandatory
8398           discont-before-first-buffer which is needed if we want to allow apps
8399           to release the sound device.
8400           add SCHED_ASSERT macro to print scheduler state before an assertion
8401           triggers.
8402
8403 2004-03-29  Benjamin Otte  <otte@gnome.org>
8404
8405         * COPYING:
8406           replace by LGPL (former COPYING.LIB). The core is completely
8407           licensed LGPL.
8408         * COPYING.LIB:
8409           remove
8410
8411 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8412
8413         * po/af.po:
8414         * po/sv.po:
8415           updated Afrikaans and Swedish
8416
8417 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8418
8419         * po/LINGUAS:
8420         * po/az.po:
8421           adding Azerbaijani (Mətin Əmirov)
8422
8423 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8424
8425         * gst/gstelement.h: 
8426         * gst/gstelement.c (gst_element_set_time_delay): New function for
8427         setting element time taking into account a hardware buffering
8428         delay.
8429         (gst_element_set_time): Now just an invocation of
8430         gst_element_set_time_delay.
8431         * gst/gstclock.h: 
8432         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8433         allowing to set event times in the future.
8434         (gst_clock_get_event_time): Now just an invocation of
8435         gst_clock_get_event_time_delay.
8436
8437 2004-03-28  Benjamin Otte  <otte@gnome.org>
8438
8439         * gst/gstbin.c: (gst_bin_set_element_sched),
8440         (gst_bin_unset_element_sched):
8441           don't add decoupled elements to schedulers - otherwise it's
8442           impossible to control if a link to a decoupled element was already
8443           removed from a scheduler or not.
8444         * gst/schedulers/cothreads_compat.h:
8445         * gst/schedulers/gthread-cothreads.h:
8446           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8447           is no "unused" warning.
8448         * gst/schedulers/Makefile.am:
8449         * gst/schedulers/entryscheduler.c:
8450           add new scheduler, based on ideas from talking to David and Martin.
8451           It's supposed to be small and correct. Currently it's also slow (but
8452           it's not noticable)
8453         * examples/retag/retag.c: (main):
8454         * testsuite/bytestream/test1.c: (main):
8455           fix missing NULLs at end of variadic functions
8456         * testsuite/elements/.cvsignore:
8457           update
8458
8459 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8460
8461         * gst/gstevent.h:
8462         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8463
8464 2004-03-25  David Schleef  <ds@schleef.org>
8465
8466         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8467         * docs/gst/tmpl/gstaggregator.sgml:
8468         * docs/gst/tmpl/gstautoplugfactory.sgml:
8469         * docs/gst/tmpl/gstbin.sgml:
8470         * docs/gst/tmpl/gstbuffer.sgml:
8471         * docs/gst/tmpl/gstbufferstore.sgml:
8472         * docs/gst/tmpl/gstfakesink.sgml:
8473         * docs/gst/tmpl/gstfakesrc.sgml:
8474         * docs/gst/tmpl/gstmd5sink.sgml:
8475         * docs/gst/tmpl/gstreamer-unused.sgml:
8476         * docs/gst/tmpl/gstsearchfuncs.sgml:
8477         * docs/gst/tmpl/gstshaper.sgml:
8478         * docs/gst/tmpl/gstspider.sgml:
8479         * docs/gst/tmpl/gsttee.sgml:
8480         * docs/gst/tmpl/gstutils.sgml:
8481         * docs/gst/tmpl/gstvalue.sgml:
8482         * docs/gst/tmpl/gstxml.sgml:
8483         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8484         and we don't support it.
8485         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8486         (gst_use_threads), (gst_has_threads): same
8487         * gst/gstthreaddummy.c: same
8488         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8489         * gst/autoplug/gstspider.h: same
8490         * gst/elements/gstaggregator.h: Remove bogus function from header
8491         * gst/elements/gstfakesink.h: same
8492         * gst/elements/gstfakesrc.h: same
8493         * gst/elements/gstmd5sink.h: same
8494         * gst/elements/gstshaper.h: same
8495         * gst/elements/gsttee.h: same
8496         * gst/gstbin.c: doc fixes
8497         * gst/gstbin.h: Remove unused definition.
8498         * gst/gstbuffer.c: doc fixes
8499         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8500         * gst/gstfilter.c: doc fixes
8501         * gst/gsttag.c: doc fixes
8502         * gst/gstvalue.c: doc fixes
8503
8504 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8505
8506         * docs/pwg/advanced-types.xml:
8507           Document typefinding.
8508         * docs/pwg/other-oneton.xml:
8509           Document one-to-n elements, demuxers and parsers.
8510
8511 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8512
8513         reviewed by: David Schleef  <ds@schleef.org>
8514
8515         * configure.ac: Check bison version (bug #127838)
8516
8517 2004-03-25  David Schleef  <ds@schleef.org>
8518
8519         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8520         * docs/gst/gstreamer-sections.txt:
8521         * docs/gst/tmpl/gstautoplug.sgml:
8522         * docs/gst/tmpl/gststaticautoplug.sgml:
8523         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8524         * docs/gst/tmpl/gstutils.sgml:
8525         * docs/gst/tmpl/gstxml.sgml:
8526
8527 2004-03-24  David Schleef  <ds@schleef.org>
8528
8529         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8530         manual being such complete crap, that I decided to do major
8531         hacking of it.  This checkin replaces any fine tuning that
8532         may have been done previously, with the benefit of actually
8533         being complete for much of the API that was changed since
8534         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8535         * docs/gst/gstreamer-sections.txt:
8536         * docs/gst/tmpl/GstBin.sgml:
8537         * docs/gst/tmpl/GstBuffer.sgml:
8538         * docs/gst/tmpl/GstCaps.sgml:
8539         * docs/gst/tmpl/GstClock.sgml:
8540         * docs/gst/tmpl/GstCompat.sgml:
8541         * docs/gst/tmpl/GstData.sgml:
8542         * docs/gst/tmpl/GstElement.sgml:
8543         * docs/gst/tmpl/GstEvent.sgml:
8544         * docs/gst/tmpl/GstIndex.sgml:
8545         * docs/gst/tmpl/GstStructure.sgml:
8546         * docs/gst/tmpl/GstTag.sgml:
8547         * docs/gst/tmpl/cothreads.sgml:
8548         * docs/gst/tmpl/cothreads_compat.sgml:
8549         * docs/gst/tmpl/gettext.sgml:
8550         * docs/gst/tmpl/grammar.tab.sgml:
8551         * docs/gst/tmpl/gst-i18n-app.sgml:
8552         * docs/gst/tmpl/gst-i18n-lib.sgml:
8553         * docs/gst/tmpl/gst.sgml:
8554         * docs/gst/tmpl/gst_private.sgml:
8555         * docs/gst/tmpl/gstaggregator.sgml:
8556         * docs/gst/tmpl/gstarch.sgml:
8557         * docs/gst/tmpl/gstatomic.sgml:
8558         * docs/gst/tmpl/gstatomic_impl.sgml:
8559         * docs/gst/tmpl/gstbin.sgml:
8560         * docs/gst/tmpl/gstbuffer.sgml:
8561         * docs/gst/tmpl/gstbufferstore.sgml:
8562         * docs/gst/tmpl/gstcaps.sgml:
8563         * docs/gst/tmpl/gstclock.sgml:
8564         * docs/gst/tmpl/gstcompat.sgml:
8565         * docs/gst/tmpl/gstconfig.sgml:
8566         * docs/gst/tmpl/gstcpu.sgml:
8567         * docs/gst/tmpl/gstdata.sgml:
8568         * docs/gst/tmpl/gstdata_private.sgml:
8569         * docs/gst/tmpl/gstelement.sgml:
8570         * docs/gst/tmpl/gstenumtypes.sgml:
8571         * docs/gst/tmpl/gsterror.sgml:
8572         * docs/gst/tmpl/gstevent.sgml:
8573         * docs/gst/tmpl/gstfakesink.sgml:
8574         * docs/gst/tmpl/gstfakesrc.sgml:
8575         * docs/gst/tmpl/gstfilesink.sgml:
8576         * docs/gst/tmpl/gstfilter.sgml:
8577         * docs/gst/tmpl/gstindex.sgml:
8578         * docs/gst/tmpl/gstinfo.sgml:
8579         * docs/gst/tmpl/gstinterface.sgml:
8580         * docs/gst/tmpl/gstlog.sgml:
8581         * docs/gst/tmpl/gstmacros.sgml:
8582         * docs/gst/tmpl/gstmarshal.sgml:
8583         * docs/gst/tmpl/gstmd5sink.sgml:
8584         * docs/gst/tmpl/gstmultifilesrc.sgml:
8585         * docs/gst/tmpl/gstobject.sgml:
8586         * docs/gst/tmpl/gstpad.sgml:
8587         * docs/gst/tmpl/gstparse.sgml:
8588         * docs/gst/tmpl/gstpipeline.sgml:
8589         * docs/gst/tmpl/gstplugin.sgml:
8590         * docs/gst/tmpl/gstpluginfeature.sgml:
8591         * docs/gst/tmpl/gstqueue.sgml:
8592         * docs/gst/tmpl/gstreamer-unused.sgml:
8593         * docs/gst/tmpl/gstregistry.sgml:
8594         * docs/gst/tmpl/gstregistrypool.sgml:
8595         * docs/gst/tmpl/gstscheduler.sgml:
8596         * docs/gst/tmpl/gstsearchfuncs.sgml:
8597         * docs/gst/tmpl/gstshaper.sgml:
8598         * docs/gst/tmpl/gstspider.sgml:
8599         * docs/gst/tmpl/gstspideridentity.sgml:
8600         * docs/gst/tmpl/gststructure.sgml:
8601         * docs/gst/tmpl/gstsystemclock.sgml:
8602         * docs/gst/tmpl/gsttag.sgml:
8603         * docs/gst/tmpl/gsttaginterface.sgml:
8604         * docs/gst/tmpl/gsttee.sgml:
8605         * docs/gst/tmpl/gstthread.sgml:
8606         * docs/gst/tmpl/gsttrace.sgml:
8607         * docs/gst/tmpl/gsttrashstack.sgml:
8608         * docs/gst/tmpl/gsttypefind.sgml:
8609         * docs/gst/tmpl/gsttypes.sgml:
8610         * docs/gst/tmpl/gsturi.sgml:
8611         * docs/gst/tmpl/gsturitype.sgml:
8612         * docs/gst/tmpl/gstutils.sgml:
8613         * docs/gst/tmpl/gstvalue.sgml:
8614         * docs/gst/tmpl/gstversion.sgml:
8615         * docs/gst/tmpl/gstxml.sgml:
8616         * docs/gst/tmpl/gstxmlregistry.sgml:
8617         * docs/gst/tmpl/gthread-cothreads.sgml:
8618         * docs/gst/tmpl/types.sgml:
8619
8620 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8621
8622         * docs/pwg/other-sink.xml:
8623         * docs/pwg/other-source.xml:
8624           Documentation on how to write source and sink elements. Other
8625           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8626           manager, autoplugger) are all still pending.
8627
8628 2004-03-25  Benjamin Otte  <otte@gnome.org>
8629
8630         * testsuite/elements/Makefile.am:
8631         * testsuite/elements/gst-compprep-check:
8632           add check to make sure gst-compprep works
8633         * testsuite/elements/gst-inspect-check.in:
8634           improve initialization output
8635         * testsuite/Makefile.am:
8636         * testsuite/gst-inspect-check:
8637           remove old file
8638
8639 2004-03-24  David Schleef  <ds@schleef.org>
8640
8641         * testsuite/elements/Makefile.am:
8642         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8643         to the testsuite.
8644
8645 2004-03-24  Benjamin Otte  <otte@gnome.org>
8646
8647         * libs/gst/control/dparam.c: (gst_dparam_attach),
8648         (gst_dparam_detach):
8649         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8650           fix lvalue casts for real
8651
8652 2004-03-24  Benjamin Otte  <otte@gnome.org>
8653
8654         * gst/schedulers/gstbasicscheduler.c:
8655         (gst_basic_scheduler_src_wrapper):
8656         * gst/schedulers/gstoptimalscheduler.c:
8657         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8658         (pad_clear_queued), (gst_opt_scheduler_add_element),
8659         (gst_opt_scheduler_remove_element):
8660           fix GStreamer to not have issues with lvalue casts anymore (fixes
8661           #136841)
8662
8663 2004-03-24  Benjamin Otte  <otte@gnome.org>
8664
8665         * gst/gstelement.c:
8666           add documentation about a gobject quirk where the object hasn't the
8667           correct class pointer set on initialization
8668         * gst/schedulers/gstbasicscheduler.c:
8669         (gst_basic_scheduler_src_wrapper):
8670           make sure to not run into an infinite loop
8671
8672 2004-03-22  Benjamin Otte  <otte@gnome.org>
8673
8674         * gst/gstutils.c: (gst_util_dump_mem):
8675         * gst/gstutils.h:
8676           first argument of gst_util_dump_mem should be const
8677
8678 2004-03-22  Johan Dahlin  <johan@gnome.org>
8679
8680         * gst/gstvalue.h: Clean up a little bit.
8681
8682 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8683
8684         reviewed by Benjamin Otte  <otte@gnome.org>
8685
8686         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8687         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8688         (gst_aggregator_class_init), (gst_aggregator_init):
8689         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8690         (gst_filesrc_dispose), (gst_filesrc_set_location):
8691         * gst/elements/gstidentity.c: (gst_identity_finalize),
8692         (gst_identity_class_init), (gst_identity_chain):
8693         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8694         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8695         (gst_statistics_class_init):
8696         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8697         (gst_tee_get_property):
8698           clean up used memory in this elements correctly on teardown (closes
8699           #137279)
8700
8701 2004-03-20  Colin Walters  <walters@redhat.com>
8702
8703         * gst/registries/gstxmlregistry.c:
8704         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8705         registry saving atomic.
8706
8707 2004-03-20  Colin Walters  <walters@redhat.com>
8708
8709         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8710         Just use
8711         access() instead of actually creating and deleting files.
8712
8713 2004-03-18  David Schleef  <ds@schleef.org>
8714
8715         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8716         (bug #137625)
8717
8718 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8719
8720         * po/sv.po: updated translation (Christian Rose)
8721
8722 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8725         (gst_filesink_get_query_types), (_do_init),
8726         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8727           return FALSE silently
8728         * po/af.po: updated translation (Petri Jooste)
8729
8730 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8731
8732         * Makefile.am:
8733         * configure.ac:
8734           dist common properly
8735         * po/af.po:
8736         * po/fr.po:
8737         * po/nl.po:
8738         * po/sr.po:
8739         * po/sv.po:
8740           refreshing translations
8741
8742 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8743
8744         * po/LINGUAS:
8745         * po/sv.po:
8746         * po/af.po:
8747           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8748
8749 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8750
8751         * Makefile.am: use common/release.mak
8752
8753 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8754
8755         * docs/faq/gst-uninstalled:
8756           adding gst-monkeysaudio to the list of possible plugin dirs
8757
8758 2004-03-16  David Schleef  <ds@schleef.org>
8759
8760         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8761         (gst_init_check_with_popt_table):  Fix some gettext strings to
8762         make them easier to translate.  Required making the strings
8763         non-const.
8764
8765 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8766
8767         * configure.ac: bump nano to 1
8768
8769 === release 0.8.0 ===
8770
8771 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8772
8773         * configure.ac: release 0.8.0, "Executive Slacks"
8774
8775 2004-03-16  Johan Dahlin  <johan@gnome.org>
8776
8777         * gst/schedulers/gstoptimalscheduler.c
8778         (gst_opt_scheduler_pad_unlink): Remove double ;,
8779         spotted by Scott Wheeler
8780
8781 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * configure.ac: bump libtool version
8784
8785 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8786
8787         * gst/gstcaps.h:
8788         * gst/gststructure.h:
8789           add reserved padding
8790
8791 2004-03-15  Benjamin Otte  <otte@gnome.org>
8792
8793         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8794           set the first parameter for select call correctly.
8795           (fixes #137230)
8796
8797 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * *.c,*.h: don't mix tabs and spaces
8800
8801 2004-03-15  Johan Dahlin  <johan@gnome.org>
8802
8803         * gst/schedulers/gstoptimalscheduler.c
8804         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8805         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8806
8807         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8808         
8809 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8810
8811         * testsuite/Rules:
8812           fix gst-register rules
8813
8814 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8815
8816         * testsuite/Rules:
8817           use versioned gst-register
8818
8819 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8820
8821         * docs/libs/gstreamer-libs-sections.txt:
8822           remove </SUBSECTION>
8823         * gst/gstplugin.c:
8824         * gst/gstregistry.c: (gst_registry_add_plugin):
8825         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8826         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8827           add debugging and fix some comment blocks
8828
8829 2004-03-15  Johan Dahlin  <johan@gnome.org>
8830
8831         * *.h: Revert indent changes.
8832         
8833 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8834
8835         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8836           g_error_free the g_error
8837         * tools/gst-feedback-m.m:
8838           check for other versions of gstreamer
8839         * tools/gst-indent:
8840           use sh, not bash
8841
8842 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8843
8844         * tools/gst-register.c: do not spill paths when registries are not
8845           writable, until we fix the "user running gst-register" case.
8846
8847 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8848
8849         * *.c, *.h: commit of gst-indent run on core
8850
8851 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8852
8853         * tools/gst-indent:
8854         * tools/Makefile.am:
8855           add our indentation style as a script
8856
8857 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8858
8859         * po/sr.po:
8860         * po/LINGUAS:
8861           added Serbian translation
8862
8863 2004-03-13  Benjamin Otte  <otte@gnome.org>
8864
8865         * gst/gstelement.c:
8866           add documentation note about gst_element_found_tags_for_pad not
8867           being usable in getfunctions. (see #137042)
8868
8869 2004-03-12  David Schleef  <ds@schleef.org>
8870
8871         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
8872         change API right now!  Readd gst_caps_is_simple() macro.
8873         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
8874         uninitialized variable.  I'd bet this caused crashes.
8875         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
8876
8877 2004-03-12  Johan Dahlin  <johan@gnome.org>
8878
8879         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
8880         * gst/gstcaps.h: Clean up
8881
8882         * gst/gst.c (init_post): call gst_caps_get_type() instead of
8883         _gst_caps_initalize()
8884
8885         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
8886         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
8887
8888         * gst/gststructure.c (gst_structure_get_type): Ditto
8889
8890         * gst/gststructure.h: Ditto
8891         
8892 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8893
8894         * gst/gstqueue.c: (gst_queue_init):
8895           Reset default max. values in queues. Reason is simply to avoid
8896           braindead use. If you want wider values, use the properties. The
8897           default is supposed to always work. Wider values would make this
8898           beast a memory hog by default (250 full-PAL RGB32 video frames?
8899           That's 440 MB! No thank you).
8900
8901 2004-03-10  David Schleef  <ds@schleef.org>
8902
8903         * tools/gst-run.c: (main):  Fix crash when no relevant tools
8904         were found.  (bug #136793)
8905
8906 2004-03-10  Johan Dahlin  <johan@gnome.org>
8907
8908         * gst/schedulers/gstoptimalscheduler.c
8909         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
8910         links to elements within the same group, so we can finally remove
8911         that annoying warning. Refactor the code a little bit
8912         (group_dec_links_for_element): Split out
8913
8914 2004-03-09  David Schleef  <ds@schleef.org>
8915
8916         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
8917         (bug #134863)
8918
8919 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8920
8921         * configure.ac: first bug fix due to major/minor bump
8922
8923 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8924
8925         * configure.ac: bump nano to 1
8926
8927 === release 0.7.6 ===
8928
8929 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8930
8931         * NEWS:
8932         * RELEASE:
8933         * configure.ac:
8934           releasing 0.7.6, "Almost"
8935         * po/fr.po:
8936         * po/nl.po:
8937         * tools/Makefile.am:
8938         * tools/gst-feedback-m.m:
8939           unversioned source
8940
8941 2004-03-09  Johan Dahlin  <johan@gnome.org>
8942
8943         Reviewed by: Thomas Vander Stichele
8944
8945         * gst/gstelement.c (gst_element_class_init): register second
8946         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
8947         language bindings can (de)marshall correctly.
8948
8949         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
8950
8951         * gst/gsterror.c (gst_g_error_get_type): New function
8952
8953         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
8954         with VOID:OBJECT,OBJECT,STRING 
8955
8956 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
8957
8958         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
8959         Free a leaked g_timer on early returns.
8960
8961 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8962
8963         * docs/pwg/advanced-types.xml:
8964           Add cinepak description.
8965
8966 2004-03-07  David Schleef  <ds@schleef.org>
8967
8968         * docs/random/mimetypes:  Added cinepak description
8969
8970 2004-03-07  Andy Wingo  <wingo@pobox.com>
8971
8972         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
8973
8974         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
8975         there are no links to other groups when a group is destroyed.
8976         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
8977         removed from a group, make sure the link count to elements linked
8978         to other pads is appropriately decremented. This really fixes
8979         #135672.
8980
8981         The 1.60->1.61 patch has been reapplied in light of this fix.
8982
8983         * gst/gstelement.c (gst_element_dispose): Really protect against
8984         multiple invocations this time.
8985
8986 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8987
8988         * docs/gst/gstreamer-sections.txt:
8989         * docs/gst/tmpl/gsttag.sgml:
8990           remove some deprecated functions, document some existing ones
8991         * gst/gsttag.c: (gst_tag_get_flag):
8992         * gst/gsttag.h:
8993           add accessor function
8994
8995 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8996
8997         * docs/gst/gstreamer-sections.txt:
8998         * docs/gst/tmpl/gsttag.sgml:
8999         * docs/gst/tmpl/gstxml.sgml:
9000         * gst/gsttag.c: (gst_tag_get_flag):
9001         * gst/gsttag.h:
9002
9003 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9004
9005         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9006         leak
9007
9008 2004-03-05  David Schleef  <ds@schleef.org>
9009
9010         * REQUIREMENTS: Add bison and flex.
9011         * configure.ac: Fix comment about bison.
9012         * docs/random/ds/0.9-suggested-changes: yer ma
9013         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9014
9015 2004-03-05  Benjamin Otte  <otte@gnome.org>
9016
9017         * gst/gstelement.c: (gst_element_error_full):
9018           revert recent recursive state changing commit - messing with other
9019           elements' states is evil and should be done by apps only.
9020
9021 2004-03-05  Benjamin Otte  <otte@gnome.org>
9022
9023         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9024           check for empty intersection instead of NULL caps
9025         (gst_element_get_compatible_pad_filtered):
9026           remove old workaround that is only a bug nowadays
9027
9028 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9029
9030         * gst/gstelement.c: (gst_element_error_full):
9031           make elements try to recursively change state to PAUSED on all
9032           parents after an error to suppress ensuing warnings
9033         * gst/parse/grammar.y:
9034           make it check if it was able to sync the state, and throw an error
9035           if not, so stuff like
9036           oggdemux ! vorbisdec ! osssink gets caught
9037
9038 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9039
9040         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9041           it contains lib64; use AS_AC_EXPAND to handle it properly
9042
9043 2004-03-05  David Schleef  <ds@schleef.org>
9044
9045         * gst/gstcpuid_i386.s:  Remove unused code
9046         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9047         (gst_getbits_newbuf): Remove MMX code
9048         * libs/gst/getbits/getbits.h: Remove MMX code
9049
9050 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9051
9052         * debian/.cvsignore:
9053         * debian/README.Debian:
9054         * debian/changelog:
9055         * debian/control:
9056         * debian/control.in:
9057         * debian/copyright:
9058         * debian/gstreamer-core-libs-dev.files:
9059         * debian/gstreamer-core-libs.files:
9060         * debian/gstreamer-core.files:
9061         * debian/gstreamer-core.postinst:
9062         * debian/gstreamer-core.postrm:
9063         * debian/gstreamer-doc.files:
9064         * debian/gstreamer-doc.links:
9065         * debian/gstreamer-doc.lintian:
9066         * debian/gstreamer-runtime.files:
9067         * debian/gstreamer-runtime.manpages:
9068         * debian/gstreamer-runtime.postinst:
9069         * debian/gstreamer-runtime.postrm:
9070         * debian/gstreamer-tools.files:
9071         * debian/gstreamer-tools.manpages:
9072         * debian/libgstreamer-dev.files:
9073         * debian/libgstreamer0.4.1.files:
9074         * debian/libgstreamerVERSION.files:
9075         * debian/rules:
9076         Debian package info not maintained here.
9077
9078 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9079
9080         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9081         * gst/gstbin.c: (gst_bin_class_init):
9082         * gst/gstelement.c: (gst_element_class_init):
9083         * gst/gstindex.c: (gst_index_class_init):
9084         * gst/gstobject.c: (gst_object_class_init),
9085         (gst_signal_object_class_init):
9086         * gst/gstpad.c: (gst_pad_template_class_init):
9087         * gst/gstregistry.c: (gst_registry_class_init):
9088         * gst/gsturi.c: (gst_uri_handler_base_init):
9089         * gst/gstxml.c: (gst_xml_class_init):
9090         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9091         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9092           make all signal names use dashes instead of underscore
9093
9094 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9097
9098 2004-03-03  Benjamin Otte  <otte@gnome.org>
9099
9100         * gst/schedulers/gstoptimalscheduler.c:
9101           revert last commit by Andy Wingo. It causes segfaults on unreffing
9102           in Rhythmbox. (see bug #135672)
9103
9104 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9105
9106         * po/fr.po: fix typo
9107
9108 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9109
9110         * tools/gst-inspect.c: (main): 
9111         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9112
9113 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * configure.ac:
9116           get GLIB_ONLY and POPT flags for the nonversioned binaries
9117         * tools/Makefile.am:
9118           use them
9119
9120 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9121
9122         * gst/gst.c: (init_post):
9123           change so that GST_REGISTRY now is where the global registry gets
9124           saved, since that is where plugins now get attached to first, and
9125           spilled over to the user registry.  Note that in the case of using
9126           GST_REGISTRY env var, we don't want to affect any real registries
9127           beyond the one given by this var, and thus we don't set a user
9128           registry to spill to.  So make sure GST_REGISTRY is writable.
9129
9130 2004-03-01  David Schleef  <ds@schleef.org>
9131
9132         * AUTHORS:  Added some names.  Add yourself if you're missing.
9133
9134 2004-03-01  David Schleef  <ds@schleef.org>
9135
9136         * MAINTAINERS: Add
9137
9138 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9139
9140         * configure.ac:
9141           remove whitespace
9142         * docs/gst/tmpl/gstbuffer.sgml:
9143         * docs/gst/tmpl/gstdata.sgml:
9144         * docs/gst/tmpl/gstreamer-unused.sgml:
9145         * docs/gst/tmpl/gstxml.sgml:
9146           doc update
9147         * docs/manuals.mak:
9148           add a FIXME
9149         * docs/pwg/intro-preface.xml:
9150         * docs/pwg/pwg.xml:
9151           remove GNOME
9152         * gst/gst.c: (init_post):
9153           try GST_PLUGIN_PATH paths for the _global_registry first
9154         * gst/gstelement.h:
9155           add the error message as well, otherwise (null) debug info doesn't
9156           make much sense
9157         * tools/gst-register.c: (main):
9158           spill paths to next registry if this registry is not writable
9159         * po/fr.po:
9160         * po/nl.po:
9161           translation updates
9162
9163 2004-03-01  Johan Dahlin  <johan@gnome.org>
9164
9165         * gst/gstbuffer.c (_gst_buffer_initialize): 
9166         * gst/gstdata.c (gst_data_get_type): 
9167         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9168         instead of ref, since some applications that uses GBoxed
9169         routines depends on a function that actually returns a copy.
9170
9171 2004-02-27  Benjamin Otte  <otte@gnome.org>
9172
9173         * gst/gstbuffer.h:
9174           remove gst_buffer_free, use gst_data_unref
9175         * gst/gstdata.c: (gst_data_get_type):
9176           use refcounting in GstData GBoxed registration
9177         * gst/gstdata.h:
9178           remove gst_data_free, use gst_data_unref
9179
9180 2004-02-27  Johan Dahlin  <johan@gnome.org>
9181
9182         * gst/gstdata.c (gst_data_get_type): New function, register
9183         GstData as a GBoxed type.
9184
9185         * gst/gstdata.h (GST_TYPE_DATA): New macro
9186
9187 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         * Makefile.am:
9190         * gstreamer.spec.in:
9191           put back RELEASE
9192         * gst/Makefile.am:
9193           clean up non-disting of built files
9194         * testsuite/debug/commandline.c:
9195           test fix for option rename
9196
9197 2004-02-26  David Schleef  <ds@schleef.org>
9198
9199         * configure.ac:  We don't really need glib-2.3.  Also remove
9200         some unneeded checks for library functions.
9201         * gst/Makefile.am:  Instead, we need to not dist files created
9202         by glib-genmarshal.
9203
9204 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9205
9206         * configure.ac:
9207           bump glib required version to 2.3.0 for g_value_takes_boxed
9208
9209  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9210
9211         * common/m4/gst-docs.m4
9212         change flavour text from enable to disable as enable is our default
9213         closes bug Bug 135304
9214
9215 === release 0.7.5 ===
9216  
9217  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9218  
9219         * NEWS:
9220           instate NEWS file
9221         * Makefile.am:
9222         * gstreamer.spec.in:
9223         * RELEASE:
9224           put back release
9225         * configure.ac:
9226         * docs/random/release:
9227           more updates
9228
9229 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9230
9231         * gst/gsttag.c: (_gst_tag_initialize):
9232         * po/fr.po:
9233         * po/nl.po:
9234           remove hyphen from codec tags
9235
9236 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9237
9238         * gst/parse/Makefile.am:
9239           fix dependency so that a make from a clean build works the first
9240           time
9241
9242 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9243
9244         * docs/random/release:
9245           update release strategy
9246         * po/fr.po:
9247           auto-update po file
9248         * po/nl.po:
9249           update dutch translation
9250
9251 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9252
9253         * docs/manual/debugging.xml:
9254         fix manual for new debugging system
9255
9256 2004-02-25  Andy Wingo  <wingo@pobox.com>
9257
9258         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9259         gst_pad_link_prepare. Please email the list with specific reasons
9260         for reverting.
9261
9262 2004-02-24  Andy Wingo  <wingo@pobox.com>
9263
9264         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9265         invocations.
9266
9267         * gst/schedulers/gstoptimalscheduler.c:
9268         I added a mess of prototypes at the top of the file by way of
9269         documentation. Some of the operations on chains and groups were
9270         re-organized.
9271
9272         (create_group): Added a type argument so if the group is enabled,
9273         the setup_group_scheduler knows what to do.
9274         (group_elements): Added a type argument here, too, to be passed on
9275         to create_group.
9276         (group_element_set_enabled): If an unlinked PLAYING element is
9277         added to a bin, we have to create a new group to hold the element,
9278         and this function will be called before the group is added to the
9279         chain. Thus we have a valid case for group->chain==NULL. Instead
9280         of calling chain_group_set_enabled, just set the flag on the group
9281         (the chain's status will be set when the group is added to it).
9282         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9283         Setup the group scheduler when the group is enabled, not
9284         specifically when an element goes PAUSED->PLAYING. This means
9285         PLAYING elements can be added, linked, and scheduled into a
9286         PLAYING pipeline, as was intended.
9287         (add_to_group): Don't ref the group twice. I don't know when this
9288         double-ref got in here. Removing it has the potential to cause
9289         segfaults if other parts of the scheduler are buggy. If you find
9290         that the scheduler is segfaulting for you, put in an extra ref
9291         here and see if that hacks over the underlying issue. Of course,
9292         then find out what code is unreffing a group it doesn't own...
9293         (create_group): Make the extra refcount floating, and remove it
9294         after adding the element. This means that...
9295         (unref_group): Destroy when the refcount reaches 0, not 1, like
9296         every other refcounted object in the known universe.
9297         (remove_from_group): When a group becomes empty, set it to be not
9298         active, and remove it from its chain. Don't unref it again,
9299         there's no floating reference any more.
9300         (destroy_group): We have to remove the group from the chain in
9301         remove_from_group (rather than here) to break refcounting cycles
9302         (the chain always has a ref on the group). So assert that
9303         group->chain==NULL.
9304         (ref_group_by_count): Removed, it was commented out anyway.
9305         (merge_chains): Use the remove_from_chain and add_to_chain
9306         primitives to do the reparenting, instead of rolling our own
9307         implementation.
9308         (add_to_chain): The first non-disabled group in the chain's group
9309         list will be the entry point for the chain. Because buffers can
9310         accumulate in loop elements' peer bufpens, we preferentially
9311         schedule loop groups before get groups to avoid unnecessary
9312         execution of get-based groups when the bufpens are already full.
9313         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9314         (get_group_schedule_function): Ditto.
9315         (loop_group_schedule_function): Ditto.
9316         (gst_opt_scheduler_loop_wrapper): Ditto.
9317         (gst_opt_scheduler_iterate): Ditto.
9318
9319         I understand the opt scheduler now, yippee!
9320
9321         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9322         (gst_pad_get_name, gst_pad_set_chain_function) 
9323         (gst_pad_set_get_function, gst_pad_set_event_function) 
9324         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9325         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9326         (gst_pad_set_query_function, gst_pad_get_query_types) 
9327         (gst_pad_get_query_types_default) 
9328         (gst_pad_set_internal_link_function) 
9329         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9330         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9331         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9332         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9333         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9334         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9335         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9336         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9337         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9338         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9339         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9340         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9341         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9342         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9343         argument checks, and some doc fixes.
9344
9345         (gst_pad_custom_new_from_template): Um, does anyone
9346         use these functions? Actually make a custom pad instead of a
9347         normal one.
9348         (gst_pad_try_set_caps): Transpose some checks.
9349         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9350         the pad is in negotiation.
9351         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9352         
9353         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9354
9355         * gst/gstelement.h: 
9356         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9357         on the list.
9358
9359 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9360
9361         * gst/gstbin.c: (gst_bin_add):
9362           add error for not being able to add elements
9363
9364 2004-02-22  Julien MOUTTE <julien@moutte.net>
9365
9366         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9367         audio-codec and video-codec.
9368
9369 2004-02-22  Benjamin Otte  <otte@gnome.org>
9370
9371         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9372
9373         * autogen.sh:
9374           replace test -e with test -x for mkinstalldirs to be more portable.
9375           (fixes #134816)
9376
9377 2004-02-22  Benjamin Otte  <otte@gnome.org>
9378
9379         * gst/gstpad.c:
9380           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9381           too noisy
9382         * gst/gsttag.c: (_gst_tag_initialize):
9383         * gst/gsttag.h:
9384           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9385         * libs/gst/control/dparam.c: (gst_dparam_attach):
9386         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9387           check that types for attached dparams match
9388
9389 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9390
9391         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9392         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9393         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9394           fix errors
9395
9396 2004-02-20  Andy Wingo  <wingo@pobox.com>
9397
9398         * gst/gstbin.c:
9399         * gst/gstbuffer.c:
9400         * gst/gstplugin.c:
9401         * gst/registries/gstxmlregistry.c: 
9402         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9403
9404         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9405         (gst_element_add_pad): DEBUG->INFO, some fixes.
9406         (gst_element_get_compatible_pad_template): Just see if the
9407         templates' caps intersect, not if one is a strict subset of the
9408         other. This conforms more to what gst_pad_link_intersect() does.
9409         (gst_element_class_add_pad_template): Don't memcpy the pad
9410         template, just ref it.
9411         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9412
9413         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9414         (gst_pad_link_filtered): Debug changes.
9415         (gst_pad_link_prepare): New function, consolidated from
9416         can_link_filtered and link_filtered.
9417
9418         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9419         look more like that of the functions in gstelement.c
9420
9421         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9422         object, and return the empty string if object is NULL.
9423
9424         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9425         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9426         LOG, not DEBUG. We still get flex info on debug.
9427
9428         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9429         debug string more verbose.
9430         (plugin_times_older_than): DEBUG->LOG.
9431
9432 2004-02-20  Julien MOUTTE <julien@moutte.net>
9433
9434         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9435         will emit found_tag for each stream they demux with the codec.
9436
9437 2004-02-20  Benjamin Otte  <otte@gnome.org>
9438
9439         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9440           copy navigation event correctly. Check freeing tag lists. 
9441         * gst/gstthread.c: (gst_thread_change_state):
9442           don't abort() on state changing mess - it might happen because of
9443           bugs.
9444         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9445           use boxed functions
9446         * gst/gstvalue.h:
9447           fix GST_VALUE_HOLDS_CAPS
9448
9449 2004-02-19  David Schleef  <ds@schleef.org>
9450
9451         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9452         and use it for GST_FUNCTION.  (bug #134750)
9453
9454 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9455
9456         * po/fr.po:
9457         * po/nl.po:
9458           updating translations
9459
9460 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9461
9462         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9463
9464 2004-02-18  kost@imn.htwk-leipzig.de
9465
9466         reviewed by: David Schleef  <ds@schleef.org>
9467
9468         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9469         for libgstcontrol.
9470
9471 2004-02-18  David Schleef  <ds@schleef.org>
9472
9473         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9474         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9475         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9476         * tools/gst-inspect.c: (print_element_info): Support dumping of
9477         double dparam information.
9478
9479 2004-02-17  David Schleef  <ds@schleef.org>
9480
9481         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9482         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9483         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9484         Use GST_TYPE_CAPS in signal prototype.
9485         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9486         Convert GST_TYPE_CAPS to boxed.
9487         * gst/gstelement.c: (gst_element_class_init):
9488         Use GST_TYPE_TAG_LIST in signal prototype.
9489         * gst/gstindex.c: (gst_index_class_init):
9490         * gst/gstindex.h:
9491         Add GST_TYPE_INDEX_ENTRY type.
9492         * gst/gstmarshal.list:
9493         Add necessary marshal types.
9494         * gst/gstpad.c: (gst_real_pad_class_init),
9495         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9496         (gst_pad_recover_caps_error):
9497         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9498         * gst/gststructure.c: (_gst_structure_initialize),
9499         (gst_structure_copy), (_gst_structure_copy_conditional):
9500         * gst/gststructure.h:
9501         Convert GST_TYPE_STRUCTURE to boxed.
9502         * gst/gsttag.c: (gst_tag_list_get_type):
9503         * gst/gsttag.h:
9504         Add GST_TYPE_TAG_LIST type.
9505
9506 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9507
9508         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9509         to what we agreed with david.
9510         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9511
9512 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9513
9514         * po/nl.po: update translation
9515
9516 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9517
9518         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9519           throw an error if spider is trying to play a mime type there is
9520           no decoder for
9521         * po/POTFILES.in:
9522           add gst/autoplug/gstspider.c for translation
9523
9524 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9525
9526         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9527         silently when the pad is negotiating.
9528
9529 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9530
9531         * docs/faq/Makefile.am:
9532           add script to run gstreamer uninstalled 
9533         * docs/faq/faq.xml:
9534         * docs/faq/developing.xml:
9535         * docs/faq/gst-uninstalled:
9536           extract script to run gstreamer uninstalled
9537         * docs/manuals.mak:
9538           add EXTRA_SOURCES variable for Makefile.am's to set to
9539           use additional SOURCE files for the doc build
9540
9541 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9542
9543         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9544
9545 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9546
9547         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9548         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9549         an error was thrown by osssink. Basically a state change failure for
9550         an element in a different scheduling group was considered as
9551         successful, which means that caps nego was going on and weird stuff
9552         happened. Like I wrote in the comment there, if someone wants to
9553         revert that please drop me a mail explaining why because I really see
9554         no point in keeping that broken behaviour there.
9555         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9556         be empty, we then return NULL which will trigger a nice error when 
9557         pulling from the pad.
9558
9559 2004-02-13  David Schleef  <ds@schleef.org>
9560
9561         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9562         (gst_dparam_get_property), (gst_dparam_set_property),
9563         (gst_dparam_do_update_default):
9564         * libs/gst/control/dparam.h:
9565         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9566         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9567         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9568         (gst_dpsmooth_do_update_double):
9569         * libs/gst/control/dparam_smooth.h:
9570         * libs/gst/control/dparammanager.c:
9571         (gst_dpman_inline_direct_update):
9572         Add support for double dparams.
9573
9574 2004-02-13  David Schleef  <ds@schleef.org>
9575
9576         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9577         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9578
9579 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9580
9581         reviewed by: David Schleef  <ds@schleef.org>
9582
9583         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9584         (gst_fdsrc_init), (gst_fdsrc_set_property),
9585         (gst_fdsrc_get_property), (gst_fdsrc_get):
9586         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9587         and sends an EOS event if file descriptor reading times out.
9588
9589 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9590
9591         * configure.ac:
9592           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9593
9594 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9595
9596         * configure.ac: pass required libxml version as argument
9597         (bug reported by Christophe Fergeau)
9598
9599 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9600   
9601         * docs/gst/gstreamer-docs.sgml:
9602         * docs/gst/tmpl/gstxml.sgml:
9603         * docs/libs/gstreamer-libs-docs.sgml:
9604           version API docs
9605
9606 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9607
9608         * gst/gstinfo.c:
9609         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9610         (gst_registry_pool_feature_filter):
9611         * gst/gstthread.c: (gst_thread_class_init):
9612         * gst/gstvalue.c:
9613           add includes exposed by building without libxml
9614         * gst/indexers/Makefile.am:
9615           do not build fileindex when LOADSAVE disabled; we should have
9616           a better libxml check later since fileindex depends on xml, not
9617           LOADSAVE or REGISTRY
9618         * libs/gst/control/Makefile.am:
9619           link with m
9620         * tools/Makefile.am:
9621           fix wrong source code for gst-xmlinspect
9622
9623 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9624
9625         * configure.ac:
9626           fix gcov help output
9627           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9628         * docs/random/release:
9629           some updated releasing notes
9630         * gstreamer.spec.in:
9631           more updates
9632
9633 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9634
9635         * docs/faq/faq.xml:
9636         * docs/manual/manual.xml:
9637         * docs/pwg/pwg.xml:
9638         * docs/pwg/titlepage.xml:
9639           put version in documentation
9640
9641 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9642
9643         * tools/Makefile.am: fix man page installation
9644
9645 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9646
9647         * configure.ac:
9648           don't check for libxml when load/save and registry disabled (#105844)
9649         * gstreamer.spec.in:
9650           sync with fedora candidate spec
9651
9652 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9653
9654         * po/fr.po:
9655         * po/nl.po:
9656           replace multidisksrc with multifilesrc
9657
9658 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9659
9660         * po/POTFILES.in:
9661           update to multidisksrc => multifilesrc file renaming (#134145)
9662
9663 2004-02-11  David Schleef  <ds@schleef.org>
9664
9665         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9666         * docs/gst/tmpl/gstpadtemplate.sgml: same
9667         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9668         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9669         fixing dance.
9670         * gst/gstutils.c: Remove disabled code that uses GstProps.
9671         * gst/registries/gstxmlregistry.h: same
9672         * docs/random/ds/0.9-suggested-changes: random notes
9673
9674 2004-02-11  kost@imn.htwk-leipzig.de
9675
9676         reviewed by: David Schleef  <ds@schleef.org>
9677
9678         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9679         initialisation of clock (bug #134128)
9680
9681 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9682
9683         * configure.ac:
9684         * gst/elements/Makefile.am:
9685         * gst/elements/gstelements.c:
9686         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9687         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9688         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9689         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9690         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9691         * gst/elements/gstmultifilesrc.h:
9692           rename multidisksrc to multifilesrc (part of #122200)
9693
9694 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * docs/manuals.mak:
9697           fix automake complaints
9698         * gst-element-check.m4:
9699           fix unquotedness
9700
9701 2004-02-11  David Schleef  <ds@schleef.org>
9702
9703         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9704         * gst/gstatomic_impl.h: Disable sparc implementation.
9705
9706 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9707
9708         * gst-element-check.m4:
9709           fix underquoted macros as reported by automake 1.8.x (#133800)
9710         * configure.ac:
9711           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9712           by autopoint (fixes #132996)
9713
9714 2004-02-10  Andy Wingo  <wingo@pobox.com>
9715
9716         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9717         way to do inheritance.
9718         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9719         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9720         Routine docs.
9721         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9722         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9723         doc.
9724         (gst_pad_unlink, gst_pad_is_linked): Docs.
9725         (gst_pad_renegotiate): A brief description of capsnego.
9726         (gst_pad_try_set_caps): Document.
9727         (gst_pad_try_set_caps_nonfixed): Document.
9728         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9729         (gst_pad_set_parent): Deprecated (although not out of the API).
9730         (gst_pad_get_parent): Deprecated, although many plugins use this.
9731         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9732         are private and will go away in 0.9.
9733         (gst_pad_perform_negotiate): Doc.
9734         (gst_pad_link_unnegotiate): I think this is meant to be static.
9735         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9736         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9737         (gst_pad_get_peer): Doc updates.
9738         (gst_pad_caps_change_notify): Doc.
9739         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9740         (gst_ghost_pad_new): Doc fixes.
9741
9742         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9743         (gst_object_check_uniqueness): 
9744
9745         * gst/gstelement.c (gst_element_add_pad) 
9746         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9747         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9748         (gst_element_get_static_pad, gst_element_get_pad_list) 
9749         (gst_element_class_get_pad_template_list) 
9750         (gst_element_class_get_pad_template): Work on the docs.
9751         (gst_element_get_pad_template_list): Uses the class method.
9752         (gst_element_get_compatible_pad_template): Docs, and consolidate
9753         some test conditions. 
9754         (gst_element_get_pad_from_template): New static function.
9755         (gst_element_request_compatible_pad): Docs, and work with
9756         non-request compatible templates. 
9757         (gst_element_get_compatible_pad_filtered): Docs and remove
9758         redundant checks.
9759         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9760         (gst_element_link_filtered, gst_element_link_many) 
9761         (gst_element_link, gst_element_link_pads) 
9762         (gst_element_unlink_many): Docs.
9763
9764 2004-02-05  Andy Wingo  <wingo@pobox.com>
9765
9766         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9767         s/pointer/boxed/.
9768
9769         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9770
9771         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9772         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9773         with the type=GST_TYPE_CAPS. This allows language bindings to know
9774         what kind of data they're dealing with.
9775
9776         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9777         to NULL when g_value_init is called. GstCaps, which rolls its own
9778         type implementation, now does the same instead of allocating empty
9779         caps.
9780         (_gst_caps_initialize, _gst_caps_collect_value,
9781         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9782         table methods. This allows G_VALUE_COLLECT to work.
9783
9784 2004-02-05  Andy Wingo  <wingo@pobox.com>
9785
9786         * configure.ac:
9787         * testsuite/Makefile.am (SUBDIRS): 
9788         * testsuite/ghostpads/Makefile.am: 
9789         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9790
9791         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9792         These two routines are the only ones that set
9793         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9794         pad template. They should be made static, depending on ABI needs.
9795         (gst_real_pad_dispose): Handle the case of ghost pads without a
9796         parent. Assert after dealing with ghost pads that the ghost pad
9797         list is empty.
9798         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9799         set after creation.
9800         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9801         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9802         functions. set_property will call add_ghost_pad/remove_ghost_pad
9803         as appropriate.
9804         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9805
9806         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9807         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9808         (gst_element_remove_pad): Handle ghost pads as well.
9809         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9810         depending on API-stability needs).
9811
9812 2004-02-05  Andy Wingo  <wingo@pobox.com>
9813
9814         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9815         of course they're const
9816
9817 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9818
9819         * tools/Makefile.am:
9820         * tools/gst-feedback:
9821         * tools/gst-feedback-0.7:
9822           make gst-feedback versioned too for consistency
9823
9824 2004-02-11  David Schleef  <ds@schleef.org>
9825
9826         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9827         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9828
9829 2004-02-10  Julien MOUTTE <julien@moutte.net>
9830
9831         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9832         the structure does not contain a valid tag list. Adding a safety check
9833         to remove a noisy warning in that case.
9834
9835 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9836
9837         * gst/gst.c: fix name to be in line with others
9838
9839 2004-02-09  Julien MOUTTE <julien@moutte.net>
9840
9841         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9842         not shout that loud when len is 0. Just return 0 silently.
9843
9844 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9845
9846         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9847         because data_unref has one and I prefer the debug to be symetric.
9848         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9849         were refed when added to the queue and unrefed only once when the queue
9850         was flushed. Now the flush handler unref the buffers two times : first
9851         unref for the ref added when pushing in the queue's tail and second
9852         unref to destroy the flushed buffer.
9853
9854 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9857
9858 2004-02-06  David Schleef  <ds@schleef.org>
9859
9860         * docs/random/ds/0.9-suggested-changes: Random ramblings
9861         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9862         to int before printing.
9863         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9864         * gst/parse/parse.l: same.  See bug #129600
9865
9866 2004-02-06  David Schleef  <ds@schleef.org>
9867
9868         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
9869         (gst_index_add_entry), (gst_index_add_associationv),
9870         (gst_index_add_association): Add gst_index_add_associationv()
9871         and clean up gst_index_add_association(). #127133
9872
9873 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9874
9875         * autogen.sh: check out common with right tag if CVS/Tag exists
9876
9877 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * testsuite/ghostpads/ghostpads.c: (main):
9880           fix testsuite from segfaulting
9881
9882 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * Makefile.am: add release target
9885         * configure.ac: bump nano to 1
9886         * docs/random/release:
9887
9888 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9889
9890         * gst/gstcaps.h:
9891         * gst/gstelement.c: (gst_element_base_class_init),
9892         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9893         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9894         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9895         (gst_real_pad_dispose):
9896         * gst/gststructure.c: (gst_structure_free),
9897         (gst_structure_from_string):
9898           put reverted patch back in
9899         * gst/gstelement.c: (gst_element_remove_pad):
9900           free explicit caps if they're set
9901         * gst/gstpad.c: (_gst_pad_default_fixate_func):
9902           copy the structure when fixating
9903
9904 2004-02-05  David Schleef  <ds@schleef.org>
9905
9906         * gst/gstmarshal.list:
9907         * gst/gstpad.c: (gst_real_pad_class_init),
9908         (_gst_real_pad_fixate_accumulator):
9909         Revert POINTER->BOXED change in signal marshaller.
9910
9911 === release 0.7.4 ===
9912                                                                                 
9913 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9914                                                                                 
9915         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
9916         * configure.ac: changed for release
9917
9918 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9919
9920         * gstreamer.spec.in:
9921           bump required version of gtk-doc
9922
9923 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9924
9925         * gst/gstcaps.h:
9926         * gst/gstelement.c: (gst_element_base_class_init),
9927         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9928         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9929         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9930         (gst_real_pad_dispose):
9931         * gst/gststructure.c: (gst_structure_free),
9932         (gst_structure_from_string):
9933           revert patch that breaks applications, reapply after release
9934           to get this fixed properly
9935
9936 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9937
9938         * gst/gsttag.c: (_gst_tag_initialize):
9939         * gst/gsttag.h:
9940           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
9941
9942 2004-02-04  David Schleef  <ds@schleef.org>
9943
9944         Fix some memleaks:
9945         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
9946         (gst_spider_plug_from_srcpad):
9947         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
9948
9949 2004-02-04  David Schleef  <ds@schleef.org>
9950
9951         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
9952         a GstRealPad before accessing its structure members.
9953
9954 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9955
9956         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
9957         (gst_clock_get_speed):
9958         * gst/gstclock.h:
9959           reset padding, remove unused fields
9960
9961 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9962
9963         * gst/autoplug/gstspideridentity.c:
9964         (gst_spider_identity_sink_loop_type_finding):
9965           use get_allowed_caps, not get_caps (fixes #132519)
9966         * gst/elements/gsttypefind.c: (stop_typefinding):
9967           use correct order when sending buffers and seeking
9968
9969 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9970
9971         * configure.ac:
9972         * gst/gstelement.h:
9973         * gst/gstpad.h:
9974         * gst/gstqueue.h:
9975           upgrade libtool CURRENT, reset padding
9976
9977 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9978
9979         * configure.ac:
9980           bump to prerelease
9981           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
9982
9983 2004-02-04  David Schleef  <ds@schleef.org>
9984
9985         * docs/random/ds/0.9-suggested-changes: random notes
9986         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
9987         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
9988         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
9989         expansion.
9990         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9991         (gst_filesink_get_query_types): same
9992         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
9993         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
9994         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
9995         to use new GST_PTR_FORMAT.
9996         * gst/gstelement.h: deprecate function factory macros
9997         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
9998         These are our last variadic macros that can't be replaced with
9999         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10000         attempting to deprecate gst_element_clock_wait().
10001         * gst/gstevent.h: same
10002         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10003         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10004         * gst/gstpad.h: deprecate function factory macros similar to above.
10005
10006 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10007
10008         * configure.ac:
10009         * tools/Makefile.am:
10010         * tools/gst-run.c: (popt_callback), (hash_print_key),
10011         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10012         (get_candidates), (main):
10013           add new source file to generate non-versioned wrapper binaries
10014           for our tools.
10015
10016 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10017
10018         * gst/gstevent.c: (_gst_event_free):
10019           actually break; inside the switch statement
10020         * gst/parse/grammar.y:
10021           fix memleak where GValues weren't unset
10022
10023 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10024
10025         * gst/gststructure.c: (gst_structure_from_string):
10026           fix huge memleak
10027         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10028         (new_entry), (gst_type_find_element_chain):
10029         * gst/gstelement.c: (gst_element_base_class_init),
10030         (gst_element_class_set_details):
10031         * gst/gstpad.c: (gst_pad_can_link_filtered):
10032           fix smaller memleaks
10033         * gst/gstpad.c: (gst_real_pad_dispose):
10034           check that explicit caps are gone
10035         * gst/gststructure.c: (gst_structure_free):
10036           actually free the structure
10037         * gst/gstelement.c: (gst_element_clear_pad_caps):
10038           unset explicit caps
10039
10040 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10041
10042         * tools/Makefile.am:
10043           use AM_CFLAGS since all the CFLAGS are the same
10044           use AM_LDFAGS
10045
10046 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10047
10048         * docs/manual/gnome.xml:
10049           expand example a little
10050         * gst/gst.c: (gst_init_with_popt_table),
10051         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10052           make sure popt option displays are done with right textdomain
10053           use GstPoptOption type
10054         * gst/gst.h:
10055           create GstPoptOption type
10056
10057 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10058
10059         * gst/gsterror.c: (_gst_stream_errors_init):
10060         * gst/gsterror.h:
10061           adding error type for no codec
10062         * po/POTFILES.in:
10063           add gst-inspect
10064         * po/nl.po:
10065           update dutch translation
10066         * tools/gst-inspect.c: (print_element_list), (main):
10067           do proper internationalization
10068         * tools/gst-launch.c: (idle_func):
10069           remove commented out function call
10070
10071 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10072
10073         * docs/README:
10074           add some error fixing notes
10075         * docs/gst/gstreamer-sections.txt:
10076           remove double entries
10077         * docs/gst/tmpl/gstbin.sgml:
10078         * docs/gst/tmpl/gstclock.sgml:
10079           remove override
10080         * docs/gst/tmpl/gstelement.sgml:
10081         * docs/gst/tmpl/gstindex.sgml:
10082         * docs/gst/tmpl/gstobject.sgml:
10083         * docs/gst/tmpl/gstpadtemplate.sgml:
10084         * docs/gst/tmpl/gstreamer-unused.sgml:
10085         * docs/gst/tmpl/gsttag.sgml:
10086         * docs/gst/tmpl/gstthread.sgml:
10087         * docs/gst/tmpl/gstxml.sgml:
10088         * gst/gsttag.h:
10089           sync header prototypes with c decls
10090         * gst/gsttaginterface.c:
10091           fix doc headers
10092
10093 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10094
10095         * gst/parse/Makefile.am:
10096         * gst/gstobject.h:
10097           get rid of gstmarshal.h dependency. It's not needed.
10098         * gst/gst.h:
10099         * gst/elements/gstfakesink.c:
10100         * gst/elements/gstfakesrc.c:
10101         * gst/elements/gstidentity.c:
10102         * gst/gstbin.c:
10103         * gst/gstelement.c:
10104         * gst/gstindex.c:
10105         * gst/gstobject.c:
10106         * gst/gstpad.c:
10107         * gst/gstthread.c:
10108         * gst/gstxml.c:
10109         * libs/gst/control/dparam.c:
10110         * libs/gst/control/dparammanager.c:
10111           include gstmarshal.h.
10112         Fixes #132045
10113
10114 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10115
10116         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10117         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10118         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10119         * gst/elements/gstfilesrc.h:
10120           don't ref the filesrc when creating mmaped buffers. Don't keep a
10121           list of not-yet-destroyed buffers.
10122         * gst/gstbuffer.h:
10123           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10124
10125 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10126
10127         * gst/gst.c: (init_pre):
10128           remove textdomain
10129
10130 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10131
10132         * docs/pwg/advanced-events.xml:
10133         * docs/pwg/advanced-scheduling.xml:
10134         * docs/pwg/intro-basics.xml:
10135         * docs/pwg/other-manager.xml:
10136         * docs/pwg/other-nton.xml:
10137         * docs/pwg/other-ntoone.xml:
10138         * docs/pwg/other-oneton.xml:
10139         * docs/pwg/pwg.xml:
10140           All sort of documentation... Forgot what. Point is that I want this
10141           in before I leave. The 'other-*' will be the last section and will
10142           explain issues specific to these type of elements.
10143
10144 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10145
10146         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10147         (gst_filesrc_get_read):
10148           set all the values on buffers that we can
10149
10150 2004-02-02  David Schleef  <ds@schleef.org>
10151
10152         Change usage of isblah() to g_ascii_isblah() to be more locale
10153         independent.  (#133076)
10154         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10155         * gst/gstutils.c:
10156         * gst/parse/parse.l:
10157
10158 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10159
10160         reviewed by: David Schleef  <ds@schleef.org>
10161
10162         Fix memory leaks:
10163         * gst/gstcaps.c: (gst_caps_to_string):
10164         * gst/registries/gstxmlregistry.c:
10165         (gst_xml_registry_add_path_list_func),
10166         (gst_xml_registry_parse_padtemplate):
10167
10168 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * gst/gstelement.c: (gst_element_default_error):
10171           suffix error messages with period
10172
10173 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10174
10175         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10176         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10177         * gst/gsterror.c: (gst_error_get_message):
10178           Suffix with dots
10179         * po/fr.po:
10180         * po/nl.po:
10181           Update translation files
10182
10183 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10184
10185         * gst/autoplug/gstspideridentity.c:
10186         (gst_spider_identity_sink_loop_type_finding):
10187         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10188         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10189         (gst_filesink_close_file), (gst_filesink_handle_event),
10190         (gst_filesink_chain):
10191         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10192         (gst_filesrc_get_read), (gst_filesrc_open_file):
10193         * gst/elements/gstidentity.c: (gst_identity_chain):
10194         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10195         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10196         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10197         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10198         * gst/gsterror.c: (_gst_core_errors_init),
10199         (_gst_library_errors_init), (_gst_resource_errors_init),
10200         (_gst_stream_errors_init), (gst_error_get_message):
10201         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10202         (gst_pad_recover_caps_error), (gst_pad_pull):
10203         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10204         * gst/schedulers/gstbasicscheduler.c:
10205         (gst_basic_scheduler_chainhandler_proxy),
10206         (gst_basic_scheduler_gethandler_proxy),
10207         (gst_basic_scheduler_cothreaded_chain):
10208           Suffix error messages with period.
10209           Use (NULL) instead of NULL
10210
10211 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10212
10213         * docs/gst/tmpl/gstelement.sgml:
10214         * docs/gst/tmpl/gstxml.sgml:
10215         * gst/gstelement.c: (gst_element_error_full):
10216           add element path to error
10217
10218 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10219
10220         * docs/random/mimetypes:
10221           update raw int/float info
10222         * gst/gsttag.c: (_gst_tag_initialize):
10223         * gst/gsttag.h:
10224           add GST_TAG_ENCODER
10225
10226 2004-01-30  David Schleef  <ds@schleef.org>
10227
10228         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10229           missing (#132991)
10230
10231 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10232
10233         reviewed by Benjamin Otte 
10234           parts of the patch submitted in bug #113913
10235
10236         * configure.ac:
10237           use AC_C_INLINE. Use = instead of == with test
10238         * examples/plugins/example.c:
10239         * gst/autoplug/gstspideridentity.c:
10240         * gst/elements/gstfdsrc.c:
10241         * gst/elements/gstfilesrc.c:
10242         * gst/elements/gstidentity.c:
10243         * gst/elements/gstmultidisksrc.c:
10244         * gst/elements/gststatistics.c:
10245         * gst/gstelement.c:
10246         * gst/gstobject.c:
10247         * gst/gstpad.c:
10248         * gst/gstpipeline.c:
10249         * gst/gstthread.c:
10250           don't end enums with a comma
10251         * gst/gstindex.c: (gst_index_compare_func):
10252           do explicit casting to gint
10253         * gst/gsttrace.c: (gst_trace_text_flush):
10254           #define strsize as a macro
10255
10256 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10257
10258         * docs/README:
10259         * docs/gst/gstreamer-docs.sgml:
10260         * docs/gst/gstreamer-sections.txt:
10261         * docs/gst/tmpl/gstelement.sgml:
10262         * docs/gst/tmpl/gsterror.sgml:
10263         * docs/gst/tmpl/gstinterface.sgml:
10264         * docs/gst/tmpl/gstreamer-unused.sgml:
10265         * docs/gst/tmpl/gststructure.sgml:
10266         * docs/gst/tmpl/gsttag.sgml:
10267         * docs/gst/tmpl/gsttaginterface.sgml:
10268         * docs/gst/tmpl/gstvalue.sgml:
10269         make sure all API ends up in the built docs
10270         * gst/gstinterface.c:
10271         * gst/gststructure.c: (gst_structure_id_set_value),
10272         (gst_structure_set_value), (gst_structure_id_get_value):
10273         * gst/gststructure.h:
10274         * gst/gstvalue.h:
10275         sync .h with .c declarations
10276
10277 2004-01-30  Julien Moutte  <julien@moutte.net>
10278
10279         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10280         Ronald will fix riffread.
10281
10282 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10283
10284         * docs/pwg/advanced-interfaces.xml:
10285           Added tuner interface docs.
10286
10287 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10288
10289         * docs/random/mimetypes:
10290           correct Theora information
10291         * gst/gstelement.h:
10292           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10293
10294 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * gst/gstelement.c: (gst_element_error_full):
10297         * gst/gstelement.h:
10298           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10299
10300 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10301
10302         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10303         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10304         again and even before DISCONT.
10305         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10306         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10307         bytestream so that it's not stopping to fill the bytestream if events
10308         different than EOS or DISCONT are received. Instead it process them so
10309         that they go downstream.
10310
10311 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * docs/gst/tmpl/gstelement.sgml:
10314         * docs/gst/tmpl/gstreamer-unused.sgml:
10315         * docs/gst/tmpl/gstxml.sgml:
10316         * gst/autoplug/gstspideridentity.c:
10317         (gst_spider_identity_sink_loop_type_finding):
10318         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10319         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10320         (gst_filesink_close_file), (gst_filesink_handle_event),
10321         (gst_filesink_chain):
10322         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10323         (gst_filesrc_get_read), (gst_filesrc_open_file):
10324         * gst/elements/gstidentity.c: (gst_identity_chain):
10325         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10326         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10327         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10328         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10329         * gst/gstelement.h:
10330         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10331         (gst_pad_recover_caps_error), (gst_pad_pull):
10332         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10333         * gst/schedulers/gstbasicscheduler.c:
10334         (gst_basic_scheduler_chainhandler_proxy),
10335         (gst_basic_scheduler_gethandler_proxy),
10336         (gst_basic_scheduler_cothreaded_chain):
10337           gst_element_error -> GST_ELEMENT_ERROR
10338
10339 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10340
10341         * docs/Makefile.am:
10342         * docs/gst/tmpl/gstelement.sgml:
10343         * docs/gst/tmpl/gstxml.sgml:
10344         * docs/manuals.mak:
10345         * docs/pwg/advanced-request.xml:
10346         * docs/pwg/advanced-scheduling.xml:
10347         * docs/pwg/advanced-tagging.xml:
10348           fix non-validating docbook using CDATA
10349           make sure make check-local gets run first to check if it validates
10350
10351 2004-01-29  Julien MOUTTE <julien@moutte.net>
10352
10353         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10354         handling (up and downstream).
10355         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10356         my_filter thing.
10357
10358 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10359
10360         * docs/pwg/advanced-tagging.xml:
10361           Add docs about tag writing.
10362
10363 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10364
10365         * docs/pwg/advanced-tagging.xml:
10366           Add a part about tag reading and application signalling... Tag
10367           writing still needs to be documented.
10368         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10369           We can set file locations in READY, too.
10370
10371 2004-01-29  Julien MOUTTE <julien@moutte.net>
10372
10373         * docs/random/ds/element-checklist: Adding some notes about src
10374         events.
10375
10376 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10377
10378         * docs/random/mimetypes:
10379           Update docs to point to correct elements for various mimetypes, and
10380           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10381           <stephane.loeuillet@tiscali.fr>.
10382
10383 2004-01-28  David Schleef  <ds@schleef.org>
10384
10385         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10386
10387 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10388
10389         * docs/random/mimetypes:
10390           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10391           undefined"
10392         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10393           make it only work in NULL.
10394         * gst/gstcaps.c:
10395           don't posion NULL caps
10396         * gst/gstelement.c: (gst_element_set_time):
10397           add debugging statement
10398         * gst/gstelement.c: (gst_element_emit_found_tag),
10399         (gst_element_found_tag_func), (gst_element_found_tags):
10400         * gst/gstelement.h:
10401           These functions take const taglists
10402         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10403           fix memleak
10404         * gst/gstpad.c: (gst_pad_event_default):
10405           make more effort on handling discont and clocks, g_warn if everything
10406           fails
10407         * gst/gststructure.c: (gst_structure_remove_fields),
10408         (gst_structure_remove_fields_valist):
10409         * gst/gststructure.h:
10410           add gst_structure_remove_fields(_valist)
10411         * gst/gsttag.c:
10412           fix doc glitch
10413
10414 2004-01-28  David Schleef  <ds@schleef.org>
10415
10416         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10417         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10418         Fix memory leakage of gst_caps_to_string().
10419
10420         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10421         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10422         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10423         (gst_spider_identity_sink_loop_type_finding):
10424         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10425         (find_suggest):
10426         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10427         (gst_pad_set_explicit_caps):
10428         * gst/parse/grammar.y:
10429
10430 2004-01-28  David Schleef  <ds@schleef.org>
10431
10432         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10433         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10434         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10435         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10436         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10437         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10438         (gst_debug_log_default), (_gst_info_printf_extension),
10439         (_gst_info_printf_extension_arginfo):  Add printf extension.
10440         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10441         * gst/gststructure.c: (gst_structure_to_string),
10442         (_gst_structure_parse_value): Use gst_value_deserialize() and
10443         remove old code.
10444         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10445         (gst_value_deserialize_boolean), (gst_strtoi),
10446         (gst_value_deserialize_int), (gst_value_deserialize_double),
10447         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10448         a bunch of deserialize functions and gst_value_deserialize.
10449         * gst/gstvalue.h: er, _de_serialize, not unserialize
10450         * testsuite/caps/string-conversions.c: (main): We don't currently
10451         handle (float) in caps, so convert these to (double).
10452         * testsuite/debug/Makefile.am: Add new test for the printf extension
10453         * testsuite/debug/printf_extension.c: (main): same
10454
10455 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10456
10457         * docs/random/company/time:
10458           Add some docs about clocking and time
10459
10460 2004-01-28  Julien MOUTTE <julien@moutte.net>
10461
10462         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10463
10464 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * docs/pwg/advanced-clock.xml:
10467         * docs/pwg/advanced-dparams.xml:
10468         * docs/pwg/advanced-events.xml:
10469         * docs/pwg/advanced-interfaces.xml:
10470         * docs/pwg/advanced-midi.xml:
10471         * docs/pwg/advanced-request.xml:
10472         * docs/pwg/advanced-scheduling.xml:
10473         * docs/pwg/advanced-tagging.xml:
10474         * docs/pwg/advanced-types.xml:
10475         * docs/pwg/appendix-checklist.xml:
10476         * docs/pwg/building-boiler.xml:
10477         * docs/pwg/building-chainfn.xml:
10478         * docs/pwg/building-filterfactory.xml:
10479         * docs/pwg/building-pads.xml:
10480         * docs/pwg/building-props.xml:
10481         * docs/pwg/building-signals.xml:
10482         * docs/pwg/building-state.xml:
10483         * docs/pwg/building-testapp.xml:
10484         * docs/pwg/intro-basics.xml:
10485         * docs/pwg/intro-preface.xml:
10486         * docs/pwg/other-autoplugger.xml:
10487         * docs/pwg/other-sink.xml:
10488         * docs/pwg/other-source.xml:
10489         * docs/pwg/titlepage.xml:
10490           fix up id's
10491
10492 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10493
10494         * docs/95NonPath:
10495         * docs/HACKING:
10496         * docs/README:
10497         * docs/building-the-docs-on-debian:
10498           collect relevant bits of doc info
10499
10500 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10501
10502         * docs/pwg/advanced_tagging.xml:
10503           Half-assed commit so Thomas can re-arrange document IDs here to be
10504           consistent, too.
10505
10506 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10507
10508         * docs/manual/autoplugging.xml:
10509         * docs/manual/bins-api.xml:
10510         * docs/manual/bins.xml:
10511         * docs/manual/buffers-api.xml:
10512         * docs/manual/buffers.xml:
10513         * docs/manual/clocks.xml:
10514         * docs/manual/components.xml:
10515         * docs/manual/cothreads.xml:
10516         * docs/manual/debugging.xml:
10517         * docs/manual/dparams-app.xml:
10518         * docs/manual/dynamic.xml:
10519         * docs/manual/elements-api.xml:
10520         * docs/manual/elements.xml:
10521         * docs/manual/factories.xml:
10522         * docs/manual/gnome.xml:
10523         * docs/manual/goals.xml:
10524         * docs/manual/helloworld.xml:
10525         * docs/manual/helloworld2.xml:
10526         * docs/manual/init-api.xml:
10527         * docs/manual/intro.xml:
10528         * docs/manual/links-api.xml:
10529         * docs/manual/links.xml:
10530         * docs/manual/manual.xml:
10531         * docs/manual/motivation.xml:
10532         * docs/manual/pads-api.xml:
10533         * docs/manual/pads.xml:
10534         * docs/manual/plugins-api.xml:
10535         * docs/manual/plugins.xml:
10536         * docs/manual/programs.xml:
10537         * docs/manual/queues.xml:
10538         * docs/manual/quotes.xml:
10539         * docs/manual/schedulers.xml:
10540         * docs/manual/states-api.xml:
10541         * docs/manual/states.xml:
10542         * docs/manual/threads.xml:
10543         * docs/manual/typedetection.xml:
10544         * docs/manual/xml.xml:
10545           use chapter, part, section or misc as id starts for all bits
10546
10547 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10548
10549         * docs/gst/gstreamer-sections.txt:
10550           Fix up TITLE of the sections
10551
10552 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10553
10554         * docs/pwg/advanced_interfaces.xml:
10555           Add documentation on propertyprobing.
10556         * docs/pwg/advanced_events.xml:
10557         * docs/pwg/advanced_tagging.xml:
10558         * docs/pwg/building_boiler.xml:
10559         * docs/pwg/building_filterfactory.xml:
10560         * docs/pwg/pwg.xml:
10561           Move filterfactory and tagging into their own chapter, add a chapter
10562           on events. all these are empty placeholders that will be filled in
10563           some day.
10564
10565 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10566
10567         * docs/pwg/advanced_interfaces.xml:
10568           Docs for mixer interface. Also a check for website uploading.
10569
10570 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10571
10572         * docs/HACKING:
10573         * docs/Makefile.am:
10574         * docs/faq/Makefile.am:
10575         * docs/gst/Makefile.am:
10576         * docs/gst/tmpl/gstelement.sgml:
10577         * docs/gst/tmpl/gstplugin.sgml:
10578         * docs/gst/tmpl/gstreamer-unused.sgml:
10579         * docs/libs/Makefile.am:
10580         * docs/manual/Makefile.am:
10581         * docs/manuals.mak:
10582         * docs/pwg/Makefile.am:
10583         * docs/upload.mak:
10584           Separate out upload target and make it similar for
10585           both docbook and gtk-doc docs
10586
10587 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10588
10589         * docs/manuals.mak:
10590           Fix upload target to work with freedesktop
10591
10592 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10593
10594         * docs/pwg/advanced_types.xml:
10595           Add notes on creating your own types.
10596         * docs/pwg/building_boiler.xml:
10597         * docs/pwg/building_pads.xml:
10598         * docs/pwg/building_state.xml:
10599           Add some stuff about how to retrieve values from structures, how
10600           that relates to types and change layout slightly again to be almost
10601           perfect.
10602
10603 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10604
10605         * docs/pwg/advanced_dparams.xml:
10606         * docs/pwg/advanced_scheduling.xml:
10607           Change index layout slightly.
10608
10609 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10610
10611         * docs/pwg/advanced_clock.xml:
10612         * docs/pwg/advanced_interfaces.xml:
10613         * docs/pwg/advanced_midi.xml:
10614           General placeholders for now.
10615         * docs/pwg/advanced_request.xml:
10616           Explanation about sometimes and request pads.
10617         * docs/pwg/advanced_scheduling.xml:
10618           Concept of bytestream, loopfunctions and schedulers.
10619         * docs/pwg/building_boiler.xml:
10620           Add something about plugin-init.
10621
10622 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10623
10624         * docs/pwg/building_pads.xml:
10625           Fix broken docbook
10626
10627 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10628
10629         * docs/pwg/advanced_interfaces.xml:
10630         * docs/pwg/pwg.xml:
10631           Add as a placeholder for future filling-in.
10632         * docs/pwg/basics_autoplugging.xml:
10633         * docs/pwg/basics_buffers.xml:
10634         * docs/pwg/basics_elements.xml:
10635         * docs/pwg/basics_events.xml:
10636         * docs/pwg/basics_plugins.xml:
10637         * docs/pwg/basics_types.xml:
10638           Remove, because unused (this is all in intro_basics.xml).
10639         * docs/pwg/building_signals.xml:
10640           Short intro to signals + reference to GObject docs - we really
10641           shouldn't go into these sort of things to deply because we don't
10642           use them that extensively anyway.
10643         * docs/pwg/building_state.xml:
10644           Explanation of states. Benjamin, please check.
10645         * docs/pwg/building_testapp.xml:
10646           Put everything in one page - putting only a few lines of content
10647           per page doesn't really make sense.
10648
10649           Time to get into the advanced topics. ;).
10650
10651 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10652
10653         * docs/pwg/advanced_types.xml:
10654           Finish documenting the current state of mimetypes.
10655         * docs/pwg/building_boiler.xml:
10656         * docs/pwg/building_chainfn.xml:
10657         * docs/pwg/building_pads.xml:
10658         * docs/pwg/building_props.xml:
10659         * docs/pwg/building_testapp.xml:
10660           Start documenting the "how to build a simple audio filter" part
10661           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10662           states and (maybe?) a short introduction to capsnego in the chapter
10663           on pads (building_pads.xml). Capsnego should probably be explained
10664           fully in advanced_capsnego.xml or so.
10665
10666 2004-01-26  David Schleef  <ds@schleef.org>
10667
10668         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10669         * gst/gstpad.h: Add new function to allow element to (somewhat)
10670         specify non-fixed caps on a pad.
10671         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10672         that I added a few weeks ago.
10673
10674 2004-01-26  David Schleef  <ds@schleef.org>
10675
10676         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10677           making try_set_caps() work with non-fixed caps.
10678
10679 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10680
10681         * docs/pwg/advanced_types.xml:
10682         * docs/pwg/intro_basics.xml:
10683         * docs/pwg/intro_preface.xml:
10684         * docs/pwg/pwg.xml:
10685         * docs/pwg/titlepage.xml:
10686           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10687           in here (docs/random/mimetypes), and will from there on work on both
10688           updating outdated parts and adding missing parts.
10689           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10690
10691 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10694           policy is set
10695
10696 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10697
10698         * gst/gstelement.h:
10699           remove gst_element_factory_get_version. It doesn't exist anymore.
10700         * gst/gstplugin.c:
10701         * gst/gstplugin.h:
10702           remove gst_plugin_set_name and change gst_plugin_get_longname to
10703           gst_plugin_get_description to match code.
10704         * gst/gsterror.h:
10705           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10706         * gst/gstpad.c: (gst_pad_try_set_caps):
10707           make it work with nonfixed caps.
10708           Note that even in the nonfixed case the link function of the pad
10709           that tries to set caps isn't called.
10710
10711 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10712
10713         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10714           fix bug where buffer was not assembled correctly
10715         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10716           silence by default
10717         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10718           only seek if there's no more buffers that could work without seeking
10719
10720 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10721
10722         * gst/gsttag.c: (_gst_tag_initialize):
10723         * gst/gsttag.h:
10724           Add application tag (for encoding/muxing app).
10725
10726 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10727
10728         * autogen.sh:
10729           make autopoint force, and libtoolize not copy
10730         * common/m4/as-docbook.m4:
10731           added docbook xml catalog setup check
10732         * common/m4/gst-doc.m4:
10733           use docbook check
10734
10735 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10738         * gst/gsttag.h:
10739           add GstTagFlag
10740
10741 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10742
10743         * docs/gst/gstreamer-sections.txt:
10744         * docs/gst/tmpl/gst.sgml:
10745         * docs/gst/tmpl/gstbuffer.sgml:
10746         * docs/gst/tmpl/gstclock.sgml:
10747         * docs/gst/tmpl/gstelement.sgml:
10748         * docs/gst/tmpl/gstreamer-unused.sgml:
10749         * docs/gst/tmpl/gstxml.sgml:
10750           sync latest API changes to docs
10751
10752 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10753
10754         * gst/gstpluginfeature.c:
10755           fix doc snippet
10756         * tools/gst-inspect.c: (print_element_list):
10757           fix output of typefind
10758           add GPL header
10759         * tools/gst-launch.c:
10760           add GPL header
10761
10762 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10763
10764         * gst/elements/Makefile.am:
10765         * gst/elements/gstelements.c:
10766         * gst/elements/gsttypefindelement.c:
10767         * gst/elements/gsttypefindelement.h:
10768         * po/POTFILES.in:
10769         * po/fr.po:
10770         * po/nl.po:
10771           renamed gsttypefindelement to gsttypefind, conserving CVS history
10772
10773 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10776         * gst/gsttag.h:
10777           add some tags used in ogg as well
10778           fix _ in replaygain tags
10779
10780 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10781
10782         * gst/gsterror.h:
10783           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10784
10785 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10786
10787         * gst/gstelement.c: (gst_element_error_full):
10788         * gst/gstelement.h:
10789           change _extended to _full
10790
10791 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10792
10793         reviewed by: <delete if not using a buddy>
10794
10795         * docs/gst/tmpl/gst.sgml:
10796         * docs/gst/tmpl/gstbuffer.sgml:
10797         * docs/gst/tmpl/gstclock.sgml:
10798         * docs/gst/tmpl/gstelement.sgml:
10799         * docs/gst/tmpl/gstreamer-unused.sgml:
10800         * docs/gst/tmpl/gstxml.sgml:
10801         * gst/gstelement.c: (gst_element_error_full):
10802         * gst/gstelement.h:
10803
10804 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10805
10806         * gst/gstelement.h: fix _gst_element_error_printf prototype
10807
10808 2004-01-20  David Schleef  <ds@schleef.org>
10809
10810         * gst/gststructure.c: (gst_structure_to_string):
10811         Convert function to use gst_value_serialize().
10812         * gst/gstvalue.c: (gst_value_serialize_list),
10813         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10814         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10815         (gst_value_serialize_int), (gst_value_serialize_double),
10816         (gst_string_wrap), (gst_value_serialize_string),
10817         (gst_value_serialize), (gst_value_deserialize):
10818         * gst/gstvalue.h:
10819         Add implementations for serialize.
10820
10821 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10822
10823         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10824         we want to keep that one in the future or change xvidenc.c to use 
10825         another error.
10826
10827 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10828
10829         * gst/gstelement.c: (_gst_element_error_printf):
10830         * gst/gstelement.h:
10831           privatise function
10832
10833 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10834
10835         * docs/random/error:
10836           doc explaining error system
10837         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10838           cleanup
10839
10840 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * gst/gst-i18n-app.h:
10843         * gst/gst-i18n-lib.h:
10844           remove inclusion of config.h
10845         * po/POTFILES.in:
10846         * po/nl.po:
10847           add gst/gstelement.c
10848
10849 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10850
10851         * po/nl.po: updated Dutch translation
10852
10853 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * gst/gsterror.c: (_gst_core_errors_init),
10856         (_gst_library_errors_init), (_gst_resource_errors_init),
10857         (_gst_stream_errors_init):
10858         remove ending punctuation dots
10859
10860 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10861
10862         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10863         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10864         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10865         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10866         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10867         use GST_ERROR_SYSTEM
10868
10869 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10870
10871         * gst/gstelement.c: (gst_element_error_printf),
10872         (gst_element_error_extended):
10873         * gst/gstelement.h:
10874           add a helper printf function so we can have NULL values passed.
10875
10876 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * gst/gstelement.h:
10879           add G_STMT macros to gst_element_error, which isn't strictly
10880           necessary but people tell me to anyway.
10881
10882 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * gst/Makefile.am:
10885         * gst/autoplug/gstspideridentity.c:
10886         (gst_spider_identity_sink_loop_type_finding):
10887         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10888         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10889         (gst_filesink_close_file), (gst_filesink_handle_event),
10890         (gst_filesink_chain):
10891         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
10892         (gst_filesrc_map_region), (gst_filesrc_get_read),
10893         (gst_filesrc_open_file):
10894         * gst/elements/gstidentity.c: (gst_identity_chain):
10895         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10896         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10897         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10898         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
10899         * gst/gst.h:
10900         * gst/gst_private.h:
10901         * gst/gstelement.c: (gst_element_class_init),
10902         (gst_element_default_error), (gst_element_error_func),
10903         (gst_element_error_extended):
10904         * gst/gstelement.h:
10905         * gst/gsterror.c: (_gst_core_errors_init),
10906         (_gst_library_errors_init), (_gst_resource_errors_init),
10907         (_gst_stream_errors_init), (gst_error_get_message):
10908         * gst/gsterror.h:
10909         * gst/gstinfo.c: (_gst_debug_init):
10910         * gst/gstmarshal.list:
10911         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10912         (gst_pad_recover_caps_error), (gst_pad_pull):
10913         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10914         * gst/schedulers/gstbasicscheduler.c:
10915         (gst_basic_scheduler_chainhandler_proxy),
10916         (gst_basic_scheduler_gethandler_proxy),
10917         (gst_basic_scheduler_cothreaded_chain):
10918         * po/POTFILES.in:
10919         * po/fr.po:
10920         * po/nl.po:
10921           change error signal
10922           add error categories
10923
10924 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
10925
10926         * gst/gsttag.c: (_gst_tag_initialize):
10927         * gst/gsttag.h:
10928         Add replaygain tag
10929
10930 2004-01-18  Colin Walters  <walters@verbum.org>
10931
10932         * examples/retag/retag.c: Call gst_init before processing
10933         program args.  Add g_assert to _link_many call.
10934
10935 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10936
10937         * gst/gstpad.c: (gst_pad_alloc_buffer):
10938           Return a newly allocated buffer when the pad has no peer.
10939
10940 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10941
10942         * gst/gstclock.c: (gst_clock_get_time):
10943           make it compile with gcc 2.95 again.
10944           Patch by Scott Wheeler
10945
10946 2004-01-15  David Schleef  <ds@schleef.org>
10947
10948         * gst/gstcaps.h:
10949         Added gst_caps_is_simple() macro.
10950         * testsuite/caps/caps.c: (test1):
10951         * testsuite/caps/intersect2.c: (main):
10952         * testsuite/caps/intersection.c: (main):
10953         Fixes to make 'make check' work again after removing
10954         gst_caps_is_chained().
10955
10956 2004-01-15  Leif Johnson <leif@ambient.2y.net>
10957
10958         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
10959         and additions to the MIDI document.
10960
10961 2004-01-15  David Schleef  <ds@schleef.org>
10962
10963         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
10964         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
10965         of GST_RPAD_, since we don't know if it's a real or ghost pad.
10966
10967 2004-01-15  David Schleef  <ds@schleef.org>
10968
10969         * gst/gstqueue.c:
10970         * gst/gstqueue.h:
10971         Fix the spelling of "treshold" and make min_threshold actually
10972         affect the queue.
10973
10974 2004-01-15  David Schleef  <ds@schleef.org>
10975
10976         * gst/gstcaps.c:
10977         Add lots of documentation.
10978         * gst/gstcaps.h:
10979         Deprecate a few functions.
10980         * gst/gstpad.c:
10981         Removed use of deprecated functions.
10982
10983 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10984
10985         * gst/gstpad.c: (gst_pad_is_linked):
10986         * gst/gstpad.h:
10987           implement gst_pad_is_linked
10988         * gst/gstelement.h:
10989           reserve space for initiate_state_change
10990
10991 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10992
10993         * gst/autoplug/gstspideridentity.c:
10994         (gst_spider_identity_sink_loop_type_finding):
10995           break infinite loop by just returning instead of looping
10996         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
10997           set event time difference correctly. Set it to 1 second instead
10998           of 100ms to be more tolerant
10999         * gst/gstelement.c: (gst_element_set_time):
11000           add debugging output
11001
11002 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11003
11004         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11005           query if buffers are inside the pool, ignore events
11006
11007 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11008
11009         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11010         (gst_clock_set_speed), (gst_clock_set_active),
11011         (gst_clock_is_active), (gst_clock_reset),
11012         (gst_clock_handle_discont):
11013         * gst/gstclock.h:
11014           deprecate old interface and disable functions that aren't in use
11015           anymore.
11016         * gst/gstelement.h:
11017         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11018         (gst_element_set_time), (gst_element_adjust_time):
11019           add concept of "element time" and functions to get/set this time.
11020         * gst/gstelement.c: (gst_element_change_state):
11021           update element time correctly.
11022         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11023           This is a debug message, not a g_critical.
11024         * gst/gstpad.c: (gst_pad_event_default):
11025           handle discontinuous events right with element time.
11026         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11027           update to clocking fixes.
11028           set clocks on elements in READY=>PAUSED. The old behaviour caused
11029           a wrong element time on the first element that started playing.
11030         * gst/schedulers/gstbasicscheduler.c:
11031         (gst_basic_scheduler_class_init):
11032         * gst/schedulers/gstoptimalscheduler.c:
11033         (gst_opt_scheduler_class_init):
11034           remove code that just implements the default behaviour.
11035         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11036           update to use new clocking functions
11037         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11038         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11039           update to test new element time.
11040         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11041           use _get_allowed_caps instead of _get_caps. This catches filtered
11042           caps correctly.
11043         * testsuite/debug/commandline.c:
11044           update for new GST_DEBUG syntax.
11045         * testsuite/threads/Makefile.am:
11046           disable a test that only works sometimes.
11047
11048 2004-01-13  Julien MOUTTE <julien@moutte.net>
11049
11050         * po/LINGUAS: Adding fr.
11051         * po/fr.po: Adding french translation.
11052
11053 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * gst/parse/grammar.y:
11056         * po/POTFILES.in:
11057         * po/nl.po:
11058         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11059           translate parsing error messages
11060
11061 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11062
11063         * po/POTFILES.in: adding gst-launch
11064         * po/nl.po: updated translation, all 99 strings translated
11065         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11066         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11067           fix strings for translation
11068
11069 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11070
11071         * gst/gst.c:
11072           - capitalize beginnings of popt options
11073           - fix strings for translation
11074           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11075
11076 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * po/README: add some notes on how to update translations
11079
11080 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11081
11082         * ABOUT-NLS: removed, is autogenerated from autopoint
11083         * autogen.sh: add autopoint stuff
11084         * configure.ac: fix up gettext stuff
11085         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11086         * gst/elements/gsttypefindelement.c: add header include
11087         * gst/gettext.h: add header, copy from system-installed header
11088         * gst/gst-i18n-app.h: to be included by each app having translations
11089         * gst/gst-i18n-lib.h: to be included by each lib having translations
11090         * gst/gst.c: (init_pre): fix up gettext calls
11091         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11092         * po/LINGUAS: the new way to specify translations present
11093         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11094         * po/Makevars: the variables filled in for GStreamer
11095         * po/POTFILES.in: added new files with translations
11096         * po/de.po: has new strings
11097         * po/nl.po: readded, has new strings
11098
11099 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * gst/gsttag.c: fix some strings marked for translation
11102
11103 2004-01-13  Iain <iain@prettypeople.org>
11104
11105         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11106         group when we add an element to it, cos we unref it when we remove one
11107
11108 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11109
11110         * testsuite/debug/commandline.c: (debug_not_reached):
11111         * testsuite/debug/output.c: (check_message):
11112           fix testsuite
11113
11114 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11115
11116         * examples/cutter/.cvsignore:
11117         * examples/helloworld/.cvsignore:
11118         * examples/launch/.cvsignore:
11119         * examples/manual/.cvsignore:
11120         * examples/mixer/.cvsignore:
11121         * examples/pingpong/.cvsignore:
11122         * examples/plugins/.cvsignore:
11123         * examples/queue/.cvsignore:
11124         * examples/queue2/.cvsignore:
11125         * examples/queue3/.cvsignore:
11126         * examples/queue4/.cvsignore:
11127         * examples/retag/.cvsignore:
11128         * examples/thread/.cvsignore:
11129         * examples/typefind/.cvsignore:
11130         * examples/xml/.cvsignore:
11131         * gst/.cvsignore:
11132         * gst/autoplug/.cvsignore:
11133         * gst/elements/.cvsignore:
11134         * gst/indexers/.cvsignore:
11135         * gst/parse/.cvsignore:
11136         * gst/registries/.cvsignore:
11137         * gst/schedulers/.cvsignore:
11138         * libs/gst/bytestream/.cvsignore:
11139         * libs/gst/control/.cvsignore:
11140         * libs/gst/getbits/.cvsignore:
11141         * tests/.cvsignore:
11142         * tests/bufspeed/.cvsignore:
11143         * tests/instantiate/.cvsignore:
11144         * tests/memchunk/.cvsignore:
11145         * tests/muxing/.cvsignore:
11146         * tests/sched/.cvsignore:
11147         * tests/seeking/.cvsignore:
11148         * tests/threadstate/.cvsignore:
11149         * testsuite/.cvsignore:
11150         * testsuite/caps/.cvsignore:
11151         * testsuite/cleanup/.cvsignore:
11152         * testsuite/dynparams/.cvsignore:
11153         * testsuite/plugin/.cvsignore:
11154         * tools/.cvsignore:
11155           update - this is huge, because it includes *.bb, *.bbg and *.da files
11156           which are generated for gcov.
11157
11158 2004-01-11  David Schleef  <ds@schleef.org>
11159
11160         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11161         a function to parse integers in ways that strto[u]l() does not.
11162
11163 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11164
11165         * tools/gst-inspect.c: (print_caps):
11166           improve output of caps a bit
11167
11168 2004-01-11  David Schleef  <ds@schleef.org>
11169
11170         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11171         inherit correct flags (READONLY and DONTKEEP).
11172
11173 2004-01-11  David Schleef  <ds@schleef.org>
11174
11175         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11176         (gst_filesrc_map_region):
11177         * gst/gstbuffer.c: (_gst_buffer_initialize),
11178         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11179         (gst_buffer_new), (gst_buffer_create_sub),
11180         (gst_buffer_is_span_fast), (gst_buffer_span):
11181         * gst/gstbuffer.h:
11182         Change GstBuffer private structure element names. (all files)
11183         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11184         (gst_queue_link):
11185         * gst/gstqueue.h:
11186         Implement getcaps/pad_link functions that handle the case where
11187         there are data in the queue.
11188
11189 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11190
11191         * gst/elements/gstbufferstore.c:
11192           initialize debugging structure correctly
11193         * gst/elements/gsttee.c: (gst_tee_set_property):
11194           g_object_notify when property was changed
11195         * gst/elements/gsttypefindelement.c:
11196         (gst_type_find_element_change_state):
11197           clear caps correctly
11198
11199 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11200
11201         * gst/gstqueue.c: (gst_queue_init):
11202           Use better defaults for when a queue should block. This
11203           gets rid of jerky playback for quite a few files.
11204           It takes more memory.
11205
11206 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11207
11208         (gst_xml_registry_parse_padtemplate):
11209           make critical message slightly more useful
11210
11211 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11212
11213         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11214         (gst_debug_message_get), (gst_debug_log_default):
11215         * gst/gstinfo.h:
11216           Change gst_debug_log(_valist) to take a const format string.
11217           Change prototype of log function and functions using those to 
11218           take a GstDebugMessage instead of a string that requires using
11219           gst_debug_message_get.
11220
11221 2004-01-08  David Schleef  <ds@schleef.org>
11222
11223         * Makefile.am:
11224         * configure.ac:
11225         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11226         and -ftest-coverage, which allows gcov to show information about
11227         testsuite coverage.
11228
11229 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11230
11231         * gst/gstutils.h:
11232           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11233           GST_PARENT_CALL_WITH_DEFAULT
11234         * gst/elements/gstaggregator.c: 
11235         * gst/elements/gstbufferstore.c: 
11236         * gst/elements/gstfakesink.c: 
11237         * gst/elements/gstfakesrc.c: 
11238         * gst/elements/gstfdsink.c: 
11239         * gst/elements/gstfdsrc.c: 
11240         * gst/elements/gstfilesink.c: 
11241         * gst/elements/gstfilesrc.c: 
11242         * gst/elements/gstidentity.c: 
11243         * gst/elements/gstmd5sink.c: 
11244         * gst/elements/gstmultidisksrc.c:
11245         * gst/elements/gstpipefilter.c: 
11246         * gst/elements/gstshaper.c:
11247         * gst/elements/gststatistics.c:
11248         * gst/elements/gsttee.c:
11249         * gst/elements/gsttypefindelement.c:
11250           use them.
11251
11252 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11253
11254         * docs/gst/gstreamer-docs.sgml: remove props
11255         * docs/gst/gstreamer-sections.txt: remove props
11256         * docs/gst/tmpl/gst.sgml:
11257         * docs/gst/tmpl/gstbin.sgml:
11258         * docs/gst/tmpl/gstbuffer.sgml:
11259         * docs/gst/tmpl/gstcaps.sgml:
11260         * docs/gst/tmpl/gstclock.sgml:
11261         * docs/gst/tmpl/gstelement.sgml:
11262         * docs/gst/tmpl/gstindex.sgml:
11263         * docs/gst/tmpl/gstobject.sgml:
11264         * docs/gst/tmpl/gstpad.sgml:
11265         * docs/gst/tmpl/gstpadtemplate.sgml:
11266         * docs/gst/tmpl/gstreamer-unused.sgml:
11267         * docs/gst/tmpl/gstthread.sgml:
11268         * docs/gst/tmpl/gstxml.sgml:
11269           sync with code reorganization
11270
11271 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11272
11273         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11274         Make the 'Could not find compatible pad' message more informative.
11275
11276 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11277                                                                                 
11278         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11279           Fix for if we pass NULL as property to location.
11280         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11281         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11282           Fix for instantiate-test (see below).
11283         * gst/gststructure.c: (_gst_structure_parse_value):
11284           Fix compile error on gcc-2.96.
11285         * configure.ac:
11286         * tests/Makefile.am:
11287         * tests/instantiate/Makefile.am:
11288         * tests/instantiate/create.c: (create_all_elements), (main):
11289           Add a test that instantiates all elements. This makes it easy to
11290           track dead code for old API/design (like setting event functions
11291           on sink pads and so on).
11292
11293 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11294
11295         * gst/gstcaps.c: (gst_caps_append_structure):
11296           Move the poisoning to allow a NULL structure
11297         * gst/gstevent.c: (_gst_event_free):
11298           When freeing a navigation event, free the structure
11299           also
11300
11301 2004-01-04  David Schleef  <ds@schleef.org>
11302
11303         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11304         Remove usage of gst_pad_proxy_fixate.
11305         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11306         (gst_caps_split_one), (gst_caps_replace):
11307         Add poisoning code.
11308         * gst/gstmarshal.list:
11309         Add pointer__pointer for fixate signal
11310         * gst/gstpad.c: (gst_real_pad_class_init),
11311         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11312         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11313         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11314         Add poisoning code. Add fixate signal on RealPad. Change
11315         set_explicit_caps() to take const GstCaps, like try_set_caps().
11316         * gst/gstpad.h:
11317         * testsuite/caps/Makefile.am:
11318         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11319
11320 2004-01-03  David Schleef  <ds@schleef.org>
11321
11322         * gst/elements/gsttypefindelement.c:
11323         (gst_type_find_element_have_type), (gst_type_find_element_init):
11324         Use gst_pad_use_explicit_caps for src pad.
11325         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11326         before using it.
11327
11328 2004-01-03  David Schleef  <ds@schleef.org>
11329
11330         * gst/gstelement.c: (gst_element_link_pads_filtered),
11331         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11332         that linking was successful.
11333         * gst/gstpad.c: (gst_pad_link_free),
11334         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11335         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11336         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11337         GstPadLinkReturn correctly between functions, and don't fail
11338         when DELAYED is used (DELAYED is very important).  Better
11339         cleanup on unlinking and unnegotiation.  Should fix some spider
11340         bugs.
11341
11342 2004-01-02  David Schleef  <ds@schleef.org>
11343
11344         * gst/gstelement.c: (gst_element_class_init),
11345         (gst_element_base_class_init): ->padtemplates should be cleared
11346         in base_init, since we need to have a fresh list for every
11347         class.  (Alternately, we chould copy the list and share the
11348         actual pad templates (not the list), but that would require
11349         changing every plugin to move pad template registration from
11350         base_init to class_init.)
11351
11352 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11353
11354         * gst/gstelement.c: (gst_element_class_add_pad_template):
11355           Refuse registering a pad template if another pad template
11356           with the same name already exists (#114715).
11357
11358 2004-01-02  David Schleef  <ds@schleef.org>
11359
11360         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11361         (gst_caps_is_equal_fixed): Add new function.
11362         * gst/gstcaps.h: ditto.
11363         * gst/gstpad.c: (gst_real_pad_class_init),
11364         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11365         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11366         check new caps against existing caps -- if they're the same, return
11367         OK without renegotiating.  caps-nego-failed signal fixed so that
11368         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11369         to save an extra caps copy.  Don't complete negotiation if a pad
11370         link function returns DELAYED.
11371
11372 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11373
11374         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11375           Fix wrong g_return_if_fail
11376
11377 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11378
11379         * gst/gstbin.c: (gst_bin_class_init):
11380         Change the marshalling of element_added/element_removed
11381         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11382         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11383
11384 2004-01-01  David Schleef  <ds@schleef.org>
11385
11386         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11387         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11388         (gst_pad_use_explicit_caps):
11389         * gst/gstpad.h:
11390         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11391         to use an internal getcaps and link fuction so that negotiation
11392         always results in the explicitly set caps.
11393         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11394         are particularly useful for decoders.
11395
11396 2003-12-31  David Schleef  <ds@schleef.org>
11397
11398         * gst/elements/gstidentity.c: (gst_identity_class_init),
11399         (gst_identity_init), (gst_identity_chain),
11400         (gst_identity_set_property), (gst_identity_get_property):
11401         * gst/elements/gstidentity.h:
11402         * gst/gstqueue.c: (gst_queue_init):
11403           Negotiation fixes.
11404
11405 2003-12-31  David Schleef  <ds@schleef.org>
11406
11407         * gst/gstcaps.c: (gst_caps_intersect),
11408         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11409           Implement gst_caps_normalize().
11410         * testsuite/caps/normalisation.c: (main):
11411           Add an additional test
11412
11413 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11414
11415         * gst/gstqueue.c: (gst_queue_init):
11416           use gst_pad_proxy_getcaps()
11417
11418 2003-12-31  David Schleef  <ds@schleef.org>
11419
11420         * gst/elements/gstshaper.c: (gst_shaper_link):
11421         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11422         * gst/gstqueue.c: (gst_queue_link):
11423           Negotiation fixes.
11424
11425 2003-12-31  David Schleef  <ds@schleef.org>
11426
11427         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11428         * gst/gstpad.h: Add functions that are useful as default pad
11429         link and fixate functions for elements.
11430
11431 2003-12-30  David Schleef  <ds@schleef.org>
11432
11433         * gst/gstpad.c: (gst_pad_link_try):
11434           Fix segfault when attempting to return to old caps
11435
11436 2003-12-29  David Schleef  <ds@schleef.org>
11437
11438         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11439         (gst_caps_structure_simplify), (gst_caps_simplify):
11440         * gst/gstcaps.h:
11441           Add simplify function
11442         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11443         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11444         * gst/gstpad.h:
11445           Copy over srcnotify, sinknotify when calling old pad_link
11446           functions.  Add new is_negotiated() function.
11447         * gst/gststructure.c: (gst_structure_copy):
11448           Fix an incredibly stupid bug that should have been noticed
11449           weeks ago.  _copy() returned the argument, not the new copy.
11450
11451 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11452
11453         * gst/gstcaps.c: (gst_caps_append):
11454           add sanity checks
11455         * gst/gstcaps.h: (gst_caps_debug):
11456           remove, it doesn't exist anymore.
11457         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11458         (gst_element_threadsafe_properties_post_run):
11459           make debugging messages not clutter up THREAD debug category
11460         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11461         (gst_element_change_state):
11462           update to new caps API
11463         * gst/gstinterface.c: (gst_implements_interface_cast):
11464           don't put vital code in g_return_if_fail
11465         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11466         (gst_pad_link_filtered):
11467           add pst_pad_try_link and use it.
11468         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11469           implement correctly, deprecate first one.
11470         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11471           add and implement.
11472         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11473           implement.
11474         (gst_pad_get_negotiated_caps):
11475           add and implement. Make GST_PAD_CAPS call this function.
11476         (gst_pad_get_caps):
11477           remove unneeded check..
11478         (gst_pad_recover_caps_error):
11479           disable, always return FALSE.
11480         (gst_real_pad_dispose):
11481           don't free caps and appfilter anymore, they're unused.
11482         * gst/gstpad.h:
11483           Reflect changes mentioned above.
11484         * gst/gstsystemclock.c: (gst_system_clock_wait):
11485           Make 'clock is way behind' a debugging message.
11486         * gst/gstthread.c: (gst_thread_change_state):
11487           Fix debugging message
11488
11489 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11490
11491         * gst/gstinfo.h:
11492           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11493         * docs/gst/tmpl/gstreamer-unused.sgml:
11494           removed all traces of cvs conflicts
11495
11496 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11497
11498         * configure.ac:
11499         * gst/schedulers/cothreads_compat.h:
11500         * libs/Makefile.am:
11501           remove last instances of wingo cothread usage
11502
11503 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11504
11505         * gst/gstplugin.c:
11506         * gst/gstversion.h.in:
11507         * gst/parse/grammar.y:
11508           change comment block from /** to /* when not gtk-doc comments
11509
11510 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11511
11512         * gst/gst.c: whitespace and doc style fixes
11513
11514 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11517
11518 2003-12-24  Colin Walters  <walters@verbum.org>
11519
11520         * gst/elements/gsttypefindelement.c:
11521           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11522           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11523           Don't double-free caps.
11524
11525 2003-12-23  David Schleef  <ds@schleef.org>
11526
11527         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11528           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11529           Many little fixes and additions of debug statements to
11530           get rhythmbox working.
11531
11532 2003-12-23  Colin Walters  <walters@verbum.org>
11533
11534         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11535         Use GST_PAD_LINK_SUCCESSFUL.
11536
11537 2003-12-23  David Schleef  <ds@schleef.org>
11538
11539         * gst/elements/gstaggregator.c:
11540         * gst/elements/gsttee.c:
11541           Use gst_pad_proxy_getcaps().
11542         * gst/gstpad.c:
11543         * gst/gstpad.h:
11544           Add gst_pad_proxy_getcaps(), which filter elements can use
11545           as a generic getcaps implementation.
11546           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11547           was advertised.
11548
11549 2003-12-23  David Schleef  <ds@schleef.org>
11550
11551         * gst/gstpad.c:
11552           Rearrange/rewrite much of the pad negotiation code, since it
11553           resembled pasta.  This actually changes the way some
11554           negotiation works, since the previous code was inconsistent
11555           depending on how it was invoked.  Add (internal) structure
11556           GstPadLink, which is used to hold some information (more in
11557           the future) about the link between two pads.  Fixes a number
11558           of bugs, including random lossage of filter caps when the
11559           initial negotiation is delayed.  A few functions are still
11560           unimplemented.
11561         * gst/gstpad.h:
11562           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11563           these when testing GstPadLinkReturn values instead of comparing
11564           directly.
11565
11566 2003-12-23  David Schleef  <ds@schleef.org>
11567
11568         * gst/gstvalue.c: 
11569         * gst/gstvalue.h:
11570           Rearrange lots of code.  Change registration of compare function
11571           into registration of compare/serialize/deserialize functions.
11572           Doesn't include implementation of gst_value_[de]serialize(),
11573           but that should be easy.
11574
11575 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * docs/gst/gstreamer-sections.txt:
11578         * docs/gst/tmpl/gstprops.sgml: removed
11579         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11580           David removed props and caps code, so let's remove their docs as well.
11581           Removed all no longer existing symbols from gstreamer-sections.txt
11582           
11583 2003-12-22  Colin Walters  <walters@verbum.org>
11584
11585         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11586           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11587           of tags directly.
11588
11589 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11590
11591         * gst/elements/gstelements.c:
11592           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11593         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11594           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11595           gst_caps (peer).
11596
11597 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11598
11599         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11600         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11601         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11602         (gst_spider_identity_sink_loop_type_finding):
11603         * gst/autoplug/gstspideridentity.h:
11604           Fix autoplugging in spider element, so it works with new caps.
11605           This was mainly caused by identifying empty caps incorrectly.
11606
11607 2003-12-22  David Schleef  <ds@schleef.org>
11608
11609         * gststructure.c, gstvalue.c, gstvalue.h: Add
11610           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11611           using g_value_copy()
11612
11613 2003-12-21  David Schleef  <ds@schleef.org>
11614
11615         * many, many files: Merge CAPS branch.  This includes:
11616           - implemention of GstValue and several GstValue types
11617           - implemention of GstStructure
11618           - entire rewrite of GstCaps
11619           - removal of GstProps
11620           - many changes to GstPad to compensate for new caps paradigm
11621           - removal of GstBufferpool
11622         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11623         gstvalue.h, gst/gstcaps[2]*.[ch]:
11624           - rename gstcaps2.[ch] to gstcaps.[ch]
11625
11626 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11627
11628         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11629         (gst_queue_chain), (gst_queue_handle_src_event):
11630           implement timeout for sending events. Workaround for if the
11631           pipeline on this queue is not passing any data.
11632
11633 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11634                                                                                 
11635         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11636         * moved CVS to freedesktop.org
11637