gst/: Right, two problems here: ghostpads don't take locks and glib _rec_mutex_lock_f...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-25  Wim Taymans  <wim@fluendo.com>
2
3         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4         (gst_basesink_handle_object), (gst_basesink_event),
5         (gst_basesink_do_sync), (gst_basesink_handle_event),
6         (gst_basesink_change_state):
7         * gst/gsttask.h:
8         Right, two problems here: ghostpads don't take locks and
9         glib _rec_mutex_lock_full() with depth==0 still locks.
10         Catch illegal locking and g_warn them.
11
12 2005-06-25  Wim Taymans  <wim@fluendo.com>
13
14         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15         Have to check for completion now...
16
17 2005-06-25  Wim Taymans  <wim@fluendo.com>
18
19         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20         (gst_basesink_handle_object), (gst_basesink_event),
21         (gst_basesink_do_sync), (gst_basesink_handle_event),
22         (gst_basesink_change_state):
23         * gst/gstpad.h:
24         Unlock STREAM_LOCK whatever the recursion was.
25
26 2005-06-25  Wim Taymans  <wim@fluendo.com>
27
28         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29         (gst_basesink_preroll_queue_empty),
30         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
31         (gst_basesink_event), (gst_basesink_do_sync),
32         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
33         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
34         (gst_basesink_change_state):
35         Reworked the base sink, handle event and buffer serialisation
36         correctly and removed possible deadlock.
37         Handle EOS correctly.
38
39 2005-06-25  Wim Taymans  <wim@fluendo.com>
40
41         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
42         (gst_pipeline_change_state):
43         * tools/gst-launch.c: (check_intr), (event_loop), (main):
44         Allow elements to post EOS in the state change function.
45         Fix up -launch, make it exit the poll loop when the
46         pipeline actually changed state.
47         Fix up warning parsing in -launch.
48
49 2005-06-25  Wim Taymans  <wim@fluendo.com>
50
51         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
52         (gst_tee_sink_activate):
53         Core takes STREAM_LOCK for us now.
54
55 2005-06-25  Wim Taymans  <wim@fluendo.com>
56
57         * gst/gstelement.c: (gst_element_get_state_func),
58         (gst_element_set_state):
59         * gst/gstelement.h:
60         * gst/gstmessage.c: (gst_message_parse_error),
61         (gst_message_parse_warning):
62         Keep track of current target state while performing a state
63         change so that subclasses can do something interesting.
64         Fix parsing of warning/error messages when GError is NULL.
65
66 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
67
68         * docs/gst/Makefile.am:
69         * docs/gst/gstreamer-docs.sgml:
70         * docs/gst/gstreamer-sections.txt:
71         * docs/gst/gstreamer.types:
72         * docs/gst/tmpl/gstbasesink.sgml:
73         * docs/gst/tmpl/gstbasesrc.sgml:
74         * docs/gst/tmpl/gstbin.sgml:
75         * docs/gst/tmpl/gstcompat.sgml:
76         * docs/gst/tmpl/gstfakesink.sgml:
77         * docs/gst/tmpl/gstfakesrc.sgml:
78         * docs/gst/tmpl/gstfilesink.sgml:
79         * docs/gst/tmpl/gstfilesrc.sgml:
80         * docs/gst/tmpl/gstindex.sgml:
81         * docs/manual/appendix-quotes.xml:
82         * gst/base/gstbasesrc.h:
83         * gst/elements/gstfakesrc.h:
84         * gst/gstmessage.h:
85           start pulling in base classes and elements in our docs
86
87 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
88
89         * docs/gst/Makefile.am:
90         * docs/libs/Makefile.am:
91           fixed make distcheck with gtk-doc 1.3
92
93 2005-06-23  Wim Taymans  <wim@fluendo.com>
94
95         * gst/gstelement.c: (gst_element_get_state_func),
96         (gst_element_set_state), (gst_element_change_state):
97         When the state did not change, also report NO_PREROLL
98         when it matters.
99
100 2005-06-23  Wim Taymans  <wim@fluendo.com>
101
102         * gst/gstpad.c: (gst_pad_event_default):
103         * gst/gstqueue.c: (gst_queue_loop):
104         No unsafe task pausing please.
105
106 2005-06-23  Wim Taymans  <wim@fluendo.com>
107
108         * gst/schedulers/threadscheduler.c:
109         (gst_thread_scheduler_task_start),
110         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
111         Ref the task before pushing it on the threadpool. This
112         makes sure that we have a ref when the threadfunction is
113         actually called.
114
115 2005-06-23  Andy Wingo  <wingo@pobox.com>
116
117         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
118         offset is greater than the file's size.
119
120         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
121         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
122         * gst/gstobject.c (gst_object_class_init): Make the class lock
123         recursive. Wim won't let me drop deep_notify. Decodebin works
124         again, whoopdy doo.
125
126         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
127         internal pad, and hacks accordingly. Doesn't do it on the target
128         pad because we change its caps. Probably catches all cases of
129         interest tho.
130         (gst_ghost_pad_set_property): Connect to notify::caps as
131         appropritate.
132
133         * tests/network-clock.scm (plot-simulation): Pipe data to the
134         elite python skript.
135
136         * tests/network-clock-utils.scm (define-parameter): New macro,
137         defines a parameter that can be set via the command line.
138         (set-parameter!, parse-parameter-arguments): Command line args
139         parser.
140
141         * tests/plot-data: Simple matplotlib-based plotter, takes input on
142         stdin.
143
144 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
145
146         * gst/elements/gsttypefindelement.c:
147         (gst_type_find_element_handle_event):
148           Don't restart typefinding on a discont.
149         * gst/gstelement.c: (gst_element_set_state):
150           Debug spelling fix.
151         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
152           Allow changing mode of an active pad.
153           Debug output fixes.
154         * gst/registries/gstlibxmlregistry.c: (load_feature):
155           Don't cast a static pad template to a normal pad template.
156
157 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
158
159         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
160         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
161           remove gst_strtoll completely, since it didn't actually do
162           anything more than what g_ascii_strtoull already does.
163           check for range errors when deserializing
164           do a cast for the unsigned cases; but further fixing needs
165           a decision on what the interpretation of "(int)" and
166           deserialization should be for values that fall outside the
167           type's boundaries (ie, refuse, or interpret as casting)
168
169 2005-06-23  Wim Taymans  <wim@fluendo.com>
170
171         * check/Makefile.am:
172         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
173         * docs/design/part-live-source.txt:
174         * docs/design/part-states.txt:
175         * gst/base/gstbasesrc.c: (gst_basesrc_init),
176         (gst_basesrc_set_live), (gst_basesrc_is_live),
177         (gst_basesrc_get_range), (gst_basesrc_activate),
178         (gst_basesrc_change_state):
179         * gst/base/gstbasesrc.h:
180         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
181         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
182         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
183         * gst/gstelement.c: (gst_element_get_state_func),
184         (gst_element_set_state):
185         * gst/gstelement.h:
186         * gst/gsttypes.h:
187         * tools/gst-launch.c: (event_loop), (main):
188         Added support for live sources and other elements that
189         cannot do preroll.
190         Updated design docs, added live-source design doc.
191         Implemented live source functionality in basesrc
192         Fix error condition in _bin_get_state()
193         Implement live source handling in -launch.
194         Added check for live sources.
195         Fixed case in GstBin where elements were changed state
196         multiple times.
197
198
199 2005-06-23  Andy Wingo  <wingo@pobox.com>
200
201         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
202         borken refcounting.
203
204         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
205         gst_caps_replace takes care of this for us.
206
207         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
208         gst_pad_set_caps on the target, not just its setcaps() function.
209
210         * tests/network-clock.scm: 
211         * tests/network-clock-utils.scm: A network clock simulator.
212         Something of an algorithmic testbed before doing something in C.
213
214 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
215
216         * check/Makefile.am:
217         * check/gst/capslist.h:
218           copy over from 0.8, and add two with bitmasks specified with
219           (int) 0xFF...
220         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
221           add test to parse everything from capslist.h
222         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
223         (main):
224           add test for structure deserialization
225         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
226           add tests for deserialization of strings to int types
227         * gst/gststructure.c: (gst_structure_nth_field_name):
228         * gst/gststructure.h:
229           add a way to get the name of a field referenced by index
230         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
231           instead of checking if the resulting long long lies between
232           min and max, we check if the long long would fit into
233           a number of bytes for the final type.
234           This fixes cases where a string represents 2^32 - 1, which
235           when cast to int would be the (valid) -1, but is bigger than
236           G_MAXINT
237
238 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * gst/parse/grammar.y:
241           add a log line for type deserialization
242
243 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
244
245         * check/gst/gstvalue.c: (START_TEST):
246         * gst/gstvalue.c: (gst_value_deserialize):
247           return long long, not int, so gint64 deserialization actually
248           works.  Is there any flag that makes the compiler check this ?
249           Fixes #308559
250
251 2005-06-22  Wim Taymans  <wim@fluendo.com>
252
253         * gst/gstbuffer.h:
254         Added convenience macros for setting buffers in GValue.
255
256 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
257
258         * check/gst/.cvsignore:
259         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
260           add a test deserializing int64, and comment part out because
261           it fails, yay !
262
263 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
264
265         * check/Makefile.am:
266         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
267         * testsuite/Makefile.am:
268         * testsuite/caps/Makefile.am:
269         * testsuite/caps/value_serialize.c:
270         * testsuite/test_gst_init.c:
271           move a value_serialize test over
272
273 2005-06-20  Wim Taymans  <wim@fluendo.com>
274
275         * gst/gstpad.c:
276         Small doc updates.
277         
278         * gst/gstvalue.c: (gst_value_compare_buffer),
279         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
280         (gst_value_compare_flags), (gst_value_serialize_flags),
281         (gst_value_deserialize_flags), (_gst_value_initialize):
282         Fix serialisation of buffers, they are not boxed types anymore
283
284 2005-06-20  Wim Taymans  <wim@fluendo.com>
285
286         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
287         Testcase to show error in buffer-on-caps serialisation.
288
289 2005-06-20  Andy Wingo  <wingo@pobox.com>
290
291         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
292         will be adding to later.
293
294         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
295         if its socks fill with rocks.
296         (gst_system_clock_obtain): Set the name on object construction.
297         Avoid double-checked locking.
298
299 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
300
301         * gst/gsturi.c: (gst_element_make_from_uri):
302           Fix potential endless loop.
303
304 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
305
306         * check/Makefile.am:
307           add gsttag
308         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
309         (main):
310           move over from testsuite dir and clean up
311         * configure.ac:
312         * gst/gsttag.c:
313         * testsuite/Makefile.am:
314         * testsuite/tags/.cvsignore:
315         * testsuite/tags/Makefile.am:
316         * testsuite/tags/merge.c:
317           remove testsuite/tags
318
319 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
320
321         * docs/gst/gstreamer-sections.txt:
322         * docs/gst/tmpl/gstenumtypes.sgml:
323         * win32/gstenumtypes.c:
324           clean up documentation build a little
325
326 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
327
328         * check/gstcheck.h:
329           add macros for checking refcounts on objects and caps
330         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
331           add some more unit tests
332         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
333         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
334           fix leaked refcounts (I hope :)) so unittest works
335         * gst/gstpad.h:
336           whitespace removal
337
338 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
339
340         * configure.ac: back to HEAD
341
342 === release 0.9.1 ===
343
344 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
345
346         * NEWS:
347         * RELEASE:
348           updated
349
350 2005-06-17  Andy Wingo  <wingo@pobox.com>
351
352         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
353         assert; it's always possible that the pad gets deactivated in
354         between the checks in gstpad.c and the implementation. Rely on
355         finish_preroll() to return a FLUSHING or similar instead of on the
356         assert.
357         
358         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
359         clock and post an EOS message if we come out of finish_preroll in
360         the playing state.
361
362 2005-06-16  David Schleef  <ds@schleef.org>
363
364         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
365         (gst_capsfilter_set_property): Allow NULL as possible value
366         for filter_caps property, indicating GST_CAPS_ANY.
367
368 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
369
370         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
371           fix debug output
372         * gst/schedulers/Makefile.am:
373           use libgst prefix
374         * gstreamer.spec.in:
375           fix spec for it
376
377 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
378
379         * gstreamer.spec.in:
380           clean up
381
382 2005-06-08  Andy Wingo  <wingo@pobox.com>
383
384         * gst/gstutils.c: RPAD fixes all around.
385         (gst_element_link_pads): Refcounting fixes.
386
387         * tools/gst-inspect.c:
388         * tools/gst-xmlinspect.c:
389         * parse/grammar.y:
390         * gst/base/gsttypefindhelper.c:
391         * gst/base/gstbasesink.c:
392         * gst/gstqueue.c: RPAD fixes.
393
394         * gst/gstghostpad.h:
395         * gst/gstghostpad.c: New ghost pad implementation as full proxy
396         pads. The tricky thing is they provide both source and sink
397         interfaces, since they proxy the internal pad for the external
398         pad, and vice versa. Implement with lower-level ProxyPad objects,
399         with the interior proxy pad as a child of the exterior ghost pad.
400         Should write a doc on this.
401         
402         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
403         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
404         gst_object API.
405         
406         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
407         pads are real pads. No ghost pads in this file. Not documenting
408         the myriad s/RPAD/PAD/ and REALIZE fixes.
409         (gst_pad_class_init): Add properties for "direction" and
410         "template". Both are construct-only, so they can't change during
411         the life of the pad. Fixes properly deriving from GstPad.
412         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
413         derived objects, just set properties when creating the objects via
414         g_object_new.
415         (gst_pad_get_parent): Implement as a function, return NULL if the
416         parent is not an element.
417         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
418         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
419         
420         * gst/gstobject.c (gst_object_class_init): Make name a construct
421         property. Don't set it in the object init.
422
423         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
424         with UNKNOWN direction.
425         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
426         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
427         (gst_element_remove_pad): Remove ghost-pad special cases.
428         (gst_element_pads_activate): Remove rpad cruft.
429
430         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
431         catch the pad's-parent-not-an-element case.
432
433         * gst/gst.h: Include gstghostpad.h.
434
435         * gst/gst.c (init_post): No more real, ghost pads.
436
437         * gst/Makefile.am: Add gstghostpad.[ch].
438
439         * check/Makefile.am:
440         * check/gst/gstbin.c:
441         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
442         into a bin creates ghost pads, and that the refcounts are right.
443         Partly moved from gstbin.c.
444
445 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
446
447         * check/gst-libs/.cvsignore:
448         * check/gst/.cvsignore:
449         * check/pipelines/.cvsignore:
450           ignore more
451         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
452         (START_TEST), (cleanup_suite), (main):
453           add some tests related to cleanup after running pipelines
454
455 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
458           add a testsuite for GstBuffer
459
460 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
461
462         * gst/gstminiobject.h:
463           add defines for accessing the refcount
464
465 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
466
467         * Makefile.am: added support for html unit test coverage reports
468
469 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
470
471         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
472           Free existing caps if the capsfilter changes. Add a FIXME about
473           setting those caps on the pads.
474
475         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
476           Before adding a ghost pad to a parent bin, check that there isn't
477           already one for the element on the bin. Prevents infinite recursion
478           when using decodebin in parse pipelines. Andy says he'll rewrite the
479           way this works anyway, so ignore the hack.
480
481 2005-06-02  Andy Wingo  <wingo@pobox.com>
482
483         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
484         file size, pass it on to the type find helper.
485
486         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
487         segment_start and segment_end properly according to the seek
488         method. Segment_end is still a bit flaky because offset can be
489         negative for CUR and END cases, but it takes -1 as an "unset"
490         value.
491
492 2005-06-02  Wim Taymans  <wim@fluendo.com>
493
494         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
495         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
496         (gst_basesink_activate):
497         * gst/base/gstbasesink.h:
498         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
499         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
500         (gst_pad_query), (gst_pad_start_task):
501         * gst/gstpad.h:
502         * gst/gstqueue.c: (gst_queue_bufferalloc),
503         (gst_queue_handle_sink_event), (gst_queue_chain):
504         Bufferalloc: return GstFlowReturn to more accuratly report
505         why allocation failed.
506
507 2005-06-02  Wim Taymans  <wim@fluendo.com>
508
509         * gst/gstpipeline.c: (gst_pipeline_send_event):
510         Take snapshot of state without blocking.
511
512 2005-06-02  Wim Taymans  <wim@fluendo.com>
513
514         * docs/design/part-TODO.txt:
515         * docs/design/part-caps.txt:
516         * docs/design/part-clocks.txt:
517         * docs/design/part-negotiation.txt:
518         * docs/design/part-preroll.txt:
519         Small doc updates 
520
521 2005-05-30  Wim Taymans  <wim@fluendo.com>
522
523         * gst/elements/gstidentity.c: (gst_identity_event),
524         (gst_identity_transform), (gst_identity_get_property):
525         Protect last_message property as it is accessed from
526         multiple threads.
527
528 2005-05-30  Wim Taymans  <wim@fluendo.com>
529
530         * gst/gstelement.c: (gst_element_init),
531         (gst_element_pads_activate), (gst_element_change_state):
532         Slicker pad activation code.
533
534 2005-05-30  Wim Taymans  <wim@fluendo.com>
535
536         * gst/Makefile.am:
537         * gst/gstelement.h:
538         * gst/gstelementfactory.h:
539         * gst/gsttypes.h:
540         Move elementfactory methods to separate .h file.
541
542 2005-05-30  Wim Taymans  <wim@fluendo.com>
543
544         * docs/design/part-overview.txt:
545         * gst/gstsystemclock.h:
546         Small typo fixes, doc updates.
547
548 2005-05-30  Wim Taymans  <wim@fluendo.com>
549
550         * gst/gst.c: (gst_init_get_popt_table), (init_post),
551         (init_popt_callback):
552         Remove cpu-opt flag.
553
554 2005-05-30  Wim Taymans  <wim@fluendo.com>
555
556         * gst/gstbuffer.c: (gst_subbuffer_finalize),
557         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
558         * gst/gstbuffer.h:
559         Avoid typechecking in places where not needed.
560         Added accessor for malloc_data.
561
562 2005-05-30  Wim Taymans  <wim@fluendo.com>
563
564         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
565         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
566         (gst_pad_configure_sink), (gst_pad_configure_src),
567         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
568         (gst_pad_start_task):
569         Propagate errors from _set_caps() in configure_src/sink
570         functions instead of returning TRUE.
571         FLUSH events can travel up and downstream
572
573
574 2005-05-30  Wim Taymans  <wim@fluendo.com>
575
576         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
577         (gst_basesink_activate):
578         Handle EOS in preroll.
579
580 2005-05-30  Wim Taymans  <wim@fluendo.com>
581
582         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
583         (gst_queue_loop), (gst_queue_handle_src_event):
584         Remove old pieces of code
585         Flushing the queue in an upstream event is a very bad idea.
586
587 2005-05-26  Andy Wingo  <wingo@pobox.com>
588
589         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
590         gst_value_set_mini_object so as to add a ref on the object (which
591         will be removed when the value is unset).
592
593         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
594         arg type in ::handoff.
595
596         * gst/gstelement.c (gst_element_change_state): Also deactivate
597         pads in READY->NULL, just in case the element didn't make it to
598         PAUSED. Wingo tested, Wim approved.
599
600 2005-05-26  Wim Taymans  <wim@fluendo.com>
601
602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
603         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
604         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
605         A flushing pad cannot be used to alloc_buffer from.
606
607 2005-05-26  Wim Taymans  <wim@fluendo.com>
608
609         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
610         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
611         (gst_bus_source_dispatch), (gst_bus_source_finalize),
612         (gst_bus_create_watch), (gst_bus_add_watch_full):
613         * gst/gstbus.h:
614         Implement a real GSource and use g_main_context_wakeup() to
615         signal new messages instead of the socketpair.
616
617 2005-05-25  Wim Taymans  <wim@fluendo.com>
618
619         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
620         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
621         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
622         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
623         (gst_pad_send_event), (gst_pad_start_task):
624         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
625         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
626         (gst_queue_sink_activate), (gst_queue_src_activate),
627         (gst_queue_change_state):
628         * gst/gstqueue.h:
629         Fix state changes for non sinks. We now change sinks, then elements
630         with unconnected srcpads, then the rest.
631         More efficient queue unlocking in flush and state changes.
632         Set the pad activate mode even if it does not have an activate
633         function.
634
635 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
636
637         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
638           Don't go in pull mode for non-seekable sources.
639         * gst/elements/gsttypefindelement.h:
640         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
641         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
642         (free_entry), (stop_typefinding),
643         (gst_type_find_element_handle_event), (find_peek),
644         (gst_type_find_element_chain), (do_pull_typefind),
645         (gst_type_find_element_change_state):
646           Allow typefinding (w/o seeking) in push-mode, simplified version
647           of what was in 0.8.
648         * gst/gstutils.c: (gst_buffer_join):
649         * gst/gstutils.h:
650           gst_buffer_join() from 0.8.
651
652 2005-05-25  Wim Taymans  <wim@fluendo.com>
653
654         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
655         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
656         (gst_pad_send_event), (gst_pad_start_task):
657         Disable attempt at mode switching until it is figured out.
658
659 2005-05-25  Wim Taymans  <wim@fluendo.com>
660
661         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
662         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
663         (gst_basesink_finish_preroll), (gst_basesink_chain),
664         (gst_basesink_loop), (gst_basesink_activate),
665         (gst_basesink_change_state):
666         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
667         (gst_basesrc_get_range), (gst_basesrc_loop),
668         (gst_basesrc_activate):
669         * gst/elements/gsttee.c: (gst_tee_sink_activate):
670         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
671         (gst_real_pad_init), (gst_real_pad_set_property),
672         (gst_real_pad_get_property), (gst_pad_set_active),
673         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
674         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
675         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
676         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
677         (gst_pad_event_default_dispatch), (gst_pad_event_default),
678         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
679         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
680         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
681         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
682         (gst_pad_stop_task):
683         * gst/gstpad.h:
684         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
685         (gst_queue_loop), (gst_queue_src_activate):
686         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
687         (gst_task_get_state):
688         * gst/gsttask.h:
689         * gst/schedulers/threadscheduler.c:
690         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
691         Implement gst_pad_pause/start/stop_task(), take STREAM lock
692         in task function.
693         Remove ACTIVE pad flag, use FLUSHING everywhere
694         Added _pad_chain(), _pad_get_range() to call chain/getrange 
695         functions.
696         Add locks around IS_FLUSHING when reading.
697         Take STREAM lock in chain(), get_range() functions so plugins
698         don't need to take it anymore.
699         
700
701
702 2005-05-25  Wim Taymans  <wim@fluendo.com>
703
704         * tools/gst-launch.c: (event_loop):
705         Unref message after using its contents instead of
706         before.
707
708 2005-05-24  Wim Taymans  <wim@fluendo.com>
709
710         * docs/design/draft-ghostpads.txt:
711         * docs/design/draft-push-pull.txt:
712         * docs/design/draft-query.txt:
713         * docs/design/part-overview.txt:
714         Docs updates, added general overview doc.
715
716 2005-05-21  David Schleef  <ds@schleef.org>
717
718         * docs/gst/tmpl/old/GstBin.sgml:
719         * docs/gst/tmpl/old/GstBuffer.sgml:
720         * docs/gst/tmpl/old/GstCaps.sgml:
721         * docs/gst/tmpl/old/GstClock.sgml:
722         * docs/gst/tmpl/old/GstCompat.sgml:
723         * docs/gst/tmpl/old/GstData.sgml:
724         * docs/gst/tmpl/old/GstElement.sgml:
725         * docs/gst/tmpl/old/GstEvent.sgml:
726         * docs/gst/tmpl/old/GstIndex.sgml:
727         * docs/gst/tmpl/old/GstStructure.sgml:
728         * docs/gst/tmpl/old/GstTag.sgml:
729         * docs/gst/tmpl/old/cothreads.sgml:
730         * docs/gst/tmpl/old/cothreads_compat.sgml:
731         * docs/gst/tmpl/old/gettext.sgml:
732         * docs/gst/tmpl/old/gobject2gtk.sgml:
733         * docs/gst/tmpl/old/grammar.tab.sgml:
734         * docs/gst/tmpl/old/gst-i18n-app.sgml:
735         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
736         * docs/gst/tmpl/old/gst_private.sgml:
737         * docs/gst/tmpl/old/gstaggregator.sgml:
738         * docs/gst/tmpl/old/gstarch.sgml:
739         * docs/gst/tmpl/old/gstatomic_impl.sgml:
740         * docs/gst/tmpl/old/gstbufferstore.sgml:
741         * docs/gst/tmpl/old/gstdata_private.sgml:
742         * docs/gst/tmpl/old/gstdisksink.sgml:
743         * docs/gst/tmpl/old/gstdisksrc.sgml:
744         * docs/gst/tmpl/old/gstelementfactory.sgml:
745         * docs/gst/tmpl/old/gstextratypes.sgml:
746         * docs/gst/tmpl/old/gstfakesink.sgml:
747         * docs/gst/tmpl/old/gstfakesrc.sgml:
748         * docs/gst/tmpl/old/gstfdsink.sgml:
749         * docs/gst/tmpl/old/gstfdsrc.sgml:
750         * docs/gst/tmpl/old/gstfilesink.sgml:
751         * docs/gst/tmpl/old/gstfilesrc.sgml:
752         * docs/gst/tmpl/old/gsthttpsrc.sgml:
753         * docs/gst/tmpl/old/gstidentity.sgml:
754         * docs/gst/tmpl/old/gstindexfactory.sgml:
755         * docs/gst/tmpl/old/gstmarshal.sgml:
756         * docs/gst/tmpl/old/gstmd5sink.sgml:
757         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
758         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
759         * docs/gst/tmpl/old/gstpadtemplate.sgml:
760         * docs/gst/tmpl/old/gstpipefilter.sgml:
761         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
762         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
763         * docs/gst/tmpl/old/gstshaper.sgml:
764         * docs/gst/tmpl/old/gstspider.sgml:
765         * docs/gst/tmpl/old/gstspideridentity.sgml:
766         * docs/gst/tmpl/old/gststatistics.sgml:
767         * docs/gst/tmpl/old/gsttee.sgml:
768         * docs/gst/tmpl/old/gsttimecache.sgml:
769         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
770         * docs/gst/tmpl/old/gstxmlregistry.sgml:
771         * docs/gst/tmpl/old/gthread-cothreads.sgml:
772         * docs/gst/tmpl/old/types.sgml:
773           I didn't intend to add these or check them in.
774
775 2005-05-19  David Schleef  <ds@schleef.org>
776
777         * configure.ac: Use -no-common everywhere.  In a sane world, it
778           would be the default in libtool, because without it, you can't
779           build DLLs on Windows.
780         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
781         * docs/gst/gstreamer-sections.txt:
782         * docs/gst/tmpl/gstcpu.sgml:
783         * docs/gst/tmpl/gstdata.sgml:
784         * docs/gst/tmpl/gstthread.sgml:
785
786 2005-05-19  David Schleef  <ds@schleef.org>
787
788         * gst/gstminiobject.c: (gst_value_set_mini_object),
789         (gst_value_take_mini_object), (gst_value_get_mini_object):
790         * gst/gstminiobject.h: Add GValue set/get functions.
791
792 2005-05-19  Wim Taymans  <wim@fluendo.com>
793
794         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
795         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
796         (gst_subbuffer_init), (gst_buffer_is_span_fast):
797         * gst/gstbuffer.h:
798         * gst/gstbus.c: (gst_bus_post):
799         * gst/gstelement.c: (gst_element_get_random_pad):
800         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
801         Make subbufer unref the parent in finalize.
802         some more debugging info.
803
804
805 2005-05-19  Wim Taymans  <wim@fluendo.com>
806
807         * gst/base/gstbasesink.c: (gst_basesink_class_init),
808         (gst_basesink_init), (gst_basesink_finalize),
809         (gst_basesink_activate), (gst_basesink_change_state):
810         Don't free preroll queue too early.
811
812 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
813
814         * gst/Makefile.am:
815         * gst/ROADMAP:
816           Hi, I'm outdated. Please shoot me.
817
818 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
819
820         * gst/gstpipeline.c: (gst_pipeline_send_event):
821           Do not access variables after they have been deleted.
822
823 2005-05-19  Wim Taymans  <wim@fluendo.com>
824
825         * tools/gst-inspect.c: (print_plugin_features):
826         A plugin feature does unfortunatly not use the
827         object name yet...
828
829 2005-05-18  Wim Taymans  <wim@fluendo.com>
830
831         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
832         Port _span() functions to new subbuffers.
833
834 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
835
836         * gst/gstbin.c: (gst_bin_add_func):
837           Fix clock settery in bins when adding kids after the clock has
838           been selected.
839
840 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
841
842         * gst/elements/gstidentity.c: (gst_identity_class_init):
843           Workaround until signals support GstMiniObject.
844
845 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
846
847         * gst/gstbuffer.c:
848         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
849
850 2005-05-18  Wim Taymans  <wim@fluendo.com>
851
852         * gst/base/Makefile.am:
853         * gst/base/gstadapter.c: (gst_adapter_base_init),
854         (gst_adapter_class_init), (gst_adapter_init),
855         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
856         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
857         (gst_adapter_flush), (gst_adapter_available),
858         (gst_adapter_available_fast):
859         * gst/base/gstadapter.h:
860         Ported and added adapter to the base classes.
861
862 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
863
864         * gst/gst.c:
865         * gst/gstmessage.c:
866           Make sure the class is reffed/unreffed once before threads can be
867           used.  Fixes #304551.
868
869 2005-05-17  Wim Taymans  <wim@fluendo.com>
870
871         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
872         (gst_basesink_chain_unlocked), (gst_basesink_activate):
873         * gst/gstminiobject.c: (gst_mini_object_get_type),
874         (gst_mini_object_free):
875         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
876         (gst_pad_push), (gst_pad_push_event):
877         * gst/gstqueue.c: (gst_queue_change_state):
878         Don't queue buffers in basesink when we are flushing.
879         Unref buffer when flushing in basesink.
880         Flush queue when going to READY
881         Unref buffer when _push() returns an error.
882         Don't free MiniObject instance when refcount is incremented
883         in _finalize() so that we can recover objects.
884
885 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
886
887         * docs/manual/advanced-schedulers.xml:
888         * docs/manual/appendix-checklist.xml:
889         * docs/pwg/advanced-clock.xml:
890         * docs/pwg/advanced-interfaces.xml:
891         * docs/pwg/advanced-request.xml:
892         * docs/pwg/advanced-types.xml:
893         * docs/pwg/intro-preface.xml:
894         * examples/plugins/example.c: (gst_example_get_type),
895         (gst_example_class_init), (gst_example_chain),
896         (gst_example_set_property), (gst_example_get_property),
897         (gst_example_change_state), (plugin_init):
898         * examples/plugins/example.h:
899           small doc fixes
900
901 2005-05-17  Wim Taymans  <wim@fluendo.com>
902
903         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
904         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
905         * gst/gstqueue.c: (gst_queue_change_state):
906         Clear queue when going to READY.
907         Remove IN_SETCAPS flag too.
908
909 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
910
911         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
912           Remove implicit cast from gboolean to GstElementStateReturn;
913           make sure we still return failure in paused => ready case if
914           the parent class fails to change state and our own stop 
915           vfunc succeeds.
916
917 2005-05-17  Wim Taymans  <wim@fluendo.com>
918
919         * tools/gst-launch.c: (event_loop):
920         Message was unreffed too soon.
921
922 2005-05-16  Andy Wingo  <wingo@pobox.com>
923
924         * gst/gstbin.c (sink_iterator_filter): Err... um...
925
926         * check/gst/gstbin.c (test_ghost_pads): New test for the
927         ghosting-if-elements-not-in-same-bin behavior.
928
929 2005-05-16  David Schleef  <ds@schleef.org>
930
931         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
932         accessing refcount directly.
933
934 2005-05-15  David Schleef  <ds@schleef.org>
935
936         * check/Makefile.am: remove GstData checks
937         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
938         * gst/Makefile.am: add miniobject, remove data
939         * gst/gst.h: add miniobject, remove data
940         * gst/gstdata.c: remove
941         * gst/gstdata.h: remove
942         * gst/gstdata_private.h: remove
943         * gst/gsttypes.h: remove GstEvent and GstMessage
944         * gst/gstelement.c: (gst_element_post_message): fix for API changes
945         * gst/gstmarshal.list: change BOXED -> OBJECT
946
947         Implement GstMiniObject.
948         * gst/gstminiobject.c:
949         * gst/gstminiobject.h:
950
951         Modify to be subclasses of GstMiniObject.
952         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
953         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
954         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
955         (gst_subbuffer_get_type), (gst_subbuffer_init),
956         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
957         (gst_buffer_span):
958         * gst/gstbuffer.h:
959         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
960         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
961         (_gst_event_copy), (gst_event_new):
962         * gst/gstevent.h:
963         * gst/gstmessage.c: (_gst_message_initialize),
964         (gst_message_get_type), (gst_message_class_init),
965         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
966         (gst_message_new), (gst_message_new_error),
967         (gst_message_new_warning), (gst_message_new_tag),
968         (gst_message_new_state_changed), (gst_message_new_application):
969         * gst/gstmessage.h:
970         * gst/gstprobe.c: (gst_probe_perform),
971         (gst_probe_dispatcher_dispatch):
972         * gst/gstprobe.h:
973         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
974         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
975         (_gst_query_copy), (gst_query_new):
976
977         Update elements for GstData -> GstMiniObject changes
978         * gst/gstquery.h:
979         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
980         (gst_queue_chain), (gst_queue_loop):
981         * gst/elements/gstbufferstore.c:
982         (gst_buffer_store_add_buffer_func),
983         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
984         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
985         (gst_fakesink_render):
986         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
987         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
988         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
989         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
990         (gst_filesrc_create_read):
991         * gst/elements/gstidentity.c: (gst_identity_class_init):
992         * gst/elements/gsttypefindelement.c:
993         (gst_type_find_element_src_event), (free_entry_buffers),
994         (gst_type_find_element_handle_event):
995         * libs/gst/dataprotocol/dataprotocol.c:
996         (gst_dp_header_from_buffer):
997         * libs/gst/dataprotocol/dataprotocol.h:
998         * libs/gst/dataprotocol/dp-private.h:
999
1000 2005-05-15  David Schleef  <ds@schleef.org>
1001
1002         * gst/elements/gstelements.c: Don't include headers that were
1003         just removed.
1004
1005 2005-05-15  David Schleef  <ds@schleef.org>
1006
1007         * gst/elements/Makefile.am: Remove some elements that don't
1008         need to be in the core (or even exist at all).
1009         * gst/elements/gstaggregator.c:
1010         * gst/elements/gstaggregator.h:
1011         * gst/elements/gstmd5sink.c:
1012         * gst/elements/gstmd5sink.h:
1013         * gst/elements/gstmultifilesrc.c:
1014         * gst/elements/gstmultifilesrc.h:
1015         * gst/elements/gstpipefilter.c:
1016         * gst/elements/gstpipefilter.h:
1017         * gst/elements/gstshaper.c:
1018         * gst/elements/gstshaper.h:
1019         * gst/elements/gststatistics.c:
1020         * gst/elements/gststatistics.h:
1021         * po/POTFILES.in: Remove above files.
1022
1023 2005-05-14  Andy Wingo  <wingo@pobox.com>
1024
1025         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1026         so as to get the refs right.
1027         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1028         unreffing objects that don't pass the filter.
1029
1030         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1031         gst_element_set_bus.
1032         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1033         normal cases, this will destroy the bus.
1034
1035         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1036         object.
1037
1038         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1039         has no sinks.
1040
1041 2005-05-13  Andy Wingo  <wingo@pobox.com>
1042
1043         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1044         gst_pad_link, call pad_link_maybe_ghosting,
1045         (pad_link_maybe_ghosting): Links pads, making sure that the
1046         elements being linked are in the same bin.
1047         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1048         Helpers for pad_link_maybe_ghosting.
1049
1050 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1051
1052         * configure.ac:
1053           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1054
1055 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1056
1057         * docs/design/part-element-source.txt:
1058           Mention GstPushSrc
1059
1060 2005-05-12  Wim Taymans  <wim@fluendo.com>
1061
1062         * gst/base/gstbasesink.c: (gst_basesink_init),
1063         (gst_basesink_activate):
1064         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1065         (gst_basesrc_is_seekable):
1066         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1067         (bin_element_is_sink), (gst_bin_change_state):
1068         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1069         * gst/gstelement.h:
1070         Identify sinks by their flag to avoid overly complicated
1071         checks (fow now).
1072         Do state changes even for elements not reachable from the
1073         sinks.
1074         BaseSink is a sink now :)
1075         Some more debugging info in the basesrc.
1076
1077
1078 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1079
1080         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1081           Implement _query on a bin, similar to _send_event.
1082
1083 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1084
1085         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1086           Discont event offset format should be GST_FORMAT_BYTES,
1087           not GST_FORMAT_TIME.
1088
1089 2005-05-12  Wim Taymans  <wim@fluendo.com>
1090
1091         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1092         Same fix as Ronald's but without the signal. 
1093
1094 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1095
1096         * gst/gstutils.c: (gst_element_query_position):
1097           No, an element is not a pad.
1098
1099 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1100
1101         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1102         (gst_bin_get_state):
1103           If a child is removed from a bin while we remove the child from
1104           the bin and while we're retrieving its state, signal this to the
1105           get_state function so we abort the wait (instead of waiting for
1106           a timeout) and can immediately re-iterate over all other elements.
1107
1108 2005-05-12  Wim Taymans  <wim@fluendo.com>
1109
1110         * gst/base/Makefile.am:
1111         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1112         (gst_basesrc_start):
1113         * gst/base/gstbasesrc.h:
1114         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1115         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1116         (gst_pushsrc_init), (gst_pushsrc_create):
1117         * gst/base/gstpushsrc.h:
1118         Added is_seekable to BaseSrc
1119         Added simple PushSrc.
1120
1121 2005-05-11  Wim Taymans  <wim@fluendo.com>
1122
1123         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1124         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1125         (gst_element_link_pads), (gst_element_query_position),
1126         (gst_element_query_convert), (intersect_caps_func),
1127         (gst_pad_query_position), (gst_pad_query_convert):
1128         Fix refcounting in utils function.
1129         No point in trying to activate a pad when it's added, it could
1130         be added from the state change function and then we deadlock, the
1131         element has to decide what to do.
1132
1133 2005-05-10  Andy Wingo  <wingo@pobox.com>
1134
1135         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1136         *all* the arguments.
1137
1138         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1139         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1140         lock (according to the docs -- if this is wrong change the docs).
1141
1142         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1143         flush messages in the NULL state.
1144
1145         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1146         message immediately and return.
1147         (gst_bus_set_flushing): New function. If a bus is flushing, it
1148         flushes out any queued messages and immediately unrefs new
1149         messages. This is so when an element goes to NULL, all of the
1150         unhandled messages coming from it can be freed, and their
1151         references to the element dropped. In other words: message source
1152         ref considered harmful :P
1153
1154         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1155         we're finished with it.
1156
1157         * gst/gstmessage.c (gst_message_new_state_changed): 
1158
1159 2005-05-10  Wim Taymans  <wim@fluendo.com>
1160
1161         * gst/gstvalue.c: (gst_value_compare_flags),
1162         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1163         (_gst_value_initialize):
1164         Added flags serialize/deserialize/compare code.
1165
1166 2005-05-09  Andy Wingo  <wingo@pobox.com>
1167
1168         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1169         Intersect the peer's caps with our caps.
1170
1171 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1172
1173         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1174         * gst/elements/gsttypefindelement.c: (find_peek):
1175           Handle negative offsets better. Fixes decodebin.
1176
1177 2005-05-09  Wim Taymans  <wim@fluendo.com>
1178
1179         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1180         (gst_base_transform_event):
1181         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1182         Implement accept_caps.
1183         Fix silly lock/unlock mismatch in base class.
1184
1185 2005-05-09  Wim Taymans  <wim@fluendo.com>
1186
1187         * docs/design/draft-push-pull.txt:
1188         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1189         * gst/elements/gstfilesink.c: (gst_filesink_init),
1190         (gst_filesink_query):
1191         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1192         (gst_type_find_handle_src_query), (find_element_get_length):
1193         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1194         * gst/gstelement.h:
1195         * gst/gstmessage.c:
1196         * gst/gstmessage.h:
1197         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1198         (gst_real_pad_get_caps_unlocked),
1199         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1200         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1201         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1202         (gst_real_pad_dispose), (gst_real_pad_finalize),
1203         (gst_pad_load_and_link), (gst_pad_save_thyself),
1204         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1205         (gst_pad_check_pull_range), (gst_pad_pull_range),
1206         (gst_pad_template_get_type), (gst_pad_template_class_init),
1207         (gst_pad_template_init), (gst_pad_template_dispose),
1208         (name_is_valid), (gst_static_pad_template_get),
1209         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1210         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1211         (gst_pad_get_element_private), (gst_pad_start_task),
1212         (gst_pad_pause_task), (gst_pad_stop_task),
1213         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1214         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1215         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1216         (gst_ghost_pad_new):
1217         * gst/gstpad.h:
1218         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1219         (gst_query_new_position), (gst_query_set_position),
1220         (gst_query_parse_position), (gst_query_new_convert),
1221         (gst_query_set_convert), (gst_query_parse_convert):
1222         * gst/gstquery.h:
1223         * gst/gstqueryutils.c:
1224         * gst/gstqueryutils.h:
1225         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1226         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1227         (gst_queue_handle_src_query):
1228         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1229         (gst_element_query_position), (gst_element_query_convert),
1230         (intersect_caps_func), (gst_pad_query_position),
1231         (gst_pad_query_convert):
1232         * gst/gstutils.h:
1233         * tools/gst-inspect.c: (print_pad_info):
1234         * tools/gst-xmlinspect.c: (print_element_info):
1235         Remove old query functions. Ported old code.
1236         Added position/convert helper functions to gstutils.
1237         Reordered gstpad.c code, grouping relevant things.
1238         Remove gst_message_new(), always need to speficy a specific
1239         message.
1240
1241
1242 2005-05-09  Andy Wingo  <wingo@pobox.com>
1243
1244         * gst/gstiterator.h: Add some includes.
1245
1246         * gst/gstqueryutils.h: Include more headers.
1247
1248         * gst/gstpad.h:
1249         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1250         some uses of gst_pad_query.
1251
1252         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1253         NULL out parameters.
1254         (gst_query_new_position): New proc, allocates a new position
1255         query.
1256
1257         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1258         gstqueryutils.c to the build.
1259
1260         * gst/gststructure.c (gst_structure_set_valist): Implement with
1261         the generic G_VALUE_COLLECT.
1262         
1263 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1264
1265         * gst/Makefile.am: (gst_headers):
1266         Added gstqueryutils.h to the list of headers to install, that was
1267         a 'nachty' move wingo :)
1268
1269 2005-05-06  Andy Wingo  <wingo@pobox.com>
1270
1271         * gst/gstquery.h
1272         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1273         GstData, init a memchunk.
1274         (standard_definitions): Add a few query types, deprecate a few.
1275         (gst_query_get_type): New proc.
1276         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1277         implementation.
1278         (gst_query_new_application, gst_query_get_structure): New public
1279         procs.
1280
1281         * docs/design/draft-query.txt: Removed LINKS from the query types,
1282         because all the rest can be dispatched to other pads -- seemed
1283         ugly to have a query that couldn't be dispatched. internal_links
1284         is fine as a pad method.
1285
1286         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1287         in gstpad.c, but maintain binary compatibility for the moment.
1288         Will fix before 0.9 is out.
1289
1290         * gst/gstqueryutils.c: 
1291         * gst/gstqueryutils.h: New files, implement 3 methods for each
1292         query type: parse_query, parse_response, and set. Probably need an
1293         allocator as well.
1294
1295         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1296
1297         * gst/elements/gstfilesink.c (gst_filesink_query2):
1298         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1299         query_types, and formats methods.
1300
1301         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1302         (gst_pad_set_query2_function): New functions.
1303         (gst_real_pad_init): Set query2_default as the default query2
1304         function. Basically just dispatches to internally linked pads.
1305
1306         Needs review!
1307         
1308         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1309         without using the atomic operations. Only one thread can possibly
1310         be accessing the data at this point. Changed so as to avoid
1311         gst_atomic operations.
1312
1313 2005-05-06  Wim Taymans  <wim@fluendo.com>
1314
1315         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1316         Also set caps if we use the fallback buffer alloc.
1317
1318 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1319
1320         * docs/gst/Makefile.am:
1321         * docs/gst/gstreamer-docs.sgml:
1322         * docs/gst/gstreamer-sections.txt:
1323         * docs/gst/tmpl/gstatomic.sgml:
1324         * docs/gst/tmpl/gstmemchunk.sgml:
1325         * testsuite/elements/struct_i386.h:
1326         * win32/GStreamer.vcproj:
1327         * win32/Makefile:
1328           Purge GstAtomic stuff from docs and win32 makefiles as well
1329
1330 2005-05-06  Wim Taymans  <wim@fluendo.com>
1331
1332         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1333         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1334         * gst/gstpad.c: (gst_pad_peer_get_caps):
1335         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1336         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1337         (gst_queue_src_activate), (gst_queue_change_state):
1338         * gst/gstqueue.h:
1339         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1340         (intersect_caps_func):
1341         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1342         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1343         Some fixes for the peer_get_caps() change.
1344
1345 2005-05-06  Wim Taymans  <wim@fluendo.com>
1346
1347         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1348         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1349         (gst_basesink_activate):
1350         Actually do something with error codes returned from the push
1351         functions.
1352
1353 2005-05-06  Wim Taymans  <wim@fluendo.com>
1354
1355         * docs/design/part-element-sink.txt:
1356         * docs/design/part-element-source.txt:
1357         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1358         (gst_basesink_event), (gst_basesink_activate):
1359         * gst/base/gstbasesink.h:
1360         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1361         (gst_basesrc_activate):
1362         * gst/base/gstbasesrc.h:
1363         * gst/gstelement.c: (gst_element_pads_activate):
1364         Some more documentation.
1365         Fixed scheduling decision in _pads_activate().
1366
1367 2005-05-05  Andy Wingo  <wingo@pobox.com>
1368
1369         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1370         the test suite.
1371
1372 2005-05-05  Wim Taymans  <wim@fluendo.com>
1373
1374         * gst/base/Makefile.am:
1375         * gst/base/gstbasesink.h:
1376         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1377         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1378         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1379         (gst_collectpads_class_init), (gst_collectpads_init),
1380         (gst_collectpads_finalize), (gst_collectpads_new),
1381         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1382         (find_pad), (gst_collectpads_remove_pad),
1383         (gst_collectpads_is_active), (gst_collectpads_collect),
1384         (gst_collectpads_collect_range), (gst_collectpads_start),
1385         (gst_collectpads_stop), (gst_collectpads_peek),
1386         (gst_collectpads_pop), (gst_collectpads_available),
1387         (gst_collectpads_read), (gst_collectpads_flush),
1388         (gst_collectpads_chain):
1389         * gst/base/gstcollectpads.h:
1390         * gst/elements/Makefile.am:
1391         * gst/elements/gstelements.c:
1392         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1393         (gst_fakesink_get_times), (gst_fakesink_event),
1394         (gst_fakesink_preroll), (gst_fakesink_render):
1395         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1396         (gst_filesink_init), (gst_filesink_set_location),
1397         (gst_filesink_open_file), (gst_filesink_close_file),
1398         (gst_filesink_pad_query), (gst_filesink_event),
1399         (gst_filesink_render), (gst_filesink_change_state):
1400         * gst/elements/gstfilesink.h:
1401         Added object to help in making collect pad based elements.
1402         Ported filesink.
1403         Make event function in sink baseclass return gboolean.
1404
1405 2005-05-05  Wim Taymans  <wim@fluendo.com>
1406
1407         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1408         (gst_bin_get_by_name):
1409         * gst/gstbuffer.h:
1410         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1411         (gst_clock_finalize):
1412         * gst/gstdata.c: (gst_data_replace):
1413         * gst/gstdata.h:
1414         * gst/gstelement.c: (gst_element_request_pad),
1415         (gst_element_pads_activate):
1416         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1417         (gst_object_unref):
1418         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1419         (gst_pad_set_checkgetrange_function),
1420         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1421         (gst_pad_check_pull_range), (gst_pad_pull_range),
1422         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1423         (gst_pad_pause_task), (gst_pad_stop_task):
1424         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1425         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1426         Fix name lookup in GstBin.
1427         Added _data_replace() function and _buffer_replace()
1428         Use finalize method to clean up clock.
1429         Fix refcounting on request pads.
1430         Fix pad schedule mode error.
1431         Some more object refcounting debug info,
1432
1433
1434 2005-05-04  Andy Wingo <wingo@pobox.com>
1435
1436         * check/Makefile.am:
1437         * docs/gst/tmpl/gstatomic.sgml:
1438         * docs/gst/tmpl/gstplugin.sgml:
1439         * gst/base/gstbasesink.c: (gst_basesink_activate):
1440         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1441         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1442         (gst_basesrc_query), (gst_basesrc_set_property),
1443         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1444         (gst_basesrc_activate):
1445         * gst/base/gstbasesrc.h:
1446         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1447         (gst_base_transform_src_activate):
1448         * gst/elements/gstelements.c:
1449         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1450         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1451         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1452         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1453         (gst_type_find_element_checkgetrange),
1454         (gst_type_find_element_activate):
1455         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1456         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1457         (gst_caps_load_thyself):
1458         * gst/gstelement.c: (gst_element_pads_activate),
1459         (gst_element_save_thyself), (gst_element_restore_thyself):
1460         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1461         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1462         * gst/gstpad.h:
1463         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1464         (gst_xml_parse_file), (gst_xml_parse_memory),
1465         (gst_xml_get_element), (gst_xml_make_element):
1466         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1467         (_file_index_id_save_xml), (gst_file_index_commit):
1468         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1469         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1470         (load_paths):
1471         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1472         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1473         * tools/gst-complete.c: (main):
1474         * tools/gst-compprep.c: (main):
1475         * tools/gst-inspect.c: (print_element_properties_info):
1476         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1477         * tools/gst-xmlinspect.c: (print_element_properties):
1478         GCC 4 fixen.
1479         
1480 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1481
1482         * gst/gstplugin.c: (gst_plugin_check_module),
1483         (gst_plugin_check_file), (gst_plugin_load_file):
1484             apply patch from #172526 to make register work on MacOSX
1485
1486 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1487
1488         * docs/gst/tmpl/gstconfig.sgml:
1489         * gst/gstconfig.h.in:
1490           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1491         * testsuite/debug/printf_extension.c: (main):
1492           Do not use GST_PTR_FORMAT on pointers to types with
1493           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1494         * testsuite/elements/property.h:
1495           use correct printf format
1496
1497 2005-05-02  Wim Taymans  <wim@fluendo.com>
1498
1499         * docs/design/draft-push-pull.txt:
1500         * docs/design/draft-query.txt:
1501         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1502         (gst_basesrc_start):
1503         Added draft for new query API.
1504         Added draft for better selecting scheduling methods.
1505         Make basesrc ignore length if the subclass does not support
1506         it.
1507
1508 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1509
1510         * gst/Makefile.am:
1511           possible fixes for automake-1.5 - _LIBADD is reserved
1512
1513 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1514
1515         * docs/faq/Makefile.am:
1516         * docs/manual/Makefile.am:
1517         * docs/manuals.mak:
1518         * docs/pwg/Makefile.am:
1519         * gst/Makefile.am:
1520           possible fixes for automake-1.5
1521
1522 2005-04-28  Wim Taymans  <wim@fluendo.com>
1523
1524         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1525         (gst_basesink_pad_getcaps), (gst_basesink_init),
1526         (gst_basesink_do_sync):
1527         * gst/gstclock.c: (gst_clock_entry_new):
1528         * gst/gstevent.c: (gst_event_discont_get_value):
1529         * gst/gstpipeline.c: (pipeline_bus_handler),
1530         (gst_pipeline_change_state):
1531         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1532         Better debugging of clocking info.
1533         Allow NULL values when getting discont values.
1534
1535 2005-04-27  Wim Taymans  <wim@fluendo.com>
1536
1537         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1538         * check/gst/gstpad.c: (gst_pad_suite):
1539         Increase timeout for checks.
1540
1541 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1542
1543         * check/Makefile.am:
1544           fix the broken rule for cleanup.  Apparently this rule is
1545           only needed on FC2, so maybe this warrants further autotool
1546           inspection.
1547
1548 2005-04-26  Wim Taymans  <wim@fluendo.com>
1549
1550         * gst/gsttrashstack.h:
1551         Ooohh. a nasty one! After having a failed pop() from the stack,
1552         it's possible that the stack is empty. In that case, don't
1553         follow the NULL pointer.
1554
1555 2005-04-25  Wim Taymans  <wim@fluendo.com>
1556
1557         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1558         (gst_pad_set_checkgetrange_function),
1559         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1560         (gst_pad_check_pull_range), (gst_pad_pull_range),
1561         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1562         (gst_pad_pause_task), (gst_pad_stop_task):
1563         * gst/gstplugin.c: (gst_plugin_load):
1564         * gst/gstplugin.h:
1565         Remove gst_library_load as it does more harm than good with
1566         the new g_module flags.
1567         Revert bogus caps template check in pad linking, pad caps
1568         are important when linking not the template, which is more
1569         general than the current caps.
1570
1571 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1572
1573         * gst/autoplug/.cvsignore:
1574         * gst/autoplug/Makefile.am:
1575         * gst/autoplug/gstsearchfuncs.c:
1576         * gst/autoplug/gstsearchfuncs.h:
1577         * gst/autoplug/gstspider.c:
1578         * gst/autoplug/gstspider.h:
1579         * gst/autoplug/gstspideridentity.c:
1580         * gst/autoplug/gstspideridentity.h:
1581         * gst/autoplug/spidertest.c:
1582           Die, spider, die.
1583
1584 2005-04-25  Wim Taymans  <wim@fluendo.com>
1585
1586         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1587         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1588         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1589         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1590         * gst/gstpad.h:
1591         Added stubs for unimplemented functions. 
1592
1593 2005-04-24  David Schleef  <ds@schleef.org>
1594
1595         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1596         please fix.
1597
1598 2005-04-24  David Schleef  <ds@schleef.org>
1599
1600         Convert everything from GstAtomicInt to g_atomic_int_*, and
1601         remove gstatomic.
1602         * gst/Makefile.am:
1603         * gst/gstatomic.c:
1604         * gst/gstatomic.h:
1605         * gst/gstatomic_impl.h:
1606         * gst/gstbuffer.c:
1607         * gst/gstcaps.c:
1608         * gst/gstcaps.h:
1609         * gst/gstclock.c:
1610         * gst/gstclock.h:
1611         * gst/gstdata.c:
1612         * gst/gstdata.h:
1613         * gst/gstdata_private.h:
1614         * gst/gstevent.c:
1615         * gst/gstinfo.c:
1616         * gst/gstinfo.h:
1617         * gst/gstmessage.c:
1618         * gst/gstobject.c:
1619         * gst/gstobject.h:
1620         * gst/gststructure.c:
1621         * gst/gststructure.h:
1622         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1623         * gst/gstutils.h:
1624
1625 2005-04-24  David Schleef  <ds@schleef.org>
1626
1627         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1628         make the regressions tests work.  Remove some code that is no
1629         longer true.
1630         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1631         Disable warning for pads without templates.
1632
1633 2005-04-24  David Schleef  <ds@schleef.org>
1634
1635         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1636         functions that handle filtered links.
1637         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1638         removed functions.
1639         * gst/gstutils.c: Fix/remove utility functions that handle
1640         filtered caps.
1641         * gst/gstutils.h:
1642         * gst/gstvalue.c: Add serialization/deserialization of caps
1643         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1644         requires fixing so that the filter caps notation creates
1645         a capsfilter element and sets the filter_caps property.  I
1646         think everyone probably wants to keep the shorthand notation.
1647         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1648         * docs/gst/tmpl/gstpad.sgml:
1649
1650         * gst/elements/gstelements.c: Register capsfilter element.
1651         * gst/Makefile.am: fix spacing
1652         * docs/random/ds/0.9-suggested-changes: random
1653
1654 2005-04-23  David Schleef  <ds@schleef.org>
1655
1656         * gst/elements/Makefile.am:
1657         * gst/elements/gstcapsfilter.c: New element that acts like an
1658         identity, but filters caps.  Will eventually replace filtered
1659         caps in pad linking.
1660         * gst/gstutils.c: (gst_element_create_all_pads): New function
1661         to create all the ALWAYS pads that are registered with an
1662         element class.  This functionality should eventually be
1663         merged in with GstElement initialization.
1664         * gst/gstutils.h:
1665         * testsuite/trigger/README: part of trigger test code that should
1666         have been checked in a long time ago.
1667
1668 2005-04-23  David Schleef  <ds@schleef.org>
1669
1670         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1671         needed with new versions of libtool (nobody will confirm this),
1672         and hard to carry around.
1673         * gst/autoplug/Makefile.am:
1674         * gst/base/Makefile.am:
1675         * gst/elements/Makefile.am:
1676         * gst/indexers/Makefile.am:
1677         * gst/schedulers/Makefile.am:
1678         * libs/gst/bytestream/Makefile.am:
1679         * libs/gst/control/Makefile.am:
1680         * libs/gst/dataprotocol/Makefile.am:
1681         * libs/gst/getbits/Makefile.am:
1682
1683 2005-04-21  Wim Taymans  <wim@fluendo.com>
1684
1685         * docs/design/draft-push-pull.txt:
1686         * docs/design/part-MT-refcounting.txt:
1687         * docs/design/part-TODO.txt:
1688         * docs/design/part-caps.txt:
1689         * docs/design/part-events.txt:
1690         * docs/design/part-gstbus.txt:
1691         * docs/design/part-gstpipeline.txt:
1692         * docs/design/part-messages.txt:
1693         * docs/design/part-push-pull.txt:
1694         * docs/design/part-query.txt:
1695         Some more docs.
1696
1697 2005-04-21  Wim Taymans  <wim@fluendo.com>
1698
1699         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1700         (gst_message_new), (gst_message_new_error),
1701         (gst_message_new_warning), (gst_message_new_tag),
1702         (gst_message_new_state_changed), (gst_message_new_application),
1703         (gst_message_get_structure):
1704         * gst/gstmessage.h:
1705         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1706         (gst_structure_copy_conditional):
1707         Use parent refcount in GstMessage to ensure GstStructure
1708         consistency.
1709         Cleaned up headers a bit.
1710         
1711
1712 2005-04-20  Wim Taymans  <wim@fluendo.com>
1713
1714         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1715         (gst_basesink_pad_getcaps), (gst_basesink_init),
1716         (gst_basesink_chain_unlocked):
1717         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1718         (gst_type_find_helper):
1719         * gst/elements/gsttypefindelement.c:
1720         (gst_type_find_element_have_type), (gst_type_find_element_init),
1721         (stop_typefinding), (gst_type_find_element_handle_event),
1722         (find_suggest), (gst_type_find_element_chain),
1723         (gst_type_find_element_checkgetrange),
1724         (gst_type_find_element_getrange), (do_typefind),
1725         (gst_type_find_element_activate):
1726         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1727         (gst_buffer_default_free), (gst_buffer_default_copy),
1728         (gst_buffer_set_caps):
1729         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1730         (gst_caps_replace):
1731         * gst/gstmessage.c: (gst_message_new),
1732         (gst_message_new_state_changed):
1733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1734         (gst_pad_set_checkgetrange_function),
1735         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1736         (gst_pad_set_caps), (gst_pad_check_pull_range),
1737         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1738         * gst/gstpad.h:
1739         * gst/gsttypefind.c: (gst_type_find_register):
1740         Make gst_caps_replace() work like other _replace() functions.
1741         Use _caps_replace() where possible.
1742         Make sure _message_new() initialises its field.
1743         Add gst_static_pad_template_get_caps()
1744
1745
1746 2005-04-18  Andy Wingo  <wingo@pobox.com>
1747
1748         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1749         on the peer, not the pad. I think that was a typo. Pass an extra
1750         arg to see if random access is possible. Activate the pads as
1751         PULL_RANGE if possible.
1752
1753         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1754
1755         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1756         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1757         to PROP_....
1758
1759 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1760
1761         * docs/faq/using.xml:
1762           Add note on gstreamer-properties (#154996).
1763
1764 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1765
1766         * docs/random/bbb/optional-properties:
1767           Some analysis on optional properties.
1768
1769 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1770
1771         * docs/gst/tmpl/gstelementfactory.sgml:
1772         * gst/gstelement.h:
1773         * gst/gstelementfactory.c: (gst_element_factory_init),
1774         (gst_element_factory_cleanup), (gst_element_register),
1775         (__gst_element_factory_add_static_pad_template),
1776         (gst_element_factory_get_static_pad_templates),
1777         (gst_element_factory_can_src_caps),
1778         (gst_element_factory_can_sink_caps):
1779         * gst/registries/Makefile.am:
1780         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1781         (gst_xml_registry_class_init), (gst_xml_registry_init),
1782         (gst_xml_registry_new), (gst_xml_registry_set_property),
1783         (gst_xml_registry_get_property), (get_time), (make_dir),
1784         (gst_xml_registry_get_perms_func),
1785         (plugin_times_older_than_recurse), (plugin_times_older_than),
1786         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1787         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1788         (add_to_char_array), (read_string), (read_uint), (read_enum),
1789         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1790         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1791         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1792         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1793         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1794         (gst_xml_registry_rebuild):
1795         * gst/registries/gstlibxmlregistry.h:
1796         * tools/gst-compprep.c: (main):
1797         * tools/gst-inspect.c: (print_pad_templates_info):
1798         * tools/gst-xmlinspect.c: (print_element_info):
1799           Use libxml2 for registry parsing, use staticpadtemplates in
1800           elementfactories. Makes gst_init() +/- 10x faster.
1801
1802 2005-04-12  Wim Taymans  <wim@fluendo.com>
1803
1804         * gst/base/Makefile.am:
1805         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1806         (gst_basesink_pad_getcaps), (gst_basesink_init),
1807         (gst_basesink_event), (gst_basesink_change_state):
1808         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1809         (gst_basesrc_init), (gst_basesrc_query),
1810         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1811         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1812         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1813         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1814         (gst_basesrc_stop), (gst_basesrc_activate),
1815         (gst_basesrc_change_state):
1816         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1817         (helper_find_suggest), (gst_type_find_helper):
1818         * gst/base/gsttypefindhelper.h:
1819         * gst/elements/Makefile.am:
1820         * gst/elements/gstelements.c:
1821         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1822         (gst_fakesink_get_times), (gst_fakesink_event),
1823         (gst_fakesink_preroll), (gst_fakesink_render):
1824         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1825         (gst_fakesrc_init), (gst_fakesrc_event_handler),
1826         (gst_fakesrc_get_property), (gst_fakesrc_create),
1827         (gst_fakesrc_start), (gst_fakesrc_stop):
1828         * gst/elements/gstfakesrc.h:
1829         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
1830         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1831         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1832         (gst_filesrc_create_read), (gst_filesrc_create),
1833         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
1834         (gst_filesrc_start):
1835         * gst/elements/gsttypefindelement.c:
1836         (gst_type_find_element_have_type), (gst_type_find_element_init),
1837         (start_typefinding), (stop_typefinding), (push_buffer_store),
1838         (gst_type_find_element_handle_event),
1839         (gst_type_find_element_chain),
1840         (gst_type_find_element_checkgetrange),
1841         (gst_type_find_element_getrange), (do_typefind),
1842         (gst_type_find_element_activate),
1843         (gst_type_find_element_change_state):
1844         * gst/elements/gsttypefindelement.h:
1845         * gst/gstpipeline.c: (pipeline_bus_handler):
1846         Added typefind helper.
1847         Small preroll fix in the base sink.
1848         Disable typefind code in basesrc.
1849         Crude port of typefindelement.
1850         Fakesrc cleanups.
1851
1852
1853 2005-04-11  Wim Taymans  <wim@fluendo.com>
1854
1855         * check/gst/gstbus.c: (gstbus_suite):
1856         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
1857         * check/gstcheck.h:
1858           Fix up the timeout so that the test does not fail.
1859
1860 2005-04-06  Wim Taymans  <wim@fluendo.com>
1861
1862         * gst/base/README:
1863         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1864         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
1865         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1866         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1867         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1868         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1869         (gst_basesrc_stop), (gst_basesrc_activate),
1870         (gst_basesrc_change_state), (basesrc_find_peek),
1871         (basesrc_find_suggest), (gst_basesrc_type_find):
1872         * gst/base/gstbasesrc.h:
1873         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
1874         (gst_filesrc_class_init), (gst_filesrc_init),
1875         (gst_filesrc_finalize), (gst_filesrc_set_location),
1876         (gst_filesrc_set_property), (gst_filesrc_get_property),
1877         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
1878         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
1879         (gst_filesrc_create_read), (gst_filesrc_create),
1880         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
1881         * gst/elements/gstfilesrc.h:
1882         * gst/gstelement.c: (gst_element_get_state_func),
1883         (gst_element_lost_state), (gst_element_pads_activate):
1884         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1885         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1886         (gst_pad_pull_range):
1887         * gst/gstpad.h:
1888         More work on the generic source base class, implement seeking,
1889         query.
1890         Make filesrc extend the base source class.
1891         Added gst_pad_set_checkgetrange_function to GstPad.
1892
1893 2005-04-06  Andy Wingo  <wingo@pobox.com>
1894
1895         * pkgconfig/gstreamer-base.pc.in:
1896         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
1897
1898         * pkgconfig/Makefile.am:
1899         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
1900
1901 2005-04-04  Wim Taymans  <wim@fluendo.com>
1902
1903         * gst/base/Makefile.am:
1904         * gst/base/README:
1905         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1906         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
1907         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
1908         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
1909         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1910         (gst_basesrc_base_init), (gst_basesrc_class_init),
1911         (gst_basesrc_init), (gst_basesrc_get_formats),
1912         (gst_basesrc_get_query_types), (gst_basesrc_query),
1913         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
1914         (gst_basesrc_set_property), (gst_basesrc_get_property),
1915         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
1916         (gst_basesrc_loop), (gst_basesrc_activate),
1917         (gst_basesrc_change_state):
1918         * gst/base/gstbasesrc.h:
1919         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
1920         (gst_fakesrc_class_init), (gst_fakesrc_init),
1921         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
1922         (gst_fakesrc_get_property), (gst_fakesrc_create):
1923         * gst/elements/gstfakesrc.h:
1924         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
1925         (gst_filesrc_open_file), (gst_filesrc_loop),
1926         (gst_filesrc_activate), (filesrc_find_peek),
1927         (gst_filesrc_type_find):
1928         Made base source class, make fakesrc extend it.
1929         Add comments to basesink class.
1930         Some filesrc cleanup.
1931
1932 2005-03-31  David Schleef  <ds@schleef.org>
1933
1934         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
1935         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
1936         expected to link against libgstreamer.
1937         * gst/base/Makefile.am: link against libgstreamer
1938         * gst/elements/Makefile.am: same
1939
1940 2005-03-31  Andy Wingo  <wingo@pobox.com>
1941
1942         * tests/instantiate/Makefile.am:
1943         * tests/instantiate/caps.c: Add test to test speed of caps copy
1944         and free.
1945
1946         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
1947         GMemChunk to be fair.
1948
1949         * gst/gsttrashstack.h: Remove warning about using the fallback
1950         trash stack implementation, it's still faster than malloc.
1951
1952 2005-03-30  Andy Wingo  <wingo@pobox.com>
1953
1954         * tests/complexity.c: Add a copyright.
1955
1956 2005-03-31  Wim Taymans  <wim@fluendo.com>
1957
1958         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
1959         (gst_base_transform_class_init), (gst_base_transform_init),
1960         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
1961         (gst_base_transform_get_property),
1962         (gst_base_transform_sink_activate),
1963         (gst_base_transform_src_activate),
1964         (gst_base_transform_change_state):
1965         * gst/base/gstbasetransform.h:
1966         * gst/elements/gstidentity.c: (gst_identity_class_init),
1967         (gst_identity_event), (gst_identity_check_perfect),
1968         (gst_identity_transform), (gst_identity_start),
1969         (gst_identity_stop):
1970         Added start/stop methods to transform base class so subclasses 
1971         don't need to deal with state changes even.
1972
1973 2005-03-31  Wim Taymans  <wim@fluendo.com>
1974
1975         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
1976         (gst_event_new_discontinuous), (gst_event_discont_get_value):
1977         * gst/gstevent.h:
1978         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1979         (gst_pad_pull_range):
1980         Added rate to the discont event to prepare for variable speed
1981         and reverse playback.
1982
1983 2005-03-29  David Schleef  <ds@schleef.org>
1984
1985         * configure.ac:
1986         * testsuite/trigger/Makefile.am:
1987         * testsuite/trigger/trigger.c: A little example program to show
1988         how trigger-based elements can work.
1989
1990 2005-03-29  Wim Taymans  <wim@fluendo.com>
1991
1992         * gst/base/Makefile.am:
1993         * gst/base/README:
1994         * gst/base/gstbasesink.c: (gst_basesink_get_type),
1995         (gst_basesink_base_init), (gst_basesink_class_init),
1996         (gst_basesink_pad_getcaps), (gst_basesink_init),
1997         (gst_basesink_activate), (gst_basesink_change_state):
1998         * gst/base/gstbasesink.h:
1999         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2000         (gst_base_transform_base_init), (gst_base_transform_finalize),
2001         (gst_base_transform_class_init), (gst_base_transform_init),
2002         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2003         (gst_base_transform_event), (gst_base_transform_getrange),
2004         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2005         (gst_base_transform_set_property),
2006         (gst_base_transform_get_property),
2007         (gst_base_transform_sink_activate),
2008         (gst_base_transform_src_activate),
2009         (gst_base_transform_change_state):
2010         * gst/base/gstbasetransform.h:
2011         * gst/elements/gstidentity.c: (gst_identity_finalize),
2012         (gst_identity_class_init), (gst_identity_init),
2013         (gst_identity_event), (gst_identity_check_perfect),
2014         (gst_identity_transform), (gst_identity_set_property),
2015         (gst_identity_get_property), (gst_identity_change_state):
2016         * gst/elements/gstidentity.h:
2017         * gst/gstelement.c: (gst_element_get_state_func),
2018         (gst_element_lost_state), (gst_element_pads_activate):
2019         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2020         (gst_pad_check_pull_range), (gst_pad_pull_range):
2021         * gst/gstpad.h:
2022         Simplify pad activation.
2023         Added function to check if pull_range can be performed.
2024         Error out when pulling inactive or flushing pads.
2025         Removed const from refcounted types as it does not make sense.
2026         Simplify pad templates in basesink
2027         Added base class for simple 1-to-1 transforms.
2028         Make identity subclass the base transform.
2029
2030 2005-03-29  Andy Wingo  <wingo@pobox.com>
2031
2032         * docs/libs/gstreamer-libs-overrides.txt: 
2033         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2034         really don't understand what's going on, but like whatever. I want
2035         green buildbot!
2036
2037         * docs/gst/Makefile.am:
2038         * docs/libs/Makefile.am: Dist the overrides files.
2039
2040         * check/Makefile.am (clean-local): Remove .libs directories.
2041
2042         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2043         elements to EXTRA_DIST, so po/ files are happy.
2044
2045         * po/POTFILES.in: Er, remove it here.
2046
2047         * po/POTFILES: Remove gstspider.c.
2048
2049         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2050
2051         * docs/libs/gstreamer-libs-docs.sgml: 
2052         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2053         bytestream.
2054
2055         * tests/complexity.c (main): Set the length of the preroll queue
2056         on the sinks to prevent a lockup.
2057
2058         * libs/gst/dataprotocol/Makefile.am: 
2059         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2060         the same as the one in check/gst-libs/gdp.c.
2061
2062         * po/, docs/gst/: Commit automatic changes to docs and po files.
2063
2064         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2065         the versioned libgstbase.
2066
2067         * check/Makefile.am: Depend on an unversioned gst-register, seems
2068         to make autoconf happier.
2069
2070         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2071
2072 2005-03-28  Wim Taymans  <wim@fluendo.com>
2073
2074         * configure.ac:
2075         * docs/design/part-gstelement.txt:
2076         * docs/design/part-negotiation.txt:
2077         * docs/design/part-preroll.txt:
2078         * docs/design/part-scheduling.txt:
2079         * docs/design/part-states.txt:
2080         * gst/Makefile.am:
2081         * gst/base/Makefile.am:
2082         * gst/base/README:
2083         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2084         (gst_basesink_base_init), (gst_basesink_class_init),
2085         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2086         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2087         (gst_basesink_set_pad_functions),
2088         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2089         (gst_basesink_set_property), (gst_basesink_get_property),
2090         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2091         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2092         (gst_basesink_preroll_queue_push),
2093         (gst_basesink_preroll_queue_empty),
2094         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2095         (gst_basesink_event), (gst_basesink_get_times),
2096         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2097         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2098         (gst_basesink_loop), (gst_basesink_activate),
2099         (gst_basesink_change_state):
2100         * gst/base/gstbasesink.h:
2101         * gst/elements/Makefile.am:
2102         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2103         (gst_fakesink_class_init), (gst_fakesink_init),
2104         (gst_fakesink_set_property), (gst_fakesink_get_property),
2105         (gst_fakesink_get_times), (gst_fakesink_event),
2106         (gst_fakesink_preroll), (gst_fakesink_render),
2107         (gst_fakesink_change_state):
2108         * gst/elements/gstfakesink.h:
2109         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2110         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2111         * gst/gstelement.c: (gst_element_add_pad),
2112         (gst_element_get_state_func), (gst_element_abort_state),
2113         (gst_element_commit_state), (gst_element_lost_state),
2114         (gst_element_set_state), (gst_element_pads_activate):
2115         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2116         * gst/gstpipeline.c: (gst_pipeline_send_event),
2117         (gst_pipeline_change_state):
2118         Added state change code.
2119         Added/updated docs.
2120         Added sink base class, make fakesink extend the base class.
2121         Small cleanups in GstPipeline.
2122
2123 2005-03-26  David Schleef  <ds@schleef.org>
2124
2125         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2126         is broken and should be implemented in a different library.
2127         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2128         * gst/gst.h: remove gstcpu.h
2129         * gst/gstcpu.c: remove
2130         * gst/gstcpu.h: remove
2131         * gst/Makefile.am.future: Remove this file.  It's ancient.
2132
2133 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2134
2135         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2136         (gst_bin_send_event):
2137           Add default event/set_manager handlers. The set_manager handler
2138           takes care that the manager is distributed over kids that were
2139           already in the bin before the manager was set. The event handler
2140           is a utility virtual function that sends the event over all sinks,
2141           so that gst_element_send_event (bin, event); has the expected
2142           behaviour.
2143         * gst/gstpad.c: (gst_pad_event_default):
2144           Re-install default event handling for discontinuities, so that
2145           seeking works without requiring hacks in applications or extra
2146           code in sinks.
2147         * gst/gstpipeline.c: (gst_pipeline_class_init),
2148         (gst_pipeline_send_event):
2149           Half hack, half utility: set a pipeline to PAUSED for seek events,
2150           since that is the only way we can guarantee a/v sync. Means that
2151           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2152           and it "just works".
2153
2154 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2155
2156         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2157           Lock/unlock mismatch.
2158
2159 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2160
2161         * docs/faq/gst-uninstalled:
2162           add gst-plugins-base
2163         * docs/gst/Makefile.am:
2164           don't error out until docs are fixed
2165         * docs/gst/gstreamer.types:
2166           remove thread
2167
2168 2005-03-22  Wim Taymans  <wim@fluendo.com>
2169
2170         * check/Makefile.am:
2171         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2172         * gst/gststructure.c: (gst_structure_set_valist),
2173         (gst_structure_copy_conditional):
2174         Activated more tests.
2175         Added message test.
2176         Added G_TYPE_POINTER to GstStructure.
2177         
2178
2179 2005-03-22  Wim Taymans  <wim@fluendo.com>
2180
2181         * docs/design/part-TODO.txt:
2182         * docs/design/part-events.txt:
2183         * docs/design/part-gstbin.txt:
2184         * docs/design/part-gstbus.txt:
2185         * docs/design/part-gstpipeline.txt:
2186         * docs/design/part-messages.txt:
2187         * gst/gstbus.c:
2188         * gst/gstmessage.c:
2189         Docs updates
2190
2191 2005-03-21  Wim Taymans  <wim@fluendo.com>
2192
2193         * gst/gstbus.c: (gst_bus_post):
2194         Fix copy-and-paste error.
2195
2196 2005-03-21  Wim Taymans  <wim@fluendo.com>
2197
2198         * check/Makefile.am:
2199         * gst/Makefile.am:
2200         * gst/elements/Makefile.am:
2201         * gst/elements/gstelements.c:
2202         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2203         (gst_fakesink_event), (gst_fakesink_chain):
2204         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2205         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2206         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2207         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2208         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2209         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2210         (gst_fakesrc_loop), (gst_fakesrc_activate),
2211         (gst_fakesrc_change_state):
2212         * gst/elements/gstfakesrc.h:
2213         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2214         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2215         (gst_filesrc_open_file), (gst_filesrc_loop),
2216         (gst_filesrc_activate), (gst_filesrc_change_state),
2217         (filesrc_find_peek), (filesrc_find_suggest),
2218         (gst_filesrc_type_find):
2219         * gst/elements/gstidentity.c: (gst_identity_finalize),
2220         (gst_identity_class_init), (gst_identity_init),
2221         (gst_identity_proxy_getcaps), (identity_queue_push),
2222         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2223         (gst_identity_getrange), (gst_identity_chain),
2224         (gst_identity_sink_loop), (gst_identity_src_loop),
2225         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2226         (gst_identity_set_property), (gst_identity_get_property),
2227         (gst_identity_change_state):
2228         * gst/elements/gstidentity.h:
2229         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2230         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2231         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2232         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2233         (gst_tee_sink_activate):
2234         * gst/elements/gsttee.h:
2235         * gst/gst.c: (gst_register_core_elements), (init_post):
2236         * gst/gst.h:
2237         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2238         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2239         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2240         (gst_bin_change_state):
2241         * gst/gstbin.h:
2242         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2243         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2244         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2245         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2246         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2247         (bus_watch_callback), (bus_watch_destroy),
2248         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2249         (poll_timeout), (gst_bus_poll):
2250         * gst/gstbus.h:
2251         * gst/gstcaps.h:
2252         * gst/gstdata.h:
2253         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2254         (gst_element_post_message), (gst_element_message_full),
2255         (gst_element_get_state_func), (gst_element_get_state),
2256         (gst_element_abort_state), (gst_element_commit_state),
2257         (gst_element_lost_state), (gst_element_set_state),
2258         (gst_element_pads_activate), (gst_element_change_state),
2259         (gst_element_dispose), (gst_element_set_manager_func),
2260         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2261         (gst_element_set_manager), (gst_element_get_manager),
2262         (gst_element_set_bus), (gst_element_get_bus),
2263         (gst_element_set_scheduler), (gst_element_get_scheduler):
2264         * gst/gstelement.h:
2265         * gst/gstevent.c: (gst_event_new_segment_seek),
2266         (gst_event_new_flush):
2267         * gst/gstevent.h:
2268         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2269         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2270         (gst_message_new_eos), (gst_message_new_error),
2271         (gst_message_new_warning), (gst_message_new_tag),
2272         (gst_message_new_state_changed), (gst_message_new_application),
2273         (gst_message_get_structure), (gst_message_parse_tag),
2274         (gst_message_parse_state_changed), (gst_message_parse_error),
2275         (gst_message_parse_warning):
2276         * gst/gstmessage.h:
2277         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2278         (gst_real_pad_set_property), (gst_pad_set_active),
2279         (gst_pad_is_active), (gst_pad_set_blocked_async),
2280         (gst_pad_set_blocked), (gst_pad_is_blocked),
2281         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2282         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2283         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2284         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2285         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2286         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2287         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2288         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2289         (gst_pad_set_caps), (gst_pad_configure_sink),
2290         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2291         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2292         (gst_real_pad_dispose), (gst_real_pad_finalize),
2293         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2294         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2295         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2296         * gst/gstpad.h:
2297         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2298         (pipeline_bus_handler), (gst_pipeline_change_state),
2299         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2300         * gst/gstpipeline.h:
2301         * gst/gstprobe.h:
2302         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2303         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2304         (gst_queue_link_src), (gst_queue_bufferalloc),
2305         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2306         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2307         (gst_queue_loop), (gst_queue_handle_src_event),
2308         (gst_queue_handle_src_query), (gst_queue_src_activate),
2309         (gst_queue_change_state):
2310         * gst/gstqueue.h:
2311         * gst/gstscheduler.c: (gst_scheduler_init),
2312         (gst_scheduler_dispose), (gst_scheduler_create_task),
2313         (gst_scheduler_factory_create):
2314         * gst/gstscheduler.h:
2315         * gst/gststructure.c: (gst_structure_get_type),
2316         (gst_structure_copy_conditional):
2317         * gst/gststructure.h:
2318         * gst/gsttaginterface.h:
2319         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2320         (gst_task_init), (gst_task_dispose), (gst_task_create),
2321         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2322         (gst_task_pause):
2323         * gst/gsttask.h:
2324         * gst/gstthread.c:
2325         * gst/gstthread.h:
2326         * gst/gsttypes.h:
2327         * gst/schedulers/Makefile.am:
2328         * gst/schedulers/cothreads_compat.h:
2329         * gst/schedulers/entryscheduler.c:
2330         * gst/schedulers/faircothreads.c:
2331         * gst/schedulers/faircothreads.h:
2332         * gst/schedulers/fairscheduler.c:
2333         * gst/schedulers/gstbasicscheduler.c:
2334         * gst/schedulers/gstoptimalscheduler.c:
2335         * gst/schedulers/gthread-cothreads.h:
2336         * gst/schedulers/threadscheduler.c:
2337         (gst_thread_scheduler_task_get_type),
2338         (gst_thread_scheduler_task_class_init),
2339         (gst_thread_scheduler_task_init),
2340         (gst_thread_scheduler_task_start),
2341         (gst_thread_scheduler_task_stop),
2342         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2343         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2344         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2345         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2346         (plugin_init):
2347         * libs/gst/Makefile.am:
2348         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2349         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2350         (gst_file_pad_parent_set):
2351         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2352         (gst_dp_event_from_packet):
2353         * tests/complexity.c: (main):
2354         * tests/mass_elements.c: (main):
2355         * testsuite/states/locked.c: (message_received), (main):
2356         * testsuite/states/parent.c: (main):
2357         * tools/gst-inspect.c: (print_element_flag_info),
2358         (print_implementation_info), (print_pad_info):
2359         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2360         (main):
2361         * tools/gst-md5sum.c: (event_loop), (main):
2362         * tools/gst-typefind.c: (main):
2363         * tools/gst-xmlinspect.c: (print_element_info):
2364         Next big merge.
2365         Added GstBus for mainloop integration.
2366         Added GstMessage for sending notifications on the bus.
2367         Added GstTask as an abstraction for pipeline entry points.
2368         Removed GstThread.
2369         Removed Schedulers.
2370         Simplified GstQueue for multithreaded core.
2371         Made _link threadsafe, removed old capsnego.
2372         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2373         Added pad blocking functions.
2374         Reworked scheduling functions in GstPad to prepare for
2375         scheduling updates soon.
2376         Moved events out of data stream.
2377         Simplified GstEvent types.
2378         Added return values to push/pull.
2379         Removed clocking from GstElement.
2380         Added prototypes for state change function for next merge.
2381         Removed iterate from bins and state change management.
2382         Fixed some elements, disabled others for now.
2383         Fixed -inspect and -launch.
2384         Added check for GstBus.
2385
2386 2005-03-10  Wim Taymans  <wim@fluendo.com>
2387
2388         * docs/design/part-MT-refcounting.txt:
2389         * docs/design/part-clocks.txt:
2390         * docs/design/part-gstelement.txt:
2391         * docs/design/part-gstobject.txt:
2392         * docs/design/part-standards.txt:
2393         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2394         (gst_bin_remove_func), (gst_bin_remove):
2395         * gst/gstbin.h:
2396         * gst/gstbuffer.c:
2397         * gst/gstcaps.h:
2398         * testsuite/clock/clock1.c: (main):
2399         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2400         (main):
2401         * testsuite/dlopen/loadgst.c: (do_test):
2402         * testsuite/refcounting/bin.c: (add_remove_test1),
2403         (add_remove_test2), (main):
2404         * testsuite/refcounting/element.c: (main):
2405         * testsuite/refcounting/element_pad.c: (main):
2406         * testsuite/refcounting/pad.c: (main):
2407         * tools/gst-launch.c: (sigint_handler_sighandler):
2408         * tools/gst-typefind.c: (main):
2409         Doc updates.
2410         Added doc about clock.
2411         removed gst_bin_iterate_recurse_up(), marked methods
2412         for removal.
2413         Fix more testsuites.
2414
2415 2005-03-09  Wim Taymans  <wim@fluendo.com>
2416
2417         * gst/gstpad.c: (gst_pad_get_direction),
2418         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2419         (gst_pad_collect_valist):
2420         * testsuite/bins/interface.c: (main):
2421         * testsuite/caps/audioscale.c: (test_caps):
2422         * testsuite/caps/caps.c: (test1), (test2), (test3):
2423         * testsuite/caps/deserialize.c: (main):
2424         * testsuite/caps/enumcaps.c: (main):
2425         * testsuite/caps/filtercaps.c: (main):
2426         * testsuite/caps/intersect2.c: (main):
2427         * testsuite/caps/random.c: (main):
2428         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2429         * testsuite/caps/sets.c: (check_caps):
2430         * testsuite/caps/simplify.c: (check_caps), (main):
2431         * testsuite/caps/subtract.c: (check_caps):
2432         Fix _pad_get_direction wrt ghostpads.
2433         Fix caps testsuite.
2434
2435 2005-03-09  Wim Taymans  <wim@fluendo.com>
2436
2437         * check/Makefile.am:
2438         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2439         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2440         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2441         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2442         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2443         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2444         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2445         (bin_element_is_sink), (gst_bin_iterate_sinks),
2446         (gst_bin_iterate_all_by_interface):
2447         * gst/gstbin.h:
2448         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2449         (gst_element_change_state), (gst_element_dispose),
2450         (gst_element_finalize), (gst_element_set_loop_function):
2451         * gst/gstelement.h:
2452         * gst/gstiterator.c: (find_custom_fold_func):
2453         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2454         (gst_pad_collectv), (gst_pad_collect_valist),
2455         (gst_pad_template_new):
2456         * gst/gstpipeline.c: (gst_pipeline_class_init),
2457         (gst_pipeline_dispose), (gst_pipeline_set_property),
2458         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2459         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2460         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2461         * gst/gstutils.h:
2462         * gst/schedulers/entryscheduler.c:
2463         * gst/schedulers/gstbasicscheduler.c:
2464         (gst_basic_scheduler_cothreaded_chain),
2465         (gst_basic_scheduler_chain_add_element):
2466         * testsuite/bins/interface.c: (main):
2467         Added GstBin test.
2468         Added GstSystemClock test.
2469         Implemented clock distribution code in GstBin.
2470         Implemented iterate sinks method for future use.
2471         Rearranged gstelement.h
2472         Fix GstIterator comparison bug.
2473         Moved some code to GstPipeline, mostly clocking related.
2474
2475 2005-03-09  Wim Taymans  <wim@fluendo.com>
2476
2477         * configure.ac:
2478         * gst/gst_private.h:
2479         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2480         (gst_bin_remove_func), (gst_bin_remove),
2481         (gst_bin_get_by_name_recurse_up):
2482         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2483         (gst_clock_id_compare_func), (gst_clock_id_wait),
2484         (gst_clock_id_wait_async), (gst_clock_init),
2485         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2486         * gst/gstelement.h:
2487         * gst/gstinfo.c: (_gst_debug_init):
2488         * gst/gstobject.h:
2489         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2490         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2491         * gst/gstpad.h:
2492         Bump version number, we're now 0.9.0
2493         Add future debugging category.
2494         Fix NULL _unref() in _get_by_name_recurse_up
2495         Rearrange gstpad.h.
2496         Update some docs.
2497
2498 2005-03-08  Wim Taymans  <wim@fluendo.com>
2499
2500         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2501         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2502         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2503         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2504         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2505         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2506         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2507         * gst/elements/gstidentity.c: (gst_identity_class_init):
2508         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2509         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2510         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2511         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2512         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2513         (gst_tee_link):
2514         * gst/gstelement.c: (gst_element_class_init),
2515         (gst_element_base_class_init), (gst_element_init),
2516         (gst_element_get_random_pad), (gst_element_wait_state_change),
2517         (gst_element_change_state), (gst_element_dispose),
2518         (gst_element_finalize), (gst_element_set_loop_function):
2519         * gst/gstelement.h:
2520         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2521         * gst/gstthread.c: (gst_thread_class_init),
2522         (gst_thread_release_children_locks), (gst_thread_change_state):
2523         * gst/schedulers/gstbasicscheduler.c:
2524         (gst_basic_scheduler_loopfunc_wrapper),
2525         (gst_basic_scheduler_chain_wrapper),
2526         (gst_basic_scheduler_src_wrapper),
2527         (gst_basic_scheduler_remove_element):
2528         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2529         Remove threadsafe properties. Fix elements because GObject
2530         complains when installing a property before declaring a
2531         set/get_property handler.
2532         Rearrange gstelement.h file, use STATE macros for state locks.
2533         Free mutexes in the finalize method instead of dispose.
2534
2535 2005-03-08  Wim Taymans  <wim@fluendo.com>
2536
2537         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2538         * gst/gstthread.c: (gst_thread_release_children_locks):
2539         Added parentage check.
2540         Fix build og GstThread again.
2541
2542 2005-03-08  Wim Taymans  <wim@fluendo.com>
2543
2544         * docs/design/part-MT-refcounting.txt:
2545         * docs/design/part-conventions.txt:
2546         * docs/design/part-gstobject.txt:
2547         * docs/design/part-relations.txt:
2548         * docs/design/part-standards.txt:
2549         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2550         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2551         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2552         (gst_bin_iterate_all_by_interface):
2553         * gst/gstbuffer.h:
2554         * gst/gstclock.h:
2555         * gst/gstelement.c: (gst_element_class_init),
2556         (gst_element_change_state), (gst_element_set_loop_function):
2557         * gst/gstelement.h:
2558         * gst/gstiterator.c:
2559         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2560         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2561         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2562         (gst_object_set_parent), (gst_object_unparent),
2563         (gst_object_check_uniqueness):
2564         * gst/gstobject.h:
2565         Docs updates, clean up some headers.
2566
2567 2005-03-07  Wim Taymans  <wim@fluendo.com>
2568
2569         * check/.cvsignore:
2570         * check/Makefile.am:
2571         * check/gst-libs/.cvsignore:
2572         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2573         * check/gst/.cvsignore:
2574         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2575         (START_TEST), (gstbus_suite), (main):
2576         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2577         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2578         (gst_data_suite), (main):
2579         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2580         (add_fold_func), (gstiterator_suite), (main):
2581         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2582         (thread_name_object), (thread_name_object_default),
2583         (gst_object_name_compare), (gst_object_suite), (main):
2584         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2585         (gst_pad_suite), (main):
2586         * check/gstcheck.c: (gst_check_log_message_func),
2587         (gst_check_log_critical_func), (gst_check_init):
2588         * check/gstcheck.h:
2589         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2590         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2591         Added checks.
2592
2593 2005-03-07  Wim Taymans  <wim@fluendo.com>
2594
2595         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2596         (gst_list_iterator_next), (gst_list_iterator_resync),
2597         (gst_list_iterator_free), (gst_iterator_new_list),
2598         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2599         (gst_iterator_free), (gst_iterator_push), (filter_next),
2600         (filter_resync), (filter_uninit), (filter_free),
2601         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2602         (gst_iterator_foreach), (find_custom_fold_func),
2603         (gst_iterator_find_custom):
2604         * gst/gstiterator.h:
2605         Added missing files.
2606
2607 2005-03-07  Wim Taymans  <wim@fluendo.com>
2608
2609         * Makefile.am:
2610         * configure.ac:
2611         * docs/design/part-MT-refcounting.txt:
2612         * docs/design/part-conventions.txt:
2613         * docs/design/part-gstobject.txt:
2614         * docs/design/part-relations.txt:
2615         * examples/mixer/mixer.c: (main):
2616         * examples/thread/thread.c: (eos), (main):
2617         * gst/Makefile.am:
2618         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2619         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2620         (gst_spider_plug_from_srcpad):
2621         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2622         (gst_spider_identity_change_state),
2623         (gst_spider_identity_sink_loop_type_finding):
2624         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2625         * gst/elements/gstidentity.c: (gst_identity_init):
2626         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2627         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2628         * gst/elements/gsttypefindelement.c: (free_entry):
2629         * gst/gst.c:
2630         * gst/gst.h:
2631         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2632         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2633         (gst_bin_set_index), (gst_bin_set_element_sched),
2634         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2635         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2636         (gst_bin_iterate_elements), (iterate_child_recurse),
2637         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2638         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2639         (compare_interface), (gst_bin_get_by_interface),
2640         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2641         * gst/gstbin.h:
2642         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2643         (gst_buffer_default_free), (gst_buffer_default_copy),
2644         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2645         (gst_buffer_create_sub):
2646         * gst/gstbuffer.h:
2647         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2648         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2649         (gst_caps_unref), (gst_static_caps_get),
2650         (gst_caps_remove_and_get_structure), (gst_caps_append),
2651         (gst_caps_append_structure), (gst_caps_remove_structure),
2652         (gst_caps_copy_nth), (gst_caps_set_simple),
2653         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2654         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2655         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2656         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2657         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2658         (gst_caps_structure_figure_out_union),
2659         (gst_caps_switch_structures), (gst_caps_do_simplify),
2660         (gst_caps_replace), (gst_caps_from_string),
2661         (gst_caps_copy_conditional):
2662         * gst/gstcaps.h:
2663         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2664         (_gst_clock_id_free), (gst_clock_id_unref),
2665         (gst_clock_id_compare_func), (gst_clock_id_wait),
2666         (gst_clock_id_wait_async), (gst_clock_class_init),
2667         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2668         (gst_clock_get_time), (gst_clock_set_time_adjust),
2669         (gst_clock_set_property), (gst_clock_get_property):
2670         * gst/gstclock.h:
2671         * gst/gstcompat.h:
2672         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2673         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2674         * gst/gstdata.h:
2675         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2676         (gst_element_requires_clock), (gst_element_provides_clock),
2677         (gst_element_set_clock), (gst_element_clock_wait),
2678         (gst_element_wait), (gst_element_set_time_delay),
2679         (gst_element_is_indexable), (gst_element_add_pad),
2680         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2681         (pad_compare_name), (gst_element_get_static_pad),
2682         (gst_element_request_pad), (gst_element_get_request_pad),
2683         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2684         (gst_element_class_get_pad_template_list),
2685         (gst_element_class_get_pad_template), (gst_element_error_func),
2686         (gst_element_get_random_pad), (gst_element_get_event_masks),
2687         (gst_element_send_event), (gst_element_seek),
2688         (gst_element_get_query_types), (gst_element_query),
2689         (gst_element_get_formats), (gst_element_convert),
2690         (gst_element_is_locked_state), (gst_element_set_locked_state),
2691         (gst_element_sync_state_with_parent), (gst_element_change_state),
2692         (gst_element_finalize), (gst_element_yield),
2693         (gst_element_interrupt), (gst_element_set_scheduler),
2694         (gst_element_get_scheduler), (gst_element_set_loop_function):
2695         * gst/gstelement.h:
2696         * gst/gstevent.h:
2697         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2698         (gst_format_get_by_nick), (gst_format_get_details),
2699         (gst_format_iterate_definitions):
2700         * gst/gstformat.h:
2701         * gst/gstindex.c: (gst_index_gtype_resolver):
2702         * gst/gstinfo.c:
2703         * gst/gstinfo.h:
2704         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2705         (gst_mem_chunk_free):
2706         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2707         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2708         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2709         (gst_object_dispatch_properties_changed),
2710         (gst_object_set_name_default), (gst_object_set_name),
2711         (gst_object_get_name), (gst_object_set_name_prefix),
2712         (gst_object_get_name_prefix), (gst_object_set_parent),
2713         (gst_object_get_parent), (gst_object_unparent),
2714         (gst_object_check_uniqueness), (gst_object_save_thyself),
2715         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2716         (gst_object_set_property), (gst_object_get_property),
2717         (gst_object_get_path_string):
2718         * gst/gstobject.h:
2719         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2720         (gst_real_pad_init), (gst_real_pad_get_property),
2721         (gst_pad_custom_new), (gst_pad_get_direction),
2722         (gst_pad_set_active), (gst_pad_is_active),
2723         (gst_pad_set_event_function), (gst_pad_is_linked),
2724         (gst_pad_link_free), (gst_pad_link_intersect),
2725         (gst_pad_link_fixate), (gst_pad_set_caps),
2726         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2727         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2728         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2729         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2730         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2731         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2732         (gst_pad_realize), (gst_pad_get_allowed_caps),
2733         (gst_real_pad_dispose), (gst_real_pad_finalize),
2734         (gst_pad_collectv), (gst_pad_collect_valist),
2735         (gst_pad_template_dispose), (gst_pad_template_new),
2736         (gst_pad_get_internal_links):
2737         * gst/gstpad.h:
2738         * gst/gstpipeline.c: (gst_pipeline_dispose),
2739         (gst_pipeline_change_state):
2740         * gst/gstpipeline.h:
2741         * gst/gstplugin.c:
2742         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2743         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2744         * gst/gstpluginfeature.h:
2745         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2746         * gst/gstquery.c: (_gst_query_type_initialize),
2747         (gst_query_type_register), (gst_query_type_get_by_nick),
2748         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2749         * gst/gstquery.h:
2750         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2751         * gst/gstscheduler.c: (gst_scheduler_add_element),
2752         (gst_scheduler_factory_create):
2753         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2754         (gst_structure_free), (gst_structure_set_name),
2755         (gst_structure_id_set_value), (gst_structure_set_value),
2756         (gst_structure_set_valist), (gst_structure_remove_field),
2757         (gst_structure_remove_fields),
2758         (gst_structure_remove_fields_valist),
2759         (gst_structure_remove_all_fields), (gst_structure_foreach),
2760         (gst_structure_map_in_place),
2761         (gst_caps_structure_fixate_field_nearest_int),
2762         (gst_caps_structure_fixate_field_nearest_double):
2763         * gst/gststructure.h:
2764         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2765         (gst_system_clock_init), (gst_system_clock_dispose),
2766         (gst_system_clock_async_thread),
2767         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2768         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2769         * gst/gstsystemclock.h:
2770         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2771         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2772         * gst/gsttaginterface.c:
2773         * gst/gstthread.c: (gst_thread_dispose),
2774         (gst_thread_release_children_locks), (gst_thread_change_state),
2775         (gst_thread_main_loop):
2776         * gst/gsttrashstack.h:
2777         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2778         * gst/gsttypes.h:
2779         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2780         (gst_element_request_pad), (gst_element_get_pad_from_template),
2781         (gst_element_request_compatible_pad),
2782         (gst_element_get_compatible_pad_filtered),
2783         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2784         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2785         (gst_element_link_many), (gst_element_link),
2786         (gst_element_link_pads), (gst_element_unlink_pads),
2787         (gst_element_unlink_many), (gst_element_unlink),
2788         (gst_pad_can_link_filtered), (gst_pad_can_link),
2789         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2790         (gst_object_default_error), (gst_bin_add_many),
2791         (gst_bin_remove_many), (gst_element_populate_std_props),
2792         (gst_element_class_install_std_props), (gst_buffer_merge),
2793         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2794         (link_fold_func), (gst_pad_proxy_setcaps):
2795         * gst/gstutils.h:
2796         * gst/gstvalue.c: (gst_value_deserialize_string):
2797         * gst/parse/grammar.y:
2798         * gst/schedulers/gstbasicscheduler.c:
2799         (gst_basic_scheduler_cothreaded_chain),
2800         (gst_basic_scheduler_chain_recursive_add),
2801         (gst_basic_scheduler_pad_link):
2802         * gst/schedulers/gstoptimalscheduler.c:
2803         (get_group_schedule_function),
2804         (gst_opt_scheduler_state_transition),
2805         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2806         * libs/gst/bytestream/bytestream.c:
2807         * libs/gst/dataprotocol/dataprotocol.c:
2808         (gst_dp_header_from_buffer):
2809         * po/nb.po:
2810         * po/ru.po:
2811         * tests/threadstate/threadstate2.c: (eos):
2812         * tools/gst-compprep.c: (main):
2813         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2814         (print_pad_info), (print_children_info):
2815         * tools/gst-launch.c: (idle_func), (main):
2816         * tools/gst-md5sum.c: (idle_func), (main):
2817         * tools/gst-xmlinspect.c: (print_element_info):
2818         First THREADED backport attempt, focusing on adding locks and
2819         making sure the API is threadsafe. Needs more work. More docs
2820         follow this week.
2821
2822 2005-02-24  Andy Wingo  <wingo@pobox.com>
2823
2824         * tests/bench-complexity.scm:
2825         * tests/complexity.gnuplot: New files, good for running complexity
2826         benchmarks.
2827
2828         * tests/Makefile.am:
2829         * tests/complexity.c: New test, sets up N elements, at each level
2830         teeing into M streams per element. Eeeenteresting.
2831
2832         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
2833         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
2834         running bench-mass_elements.scm.
2835
2836         * tests/bench-mass_elements.scm: New script, runs mass_elements
2837         for various numbers of identities, outputting the results to a
2838         file. Requires guile 1.6. Just for testing.
2839
2840 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2841
2842         * gst/schedulers/fairscheduler.c:
2843           compile with debug disabled
2844
2845 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2846
2847         * configure.ac:
2848           hunting season on 0.9 is now OPEN
2849
2850 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
2851
2852         * docs/libs/tmpl/gstcontrol.sgml:
2853         * docs/libs/tmpl/gstdparam.sgml:
2854         * docs/libs/tmpl/gstdplinint.sgml:
2855         * docs/libs/tmpl/gstdpman.sgml:
2856         * docs/libs/tmpl/gstdpsmooth.sgml:
2857         * docs/libs/tmpl/gstunitconvert.sgml:
2858           more docs for the state of dparams
2859
2860 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2861
2862         * gst/gstelementfactory.c: (gst_element_factory_create):
2863         * gst/gstobject.c: (gst_object_init),
2864         (gst_object_set_name_default), (gst_object_set_name):
2865           name objects by default, not in gst_element_factory_create. Allows
2866           using elements created with g_object_new. (fixes #167283)
2867
2868 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2869
2870         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
2871           make the time that debugging functions print relative to when
2872           gst_init was called
2873
2874 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
2875
2876         * gst/gsttaginterface.c:
2877           Fix inline docs: tag setter vararg functions are NULL-terminated,
2878           GST_TAG_INVALID doesn't exist any more.
2879
2880 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2881
2882         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
2883         Allocate the 1 byte more memory that was forgotten!!!!!
2884         fixes memory corruption on 64bit platforms
2885
2886 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
2887
2888         * docs/pwg/building-pads.xml:
2889         * docs/pwg/intro-basics.xml:
2890           fixed a few typos, relabeled introductionary list of types
2891         * docs/random/ensonic/dparams.txt:
2892           more notes abut dparam changes
2893         * libs/gst/control/dparam.c: (gst_dparam_attach):
2894         * libs/gst/control/dparammanager.c:
2895         * libs/gst/control/dparammanager.h:
2896           - many comments and notes on dparam implementation
2897           - new dparams are were not initialized to the default value
2898             from param spec
2899
2900 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2901
2902         submitted by: Peter Astakhov
2903
2904         * po/LINGUAS:
2905         * po/ru.po:
2906           adding Russian translation
2907
2908 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2909
2910         * configure.ac:
2911         * docs/gst/Makefile.am:
2912         * docs/libs/Makefile.am:
2913           make sure popt is added to gtk-doc flags.  Fixes #147782.
2914
2915 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2916
2917         * docs/faq/using.xml:
2918           Fix typo in FAQ (artssink => artsdsink)
2919
2920 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2921
2922         * tools/gst-launch.1.in:
2923           Fix typo (#166699).
2924
2925 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
2926
2927         * docs/faq/using.xml:
2928           Add -v argument to fakesrc/fakesink gst-launch line,
2929           so that the promised output will actually show up.
2930
2931 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2932
2933         * gst/gstthread.c: (gst_thread_change_state):
2934           Implement state-change error handling (#166073).
2935
2936 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2937
2938         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2939           Release interrupt after handling (#166250).
2940
2941 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2942
2943         * configure.ac:
2944           back to HEAD
2945
2946 === release 0.8.9 ===
2947
2948 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2949
2950         * NEWS:
2951         * RELEASE:
2952         * configure.ac:
2953           releasing 0.8.9, "Like Eating Glass"
2954
2955 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2956
2957         submitted by: Clytie Siddall
2958
2959         * po/vi.po: Added Vietnamese translation
2960
2961 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2962
2963         patch by: Tim Philipp-Müller
2964
2965         * configure.ac:
2966         * gst/gstpad.c:
2967           unref data when probe function returns FALSE.  Fixes #166362
2968
2969 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2970
2971         * gst/gst.c: (gst_init_get_popt_table):
2972           Fix typo (#166269).
2973
2974 2005-02-04  Andy Wingo  <wingo@pobox.com>
2975
2976         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
2977         the debugging on whether the caps are compatible.
2978
2979 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2980
2981         * docs/manual/basics-elements.xml:
2982           Fix two typos.
2983
2984 2005-02-02  Wim Taymans  <wim@fluendo.com>
2985
2986         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
2987         (schedule_chain), (get_invalid_call), (chain_invalid_call),
2988         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
2989         Remove some FIXMEs after analysing and commenting why they
2990         are not issues.
2991
2992 2005-02-02  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/schedulers/gstoptimalscheduler.c:
2995         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
2996         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
2997         (get_invalid_call), (chain_invalid_call),
2998         (get_group_schedule_function), (loop_group_schedule_function),
2999         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3000         (gst_opt_scheduler_state_transition),
3001         (gst_opt_scheduler_add_element),
3002         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3003         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3004         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3005         (gst_opt_scheduler_show):
3006         Added lock to protect scheduler data structures.
3007
3008 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3009
3010         * testsuite/threads/threadi.c: (cb_data):
3011           Fix buglet in test.
3012
3013 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3014
3015         * testsuite/threads/Makefile.am:
3016         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3017           On Wim's request, split the test in three separately-compiled
3018           tests that each test a very specific bug. Two of them still fail,
3019           will create bugs for those. threadi.c indicates why they fail.
3020
3021 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3022
3023         * gst/schedulers/gstoptimalscheduler.c:
3024         (get_group_schedule_function):
3025           Try to work with the threading mess that queue_link is.
3026
3027 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3028
3029         * gst/gstbin.c: (gst_bin_remove_func):
3030           Explicitely make an element release locks in a group when being
3031           remove from a bin.
3032         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3033           If there's no scheduler, always return immediately (similar to
3034           gst_element_interrupt).
3035
3036 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3037
3038         * gst/gstbin.c: (gst_bin_child_state_change_func):
3039           Remove a piece of code that could never be reached.
3040         * docs/gst/gstreamer-sections.txt:
3041         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3042         (gst_pad_call_get_function):
3043         * gst/gstpad.h:
3044         * testsuite/pad/Makefile.am:
3045           Fix #150546, enable tests.
3046
3047 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3048
3049         * docs/pwg/advanced-types.xml:
3050           Fix description for buffer-frames=0.
3051         * docs/gst/tmpl/gstbin.sgml:
3052         * gst/gstbin.c: (gst_bin_child_state_change_func),
3053         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3054         * gst/gstbin.h:
3055         * testsuite/threads/Makefile.am:
3056         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3057         (cb_state), (cb_play), (main):
3058           Fix non-recursive state changes to *really* change the state
3059           of the object, and not just call parent_class->state_change.
3060           Fix a lot of lockups caused by this. Fixes #132775. Add test
3061           for the problem. Also enable test to show #142588 (fixed).
3062         * gst/gstthread.c: (gst_thread_change_state),
3063         (gst_thread_child_state_change):
3064           Don't exit the thread if we go to NULL and are inside thread
3065           context. Instead, return control to the main thread context
3066           and exit from there.
3067         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3068           Don't unset virtual functions, since those may still be used.
3069           That's not necessarily correct, but suffices for now.
3070         * configure.ac:
3071         * testsuite/Makefile.am:
3072         * testsuite/pad/Makefile.am:
3073         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3074         (gst_test_sink_base_init), (gst_test_sink_chain),
3075         (gst_test_sink_init), (main):
3076         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3077         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3078         (main):
3079         * testsuite/pad/link.c: (gst_test_element_class_init),
3080         (gst_test_element_base_init), (gst_test_src_get),
3081         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3082         (gst_test_filter_loop), (gst_test_filter_init),
3083         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3084         (cb_error), (main):
3085           Add tests to show #150546. Pass, but should fail (currently
3086           disabled from the testsuite).
3087         * gst/gstscheduler.c: (gst_scheduler_dispose):
3088           Dereference child schedulers on dispose (#94464).
3089         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3090           Fix typo.
3091         * testsuite/threads/thread.c: (main):
3092           Add more debug.
3093
3094 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3095
3096         * gst/gstpad.c: (gst_pad_push):
3097           Oops, revert previous commit, broke testsuite...
3098
3099 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3100
3101         * gst/gstpad.c: (gst_pad_push):
3102           Add check that the pad on which the push is performed is not a
3103           get-based pad (#150546).
3104
3105 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3106
3107         * gst/elements/gsttypefindelement.c:
3108         (gst_type_find_element_handle_event):
3109           Fix buffer pushing if stream EOSes during typefinding.
3110
3111 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3112
3113         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3114
3115         * gst/gstvalue.c: (gst_string_wrap):
3116           Allow NULL-strings as argument (#165365).
3117
3118 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3119
3120         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3121
3122         * gst/schedulers/faircothreads.c:
3123         (gst_fair_scheduler_cothread_queue_show):
3124           Fix build without debug enabled.
3125
3126 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3127
3128         * docs/gst/gstreamer-sections.txt:
3129         * docs/libs/gstreamer-libs-docs.sgml:
3130         * docs/libs/gstreamer-libs-sections.txt:
3131         * docs/libs/tmpl/gstcontrol.sgml:
3132         * docs/libs/tmpl/gstdparam.sgml:
3133         * docs/libs/tmpl/gstdplinint.sgml:
3134         * docs/libs/tmpl/gstdpman.sgml:
3135         * docs/libs/tmpl/gstdpsmooth.sgml:
3136         * docs/libs/tmpl/gstputbits.sgml:
3137         * docs/libs/tmpl/gstunitconvert.sgml:
3138         * libs/gst/control/dparam.c:
3139         * libs/gst/control/dparam.h:
3140         * libs/gst/control/dparammanager.c:
3141         (gst_dpman_add_required_dparam_callback),
3142         (gst_dpman_add_required_dparam_direct),
3143         (gst_dpman_add_required_dparam_array),
3144         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3145         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3146         (gst_dpman_get_manager)
3147           restructured DParam docs
3148
3149 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3150
3151         * gst-element-check.m4:
3152           Only check for gst-inspect if we haven't already
3153           found it in previous element check runs
3154
3155 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3156
3157         * docs/gst/Makefile.am:
3158         * docs/libs/Makefile.am:
3159           fixed install rules to treat style.css as optional
3160
3161 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3162
3163         * docs/gst/Makefile.am:
3164         * docs/libs/Makefile.am:
3165           install style.css along with docs
3166         * docs/gst/tmpl/gstbin.sgml:
3167         * docs/gst/tmpl/gstclock.sgml:
3168         * docs/gst/tmpl/gstdata.sgml:
3169         * docs/gst/tmpl/gstelement.sgml:
3170         * gst/gstbin.h:
3171         * gst/gstelement.c: (gst_element_class_init):
3172         * gst/gstelement.h:
3173           fixing incomplete docs
3174
3175 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3176
3177         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3178           Don't unref seek event twice when fflush() fails
3179           
3180 2005-01-22  David Schleef  <ds@schleef.org>
3181
3182         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3183
3184 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3185
3186         * docs/gst/Makefile.am:
3187         * docs/libs/Makefile.am:
3188           added params for deprecation guards
3189         * gst/gst.c:
3190         * gst/gst.h:
3191         * gst/gsterror.c: (_gst_resource_errors_init),
3192         (_gst_stream_errors_init):
3193         * gst/gsterror.h:
3194           documented some more enums
3195
3196 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3197         * gst/autoplug/gstspideridentity.c:
3198         Cosmetic fix - spider_find_peek should be static
3199         * gst/parse/parse.l:
3200         Applying fix for #164261
3201
3202 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3203
3204         * docs/gst/gstreamer-sections.txt:
3205         * docs/gst/tmpl/gstplugin.sgml:
3206         * docs/libs/gstreamer-libs-sections.txt:
3207         * docs/libs/tmpl/gstcontrol.sgml:
3208         * gst/gstbuffer.h:
3209         * gst/gsttag.h:
3210         * gst/gstvalue.c:
3211           added docs for the TAG defines
3212
3213 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3214
3215         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3216           Only unref entry if there is an entry.
3217
3218 2005-01-17  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3221         (remove_from_group), (schedule_group), (normalize_group),
3222         (gst_opt_scheduler_iterate):
3223         Also ref/unref decoupled elements before iterating the
3224         group since they are not added to the list of elements.
3225
3226 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3227
3228         * docs/manual/highlevel-components.xml:
3229           Add subtitle/streamselection as new features to playbin.
3230
3231 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3232
3233         * docs/manual/manual.xml:
3234           Re-enable dataaccess docs (oops).
3235
3236 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3237
3238         * docs/pwg/advanced-types.xml:
3239         * docs/random/mimetypes:
3240           Add documentation on libsndfile types (#163309), by Steve Baker
3241           <steve@stevebaker.org>.
3242         * gst/gstelement.c: (gst_element_release_request_pad):
3243           If an element has no explicit function, just remove the pad.
3244
3245 2005-01-17  Luca Ognibene  <luogni@tin.it>
3246
3247         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3248
3249         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3250           Fix memleak (#163801).
3251
3252 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3253
3254         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3255           I think this is actually more correct...
3256
3257 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3258
3259         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3260           Another workaround for memory access while destroyed in callback.
3261           Please, someone with refcount knowledge, have a look at this.
3262
3263 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3264
3265         * docs/faq/faq.xml:
3266         * docs/faq/legal.xml:
3267           move the legal Q&A here
3268
3269 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3270
3271         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3272         (gst_tee_request_new_pad):
3273           Fix negotiation.
3274
3275 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3276
3277         * docs/random/omega/caps2:
3278         * testsuite/caps/caps_strings:
3279           replace framerate aproximations by their real value
3280           (24000/1001, 30000/1001, 60000/1001)
3281           Partially fixes bug #164049
3282
3283 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3284
3285         * docs/gst/Makefile.am:
3286           don't fail on the stupid GstPoptOption
3287
3288 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3289
3290         * gst/gstpad.h:
3291         * gst/gstprobe.c:
3292           allow probes to work on ghost pads by realizing the pad
3293           probe debugging
3294
3295 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3296
3297         * docs/gst/gstreamer-sections.txt:
3298         * docs/gst/tmpl/gstpad.sgml:
3299         * gst/gstpad.c: (gst_pad_set_active_recursive):
3300         * gst/gstpad.h:
3301           Add gst_pad_set_active_recursive().
3302
3303 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3304
3305         * docs/random/release:
3306           updates
3307         * gst/gst_private.h:
3308         * gst/gstinfo.c:
3309         * gst/gstobject.c:
3310           move deep_notify logging to a new category
3311         * gst/gstprobe.c:
3312         * gst/gstprobe.h:
3313           add stuff so bindings can wrap probes
3314
3315 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3316
3317         * gst/gstplugin.c: (gst_plugin_load):
3318           Fix plugin loading if plugin/lib was already loaded. Fixes
3319           #163383
3320
3321 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3322
3323         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3324
3325         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3326           Protect plugin loading by a mutex so it's threadsafe. Fixes
3327           #163234.
3328
3329 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3330
3331         * gst/gstevent.c: (_gst_event_copy):
3332           Reference source object when copying events, since it'll be
3333           dereferenced on event dereferencing as well.
3334
3335 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3336
3337         * docs/gst/gstreamer-sections.txt:
3338         * docs/gst/tmpl/gstevent.sgml:
3339         * gst/gstevent.c: (gst_event_new_filler_stamped),
3340         (gst_event_filler_get_duration):
3341         * gst/gstevent.h:
3342           Add two new functions for filler events (which are used to
3343           synchronize streams if one of them is not having any data
3344           for a while) without interrupting the actual data-stream.
3345           Basically a no-op.
3346         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3347         (gst_queue_link_sink), (gst_queue_link_src),
3348         (gst_queue_change_state):
3349           Allow for renegotiation while filled. Required for stream
3350           switching while playing.
3351
3352 2005-01-08  Benjamin Otte  <otte@gnome.org>
3353
3354         * gst/gstelement.c: (gst_element_link_many):
3355           fix up g_return_if_fail's
3356         * po/LINGUAS:
3357         * po/de.po:
3358           add German translation, that was somehow not included
3359
3360 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3361
3362         * docs/random/mimetypes:
3363           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3364           do not add them to riff-lib as they are not common
3365
3366 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3367
3368         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3369           Check for existence of probe after performing the probe before
3370           re-accessing it to prevent segfaults caused by removal of the
3371           probe in the callback.
3372
3373 2005-01-05  David Schleef  <ds@schleef.org>
3374
3375         * testsuite/registry/Makefile.am:
3376         * testsuite/registry/gst-print-formats.c:
3377         (print_pad_templates_info), (print_element_list),
3378         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3379         (g_list_uniqify), (get_pad_templates_info),
3380         (get_element_mime_list), (print_mime_list), (main): A little
3381         program that looks through the registry to find elements of
3382         a given type.  Not particularly interesting as a test, except
3383         that there's no other test covering the same area.
3384
3385 2005-01-05  David Schleef  <ds@schleef.org>
3386
3387         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3388         (fault_handler_sigaction), (fault_spin),
3389         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3390         in signal.h-type signal handlers by not calling forbidden functions,
3391         including gst_element_set_state().
3392
3393 2005-01-05  David Schleef  <ds@schleef.org>
3394
3395         * gst/gstvalue.h: Mark _gst_reserved[] as private
3396
3397 2005-01-05  David Schleef  <ds@schleef.org>
3398
3399         * gst/gstvalue.c: Fix doc build problem.
3400
3401 2005-01-05  David Schleef  <ds@schleef.org>
3402
3403         * gst/gstvalue.c: Add some documentation
3404
3405 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3406
3407         * docs/README:
3408           another shell oneliner for empty return value docs
3409         * gst/gstcaps.c:
3410         * gst/gstvalue.c:
3411         * libs/gst/control/dparam.c:
3412           more doc fixes (parameters and return values)
3413
3414 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3415
3416         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3417
3418         * gst/gstregistry.h:
3419         * gst/registries/gstxmlregistry.c:
3420           Fix macro's for Mingw (fixes #162276).
3421
3422 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3423
3424         * docs/README:
3425           quick shell oneliner to find undocumented members
3426         * docs/gst/tmpl/gstplugin.sgml:
3427         * docs/gst/tmpl/gstscheduler.sgml:
3428         * docs/gst/tmpl/gstthread.sgml:
3429           more enumtypes cleanup
3430         * gst/gsterror.h:
3431           activated documentation comments, now someone needs to document
3432           the enums :(
3433
3434 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3435
3436         * docs/manual/manual.xml:
3437           Add dataaccess part (doh!).
3438
3439 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3440
3441         * docs/manual/advanced-autoplugging.xml:
3442           Fix typo (intiate -> initiate).
3443
3444 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3445
3446         * docs/random/bbb/streamselection:
3447           Add some notes on how to handle multi-subtitle/-audio streams.
3448
3449 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3450
3451         * docs/gst/gstreamer-docs.sgml:
3452         * docs/gst/gstreamer-sections.txt:
3453         * docs/gst/tmpl/gstenumtypes.sgml:
3454         * docs/gst/tmpl/gsterror.sgml:
3455         * docs/gst/tmpl/gstevent.sgml:
3456         * docs/gst/tmpl/gstpad.sgml:
3457         * docs/gst/tmpl/gstpadtemplate.sgml:
3458         * docs/gst/tmpl/gstthread.sgml:
3459           removed gstenumtypes section from docs and put all the enums into
3460           their sections
3461
3462 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3463
3464         * gst/gstplugin.c:
3465           document gst_library_load a bit more (riff special case + return
3466           value if already loaded)
3467         * testsuite/bytestream/filepadsink.c:
3468           plugin name is 'gstbytestream', not 'bytestream'
3469
3470 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3471
3472         * docs/random/bbb/subtitles:
3473           Add some first mind rumblings on proper subtitle support.
3474
3475 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3476
3477         * po/ca.po:
3478         * po/sv.po:
3479           updated translations
3480
3481 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3482
3483         * docs/manual/advanced-dataaccess.xml:
3484           Add section on how to use fakesrc/fakesink/identity in your
3485           application, plus section on how to embed plugins. Also mention
3486           probes.
3487         * docs/manual/appendix-checklist.xml:
3488         * docs/manual/appendix-debugging.xml:
3489         * docs/manual/appendix-gnome.xml:
3490         * docs/manual/appendix-integration.xml:
3491           Debug -> checklist, GNOME -> integration, add sections on Linux,
3492           KDE integration and add other things useful for application
3493           development.
3494         * docs/manual/manual.xml:
3495           Remove some fixmes, update some file pointers.
3496         * docs/pwg/appendix-checklist.xml:
3497           Fix typo.
3498         * docs/pwg/building-boiler.xml:
3499           Remove ugly header and add commented fixme.
3500         * docs/pwg/pwg.xml:
3501           Add fixme.
3502         * examples/manual/Makefile.am:
3503           Add example for added docs.
3504
3505 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3506
3507         * configure.ac:
3508           back to HEAD
3509
3510 === release 0.8.8 ===
3511
3512 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3513
3514         * NEWS:
3515         * RELEASE:
3516         * configure.ac:
3517           Releasing 0.8.8, "I'll Take Care Of You"
3518
3519 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3520
3521         * configure.ac:
3522           second prerelease
3523
3524 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3525
3526         patch by: Wim Taymans
3527
3528         * gst/gstbin.c:
3529           Fix for #159852 - make iterate emission threadsafe
3530
3531 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3532
3533         * docs/faq/cvs.xml:
3534           notes about new fdo account request
3535
3536 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3537
3538         * docs/gst/gstreamer-docs.sgml:
3539         * docs/gst/tmpl/gstenumtypes.sgml:
3540         * docs/gst/tmpl/gstplugin.sgml:
3541         * docs/libs/gstreamer-libs-docs.sgml:
3542           Added missing short docs. Added ids for navigation.
3543
3544 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3545
3546         * docs/manual/advanced-autoplugging.xml:
3547         * docs/manual/advanced-schedulers.xml:
3548         * docs/manual/advanced-threads.xml:
3549           Rewrites. Remove cothreads, go a bit into opt specifically,
3550           document threads and their gotchas, and do some technical stuff
3551           on autoplugging plus add some working examples. Fixes #157395.
3552         * examples/manual/Makefile.am:
3553           Add typefind/autoplugger example (one that actually works).
3554           Remove queue example since it's a duplicate of the thread one.
3555
3556 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3557
3558         * gst/gstvalue.c: (gst_value_deserialize_string):
3559           use deprecated g_value_set_string_take_ownership to keep compatible
3560           with glib 2.2
3561
3562 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3563
3564         * gst/gstvalue.c: (gst_value_deserialize_string):
3565           revert last patch, only dom a g_utf8_validate now before accepting
3566           the string - caps parsing strips " from strings so we can't rely on
3567           them
3568         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3569           disable a test that tested the above and comment it
3570
3571 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3572
3573         Patch reviewed by David Schleef  <ds@schleef.org>
3574
3575         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3576         bug #153882)
3577         * win32/gstenumtypes.h: same
3578
3579 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3580
3581         * gst/gstpad.c: (gst_pad_query):
3582           Do query on realized pad, similar to how convert/send_event handle
3583           this. Also makes sense, since this pad belongs to the function to
3584           which this query will be sent. Fixes #158163.
3585
3586 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3587
3588         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3589
3590 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3591
3592         * docs/faq/general.xml: fix pipeline to actually work
3593
3594 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3595
3596         * gst/gstvalue.c: (gst_value_deserialize_string):
3597           check that a simple string that gets deserialized does not contain
3598           invalid characters
3599         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3600           remove a test that tested a wring behaviour
3601
3602 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3603
3604         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3605
3606         * docs/manual/intro-motivation.xml:
3607           Fix typos.
3608
3609 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3610
3611         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3612
3613         * docs/gst/tmpl/gstprobe.sgml:
3614           Fix documentation of probe callback - it is supposed to return
3615           FALSE, not TRUE, to remove data from the stream (#159087).
3616
3617 2004-12-16  Daniel Gazard  <dany42@free.fr>
3618
3619         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3620
3621         * gst/gstelementfactory.c: (gst_element_factory_create):
3622           Fix compile failure if compiling without libxml2 support (#149936).
3623
3624 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3625
3626         * docs/manual/advanced-autoplugging.xml:
3627         * docs/manual/highlevel-components.xml:
3628           Move spider from autoplugging to components. Autoplugging is for
3629           internals, not for solutions. ;-).
3630
3631 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3632
3633         * docs/random/ds/0.9-suggested-changes:
3634           Make note on device/location/uri property names.
3635
3636 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3637
3638         * docs/manual/advanced-autoplugging.xml:
3639         * docs/manual/advanced-clocks.xml:
3640         * docs/manual/advanced-interfaces.xml:
3641         * docs/manual/advanced-metadata.xml:
3642         * docs/manual/advanced-position.xml:
3643         * docs/manual/advanced-schedulers.xml:
3644         * docs/manual/advanced-threads.xml:
3645         * docs/manual/appendix-gnome.xml:
3646         * docs/manual/appendix-programs.xml:
3647         * docs/manual/appendix-quotes.xml:
3648         * docs/manual/autoplugging.xml:
3649         * docs/manual/basics-bins.xml:
3650         * docs/manual/basics-data.xml:
3651         * docs/manual/basics-elements.xml:
3652         * docs/manual/basics-helloworld.xml:
3653         * docs/manual/basics-init.xml:
3654         * docs/manual/basics-pads.xml:
3655         * docs/manual/basics-plugins.xml:
3656         * docs/manual/bins-api.xml:
3657         * docs/manual/bins.xml:
3658         * docs/manual/buffers-api.xml:
3659         * docs/manual/buffers.xml:
3660         * docs/manual/clocks.xml:
3661         * docs/manual/components.xml:
3662         * docs/manual/cothreads.xml:
3663         * docs/manual/debugging.xml:
3664         * docs/manual/dparams-app.xml:
3665         * docs/manual/dynamic.xml:
3666         * docs/manual/elements-api.xml:
3667         * docs/manual/elements.xml:
3668         * docs/manual/factories.xml:
3669         * docs/manual/gnome.xml:
3670         * docs/manual/goals.xml:
3671         * docs/manual/helloworld.xml:
3672         * docs/manual/helloworld2.xml:
3673         * docs/manual/highlevel-components.xml:
3674         * docs/manual/highlevel-xml.xml:
3675         * docs/manual/init-api.xml:
3676         * docs/manual/intro-basics.xml:
3677         * docs/manual/intro-motivation.xml:
3678         * docs/manual/intro-preface.xml:
3679         * docs/manual/intro.xml:
3680         * docs/manual/links-api.xml:
3681         * docs/manual/links.xml:
3682         * docs/manual/manual.xml:
3683         * docs/manual/motivation.xml:
3684         * docs/manual/pads-api.xml:
3685         * docs/manual/pads.xml:
3686         * docs/manual/plugins-api.xml:
3687         * docs/manual/plugins.xml:
3688         * docs/manual/programs.xml:
3689         * docs/manual/queues.xml:
3690         * docs/manual/quotes.xml:
3691         * docs/manual/schedulers.xml:
3692         * docs/manual/states-api.xml:
3693         * docs/manual/states.xml:
3694         * docs/manual/threads.xml:
3695         * docs/manual/typedetection.xml:
3696         * docs/manual/win32.xml:
3697         * docs/manual/xml.xml:
3698           Try 2. This time, include a short preface as a "general
3699           introduction", also add code blocks around all code samples
3700           so they get compiled. We still need a way to tell readers
3701           the filename of the code sample. In some cases, don't show
3702           all code in the documentation, but do include it in the generated
3703           code. This allows for focussing on specific bits in the docs,
3704           while still having a full test application available.
3705         * examples/manual/Makefile.am:
3706           Fix up examples for new ADM. Add several of the new examples that
3707           were either added or were missing from the build system.
3708         * examples/manual/extract.pl:
3709           Allow nameless blocks.
3710
3711 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3712
3713         * docs/manual/elements-api.xml:
3714         * docs/manual/helloworld.xml:
3715         * examples/manual/extract.pl:
3716           fix last example.  Add example of adding code blocks that are not
3717           shown in docbook output.
3718
3719 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3720
3721         * docs/manual/dynamic.xml:
3722         * docs/manual/elements-api.xml:
3723         * docs/manual/gnome.xml:
3724         * docs/manual/helloworld2.xml:
3725         * docs/manual/init-api.xml:
3726         * docs/manual/queues.xml:
3727         * docs/manual/threads.xml:
3728         * docs/manual/xml.xml:
3729         * examples/manual/extract.pl:
3730           Make it possible to extract example code from separate blocks.
3731           Should make Ronald happy.
3732
3733 2004-12-15  Wim Taymans  <wim@fluendo.com>
3734
3735         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3736         (remove_from_group), (group_elements_set_visited),
3737         (normalize_group), (gst_opt_scheduler_iterate):
3738         Fix bug where a flag was not updated on a decoupled entry point 
3739         because we were just checking the group element list and decoupled
3740         elements are not in that list..
3741
3742 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3743
3744         * docs/manual/advanced-autoplugging.xml:
3745         * docs/manual/advanced-clocks.xml:
3746         * docs/manual/advanced-dparams.xml:
3747         * docs/manual/advanced-interfaces.xml:
3748         * docs/manual/advanced-metadata.xml:
3749         * docs/manual/advanced-position.xml:
3750         * docs/manual/advanced-schedulers.xml:
3751         * docs/manual/advanced-threads.xml:
3752         * docs/manual/appendix-debugging.xml:
3753         * docs/manual/appendix-gnome.xml:
3754         * docs/manual/appendix-programs.xml:
3755         * docs/manual/appendix-quotes.xml:
3756         * docs/manual/appendix-win32.xml:
3757         * docs/manual/autoplugging.xml:
3758         * docs/manual/basics-bins.xml:
3759         * docs/manual/basics-data.xml:
3760         * docs/manual/basics-elements.xml:
3761         * docs/manual/basics-helloworld.xml:
3762         * docs/manual/basics-init.xml:
3763         * docs/manual/basics-pads.xml:
3764         * docs/manual/basics-plugins.xml:
3765         * docs/manual/bins-api.xml:
3766         * docs/manual/bins.xml:
3767         * docs/manual/buffers-api.xml:
3768         * docs/manual/buffers.xml:
3769         * docs/manual/clocks.xml:
3770         * docs/manual/components.xml:
3771         * docs/manual/cothreads.xml:
3772         * docs/manual/debugging.xml:
3773         * docs/manual/dparams-app.xml:
3774         * docs/manual/dynamic.xml:
3775         * docs/manual/elements-api.xml:
3776         * docs/manual/elements.xml:
3777         * docs/manual/factories.xml:
3778         * docs/manual/gnome.xml:
3779         * docs/manual/goals.xml:
3780         * docs/manual/helloworld.xml:
3781         * docs/manual/helloworld2.xml:
3782         * docs/manual/highlevel-components.xml:
3783         * docs/manual/highlevel-xml.xml:
3784         * docs/manual/init-api.xml:
3785         * docs/manual/intro-motivation.xml:
3786         * docs/manual/intro-preface.xml:
3787         * docs/manual/intro.xml:
3788         * docs/manual/links-api.xml:
3789         * docs/manual/links.xml:
3790         * docs/manual/manual.xml:
3791         * docs/manual/motivation.xml:
3792         * docs/manual/pads-api.xml:
3793         * docs/manual/pads.xml:
3794         * docs/manual/plugins-api.xml:
3795         * docs/manual/plugins.xml:
3796         * docs/manual/programs.xml:
3797         * docs/manual/queues.xml:
3798         * docs/manual/quotes.xml:
3799         * docs/manual/schedulers.xml:
3800         * docs/manual/states-api.xml:
3801         * docs/manual/states.xml:
3802         * docs/manual/threads.xml:
3803         * docs/manual/typedetection.xml:
3804         * docs/manual/win32.xml:
3805         * docs/manual/xml.xml:
3806           First try at rewriting the ADM. Needs lotsamore work, but some
3807           parts might already be somewhat useful.
3808         * docs/pwg/advanced-interfaces.xml:
3809           Remove properties interface, it never actually existed (except for
3810           on my HD...).
3811
3812 2004-12-13  David Schleef  <ds@schleef.org>
3813
3814         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3815         be NULL (bug #160220).
3816
3817 2004-12-13  David Schleef  <ds@schleef.org>
3818
3819         * configure.ac: remove all mmx stuff, because it's not used.
3820         * docs/random/ds/0.9-suggested-changes: additional notes
3821         * include/Makefile.am: we don't use these anymore
3822         * include/mmx.h: remove
3823         * include/sse.h: remove
3824
3825 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3826
3827         * docs/random/mimetypes:
3828           Add FOURCC code for h264 codec (VSSH)
3829           Add alternate FOURCC codes for h263 related codecs
3830
3831 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
3832
3833         * docs/manual/programs.xml:
3834           Added more gst-launch examples.
3835
3836 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3837
3838         * gst/gstqueue.c: (gst_queue_handle_src_query):
3839           Check for availability again.
3840
3841 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3842
3843         * gst/gstcaps.c: (gst_caps_compare_structures):
3844           Simple caps go first. This has the nice side-effect of fixing an
3845           obscure warning.
3846
3847 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3848
3849         * gst/gstversion.h.in:
3850           Protect header.
3851
3852 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3853
3854         * gst/schedulers/gstoptimalscheduler.c:
3855         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
3856         (gst_opt_scheduler_get_wrapper):
3857           When we're recursing into a chain run, only run the directly
3858           related group, not all queued ones. This will fix a possible
3859           deadlock in chains with more than two groups.
3860
3861 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3862
3863         * autogen.sh:
3864           remove patch if autopoint fails
3865
3866 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3867
3868         * docs/gst/gstreamer-sections.txt:
3869           Document Thomas' addition, fix build, make Luis the sheriff happy.
3870
3871 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3872
3873         * gst/gstplugin.c:
3874         * gst/gstplugin.h:
3875           add accessor for version field
3876
3877 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3878
3879         submitted by: Luca Ferretti <elle.uca@infinito.it>
3880
3881         * po/LINGUAS:
3882         * po/it.po:
3883           New tranlation added: Italian
3884
3885 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3886
3887         * gst/gstpad.c: (gst_pad_is_negotiated),
3888         (gst_pad_get_negotiated_caps):
3889           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
3890           it doesn't actually check the contents), so be sure to hand it
3891           a RealPad else we'll crash.
3892
3893 2004-12-03  Wim Taymans  <wim@fluendo.com>
3894
3895         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3896         (gst_queue_link), (gst_queue_handle_src_query):
3897         Reverted to 1.110 until this makes the testsuite and various
3898         apps work.
3899
3900 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
3901
3902         * docs/upload.mak: fix included CVS conflict strings
3903
3904 2004-12-01  William Jon McCann  <mccann@jhu.edu>
3905
3906         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3907
3908         * gst/gstelement.c: (gst_element_error_full):
3909           Use g_error_new_literal because error text may have
3910           percentage signs in it. Fixes #160019.
3911
3912 2004-12-01  Benjamin Otte  <otte@gnome.org>
3913
3914         * gst/elements/gstbufferstore.c:
3915         (gst_buffer_store_add_buffer_func):
3916           don't try to make subbuffers bigger than they can be. (fixes
3917           #159970)
3918
3919 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3920
3921         * docs/gst/gstreamer-sections.txt:
3922         * docs/gst/tmpl/gstvalue.sgml:
3923           Add new function to docs to fix build.
3924
3925 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3926
3927         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
3928         * gst/gstpad.c: (_gst_pad_default_fixate_value),
3929         (_gst_pad_default_fixate_foreach):
3930         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
3931         * gst/gstvalue.h:
3932           Deprecate _type_is_fixed, use _value_is_fixed instead, since
3933           in some cases (arrays), the fixedness depends on the content.
3934         * gst/gstqueue.c: (gst_queue_handle_src_query):
3935           Check for availability before doing something.
3936
3937 2004-11-29  Wim Taymans  <wim@fluendo.com>
3938
3939         * testsuite/threads/Makefile.am:
3940         * testsuite/threads/signals.c: (gst_test_get_type),
3941         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
3942         (gst_test_set_property), (gst_test_get_property),
3943         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
3944         (gst_test_do_prop), (run_thread), (main):
3945         Added a bunch of testcases that show threadsafety bugs in glib.
3946
3947 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
3948
3949         * docs/manual/programs.xml:
3950           Added a first batch of gst-launch examples, as provided by Ronald
3951           and others from the devel-mlist
3952
3953 2004-11-28  Benjamin Otte  <otte@gnome.org>
3954
3955         * gst/gstelement.c: (gst_element_negotiate_pads):
3956           simplify
3957         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
3958         (gst_value_serialize_string), (gst_value_deserialize_string):
3959           add unwrapping of previously wrapped strings. Fix bug in wrapping
3960           while at it.
3961         * testsuite/caps/value_serialize.c: (test1),
3962         (test_string_serialization), (test_string_deserialization), (main):
3963           add tests for string (de)serialization
3964
3965 2004-11-26  Wim Taymans  <wim@fluendo.com>
3966
3967         * testsuite/threads/159566.c: (object_deep_notify), (main):
3968         * testsuite/threads/Makefile.am:
3969         Added testsuite to show bug #159566
3970
3971 2004-11-25  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
3974         (gst_thread_child_state_change), (gst_thread_main_loop):
3975         Ref the thread object in the GThread mainloop. Break out of the
3976         thread mainloop if it holds the last ref. This properly exits
3977         the threads when disposing the thread from its own context. It
3978         also avoids possible deadlocks in the dispose function.
3979
3980 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
3981
3982         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
3983         it is necessary to wait.
3984
3985 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3986
3987         * docs/pwg/building-boiler.xml:
3988           Make description somewhat clearer.
3989
3990 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3991
3992         * docs/upload.mak:
3993           Apparently docs changed location on FDO's server.
3994
3995 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3996
3997         * docs/pwg/appendix-checklist.xml:
3998           Add some random notes on things to check when writing an element.
3999           This list can be extended as people see fit.
4000
4001 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4002
4003         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4004         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4005         pad. The queue will now wait until it is empty and forward the new
4006         caps to the source.
4007         * gst/gstbin.c (gst_bin_set_element_sched)
4008         (gst_bin_unset_element_sched): Make sure that all elements and
4009         links are registered and unregistered with the scheduler exactly
4010         once. This elaborates on a fix by Benjamin Otte, but
4011         guarantees that decoupled elements are also registered.
4012
4013 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4014
4015         * docs/manual/quotes.xml:
4016           add a quote
4017         * configure.ac:
4018         * gst/gst.c:
4019         * gst/gstinfo.c:
4020           add LIBDIR and move init message higher up so it's at the start
4021
4022 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4023
4024         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4025         * gstreamer.spec.in: add fair
4026
4027 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4028
4029         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4030         * gst/elements/gstidentity.c: (gst_identity_class_init):
4031           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4032           <teuf@gnome.org> (#157263).
4033         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4034         (gst_type_find_handle_src_query):
4035           Subtract size of internally stored data from position queries.
4036
4037 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4038
4039         * gst/schedulers/fairscheduler.c:
4040         * gst/schedulers/faircothreads.c:
4041         * gst/schedulers/faircothreads.h:
4042         New cothread based scheduler: Fair scheduler.
4043         * gst/schedulers/gthread-cothreads.h: 
4044         Add the standard #if around the whole file.
4045         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4046         compilation of the functions defined in this file. This is
4047         necessary to be able to use this file as a normal header.
4048         * gst/schedulers/Makefile.am: Add compiling support for fair
4049         scheduler.
4050         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4051         scheduler cothreads layer from documentation generation.
4052
4053 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4054
4055         * gst/autoplug/gstspideridentity.c:
4056         (gst_spider_identity_sink_loop_type_finding):
4057           Don't crash if that function is not implemented.
4058
4059 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4060
4061         * docs/pwg/advanced-types.xml:
4062           Another typo.
4063
4064 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4065
4066         * docs/pwg/intro-preface.xml:
4067           Hm, ok, so the brackets weren't really useful...
4068         * docs/pwg/other-ntoone.xml:
4069           Fix embarassing typo.
4070
4071 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4072
4073         * docs/pwg/intro-preface.xml:
4074           Rewrite preface.
4075
4076 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4077
4078         * docs/pwg/advanced-scheduling.xml:
4079         * docs/pwg/advanced-tagging.xml:
4080         * docs/pwg/advanced-types.xml:
4081         * docs/pwg/building-boiler.xml:
4082         * docs/pwg/building-chainfn.xml:
4083         * docs/pwg/building-signals.xml:
4084         * docs/pwg/building-state.xml:
4085         * docs/pwg/building-testapp.xml:
4086         * docs/pwg/intro-basics.xml:
4087         * docs/pwg/other-manager.xml:
4088         * docs/pwg/other-source.xml:
4089           Typo fixes.
4090         * docs/pwg/other-manager.xml:
4091           Add some first content. No example code yet.
4092         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4093           Remove double newlines.
4094
4095 2004-11-04  Wim Taymans  <wim@fluendo.com>
4096
4097         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4098         (remove_from_group), (normalize_group), (group_migrate_connected),
4099         (gst_opt_scheduler_iterate):
4100         * testsuite/schedulers/.cvsignore:
4101         * testsuite/schedulers/Makefile.am:
4102         * testsuite/schedulers/queue_link.c: (main):
4103         Added testcase for scheduler segfault.
4104         Fix scheduler segfault when removing a decoupled
4105         entry point as the last element from a group.
4106
4107 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4108
4109         * gst/gstmarshal.list: add missing marshaller, fixes build
4110
4111 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4112
4113         * docs/random/signal: added notes about using BOXED for GstBuffer
4114         signal marshallers, not POINTER
4115
4116 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4117
4118         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4119         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4120         POINTER=>BOXED changes to marshal GstBuffers
4121
4122 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4123
4124         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4125         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4126
4127 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4128
4129         * docs/gst/gstreamer-sections.txt:
4130         * docs/gst/tmpl/gstcaps.sgml:
4131         * docs/gst/tmpl/gsterror.sgml:
4132         * docs/gst/tmpl/gstinfo.sgml:
4133         * docs/gst/tmpl/gstmacros.sgml:
4134         * docs/gst/tmpl/gstutils.sgml:
4135         * docs/random/ensonic/interfaces.txt:
4136         * gst/gstinfo.h:
4137           added some more docs, removed two obsolete defines
4138
4139 2004-11-02  Kjartan Maraas <as at gnome.org>
4140
4141         reviewed by: Wim Taymans, Ronald Bultje.
4142
4143         * gst/cothreads.c: (cothread_create):
4144         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4145         (gst_bin_child_state_change_func):
4146         * gst/gstbuffer.c: (gst_buffer_span):
4147         * gst/gstelement.c: (gst_element_get_index),
4148         (gst_element_get_event_masks), (gst_element_get_query_types),
4149         (gst_element_get_formats):
4150         * gst/gsterror.c: (_gst_core_errors_init),
4151         (_gst_library_errors_init), (_gst_resource_errors_init),
4152         (_gst_stream_errors_init):
4153         * gst/gstobject.c: (gst_object_default_deep_notify):
4154         * gst/gstpad.c: (gst_pad_get_event_masks),
4155         (gst_pad_get_internal_links_default):
4156         * gst/gstplugin.c: (gst_plugin_register_func),
4157         (gst_plugin_get_module):
4158         * gst/gststructure.c: (gst_structure_get_string),
4159         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4160         (gst_structure_to_abbr):
4161         * gst/gstutils.c: (gst_print_element_args):
4162         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4163         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4164         Aplied part of patch #157127: Cleanup of issues reported by 
4165         sparse.
4166         Also do not try to use cothreads when there is no cothread
4167         context yet.
4168
4169 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4170
4171         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4172         (gst_opt_scheduler_iterate):
4173         Applied patch #154061. Running a pipeline in which an element 
4174         calls GST_ELEMENT_ERROR in the chain function, the opt 
4175         scheduler doesn't unref the chain so it never gets freed.
4176
4177 2004-11-02  Wim Taymans  <wim@fluendo.com>
4178
4179         * gst/gststructure.c: (gst_structure_get_abbrs),
4180         (gst_structure_from_abbr), (gst_structure_to_abbr):
4181         Remove that ugly if-then thing in the code that converts
4182         between strings and types.
4183
4184 2004-11-02  Wim Taymans  <wim@fluendo.com>
4185
4186         * gst/gstscheduler.c: (gst_scheduler_add_element),
4187         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4188         Aplied clock distribution patch, this should fix bug
4189         #148787.
4190
4191 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4192
4193         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4194
4195         * po/LINGUAS:
4196         * po/nb.po:
4197           Added Norwegian Bokmaal translation
4198
4199 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4200
4201         * tools/gst-inspect.c: (print_signal_info):
4202           print signal arguments as pointers if they are
4203
4204 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4205
4206         * docs/pwg/building-boiler.xml:
4207           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4208
4209 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4210
4211         * gst/parse/parse.l:
4212         * testsuite/parse/parse1.c: (main):
4213         Since parse can do 'element name=a:b' make 'a:b.' work as
4214         well. 
4215         Added testcase to verify fix.
4216
4217 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4218
4219         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4220         Use the realpad when printing the direction.
4221         Add extra \n when printing extensions of typefind factories.
4222
4223 2004-10-13  David Schleef  <ds@schleef.org>
4224
4225         * examples/manual/Makefile.am: $< isn't portable in Makefile
4226         rules.
4227
4228 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4229
4230         * docs/gst/tmpl/gstobject.sgml:
4231         * docs/gst/tmpl/gstplugin.sgml:
4232         * docs/gst/tmpl/gstpluginfeature.sgml:
4233         * docs/gst/tmpl/gstregistry.sgml:
4234         * docs/gst/tmpl/gstversion.sgml:
4235         * gst/gstbin.c:
4236           more api documentation
4237         * gst/gstplugin.c: (gst_plugin_register_func),
4238         (gst_plugin_check_file), (gst_plugin_load_file):
4239           better error signaling and logging
4240
4241 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4242
4243         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4244           Subtract current queue contents from position queries.
4245
4246 2004-10-11  Johan Dahlin  <johan@gnome.org>
4247
4248         * gst/gsturi.c (gst_uri_get_location): unescape string
4249         (gst_uri_construct): escape string.
4250
4251 2004-10-11  Benjamin Otte  <otte@gnome.org>
4252
4253         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4254         (gst_pad_try_set_caps_nonfixed):
4255           allow renegotiation of unconnected pads (as inside spider). Simply
4256           return OK if unconnected - mimic try_set_caps there.
4257
4258 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4259
4260         * gst/gstbin.c: (gst_bin_sync_children_state):
4261           Add missing break.
4262
4263 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4264
4265         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4266         Set element to EOS before sending EOS event
4267
4268 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4269
4270         * gst/elements/gsttypefindelement.c:
4271         (gst_type_find_element_handle_event):
4272         Handle EOS events when doing the transition from
4273         typefind to data passing. This should fix the
4274         infinite loops in short files.
4275
4276 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4277
4278         * gst/gstthread.c: (gst_thread_change_state),
4279         (gst_thread_child_state_change):
4280         Make sure no iteration happens while performing
4281         the state change as it could mess up the internal
4282         consistency of the thread state.
4283
4284 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4285
4286         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4287         (gst_thread_change_state), (gst_thread_child_state_change):
4288         Do not try to grab the iterate lock in the state change method
4289         when we are in the same thread as the iterate or else we
4290         could deadlock. Some other cleanups.
4291
4292 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4293
4294         * configure.ac:
4295           bump nano to cvs
4296
4297 === release 0.8.7 ===
4298
4299 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4300
4301         * configure.ac:
4302         * NEWS:
4303         * RELEASE:
4304         * configure.ac:
4305           releasing 0.8.7, "A Cruise"
4306
4307 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4308
4309         * docs/random/mimetypes:
4310         Add an entry for Sony ATRAC3 audio format with mime-type
4311         used by rmdemux et riff-read
4312
4313 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4314
4315         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4316         Push the buffer store instead of clearing it in case that
4317         the stream is not seekable.
4318
4319 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4320
4321         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4322         (gst_thread_main_loop):
4323         Lock the iteration and the state change so that automatic
4324         negotiation and fixation does not happen at the same time
4325         as the in stream negotiation.
4326
4327 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4328
4329         * configure.ac:
4330           bump nano to cvs
4331
4332 === release 0.8.6 ===
4333
4334 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4335
4336         * configure.ac:
4337         * NEWS:
4338         * RELEASE:
4339         * configure.ac:
4340           releasing 0.8.6, "Narc"
4341
4342 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4343
4344         * configure.ac:
4345           prerel bump
4346
4347 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4348
4349         patch by: Steve Lhomme
4350
4351         * gst/elements/gstfakesrc.c:
4352         * gst/elements/gstidentity.c:
4353         * gst/gstthread.c:
4354           Fix for #153881
4355
4356 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4357
4358         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4359         Fix threadsafety of the crc checking function.
4360
4361 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4362
4363         patch by: Ronald Bultje
4364
4365         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4366         (gst_type_find_element_handle_event),
4367         (gst_type_find_element_chain):
4368         * gst/elements/gsttypefindelement.h:
4369          #153657.
4370          Filter out discont event from seekable sources when typefind
4371          asks them to seek.  Fixes typefind with demuxers for
4372          avi, asf and matroska.
4373
4374 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4375
4376         * docs/gst/gstreamer-sections.txt:
4377         * gst/gstcaps.c:
4378         * gst/gstcaps.h:
4379         * gst/gstpad.c:
4380           Revert preferred caps: (#147789)
4381
4382 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4383
4384         * win32/dirent.c:
4385           fix a memory leak
4386
4387 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4388
4389         * configure.ac:
4390           bump for prerelease
4391
4392 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * docs/Makefile.am:
4395         * docs/manual/elements-api.xml:
4396           restructure so that common stuff is shown first
4397         * docs/manual/init-api.xml:
4398           convert to examples
4399         * docs/manual/manual.xml:
4400         * docs/manuals.mak:
4401         * docs/url.entities:
4402           link to API on the website, possibly override later in build
4403         * examples/manual/.cvsignore:
4404           ignore more
4405         * examples/manual/Makefile.am:
4406           add more examples
4407         * examples/manual/extract.pl:
4408           error out on failure
4409
4410 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4411
4412         * docs/gst/tmpl/gstthread.sgml:
4413         * docs/manual/init-api.xml:
4414         * examples/manual/Makefile.am:
4415           convert two code bits to examples
4416
4417 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4418
4419         * gst/gstelement.c: (gst_element_change_state):
4420           Well, actually, I was about to remove this insane assert when
4421           I noticed Wim already did that. A warning is nice so we can
4422           fix actual ugs (using --g-fatal-warnings and backtraces), so
4423           I added that instead.
4424
4425 2004-09-06  Wim Taymans  <wim@fluendo.com>
4426
4427         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4428         (gst_element_threadsafe_properties_post_run),
4429         (gst_element_set_state), (gst_element_change_state):
4430         Added extra refcounting around various places. 
4431
4432 2004-09-06  Wim Taymans  <wim@fluendo.com>
4433
4434         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4435         Fix debug info.
4436
4437 2004-09-06  Wim Taymans  <wim@fluendo.com>
4438
4439         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4440         (remove_from_group):
4441         Some more debug info.
4442
4443 2004-09-03  Wim Taymans  <wim@fluendo.com>
4444
4445         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4446         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4447         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4448         (gst_fakesrc_get), (gst_fakesrc_change_state):
4449         * gst/elements/gstfakesrc.h:
4450         * gst/elements/gstidentity.c: (gst_identity_class_init),
4451         (gst_identity_init), (gst_identity_chain),
4452         (gst_identity_set_property), (gst_identity_get_property),
4453         (gst_identity_change_state):
4454         * gst/elements/gstidentity.h:
4455         Added datarate properties to limit the datarate.
4456
4457 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4458
4459         * gst/autoplug/gstspider.c: (plugin_init):
4460           don't set a rank. We don't want to autoplug by inserting spiders.
4461
4462 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4463
4464         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4465         (gst_spider_identity_plug):
4466           add a template for spider's sink
4467         * gst/gst.c: (gst_register_core_elements):
4468           queue's rank should be NULL, we don't want spider to add it.
4469
4470 2004-08-18  David Schleef  <ds@schleef.org>
4471
4472         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4473         * docs/libs/Makefile.am: same
4474         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4475         * docs/random/ds/0.9-planning: random additions
4476         * docs/random/ds/0.9-suggested-changes: same
4477         * gst/gstxml.h: remove vestigal GstXMLNs definition
4478
4479         Preferred caps: (#147789)
4480         * docs/gst/gstreamer-sections.txt: Add symbols
4481         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4482         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4483         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4484         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4485         (gst_caps_get_preferred), (gst_caps_set_preferred),
4486         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4487         (gst_caps_use_preferred): Handle caps preferences
4488         * gst/gstcaps.h: Add caps preferences
4489         * gst/gstpad.c: (gst_pad_link_get_preferred),
4490         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4491         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4492         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4493         negotiation.
4494
4495 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4496
4497         * gst/autoplug/gstspideridentity.c:
4498         (gst_spider_identity_request_new_pad):
4499         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4500         (gst_aggregator_init):
4501         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4502         (gst_fakesink_init):
4503         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4504         (gst_fakesrc_init):
4505         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4506         (gst_fdsink_init):
4507         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4508         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4509         (gst_filesink_init):
4510         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4511         (gst_filesrc_init):
4512         * gst/elements/gstidentity.c: (gst_identity_base_init),
4513         (gst_identity_init):
4514         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4515         (gst_multifilesrc_init):
4516         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4517         (gst_pipefilter_init):
4518         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4519         (gst_statistics_init):
4520         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4521         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4522           s/gst_pad_new/&_from_template/
4523           register pad templates in the base_init function
4524           add static pad template definitions
4525
4526 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4527
4528         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4529         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4530         * testsuite/refcounting/pad.c: (main):
4531         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4532           s/gst_pad_new/&_from_template/
4533           prepare deprecation of gst_pad_new
4534
4535 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4536
4537         patch by: Luca Ognibene <skaboy81@virgilio.it>
4538
4539         * gst/gstcaps.c:
4540         * gst/gstelement.c:
4541         * gst/gstpad.c:
4542         * gst/gstxml.c:
4543           fix memleaks.  Fixes #150001
4544
4545 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4546
4547         * docs/random/ds/0.9-suggested-changes:
4548           add notes - mostly about pad templates
4549
4550 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4551
4552         * win32/GStreamer.vcproj:
4553           temporary locale files are .gmo not .mo
4554
4555 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4556
4557         * configure.ac: bump nano to cvs
4558
4559 === release 0.8.5 ===
4560
4561 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4562
4563         * configure.ac:
4564           releasing 0.8.5, "Stuttgart"
4565         * NEWS:
4566         * RELEASE:
4567         * configure.ac:
4568         * docs/random/release:
4569           updates for release
4570
4571 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4572
4573         patch by: Wim Taymans (wim@fluendo.com)
4574
4575         * gst/gstbuffer.c:
4576         * gst/gstindex.h:
4577         * libs/gst/dataprotocol/dataprotocol.c:
4578           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4579
4580 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4581
4582         * Makefile.am:
4583         * win32/MANIFEST:
4584           add win32 dir to the build.  Fixes #149981.
4585
4586 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4587
4588         * configure.ac:
4589           bump libtool versioning
4590         * gst/gststructure.c:
4591           mark function as static
4592         * po/af.po:
4593         * po/az.po:
4594         * po/ca.po:
4595         * po/cs.po:
4596         * po/en_GB.po:
4597         * po/fr.po:
4598         * po/nl.po:
4599         * po/sq.po:
4600         * po/sr.po:
4601         * po/sv.po:
4602         * po/tr.po:
4603         * po/uk.po:
4604           translations update
4605         * win32/README.txt:
4606           trademark protection
4607
4608 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4609
4610         * configure.ac:
4611           fix GST_ORIGIN
4612           set GST_PACKAGE to source, and distinguish between release and other
4613         * tools/gst-inspect.c:
4614           print out plugin an element factory is part of so we see this info
4615
4616 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4617
4618         * docs/gst/gstreamer-sections.txt:
4619         * docs/gst/tmpl/gstbuffer.sgml:
4620         * docs/gst/tmpl/gstschedulerfactory.sgml:
4621           reorder docs a little, make GstBuffer's more sensible.
4622         * gst/gstbuffer.h:
4623           API: added GST_BUFFER_FLAG_DELTA_UNIT
4624         * gst/gstscheduler.c:
4625           comment API addition
4626
4627 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4628
4629         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4630           work with non-regular files that can be mmapped (like /dev/zero)
4631         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4632           get rid of typefinds that require a seek when we can't seek instead
4633           of trying them over and over again
4634         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4635           return non-zero failure value when the pipeline was interrupted or
4636           an error occurred
4637
4638 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4639
4640         * win32/config.h:
4641         * win32/GStreamer.vcproj:
4642           compile and install the locales
4643
4644 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4645
4646         * gst/gstvalue.c:
4647           fix a possible memory leak under Windows
4648
4649 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4650
4651         * win32/GStreamer.vcproj:
4652           fix a memory leak that occured under Windows
4653         * win32/gstreamer.def:
4654           add gst_scheduler_register
4655
4656 2004-08-11  Benjamin Otte  <otte@gnome.org>
4657
4658         * docs/gst/gstreamer-sections.txt:
4659         * gst/gstscheduler.c: (gst_scheduler_register):
4660         * gst/gstscheduler.h:
4661           API:
4662           add gst_scheduler_register shortcut similar to gst_element_register
4663         * gst/schedulers/entryscheduler.c: (plugin_init):
4664         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4665         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4666           use it
4667
4668 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4669
4670         * gst/gstvalue.h:
4671           fix a memory leak that occured under Windows
4672
4673 2004-08-10  Colin Walters  <walters@redhat.com>
4674
4675         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4676         Don't use O_EXCL to open temporary registry.  It will prevent
4677         registry creation if a temporary one already exists, which
4678         is unnecessary.
4679
4680 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4681
4682         * docs/gst/gstreamer-sections.txt:
4683         * docs/gst/tmpl/gstvalue.sgml:
4684           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4685
4686 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4687
4688         * win32/gstbytestream.vcproj:
4689         * win32/gstelements.vcproj:
4690         * win32/gstgetbits.vcproj:
4691         * win32/gst-inspect.vcproj:
4692         * win32/gst-launch.vcproj:
4693         * win32/gstoptimalscheduler.vcproj:
4694         * win32/GStreamer.vcproj:
4695         * win32/gst-register.vcproj:
4696         * win32/gstspider.vcproj:
4697           update the include and lib dirs to fit standard libraries as
4698           described in the Win32 manual
4699
4700 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4701
4702         * win32/config.h:
4703         * win32/gstversion.h:
4704           enable NLS again, push the version number for the coming 0.8.5 release
4705
4706 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4707
4708         * gst/gstvalue.h:
4709           export gst_type_XXX for windows DLLs
4710
4711 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4712
4713         * docs/faq/gst-uninstalled:
4714           fix PKG_CONFIG_PATH and PYTHONPATH
4715         * gst/schedulers/Makefile.am:
4716           cleanup
4717         * libs/gst/bytestream/bytestream.c:
4718           remove newline
4719         * po/LINGUAS:
4720         * po/sq.po:
4721           adding Albanian translation (Laurent Dhima)
4722         * po/cs.po:
4723           updated
4724
4725 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4726
4727         * po/ca.po:
4728         * po/sv.po:
4729           updated translations
4730
4731 2004-08-04  Benjamin Otte  <otte@gnome.org>
4732
4733         * tests/mass_elements.c: (main):
4734           allow specifying src and sink element explicitly, so I can test
4735           videotestsrc instead of fakesrc
4736
4737 2004-08-04  Benjamin Otte  <otte@gnome.org>
4738
4739         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4740         (gst_structure_id_empty_new), (gst_structure_empty_new),
4741         (gst_structure_copy):
4742           add gst_structure_id_empty_new_with_size to allow preallocating
4743           value array sizes. Use this in gst_structure_copy to get rid of
4744           reallocs.
4745           don't do quark=>string=>quark when copying structures
4746
4747 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4748
4749         * docs/manual/win32.xml:
4750         * win32/README.txt:
4751           update documentation with the clean version of dependencies
4752
4753 2004-08-03  Benjamin Otte  <otte@gnome.org>
4754
4755         * gst/schedulers/entryscheduler.c:
4756         (gst_entry_scheduler_remove_element):
4757           fix for GST_DISABLE_DEBUG
4758         * tools/gst-launch.c: (print_tag):
4759           fixes for G_DISABLE_ASSERT
4760
4761 2004-08-03  Benjamin Otte  <otte@gnome.org>
4762
4763         * gst/gst.c: (gst_register_core_elements):
4764           fix for G_DISABLE_ASSERT
4765         * gst/gstinfo.c: (__gst_in_valgrind):
4766           add for GST_DISABLE_DEBUG
4767
4768 2004-08-03  Benjamin Otte  <otte@gnome.org>
4769
4770         * gst/parse/parse.l:
4771           fix for G_DISABLE_ASSERT
4772
4773 2004-08-03  Wim Taymans  <wim@fluendo.com>
4774
4775         * gst/gstbin.c: (gst_bin_get_type),
4776         (gst_bin_child_state_change_func):
4777         * gst/gstthread.c: (gst_thread_change_state):
4778         Backported some debug logging from a reverted patch
4779         Don't try to destroy the thread twice. Added some more
4780         debugging in GstThread. Unlock and signal even if we
4781         are in the thread context.
4782
4783 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4784
4785         * po/uk.po:
4786           updated translation
4787
4788 2004-07-30  David Schleef  <ds@schleef.org>
4789
4790         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4791
4792 2004-07-29  David Schleef  <ds@schleef.org>
4793
4794         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4795         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4796
4797 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4800         (gst_bin_add_func), (gst_bin_remove_func),
4801         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4802         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4803         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4804         (gst_bin_sync_children_state):
4805         * gst/gstbin.h:
4806         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4807         (gst_thread_change_state):
4808         * testsuite/states/Makefile.am:
4809           revert state change patches as agreed so we can rework them
4810           gradually
4811
4812 2004-07-29  Benjamin Otte  <otte@gnome.org>
4813
4814         * libs/gst/control/Makefile.am:
4815           link to libgstreamer (fixes Debian bug 262019, see
4816           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
4817
4818 2004-07-29  Wim Taymans  <wim@fluendo.com>
4819
4820         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4821         (check_from_fraction_convert), (transform_test), (main):
4822         Make the test less pedantic about float roundoff errors.
4823
4824 2004-07-29  Benjamin Otte  <otte@gnome.org>
4825
4826         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
4827         (gst_filesrc_srcpad_event):
4828           make seek events to before start/after end of file not fail, but
4829           seek to start/end instead
4830         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
4831           add more output
4832
4833 2004-07-29  Benjamin Otte  <otte@gnome.org>
4834
4835         * gst/gstpad.c: (gst_pad_set_explicit_caps):
4836           check that caps are fixed
4837         * gst/gstpad.c: (gst_pad_template_new):
4838           don't try to simplify caps, costs too much time on gst_init
4839         * gst/gstplugin.c: (gst_plugin_add_feature):
4840           G_ERROR if features are added twice
4841         * gst/gsttypefind.c: (gst_type_find_register):
4842         * gst/gstelementfactory.c: (gst_element_register):
4843           don't add features twice
4844         * docs/random/ds/0.9-suggested-changes:
4845           add note about possible gst_init optimization
4846
4847 2004-07-28  David Schleef  <ds@schleef.org>
4848
4849         * testsuite/elements/Makefile.am:
4850         * testsuite/elements/struct_i386.h:
4851         * testsuite/elements/struct_size.c: (main):  A little test
4852         to keep distcheck from working if someone changes a structure
4853         size accidentally.
4854
4855 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4856
4857         * docs/libs/Makefile.am:
4858         * docs/libs/gstreamer-libs-docs.sgml:
4859         * docs/libs/gstreamer-libs-sections.txt:
4860         * docs/libs/tmpl/gstbytestream.sgml:
4861         * docs/libs/tmpl/gstcontrol.sgml:
4862         * docs/libs/tmpl/gstdataprotocol.sgml:
4863         * docs/libs/tmpl/gstgetbits.sgml:
4864         * libs/gst/bytestream/Makefile.am:
4865         * libs/gst/bytestream/bytestream.c:
4866         * libs/gst/bytestream/bytestream.h:
4867         * libs/gst/control/Makefile.am:
4868         * libs/gst/dataprotocol/Makefile.am:
4869         * libs/gst/getbits/Makefile.am:
4870         * libs/gst/getbits/getbits.h:
4871           various doc and style fixes, adding bytestream to libs docs.
4872
4873 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4874
4875         * docs/gst/gstreamer-docs.sgml:
4876         * docs/libs/Makefile.am:
4877         * docs/libs/gstreamer-libs-docs.sgml:
4878         * docs/libs/gstreamer-libs-sections.txt:
4879         * libs/gst/control/dparam.c:
4880           more doc fixes.  gst-libs docs now build the same way as gst.
4881
4882 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         * configure.ac:
4885         * testsuite/Makefile.am:
4886         * testsuite/bins/Makefile.am:
4887         * testsuite/caps/Makefile.am:
4888         * testsuite/cleanup/Makefile.am:
4889         * testsuite/clock/Makefile.am:
4890         * testsuite/debug/Makefile.am:
4891         * testsuite/dlopen/Makefile.am:
4892         * testsuite/dynparams/Makefile.am:
4893         * testsuite/elements/.cvsignore:
4894         * testsuite/elements/Makefile.am:
4895         * testsuite/enumcaps/Makefile.am:
4896         * testsuite/enumcaps/enumcaps.c:
4897         * testsuite/ghostpads/Makefile.am:
4898         * testsuite/indexers/Makefile.am:
4899         * testsuite/negotiation/Makefile.am:
4900         * testsuite/parse/Makefile.am:
4901         * testsuite/plugin/Makefile.am:
4902         * testsuite/refcounting/Makefile.am:
4903         * testsuite/schedulers/.cvsignore:
4904         * testsuite/states/Makefile.am:
4905         * testsuite/tags/Makefile.am:
4906         * testsuite/threads/Makefile.am:
4907           fold enumcaps into caps dir
4908           clean up Makefile.am's for testsuite
4909
4910 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * docs/gst/Makefile.am:
4913         * docs/libs/Makefile.am:
4914           clean up docs build.  Fixes needless rebuilding of template files.
4915
4916 2004-07-28  Wim Taymans  <wim@fluendo.com>
4917
4918         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
4919         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
4920         Make sure that a bin state change tries to keep the children
4921         in sync. 
4922         Added debug logging to the thread.
4923
4924 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4925
4926         * win32/GStreamer.vcproj:
4927         * win32/gstreamer.def:
4928           more exports for the plugins
4929
4930 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
4931
4932         * win32/gstgetbits.vcproj:
4933         * win32/gstgetbits.def:
4934         * win32/msvc71.sln:
4935           add support for the getbits plugin
4936
4937 2004-07-27  Wim Taymans  <wim@fluendo.com>
4938
4939         * gst/gstvalue.c: (gst_value_transform_double_fraction),
4940         (gst_value_transform_fraction_double), (_gst_value_initialize):
4941         * testsuite/caps/Makefile.am:
4942         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
4943         (check_from_fraction_convert), (transform_test), (main):
4944         Added transform functions between double and fraction.
4945         Added testcase to verify transforms
4946
4947 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4948
4949         * win32/GStreamer.vcproj:
4950           rename GStreamer-0.8.lib to libgstreamer.lib
4951
4952 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4953
4954         * win32/gstelements.vcproj:
4955         * win32/gstoptimalscheduler.vcproj:
4956           fixes for the Release build
4957
4958 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4959
4960         * win32/config.h:
4961           update the version number
4962
4963 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4964
4965         * win32/GStreamer.vcproj:
4966           add gstinterface to the build
4967
4968 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
4969
4970         * win32/gstreamer.def:
4971           add many definitions needed by plugins,
4972           GST_CAT_DEFAULT only available in the Debug build ?
4973
4974 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4975
4976         * gst/gstelement.c: (gst_element_set_eos_recursive):
4977           various whitespace fixes.
4978           doc fix, fixes #148497
4979
4980 2004-07-25  Benjamin Otte  <otte@gnome.org>
4981
4982         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
4983           don't delay links on the sink elements, it causes unnegotiated
4984           links.
4985         * gst/elements/gsttypefindelement.c:
4986         (gst_type_find_element_base_init):
4987           add our padtemplates, we indeed do have some.
4988         * gst/elements/gsttypefindelement.c:
4989         (gst_type_find_element_handle_event),
4990         (gst_type_find_element_chain):
4991           don't push data when typefinding failed.
4992         * gst/gstpad.c: (gst_pad_link_fixate):
4993           check that no fixate function returns empty caps.
4994         * gst/gstpad.c: (gst_pad_push):
4995           check that the link is negotiated before data gets pushed.
4996         * tools/gst-register.c: (main):
4997           don't assert (fixes #148283)
4998
4999 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5000
5001         * docs/gst/gstreamer-sections.txt:
5002         * docs/gst/tmpl/gstconfig.sgml:
5003           add GST_PLUGIN_EXPORT definition
5004
5005 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5006
5007         * gst/gstplugin.h:
5008         * gst/gstconfig.h.in:
5009         * win32/gstconfig.h:
5010         * win32/gstelements.def:
5011         * win32/gstelements.vcproj:
5012         * win32/gstoptimalscheduler.def:
5013         * win32/gstoptimalscheduler.vcproj:
5014         * win32/gstspider.def:
5015         * win32/gstspider.vcproj:
5016           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5017
5018 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5019
5020         * docs/gst/gstreamer-sections.txt:
5021           remove GST_CAT_DEFAULT because the type has changed
5022
5023 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5024
5025         * win32/gstbytestream.vcproj:
5026         * win32/gstelements.vcproj:
5027         * win32/gst-inspect.vcproj:
5028         * win32/gst-launch.vcproj:
5029         * win32/gstoptimalscheduler.vcproj:
5030         * win32/GStreamer.vcproj:
5031         * win32/gst-register.vcproj:
5032         * win32/gstspider.vcproj:
5033         * win32/msvc71.sln:
5034           Copy the files where needed after building, The testsuite will be
5035           built separately
5036
5037 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5038
5039         * win32/config.h:
5040         * win32/README.txt:
5041         * docs/manual/win32.xml:
5042         Fixed the plugin and GStreamer location
5043
5044 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5045
5046         * win32/gstreamer.def:
5047         More exports for the plugins
5048
5049 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5050
5051         * gst/gstinfo.h:
5052         Marc was right, we need to export literally GST_CAT_DEFAULT
5053
5054 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5055
5056         * win32/config.h:
5057         NLS crashes in gettext, disabled until this is solved
5058
5059 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5060
5061         * win32/gst-inspect.vcproj:
5062         * win32/gst-launch.vcproj:
5063         Should use NLS when available
5064
5065 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5066
5067         * gst/registries/gstxmlregistry.c:
5068         removing the file doesn't seem to be a good idea on Linux
5069
5070 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5071
5072         * gst/registries/gstxmlregistry.c:
5073         Remove the registry before renaming the tempfile (needed for Windows)
5074
5075 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5076
5077         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5078         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5079         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5080         * gst/elements/gstmultifilesrc.h:
5081         Added newmedia property so it generates newmedia events between each
5082         file when property is set, as well as fixed eos handling
5083
5084 2004-07-22  David Schleef  <ds@schleef.org>
5085
5086         * gst/gststructure.c: (gst_structure_id_empty_new),
5087         (gst_structure_empty_new):  Set type field correctly.
5088         * gst/gststructure.h: Check type field correctly.
5089         * testsuite/caps/Makefile.am:
5090         * testsuite/caps/structure.c: (test1), (main): Add a very small
5091         test for structures.
5092
5093 2004-07-22  David Schleef  <ds@schleef.org>
5094
5095         * docs/random/ds/0.9-suggested-changes: more comments
5096         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5097
5098 2004-07-22  Benjamin Otte  <otte@gnome.org>
5099
5100         * gst/gstelementfactory.c: (gst_element_register):
5101           set the factory in the class struct, so gst_element_get_factory
5102           actually works
5103         * gst/parse/grammar.y:
5104           set element to playing when it gets unlocked as we can't rely on the
5105           bin state - all elements in the bin state might still be locked in
5106           NULL)
5107
5108 2004-07-22  Benjamin Otte  <otte@gnome.org>
5109
5110         * gst/gstelement.c: (gst_element_set_state_func):
5111           make this a static function
5112
5113 2004-07-22  Wim Taymans  <wim@fluendo.com>
5114
5115         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5116         (gst_opt_scheduler_pad_link):
5117         fix 147894-2 and the group_link problem.
5118
5119 2004-07-22  Wim Taymans  <wim@fluendo.com>
5120
5121         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5122         (handoff_identity), (main):
5123         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5124         (handoff_identity), (main):
5125         * testsuite/schedulers/Makefile.am:
5126         * testsuite/schedulers/group_link.c: (main):
5127         Show bug in scheduler when linking chain and loop based element 
5128         where the chain based element was not yet in a group.
5129
5130 2004-07-21  Benjamin Otte  <otte@gnome.org>
5131
5132         * gst/.cvsignore:
5133         * gst/autoplug/.cvsignore:
5134         * gst/elements/.cvsignore:
5135         * gst/indexers/.cvsignore:
5136         * libs/gst/bytestream/.cvsignore:
5137         * libs/gst/control/.cvsignore:
5138         * libs/gst/getbits/.cvsignore:
5139         * testsuite/states/.cvsignore:
5140         * testsuite/threads/.cvsignore:
5141           keep this up to date, since I seem to be the only one who cares
5142           about not missing files on commits (editor's note: no you don't,
5143           but feel free to change them at the time you add stuff instead
5144           of later on)
5145
5146 2004-07-21  Benjamin Otte  <otte@gnome.org>
5147
5148         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5149         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5150         (gst_bin_child_state_change_func), (set_kid_state_func),
5151         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5152           make state changes work correctly and reentrant (so removing
5153           elements from bins during state changes of bins doesn't cause
5154           segfaults or even wrong states)
5155           add debugging category and debugging output to print children states
5156         * gst/gstbin.c: (gst_bin_dispose): 
5157           add some assertion checks
5158         * gst/gstbin.h:
5159         * gst/gstbin.c: (gst_bin_sync_children_state):
5160           deprecate this function - it just does gst_bin_set_state (bin,
5161           GST_STATE (bin)) 
5162         * testsuite/threads/queue.c: (main):
5163           don't use gst_bin_sync_children_state anymore
5164         * testsuite/states/Makefile.am:
5165         * testsuite/states/bin.c:
5166           test that the state changes of bins work as expected
5167         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5168           some adjustments to change states correctly, too
5169         * gst/gstthread.c: (gst_thread_change_state):
5170           don't enable/disable "threadsafe" properties, they're unused and
5171           cause random segfaults
5172         * testsuite/threads/Makefile.am:
5173           the queue check randomly passes now, ignore it
5174
5175 2004-07-21  Benjamin Otte  <otte@gnome.org>
5176
5177         * gst/gstpad.c:
5178           check if data is NULL before outputting debug info. (fixes #145100)
5179
5180 2004-07-21  Benjamin Otte  <otte@gnome.org>
5181
5182         * gst/schedulers/entryscheduler.c:
5183         (gst_entry_scheduler_loop_wrapper),
5184         (gst_entry_scheduler_chain_wrapper),
5185         (gst_entry_scheduler_get_wrapper):
5186           reset the state when the cothread starts, so we don't get assertion
5187           failures on restarting of cothreads
5188
5189 2004-07-20  Benjamin Otte  <otte@gnome.org>
5190
5191         * gst/gstelement.c: (gst_element_link_pads_filtered):
5192           use correct sinkpad, if only sinkpad is specified, but not srcpad
5193           (fixes #147889)
5194         * gst/gstelement.c: (gst_element_set_state_func),
5195         (gst_element_change_state): ref/unref the element, signal handlers
5196         could get rid of the element otherwise
5197
5198 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5199
5200         * docs/random/ds/0.9-suggested-changes:
5201           Make note about renaming fixed-list to array.
5202         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5203         (_gst_value_initialize):
5204           Add array intersections.
5205         * testsuite/caps/intersect2.c: (main):
5206           Add test for array intersections.
5207
5208 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5209
5210         * configure.ac: back to cvs
5211
5212 === release 0.8.4 ===
5213
5214 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5215
5216         * configure.ac:
5217           releasing 0.8.4, "Paella"
5218           bump libtool versioning
5219
5220 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5221
5222         * po/LINGUAS:
5223         * po/ca.po:
5224           adding Catalan translation (Jordi Mallach)
5225
5226 2004-07-20  Wim Taymans  <wim@fluendo.com>
5227
5228         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5229         (handoff_identity), (main):
5230         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5231         (handoff_identity), (main):
5232         * testsuite/schedulers/Makefile.am:
5233         Added failing testcase for variant of #147894
5234
5235 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5236
5237         patch by: David Moore
5238
5239         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5240         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5241         (group_migrate_connected):
5242         * testsuite/schedulers/Makefile.am:
5243           fix for #142813 (Deadlock in optimal scheduler)
5244
5245 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5246
5247         patch by: Wim Taymans
5248
5249         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5250         (gst_opt_scheduler_schedule_run_queue),
5251         (gst_opt_scheduler_get_wrapper), (get_group),
5252         (group_migrate_connected):
5253         * testsuite/schedulers/Makefile.am:
5254           fix for #147819 (Add some checks in the opt scheduler)
5255
5256 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5257
5258         patch by: Benjamin Otte
5259
5260         * gst/gstelementfactory.c: (__gst_element_details_set):
5261           fix for #147929: running gst-register in non-utf8 locale can cause
5262           invalid registry
5263
5264 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5265
5266         patch by: Wim Taymans
5267
5268         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5269         (group_has_element), (element_get_reachables_func),
5270         (group_migrate_connected):
5271           fix for #147894 (opt scheduler decoupled elements mismanagement)
5272         * testsuite/schedulers/Makefile.am:
5273           testsuite app now passes
5274
5275 2004-07-19  Wim Taymans  <wim@fluendo.com>
5276
5277         * testsuite/schedulers/147819.c: (handoff_identity1),
5278         (handoff_identity2), (main):
5279         * testsuite/schedulers/Makefile.am:
5280         Added testcase for bug 147819
5281
5282 2004-07-19  Wim Taymans  <wim@fluendo.com>
5283
5284         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5285         (handoff_identity), (main):
5286         * testsuite/schedulers/Makefile.am:
5287         Added testcase for bug 147894
5288
5289 2004-07-16  Wim Taymans  <wim@fluendo.com>
5290
5291         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5292         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5293         * testsuite/schedulers/Makefile.am:
5294         Added testsuite for bug 142183 in its two incarnations. Refcount
5295         is not increased for scheduled elements and threadsafe properties
5296         mutexes are not properly unlocked.
5297
5298 2004-07-16  Wim Taymans  <wim@fluendo.com>
5299
5300         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5301         (create_chain), (destroy_chain), (create_group), (destroy_group),
5302         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5303         (group_dec_link), (gst_opt_scheduler_pad_link),
5304         (group_inc_links_for_element), (group_migrate_connected):
5305         Call group_inc_link with the proper src->sink ordering -- 
5306         break this, and we break sort_chain. patch from wingo for bug
5307         147713.
5308         Partially revert patch 1.89. When adding a loop based element to 
5309         the scheduler, the links to other groups are automatically followed
5310         and incremented. This should not happen because the bin will call
5311         pad_link explicitly for those connection, resulting in them counted 
5312         twice. Results in assertion failure on pipeline cleanup.
5313
5314 2004-07-16  Wim Taymans  <wim@fluendo.com>
5315
5316         * testsuite/schedulers/143777-2.c: (main):
5317         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5318         (main):
5319         * testsuite/schedulers/Makefile.am:
5320         Added cleanup code to testcase 143777-2.
5321         Added testcase to show bug 147713, does not really show the
5322         deadlock as I can't figure out how to trigger it, but it does
5323         demonstrate bad ordering in the scheduler.
5324
5325 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5326
5327         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5328           change strndup to g_strndup.  Fixes #147707
5329
5330 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5331
5332         * po/af.po:
5333         * po/az.po:
5334         * po/cs.po:
5335         * po/en_GB.po:
5336         * po/fr.po:
5337         * po/nl.po:
5338         * po/sr.po:
5339         * po/sv.po:
5340         * po/tr.po:
5341         * po/uk.po:
5342           updated translations
5343
5344 2004-07-16  Benjamin Otte  <otte@gnome.org>
5345
5346         * gst/gstvalue.c: (gst_greatest_common_divisor):
5347           use ints and return ints, fractions only use ints, too, so this
5348           avoids accidently casting multiplications to unsigned
5349         (gst_value_lcopy_fraction): it's ints, not uint32
5350         (gst_value_set_fraction): disallow minint, multiplying and negation
5351           are broken with it
5352         (gst_value_fraction_multiply): fix to make large numbers work and get
5353         rid of the assumption that the multiplication of two ints fits an
5354         int64 - dunno if that's true for all systems
5355         * testsuite/caps/Makefile.am:
5356         * testsuite/caps/fraction-multiply-and-zero.c:
5357         (check_multiplication), (check_equal), (zero_test), (main):
5358           add tests for all the stuff above
5359         * testsuite/caps/value_compare.c: (test1):
5360           fix comment
5361         * tests/.cvsignore:
5362         * testsuite/caps/.cvsignore:
5363         * testsuite/debug/.cvsignore:
5364         * testsuite/dlopen/.cvsignore:
5365         * testsuite/states/.cvsignore:
5366           get up to date
5367
5368 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5369
5370         * docs/manual/bins-api.xml:
5371         * docs/manual/factories.xml:
5372         * docs/manual/helloworld.xml:
5373         * docs/manual/links-api.xml: 
5374           fixes for out of date info, incorrect info and grammar
5375
5376 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5377
5378         * docs/manual/pads.xml:
5379         * docs/manual/pads-api.xml: grammar fix
5380
5381 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5382
5383         * docs/manual/pads-api.xml: typo + grammar fix
5384
5385 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5386
5387         * docs/gst/gstreamer-sections.txt:
5388           add new symbols
5389         * docs/gst/tmpl/gstelement.sgml:
5390         * docs/gst/tmpl/gstpad.sgml:
5391         * docs/gst/tmpl/gsttypes.sgml:
5392         * docs/gst/tmpl/gstvalue.sgml:
5393           update docs
5394         * gst/gststructure.c: (gst_structure_set_valist),
5395         (gst_structure_from_abbr), (gst_structure_to_abbr):
5396         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5397         (gst_greatest_common_divisor), (gst_value_init_fraction),
5398         (gst_value_copy_fraction), (gst_value_collect_fraction),
5399         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5400         (gst_value_get_fraction_numerator),
5401         (gst_value_get_fraction_denominator),
5402         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5403         (gst_value_deserialize_fraction),
5404         (gst_value_transform_fraction_string),
5405         (gst_value_transform_string_fraction),
5406         (gst_value_compare_fraction), (_gst_value_initialize):
5407         * gst/gstvalue.h:
5408           adding GstFraction GValue type, get/set, and multiply
5409         * testsuite/caps/Makefile.am:
5410         * testsuite/caps/fraction.c: (test), (main):
5411         * testsuite/caps/string-conversions.c: (main):
5412         * testsuite/caps/value_compare.c: (test1), (main):
5413           add regression tests for GstFraction
5414
5415 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5416         
5417         * docs/manual/init-api.xml: Grammar fix
5418
5419 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5420
5421         * docs/manual/states.xml: Fix inconsistent information
5422
5423 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5424
5425         * gst/gstelement.c: (gst_element_set_state):
5426         * gst/gstpad.c: (gst_pad_try_set_caps):
5427         * gst/gststructure.c:
5428         * gst/gstthread.c: (gst_thread_child_state_change):
5429         * gst/gstvalue.c: (gst_value_compare_double):
5430         * gst/gstvalue.h:
5431         * testsuite/parse/parse1.c: (main):
5432           debugging additions and style cleanups
5433
5434 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5435
5436         * docs/manual/states.xml: Grammar fix
5437
5438 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5439
5440         * docs/manual/pads.xml: Grammar fix
5441
5442 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5443
5444         * docs/manual/elements.xml: Fixed image reference
5445
5446 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5447
5448         * docs/manual/goals.xml: Grammar fix
5449
5450 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5451
5452         * docs/manual/motivation.xml:
5453         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5454
5455 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5456
5457         * docs/manual/motivation.xml: Fix spelling
5458
5459 2004-07-15  Benjamin Otte  <otte@gnome.org>
5460
5461         * gst/gstelement.h: 
5462           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5463           strings.
5464         * gst/gstelement.c (gst_element_class_init):
5465           GError's are boxed, not objects
5466         * gst/gstmarshal.list:
5467           update list for the fixed error signal
5468
5469 2004-07-14  Andy Wingo  <wingo@pobox.com>
5470
5471         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5472         there all along, but the function wasn't. (guile-gstreamer's build
5473         system uses the address of the function -- I wasn't actually
5474         trying to use this.)
5475
5476 2004-07-14  Andy Wingo  <wingo@pobox.com>
5477
5478         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5479         as gst_pad_proxy_pad_link) just link to every other pad when they
5480         are called. In the case where the graph has cycles, this will mean
5481         that a call to try_set_caps will recurse. Allow this recursion
5482         and return OK, while we wait for the first try_set_caps to give a
5483         proper return value.
5484         (gst_pad_link_call_link_functions): Since this function is the
5485         only one to set the NEGOTIATING flag on a pad, if the flag is set
5486         it means that the link functions have indirectly recursed. If this
5487         happens, error out to avoid infinite recursion and an eventual
5488         SEGV.
5489         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5490         (gst_pad_proxy_getcaps): Intersect the result with the template
5491         caps to ensure that the return value is valid.
5492
5493 2004-07-14  Andy Wingo  <wingo@pobox.com>
5494
5495         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5496         one refcount, the calling function is the owner of the buffer.
5497
5498 2004-07-14  Wim Taymans  <wim@fluendo.com>
5499
5500         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5501         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5502         Fix stupid warning when an element is to be migrated but
5503         is already migrated.
5504
5505 2004-07-14  Wim Taymans  <wim@fluendo.com>
5506
5507         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5508         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5509         Make sure that a single non-loop-based element does not 
5510         end up in a group. This fixes the testsuite again.
5511
5512 2004-07-14  Wim Taymans  <wim@fluendo.com>
5513
5514         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5515         (add_to_group), (merge_groups), (schedule_group),
5516         (gst_opt_scheduler_get_wrapper), (group_elements),
5517         (group_dec_link), (gst_opt_scheduler_pad_link),
5518         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5519         (gst_opt_scheduler_iterate):
5520         move isolated groups to a new chain.
5521         Emit a warning instead of segfaulting in some error cases.
5522         Fix a bug where the link count between groups was not calculated 
5523         correctly. Fixes #144510.
5524
5525 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5526         * gst/elements/gstfilesrc.c:
5527           Binary files support under Windows now OK
5528       
5529 2004-07-13  Benjamin Otte  <otte@gnome.org>
5530
5531           compatibility fixes for Solaris 8/gcc 2.95
5532         * configure.ac:
5533           include libintl libs in LDFLAGS
5534         * gstvalue.c (gst_value_deserialize_buffer):
5535           cast isxdigit stuff to int to silence compiler warning
5536
5537 2004-07-12  Benjamin Otte  <otte@gnome.org>
5538
5539         * gst/gsttypes.h:
5540           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5541           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5542           just causes support madness
5543         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5544           make it work without this
5545         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5546         (gst_file_index_commit):
5547           glib IO channels don't want binary mode
5548         * testsuite/bytestream/filepadsink.c: (main):
5549         * testsuite/bytestream/test1.c: (read_param_file):
5550           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5551
5552 2004-07-12  Benjamin Otte  <otte@gnome.org>
5553
5554         * gst/gstelement.c: (gst_element_class_init),
5555         (gst_element_set_state), (gst_element_set_state_func):
5556           virutalize gst_element_set_state, use set_state member in class
5557           struct that was already added in 0.7 for this.
5558         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5559         (gst_bin_change_state):
5560           make gst_bin_foreach works similar to other foreach functions, plug
5561           memleaks in it. Make functions using it work with the new approach.
5562           Document gst_bin_foreach, so it can be exported if we want to
5563         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5564           use virtualized set_state to make set_state on bins set the state of
5565           all its children.
5566
5567 2004-07-12  Benjamin Otte  <otte@gnome.org>
5568
5569         * configure.ac:
5570           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5571           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5572         * gst/gstpad.c: (gst_pad_alloc_buffer):
5573           allow buffer_alloc functions to return NULL and allocate a normal
5574           buffer in that case
5575
5576 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5577         * gst/elements/gstfilesink.c:
5578         * gst/elements/gstfilesrc.c:
5579         * gst/indexers/gstfileindex.c:
5580         * gst/gsttypes.h:
5581         * testsuite/bytestream/filepadsink.c:
5582         * testsuite/bytestream/test1.c:
5583           Handle binary files under Windows
5584
5585 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5586         * docs/manual/win32.xml:
5587         * win32/config.h:
5588         * win32/gst-register.vcproj:
5589         * win32/gstreamer.def:
5590           Update to another gettext public build
5591
5592 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5593         * gst/gstplugin.c:
5594           Fix an impossible C syntax
5595         * win32/config.h:
5596           Disable i18n under Windows for the moment
5597         * win32/gst-register.vcproj:
5598           Use this configuration
5599
5600 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5601         * docs/manual/quotes.xml:
5602           Keep the quotes file alive
5603         * docs/random/ds/0.9-suggested-changes:
5604           Add the suggestion of including a 'rowstride' as part of video
5605           format caps
5606
5607 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5608
5609         * gst/gstelement.c: (gst_element_set_state),
5610         (gst_element_change_state):
5611           d'oh.  Set PENDING state correctly before forcing bin to change.
5612         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5613         (gst_structure_parse_fixed_list):
5614         * gst/schedulers/gstoptimalscheduler.c:
5615         (gst_opt_scheduler_state_transition):
5616         * testsuite/states/parent.c: (main):
5617           remove comment now that it's fixed.
5618
5619 2004-07-11  Benjamin Otte  <otte@gnome.org>
5620
5621         * gst/gstclock.h:
5622           GST_SECOND shouldn't cause a conversion to unsigned.
5623         * testsuite/clock/.cvsignore:
5624         * testsuite/clock/Makefile.am:
5625         * testsuite/clock/signedness.c: (main):
5626           make sure it never will again
5627
5628 2004-07-11  Andy Wingo  <wingo@pobox.com>
5629
5630         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5631         whose state is higher than the bin state, raise the bin state to
5632         ensure that bin state := highest child state.
5633         
5634 2004-07-11  Andy Wingo  <wingo@pobox.com>
5635
5636         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5637         procedure on the children of a bin. Assumes that the procedure can
5638         change the set of children.
5639         (set_kid_state_func): New static function.
5640         (gst_bin_change_state): Use gst_bin_foreach to call
5641         set_kid_state_func. Fixes a bug: if a child had a state-change
5642         handler that removes it from the bin, there would be a segfault.
5643         Hopefully it should also work in the case where the state-change
5644         handler on one child adds or removes other children. In any case,
5645         fixes should go to gst_bin_foreach.
5646
5647 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5648
5649         * gst/gstelement.c: (gst_element_set_state):
5650           compatibility fix for latest plugins release.  Change loop back
5651           to while {}
5652
5653 2004-07-09  Wim Taymans  <wim@fluendo.com>
5654
5655         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5656         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5657         (gst_thread_main_loop):
5658         Since remove is virtual in GstBin we must not assume the 
5659         elements GList to have anothing useful.
5660         Add some more logging to GstThread and be a bit more paranoid
5661         when resetting the scheduler.
5662         Set the state of the bin to NULL before removing the children.
5663
5664 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5665
5666         * testsuite/threads/Makefile.am:
5667         * testsuite/threads/threadg.c:
5668           added test to check if problem when removing all elements from a
5669           GstThread before setting GstThread state to NULL
5670
5671 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5672
5673         * docs/gst/tmpl/gstelement.sgml:
5674         * docs/gst/tmpl/gsttypes.sgml:
5675         * gst/gstbin.c: (gst_bin_change_state):
5676         * gst/gstelement.c: (gst_element_set_state),
5677         (gst_element_change_state):
5678           rework so that for bins we try to set the state on all children
5679           as well even if the bin is in the correct state already.
5680           change while to do so at least one iteration is done.
5681           For regular elements, we fall back to the previous behaviour for
5682           now since we first need a new plugins release.
5683         * testsuite/states/parent.c: (main):
5684           test for this case
5685           Fixes #123774
5686
5687 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5688
5689         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5690         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5691         (gst_queue_release_locks), (gst_queue_change_state),
5692         (gst_queue_set_property):
5693           add proper lock debugging.  Change dispose to finalize, since
5694           we're freeing mutexes and other stuff which should happen only once.
5695
5696 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5697
5698         * docs/gst/tmpl/gstelement.sgml:
5699         * docs/gst/tmpl/gstplugin.sgml:
5700         * docs/gst/tmpl/gsttypes.sgml:
5701         * docs/pwg/building-state.xml:
5702         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5703         * gst/gstelement.c: (gst_element_change_state):
5704         * gst/gstthread.c: (gst_thread_change_state):
5705           catch wrong state changes in element base class.
5706
5707 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5708
5709         * gst/gstinfo.h:
5710           clean up layout a little.
5711
5712 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5713
5714         * configure.ac:
5715         * testsuite/Makefile.am:
5716         * testsuite/states/Makefile.am:
5717         * testsuite/states/parent.c: (main):
5718           re-enable states testsuite dir.  Add test for state changes and
5719           parent behaviour
5720
5721 2004-07-09  Wim Taymans  <wim@fluendo.com>
5722
5723         * gst/schedulers/gstoptimalscheduler.c:
5724         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5725         (element_get_reachables_func), (element_get_reachables),
5726         (debug_element), (rechain_group), (group_migrate_connected),
5727         (gst_opt_scheduler_pad_unlink):
5728         Do not try to migrate decoupled elements to a new group since
5729         they are not added to groups.
5730
5731 2004-07-08  Benjamin Otte  <otte@gnome.org>
5732
5733         * gst/gstelement.c: (gst_element_error_func):
5734           make reentrant (= allow removing elements in error handler)
5735
5736 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5737
5738         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5739         (gst_pad_send_event), (gst_pad_call_chain_function):
5740           events sent to elements below PAUSED cannot be handled, so
5741           don't try to
5742
5743 2004-07-08  Wim Taymans  <wim@fluendo.com>
5744
5745         * gst/schedulers/gstoptimalscheduler.c:
5746         (chain_recursively_migrate_group), (create_group),
5747         (schedule_group), (gst_opt_scheduler_pad_link),
5748         (group_elements_set_visited), (element_get_reachables_func),
5749         (element_get_reachables), (group_can_reach_group), (debug_element),
5750         (rechain_group), (group_migrate_connected),
5751         (gst_opt_scheduler_pad_unlink):
5752         * testsuite/schedulers/Makefile.am:
5753         Implemented group splitting and rechaining.
5754         Fixes 143777 and 143777-2 in the testsuite.
5755
5756 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5757
5758         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5759           extra debugging
5760         * gst/gstevent.h:
5761         * gst/gstinfo.c: (gst_debug_log_default):
5762           print time nicely.  add thread pointer until someone figures out
5763           a completely portable way of getting at thread id's.
5764         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5765         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5766         (gst_pad_call_chain_function):
5767           extra debugging
5768         * gst/schedulers/gstoptimalscheduler.c:
5769         (get_group_schedule_function), (loop_group_schedule_function),
5770         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5771         (pad_clear_queued), (gst_opt_scheduler_iterate):
5772           rename BUFPEN and friends to DATAPEN since that's what they are.
5773
5774 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5775
5776         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5777         * gst/gstbuffer.h:
5778         * gst/gstpad.c:
5779           cleanups and debugging
5780
5781 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5782
5783         * configure.ac:
5784         * gst/gstvalue.c: (gst_value_compare_enum),
5785         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5786         (gst_value_can_compare), (gst_value_compare):
5787         * testsuite/Makefile.am:
5788         * testsuite/enumcaps/Makefile.am:
5789         * testsuite/enumcaps/enumcaps.c:
5790           Fix enum serialization, deserialization, comparison in caps, add
5791           a test to ensure that this continues working in the future.
5792
5793 2004-07-06  David Schleef  <ds@schleef.org>
5794
5795         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5796         Fix memleak.
5797
5798 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5799
5800         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5801         * gst/gstplugin.h:
5802         * gst/registries/gstxmlregistry.c:
5803         (plugin_times_older_than_recurse), (plugin_times_older_than),
5804         (gst_xml_registry_parse_padtemplate):
5805           only rebuild registry when actual plugins have a newer time than
5806           the registry.  Fixes #145520
5807
5808 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5809
5810         * docs/manual/manual.xml:
5811         * docs/manual/win32.xml:
5812           add chapter on win32 building.  fixes #142422
5813
5814 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5815
5816         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
5817
5818         * gst/autoplug/gstspider.c: (gst_spider_init),
5819         (gst_spider_dispose):
5820           fix spider memleaks.  fixes #137863
5821
5822 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5823
5824         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
5825
5826         * gst/schedulers/gstoptimalscheduler.c:
5827         (gst_opt_scheduler_pad_unlink):
5828           fix SIGBUS error, fixes #145338
5829
5830 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5831
5832         * gst/gstobject.c: (gst_object_replace):
5833         * gst/gstscheduler.c: (gst_scheduler_get_clock):
5834         * gst/gstsystemclock.c: (gst_system_clock_obtain):
5835           clean up clock lifecycle.  Fixes #109831
5836
5837 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5838
5839         * po/LINGUAS:
5840         * po/cs.po:
5841           added Czech translation (Miloslav Trmac)
5842
5843 2004-07-04  David Schleef  <ds@schleef.org>
5844
5845         * tools/Makefile.am:
5846         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
5847
5848 2004-07-04  David Schleef  <ds@schleef.org>
5849
5850         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
5851
5852 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * gst/gstbin.c: (gst_bin_restore_thyself):
5855           chain to parent restore so the bins get restored correctly
5856           in the editor
5857
5858 2004-07-03  David Schleef  <ds@schleef.org>
5859
5860         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5861         Actually do something in these functions, like before the big
5862         caps change.  (bug #145137)
5863
5864 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
5867         (gst_element_get_compatible_pad_filtered):
5868         * gst/gstthread.c: (gst_thread_main_loop):
5869           more debugging
5870
5871 2004-07-02  David Schleef  <ds@schleef.org>
5872
5873         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
5874         * gst/gstobject.h:
5875         * gst/gstparse.h:
5876         * gst/gsttrace.h:
5877         * gst/gstxml.h:
5878
5879 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5880
5881         * gst/gstpad.c: (gst_pad_check_schedulers),
5882         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5883         (gst_pad_link_prepare):
5884           revert until testsuite is fixed
5885
5886 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * testsuite/Makefile.am:
5889         * testsuite/caps/filtercaps.c: (main):
5890         * testsuite/clock/clock1.c: (main):
5891         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
5892           fix some more tests
5893
5894 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5895
5896         * testsuite/cleanup/cleanup1.c: (create_pipeline):
5897         * testsuite/cleanup/cleanup2.c: (create_pipeline):
5898         * testsuite/cleanup/cleanup4.c: (main):
5899           fix testsuite
5900
5901 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5902
5903         * libs/gst/control/control.c:
5904         * libs/gst/control/dparam.c:
5905         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
5906         * libs/gst/control/dparammanager.c:
5907         * libs/gst/control/dparammanager.h:
5908         * testsuite/dynparams/Makefile.am:
5909         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
5910         (gst_dptest_change_state), (gst_dptest_chain), (main):
5911           fix testcase for dparams
5912           add debugging category
5913
5914 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * testsuite/Rules:
5917           change path
5918
5919 2004-07-02  Benjamin Otte  <otte@gnome.org>
5920
5921         * tests/.cvsignore:
5922         * tests/Makefile.am:
5923         * tests/mass_elements.c: (gst_get_current_time), (main):
5924           add simple benchmark to test various speeds of fakesrc ! identity !
5925           identity ! ... ! fakesink.
5926           Usage: mass_elements [num_identities] [num_buffers]
5927           If not specified they default to 1000.
5928
5929 2004-07-02  Benjamin Otte  <otte@gnome.org>
5930
5931         * gst/gstpad.c: (gst_pad_check_schedulers),
5932         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
5933         (gst_pad_link_prepare):
5934           check that pads that get linked belong to the same manager. The old
5935           code allowed linking elements before putting them into bins, so it
5936           worked to link them and then put them in different threads, which
5937           lead to weird behaviour.
5938           Since this effectively disallows linking elements before putting
5939           them in a bin, some applications might not work after this and error
5940           out. If these applications are too critical, we might need to revert
5941           that patch. Please test this before the next release...
5942
5943 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5944
5945         * gst/gstpad.c: (gst_pad_get_caps):
5946           throw an error if the getcaps function does not return a subset of
5947           the template caps.
5948         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
5949           make disconts without position info an error in debugging
5950         * tests/spidey_bench.c: (handoff), (main):
5951           don't count first try when averaging
5952
5953 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5954
5955         * gst/gstplugin.c: (gst_plugin_load_file):
5956           figure out problem with dynamic test
5957
5958 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         * docs/gst/Makefile.am:
5961           fix docs build
5962
5963 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5964
5965         * po/POTFILES.in:
5966         * po/af.po:
5967         * po/az.po:
5968         * po/en_GB.po:
5969         * po/fr.po:
5970         * po/nl.po:
5971         * po/sr.po:
5972         * po/sv.po:
5973         * po/tr.po:
5974         * po/uk.po:
5975         * tools/gst-register.c: (plugin_added_func), (main):
5976           i18n-ize -register, fix plural
5977
5978 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5979
5980         * gst/elements/gstidentity.c: (gst_identity_class_init),
5981         (gst_identity_init), (gst_identity_chain),
5982         (gst_identity_set_property), (gst_identity_get_property):
5983         * gst/elements/gstidentity.h:
5984           check for perfect stream
5985
5986 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5987
5988         * gst/elements/gstidentity.c: (gst_identity_chain):
5989           print offset_end
5990
5991 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5992
5993         * docs/gst/Makefile.am:
5994         * docs/gst/gstreamer-docs.sgml:
5995           doc fixes
5996
5997 2004-06-24  David Schleef  <ds@schleef.org>
5998
5999         * autogen.sh:  Remove call to env, since the buildbot isn't
6000         broken anymore.
6001
6002 2004-06-24  Wim Taymans  <wim@fluendo.com>
6003
6004         * gst/elements/Makefile.am:
6005         * gst/elements/gstelements.c:
6006         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6007         (gst_multifdsink_class_init), (gst_multifdsink_init),
6008         (gst_multifdsink_add), (gst_multifdsink_remove),
6009         (gst_multifdsink_clear), (gst_multifdsink_chain),
6010         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6011         * gst/elements/gstmultifdsink.h:
6012         Added an element that writes to multiple filedescriptors at once.
6013
6014 2004-06-24  Benjamin Otte  <otte@gnome.org>
6015
6016         * gst/parse/grammar.y:
6017           don't try to link elements before they have been added to bins
6018
6019 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6020
6021         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6022         (gst_file_pad_get_length):
6023         * libs/gst/bytestream/filepad.h:
6024           add 2 new functions
6025
6026 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6027
6028         * docs/gst/gstreamer-sections.txt:
6029         remove from docs, the define that Benjamin removed from gstelement.h
6030
6031 2004-06-22  Benjamin Otte  <otte@gnome.org>
6032
6033         * gst/gstelement.h:
6034           remove define that referenced a nonexisting GstElement struct member
6035
6036 2004-06-20  Benjamin Otte  <otte@gnome.org>
6037
6038         * gst/gstdata.c: (gst_data_is_writable):
6039           whoops, return values were wrong, so writable data was marked as
6040           non-writable and vice versa. (fixes #143953, spotted by Francis
6041           Labonte)
6042           Shows how rarely we need to copy data ;)
6043
6044 2004-06-20  Benjamin Otte  <otte@gnome.org>
6045
6046         * testsuite/schedulers/.cvsignore:
6047         * testsuite/schedulers/Makefile.am:
6048         * testsuite/schedulers/143777-2.c: (main):
6049           add test for opt breakage in bug #143777
6050
6051 2004-06-20  Benjamin Otte  <otte@gnome.org>
6052
6053         * gst/gstpad.c: (gst_pad_call_chain_function):
6054           check for if we were unlinked while inside the chainfunction (fixes
6055           entrygthread having issues with #143777)
6056         * testsuite/schedulers/143777.c: (main):
6057         * testsuite/schedulers/Makefile.am:
6058           add a test for that fix
6059
6060 2004-06-20  Benjamin Otte  <otte@gnome.org>
6061
6062         * gst/gstvalue.c: (gst_value_set_int_range):
6063           test that start is smaller then end
6064         * libs/gst/bytestream/Makefile.am:
6065         * libs/gst/bytestream/filepad.c: 
6066         * libs/gst/bytestream/filepad.h:
6067           add GstFilePad - a pad that behaves like a FILE*
6068         * testsuite/bytestream/.cvsignore:
6069         * testsuite/bytestream/Makefile.am:
6070         * testsuite/bytestream/filepadsink.c: 
6071           test for the GstFilePad
6072
6073 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6074
6075         * gst/elements/gstidentity.c: (gst_identity_class_init),
6076         (gst_identity_init), (gst_identity_set_clock),
6077         (gst_identity_chain), (gst_identity_set_property),
6078         (gst_identity_get_property):
6079         * gst/elements/gstidentity.h:
6080         * gst/gstclock.c: (gst_clock_id_wait):
6081           add a "sync" property to sync to the clock
6082
6083 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6084
6085         * gst/gstelementfactory.c: (gst_element_factory_create):
6086           make the freakin "elementfactory bla has no type" message more
6087           useful. So we actually can do something when someone shows up
6088           complaining about it.
6089
6090 2004-06-15  Johan Dahlin  <johan@gnome.org>
6091
6092         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6093         found. This matches the old behavior better. Thanks to Thomas for
6094         pointing out.
6095
6096 2004-06-14  David Schleef  <ds@schleef.org>
6097
6098         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6099         -fomit-frame-pointer.  Appears to generate correct code in
6100         other cases as well.
6101
6102 2004-06-14  Johan Dahlin  <johan@gnome.org>
6103
6104         * tools/gst-inspect.c (main): Add two new command line options: -a
6105         to print all elements and -n to print the name on each line. Also
6106         fix some error reporting.
6107         (main): Simplify, remove -n and always print names if -a is specified
6108
6109 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6110
6111         * win32/gstconfig.h:
6112         * win32/GSTreamer.vcproj:
6113         * win32/Makefile:
6114         * gst/gstconfig.h.in:
6115         * gst/gst.h:
6116         * gst/gstbin.h:
6117         * gst/gstelement.h:
6118         * gst/gstevent.h:
6119         * gst/gstobject.h:
6120         * gst/gstpad.h:
6121         * docs/gst/gstreamer-sections.txt:
6122         * docs/gst/tmpl/gstconfig.sgml:
6123           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6124
6125 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6126         * docs/gst/gstreamer-sections.txt:
6127         * docs/gst/tmpl/gstconfig.sgml:
6128         Add the GSTREAMER_EXPORT macro to the docs
6129
6130 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6131
6132         * tools/gst-compprep.c: (handle_xmlerror), (main):
6133         Add a check for the version that introduced SetStructuredError to fix
6134         the build on FC1
6135
6136 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6137
6138         * win32/msvc71.sln:
6139         * win32/testsuite/:
6140           prepare to compile the testsuite with MSVC
6141
6142 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6143
6144         * docs/manual/win32.xml:
6145           attempt to transform the Win32 README into an XML doc
6146
6147 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6148
6149         * gst/gst.c:
6150         * gst/gstbin.*:
6151         * gst/config.h.in:
6152         * gst/gstelement.*:
6153         * gst/gstevent.h:
6154         * gst/gstobject.*:
6155         * gst/gstpad.h:
6156         * tools/gst-register.c:
6157         * win32/gstreamer.def:
6158           extern symbols are now exported for the Windows DLL
6159
6160 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6161
6162         * gst/gstinfo.h:
6163           fix a problem to enable/disable DEBUG under MSVC
6164
6165 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6166
6167         * win32/:
6168           enable more debug code in DEBUG build
6169
6170 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6171
6172         * win32/config.h:
6173         * gst/gst-i18n-app.h:
6174           enable NLS under Windows
6175
6176 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6177         * tools/gst-compprep.c: (handle_xmlerror), (main):
6178           Make an error that baffled me a bit clearer
6179
6180 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6181
6182         * gst/gstqueue.c:
6183           don't use g_queue_get_length () because it's 2.4, use ->length
6184
6185 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6186
6187         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6188
6189         * tools/gst-inspect.c: (print_signal_info):
6190           don't free random data twice. (fixes #144185)
6191
6192 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6193
6194         * gst/gstqueue.c:
6195         * gst/gstqueue.h:
6196           fix removing from the wrong queue on event timeout
6197           fix disposing of the event queue by casting correctly
6198           add mutexes for handling the event queue
6199           someone was sleeping when fixing queue last time around :)
6200
6201 2004-06-10  Johan Dahlin  <johan@gnome.org>
6202
6203         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6204         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6205
6206 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6207
6208         * docs/random/gdp:
6209         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6210         * libs/gst/dataprotocol/dataprotocol.c:
6211         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6212         (gst_dp_buffer_from_header):
6213         * libs/gst/dataprotocol/dataprotocol.h:
6214         * libs/gst/dataprotocol/dp-private.h:
6215           rev version to 0.1, add buffer flags and copy them
6216
6217 2004-06-09  Johan Dahlin  <johan@gnome.org>
6218
6219         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6220         the flags from the buffer we're copying.
6221
6222 2004-06-09  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6225         * gst/elements/gstidentity.c: (gst_identity_init),
6226         (gst_identity_chain):
6227         Print more buffer info in fakesink.
6228         Make identity output similar to fakesink.
6229
6230 2004-06-07  Daniel Gazard  <dany42@free.fr>
6231
6232         reviewed by Benjamin Otte  <otte@gnome.org>
6233
6234         * configure.ac:
6235           fix cross compiling not working. (fixes #143741)
6236
6237 2004-06-07  Benjamin Otte  <otte@gnome.org>
6238
6239         * gst/gstelement.c: (gst_element_set_time_delay):
6240           add failure check
6241         * gst/gstinfo.h:
6242           put brackets around macro arguments of GST_TIME_ARGS, add note to
6243           move it to correct header in 0.9
6244
6245 2004-06-07  Benjamin Otte  <otte@gnome.org>
6246
6247         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6248         (gst_file_index_load), (_file_index_id_save_entries),
6249         (gst_file_index_commit), (gst_file_index_add_association),
6250         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6251         (gst_file_index_plugin_init):
6252           make debugging use a default category
6253
6254 2004-06-06  David Moore  <dcm@acm.org>
6255
6256         reviewed by Benjamin Otte  <otte@gnome.org>
6257
6258         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6259         (gst_fdsrc_change_state):
6260           reset offset counter when going READY => PAUSED. (fixes #142903)
6261
6262 2004-06-06  ed@catmur.co.uk
6263
6264         reviewed by Benjamin Otte  <otte@gnome.org>
6265
6266         * gst/registries/gstxmlregistry.c:
6267         (gst_xml_registry_rebuild_recurse):
6268           don't rely on g_dir_open to figure out if a file is a directory, use
6269           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6270           directories. (fixes #142850)
6271
6272 2004-06-06  Benjamin Otte  <otte@gnome.org>
6273
6274         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6275           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6276         * libs/gst/bytestream/adapter.c:
6277         * libs/gst/bytestream/adapter.h:
6278           fix copyright in header and typo in debugging category name
6279
6280 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6281
6282         * configure.ac:
6283           bump nano to cvs
6284
6285 === release 0.8.3 ===
6286
6287 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6288
6289         * configure.ac:
6290           update libtool versioning
6291           do a new release
6292         * docs/gst/tmpl/gstelement.sgml:
6293         * docs/gst/tmpl/gsttypes.sgml:
6294         * gst/gstinfo.c: (_gst_debug_init):
6295           put back GST_CAT_DATAFLOW to fix API breakage
6296
6297 2004-06-04  David Schleef  <ds@schleef.org>
6298
6299         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6300
6301 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6302
6303         * configure.ac:
6304           bump nano to cvs
6305
6306 === release 0.8.2 ===
6307
6308 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6309
6310         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6311           check GST_DEBUG environment variable which is parsed the same way
6312           as --gst-debug=
6313
6314 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6315
6316         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6317                             gstmd5sink.c gstshaper.c gsttee.c
6318                             gsttypefindelement.c
6319         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6320
6321           - removing trailing commas at end of enums
6322             it is correct C99 code but C90 compilers would complain
6323             (AIX, Forte, ...)
6324             ('should' fix #143290, at least partially)
6325
6326 2004-05-27  Wim Taymans  <wim@fluendo.com>
6327
6328         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6329         (chain_group_set_enabled), (create_group), (add_to_group),
6330         (merge_groups), (setup_group_scheduler), (group_elements),
6331         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6332         Don't try to follow the pad connections with other groups
6333         when a loop based element is added to the scheduler because
6334         the bin will inform the scheduler about the pad links a little
6335         later.
6336
6337 2004-05-27  Wim Taymans  <wim@fluendo.com>
6338
6339         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6340         (remove_from_chain), (chain_group_set_enabled),
6341         (setup_group_scheduler), (group_element_set_enabled),
6342         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6343         (gst_opt_scheduler_show):
6344         Elements without a group can do a state change as well, just wait
6345         with the setup of the scheduling function when it is added to a
6346         chain.
6347
6348 2004-05-27  Wim Taymans  <wim@fluendo.com>
6349
6350         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6351         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6352         (merge_groups), (setup_group_scheduler),
6353         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6354         (gst_opt_scheduler_show):
6355         Fixes to maintain internal consistency of the scheduler data
6356         structures. 
6357          - adding an enabled group to a chain should increment the
6358            number of enabled elements in that chain.
6359          - removing an enabled group from a chain could disable the
6360            chain.
6361          - removing a disabled group from a chain could enable the
6362            chain.
6363          - add g_assert when internal inconsistency is detected.
6364          - adding an element to a group could increase the number of
6365            links this group has with other groups.
6366          - merging two groups also merges the chains.
6367          - also show group links in the _show method.
6368            
6369
6370 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6371
6372         * gst/gstcaps.c: (gst_caps_structure_simplify):
6373           don't print error messages when there is no error
6374         * gst/gstvalue.c: (gst_value_compare_int_range):
6375           compare the second value, too
6376         * testsuite/caps/Makefile.am:
6377         * testsuite/caps/random.c: (assert_on_error), (main):
6378           add tests to make sure the two things above are checked for
6379
6380 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6381
6382         * configure.ac:
6383         * libs/gst/dataprotocol/Makefile.am:
6384         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6385         * libs/gst/dataprotocol/dataprotocol.h:
6386           wrap header in GST_ENABLE_NEW.  make code use it
6387
6388 2004-05-23  Johan Dahlin  <johan@gnome.org>
6389
6390         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6391         so verbose and print GstElement signal names all the time.
6392
6393 2004-05-22  David Schleef  <ds@schleef.org>
6394
6395         * gst/registries/gstxmlregistry.c:
6396         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6397         (bug #142957)
6398
6399 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6400
6401         * configure.ac:
6402           scrub cflags for glib2 so gcc doesn't complain when glib is in
6403           /usr/local
6404
6405 2004-05-21  Johan Dahlin  <johan@gnome.org>
6406
6407         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6408         __GNUC__, patch from Brian Cameron, fixes bug #142804
6409
6410 2004-05-20  David Schleef  <ds@schleef.org>
6411
6412         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6413         comparison code.  (bug #142819)
6414
6415 2004-05-20  Wim Taymans  <wim@fluendo.com>
6416
6417         * gst/gstbuffer.c: (gst_buffer_default_copy):
6418         * gst/gstbuffer.h:
6419         Added Comment to a flag.
6420         copy relevant flags in _buffer_copy.
6421
6422 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6423
6424         reviewed by: Wim Taymans <wim at fluendo dot com>
6425
6426         * gst/gstbuffer.h:
6427           add GST_BUFFER_IN_CAPS buffer flag
6428         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6429         (gst_structure_parse_any_list), (gst_structure_parse_list),
6430         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6431         * gst/gstvalue.c: (gst_value_serialize_any_list),
6432         (gst_value_transform_any_list_string),
6433         (gst_value_list_prepend_value), (gst_value_list_append_value),
6434         (gst_value_list_get_size), (gst_value_list_get_value),
6435         (gst_value_transform_list_string),
6436         (gst_value_transform_fixed_list_string),
6437         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6438         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6439         (_gst_value_initialize):
6440         * gst/gstvalue.h:
6441           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6442           < , > as a format.
6443         * testsuite/caps/string-conversions.c: (main):
6444           add regression tests for < >
6445
6446 2004-05-20  Johan Dahlin  <johan@gnome.org>
6447
6448         * docs/gst/Makefile.am (all-local): Re-add
6449
6450 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6451
6452         * docs/gst/Makefile.am:
6453         * docs/gst/gstreamer-docs.sgml:
6454         * docs/libs/Makefile.am:
6455         * docs/libs/gstreamer-libs-docs.sgml:
6456           fix distcheck issues
6457
6458 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6459
6460         * libs/gst/dataprotocol/Makefile.am:
6461           add to autotest
6462
6463 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6464
6465         * libs/gst/dataprotocol/Makefile.am:
6466         * libs/gst/dataprotocol/dataprotocol.c:
6467         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6468         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6469         * libs/gst/dataprotocol/dp-private.h:
6470           use GST macros to read/write fixed length ints
6471           add some more asserts
6472
6473 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6474
6475         * docs/libs/gstreamer-libs-docs.sgml:
6476         * docs/libs/gstreamer-libs-sections.txt:
6477           remove idct and putbits
6478         * configure.ac:
6479         * docs/libs/tmpl/gstdataprotocol.sgml:
6480         * libs/gst/Makefile.am:
6481         * libs/gst/dataprotocol/Makefile.am:
6482         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6483         (buffer_test), (caps_test), (event_test), (main):
6484         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6485         (gst_dp_dump_byte_array), (gst_dp_init),
6486         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6487         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6488         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6489         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6490         (gst_dp_validate_header), (gst_dp_validate_payload),
6491         (gst_dp_validate_packet), (plugin_init):
6492         * libs/gst/dataprotocol/dataprotocol.h:
6493         * libs/gst/dataprotocol/dp-private.h:
6494           add dataprotocol
6495
6496 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6497
6498         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6499           fix int variable deserialization and add a helper so we can actually
6500           debug this.
6501
6502 2004-05-18  David Schleef  <ds@schleef.org>
6503
6504         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6505           argv[0].  Calling yourself is probably not the best way to
6506           construct a test like this, btw.
6507
6508 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6509
6510         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6511           don't claim to be more intelligent than a scheduler when the
6512           scheduler claims the pipeline is stopped
6513         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6514         (safe_cothread_destroy),
6515         (gst_entry_scheduler_remove_all_cothreads),
6516         (gst_entry_scheduler_reset), (_remove_cothread),
6517         (gst_entry_scheduler_state_transition):
6518           hold off cothread destruction if we're not in main cothread
6519         * configure.ac:
6520         * testsuite/Makefile.am:
6521           add new test dir
6522         * testsuite/schedulers/.cvsignore:
6523         * testsuite/schedulers/Makefile.am:
6524           add tests
6525         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6526           check relinking and adding/removing elements from a running pipeline
6527         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6528           check unlinking in a running pipeline
6529         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6530           check unreffing a running pipeline
6531         * testsuite/schedulers/useless_iteration.c: (main):
6532           check iterating a pipeline that contains running threads works
6533
6534 2004-05-18  David Schleef  <ds@schleef.org>
6535
6536         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6537           is false.
6538
6539 2004-05-18  Wim Taymans  <wim@fluendo.com>
6540
6541         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6542         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6543         Fixed an error introduced with patch for 1.63. When setting
6544         a get based element as the entry point in a group, make sure
6545         to mark the group as GET based.
6546
6547 2004-05-18  Wim Taymans  <wim@fluendo.com>
6548
6549         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6550         (setup_group_scheduler), (loop_group_schedule_function),
6551         (gst_opt_scheduler_pad_link):
6552         Added some more debug info and fixed a bug where the group
6553         type was set to LOOP but it was in fact unknown.
6554
6555 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6556
6557         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6558           make resetting scheduler work twice in a row
6559
6560 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6561
6562         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6563         (CREATE_USERIALIZATION), (_gst_value_initialize),
6564         (gst_value_compare_float), (gst_value_serialize_float),
6565         (gst_value_deserialize_float), (gst_value_compare_enum),
6566         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6567           add serialization and comparison functions for long, int64, enum and
6568           float values
6569         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6570           use best serialization function in type hierarchy instead of only a
6571           matching one. This is required for enums to work.
6572         * gst/parse/grammar.y:
6573           use gst_caps_deserialize
6574         * testsuite/parse/Makefile.am:
6575           parse1 now works
6576         * testsuite/parse/parse1.c: (main):
6577           remove aggregator check, aggregator is broken, this test works now
6578           but fails because of bug #138012
6579         * testsuite/parse/parse2.c: (main):
6580           s/xvideosink/xvimagesink - this test looks a lot like we should
6581           disable it
6582
6583 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6584
6585         * gst/gstelement.c: (gst_element_class_init):
6586           whoops, store the signal id correctly
6587         * gst/schedulers/gstbasicscheduler.c:
6588         (gst_basic_scheduler_chain_wrapper):
6589           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6590           chain function isn't linked
6591
6592 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6593         * configure.ac:
6594         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6595         support until we decide where the flags should be used
6596         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6597         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6598         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6599         Output refused caps in the debug info
6600
6601 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6602
6603         * gst/elements/gstidentity.c: (gst_identity_chain):
6604           add duration debug
6605         * gst/gstinfo.c: (gst_debug_log_default):
6606           add timestamp
6607
6608 2004-05-13  Benjamin Otte  <otte@gnome.org>
6609
6610         * gst/gstpipeline.c: (gst_pipeline_dispose),
6611         (gst_pipeline_change_state):
6612           call gst_scheduler_reset on dispose (fixes #141416)
6613
6614 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6615
6616         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6617           compute mapsize correctly
6618         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6619           use correct datatypes when calling a varargs function
6620         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6621           push a DISCONT event as first thing
6622         * gst/gst_private.h:
6623         * gst/gstinfo.c: (_gst_debug_init):
6624           remove GST_DATAFLOW debugging category
6625         * gst/gstbin.c: (gst_bin_iterate):
6626           use GST_SCHEDULING category
6627         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6628         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6629         (gst_pad_call_get_function):
6630           add GST_DATAFLOW to easily track flow of buffers or events.
6631         * gst/gstqueue.c: (gst_queue_get_type),
6632         (gst_queue_handle_pending_events), (gst_queue_chain),
6633         (gst_queue_get), (gst_queue_handle_src_event):
6634           use own static debugging category GST_DATAFLOW for dataflow,
6635           use DEBUG category for showing which path events go, use LOG
6636           category for buffers.
6637
6638 2004-05-10  David Schleef  <ds@schleef.org>
6639
6640         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6641
6642 2004-05-10  David Schleef  <ds@schleef.org>
6643
6644         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6645         symbols, because otherwise we don't know what they are.  Thanks,
6646         the GStreamer team.
6647         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6648
6649 2004-05-10  David Schleef  <ds@schleef.org>
6650
6651         (from Steve Lhomme)
6652         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6653         are deleted.  Fix.
6654         * win32/Makefile.inspect:
6655         * win32/Makefile.launch:
6656         * win32/Makefile.register:
6657
6658 2004-05-10  David Schleef  <ds@schleef.org>
6659
6660         * gst/gstinfo.h: Add missing inline function.
6661         * gst/gsttrace.c: add include
6662         * gst/parse/grammar.y: remove unused code
6663         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6664         more portable.
6665         * tools/gst-register.c: wrap unistd.h
6666         
6667         More additions/fixes from Steve for the MSVC build.
6668         * win32/GStreamer.vcproj:
6669         * win32/Makefile:
6670         * win32/Makefile.inspect:
6671         * win32/Makefile.launch:
6672         * win32/Makefile.register:
6673         * win32/README.txt:
6674         * win32/gst-inspect.vcproj:
6675         * win32/gst-launch.vcproj:
6676         * win32/gst-register.vcproj:
6677         * win32/gstbytestream.def:
6678         * win32/gstbytestream.vcproj:
6679         * win32/gstconfig.h:
6680         * win32/gstelements.def:
6681         * win32/gstelements.vcproj:
6682         * win32/gstenumtypes.c:
6683         * win32/gstenumtypes.h:
6684         * win32/gstoptimalscheduler.def:
6685         * win32/gstoptimalscheduler.vcproj:
6686         * win32/gstreamer.def:
6687         * win32/gstspider.def:
6688         * win32/gstspider.vcproj:
6689         * win32/gstversion.h:
6690         * win32/msvc71.sln:
6691
6692 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6693
6694         * gst/gstelement.c: (gst_element_class_init),
6695         (gst_element_no_more_pads):
6696         * gst/gstelement.h:
6697           add gst_element_no_more_pads and the "no-more-pads" signal
6698
6699 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6700
6701         * gst/gstregistry.c: (gst_registry_add_plugin):
6702           refuse to add plugins when a plugin with same name is already
6703           registered. Fixes a bunch of "How to remove plugins?" issues.
6704           May lead to other problems though, let's test
6705
6706 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6707
6708         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6709         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6710         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6711
6712 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6713
6714         * tests/Makefile.am: fix am16 issue
6715
6716 2004-05-09  Benjamin Otte  <otte@gnome.org>
6717
6718         * libs/gst/bytestream/Makefile.am:
6719           we should indeed add .c files to makefiles or they won't be built
6720           (d'oh)
6721
6722 2004-05-08  Benjamin Otte  <otte@gnome.org>
6723
6724         * gst/gstpad.c: (gst_pad_proxy_fixate):
6725           really reduce the set of caps
6726
6727 2004-05-08  Benjamin Otte  <otte@gnome.org>
6728
6729         * tests/Makefile.am:
6730         * tests/spidey_bench.c: (handoff), (main):
6731           add benchmark to test how long spider needs to create a pipeline
6732
6733 2004-05-08  Benjamin Otte  <otte@gnome.org>
6734
6735         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6736           mark links as unengaged when unnegotiating instead of deactivating.
6737           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6738
6739 2004-05-08  Benjamin Otte  <otte@gnome.org>
6740
6741         * docs/manual/helloworld.xml:
6742           s/audiosink/osssink (patch by Patrick Guimond)
6743
6744 2004-05-07  David Schleef  <ds@schleef.org>
6745
6746         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6747         since it contains important stuff.
6748
6749 2004-05-07  David Schleef  <ds@schleef.org>
6750
6751         * testsuite/caps/caps.c: (test3), (main): A check for appending
6752         ANY caps.
6753
6754 2004-05-07  David Schleef  <ds@schleef.org>
6755
6756         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6757         which may contain commas.  Fixes detection of -Wa,-mregnames
6758
6759 2004-05-06  David Schleef  <ds@schleef.org>
6760
6761         Changes to handle compilers that don't have variadic macro
6762         support.  In particular, glib headers define some inlines
6763         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6764         builds.
6765         * gst/Makefile.am:
6766         * gst/cothreads.c:
6767         * gst/elements/gstfdsink.c:
6768         * gst/elements/gstfdsrc.c:
6769         * gst/elements/gstfilesink.c:
6770         * gst/elements/gstfilesrc.c:
6771         * gst/gst_private.h:
6772         * gst/gstatomic.c:
6773         * gst/gstcaps.c: (gst_caps_append):
6774         * gst/gstcpu.c: (gst_cpuid_i386):
6775         * gst/gstelement.c:
6776         * gst/gsterror.c:
6777         * gst/gstfilter.c:
6778         * gst/gstinfo.h:
6779         * gst/gstprobe.c:
6780         * gst/gstquery.c:
6781         * gst/gstregistry.c:
6782         * gst/gststructure.c:
6783         * gst/gsttaginterface.c:
6784         * gst/gsttrace.c: (gst_trace_new):
6785         * gst/gsttrashstack.c:
6786         * gst/gsturi.c:
6787         * gst/gstvalue.c:
6788         * gst/parse/grammar.y:
6789         * gst/parse/parse.l:
6790         * tools/gst-inspect.c: (main):
6791         * tools/gst-launch.c: (main):
6792         * tools/gst-xmlinspect.c: (PUT_STRING):
6793
6794 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6795
6796         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6797         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6798         * gst/elements/gstfilesrc.h:
6799           send NEW_MEDIA events correctly
6800         * gst/elements/gsttypefindelement.c: (start_typefinding),
6801         (gst_type_find_element_handle_event):
6802           restart typefinding when we get a NEW_MEDIA event
6803         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6804         (gst_bin_dispose):
6805           don't die when someone removes elements in callbacks
6806         * gst/gstelement.c: (gst_element_change_state):
6807           improve debugging
6808         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6809           we need a NEW_MEDIA event to engage a link
6810         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6811           don't g_print debugging stuff
6812         * testsuite/caps/simplify.c: (check_caps):
6813
6814 2004-05-04  Benjamin Otte  <otte@gnome.org>
6815
6816         * gst/parse/grammar.y:
6817           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
6818
6819 2004-05-04  Benjamin Otte  <otte@gnome.org>
6820
6821         * testsuite/caps/renegotiate.c: (main):
6822           improve output in error case
6823
6824 2004-05-04  Benjamin Otte  <otte@gnome.org>
6825
6826         * gst/parse/grammar.y:
6827           fix assert to not trigger when there's no error argument
6828         * gst/parse/parse.l:
6829           fix definition of caps to allow more than two structures
6830         * testsuite/caps/Makefile.am:
6831         * testsuite/caps/renegotiate.c: (main):
6832           it's sinesrc and works in that case
6833
6834 2004-05-04  Wim Taymans  <wim@fluendo.com>
6835
6836         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6837         (group_dec_link), (gst_opt_scheduler_pad_unlink):
6838         when removing an element from a group, we always need to
6839         decrement the link count that this group had with other 
6840         groups through the element.
6841         added an extra assert to catch inconsistencies when decrementing
6842         the link count.
6843
6844 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6845
6846         * configure.ac:
6847         * docs/gst/Makefile.am:
6848         * docs/gst/gstreamer-sections.txt:
6849         * docs/gst/tmpl/gstcompat.sgml:
6850         * examples/appreader/Makefile.am:
6851         * examples/cutter/Makefile.am:
6852         * examples/events/Makefile.am:
6853         * examples/helloworld/Makefile.am:
6854         * examples/helloworld2/Makefile.am:
6855         * examples/launch/Makefile.am:
6856         * examples/manual/Makefile.am:
6857         * examples/mixer/Makefile.am:
6858         * examples/pingpong/Makefile.am:
6859         * examples/plugins/Makefile.am:
6860         * examples/queue/Makefile.am:
6861         * examples/queue2/Makefile.am:
6862         * examples/queue3/Makefile.am:
6863         * examples/queue4/Makefile.am:
6864         * examples/retag/Makefile.am:
6865         * examples/thread/Makefile.am:
6866         * examples/typefind/Makefile.am:
6867         * examples/xml/Makefile.am:
6868         * gst/Makefile.am:
6869         * gst/autoplug/Makefile.am:
6870         * gst/elements/Makefile.am:
6871         * gst/gstcompat.h:
6872         * gst/indexers/Makefile.am:
6873         * gst/parse/Makefile.am:
6874         * gst/registries/Makefile.am:
6875         * gst/schedulers/Makefile.am:
6876         * libs/gst/bytestream/Makefile.am:
6877         * libs/gst/control/Makefile.am:
6878         * libs/gst/getbits/Makefile.am:
6879         * po/af.po:
6880         * po/az.po:
6881         * po/en_GB.po:
6882         * po/fr.po:
6883         * po/nl.po:
6884         * po/sr.po:
6885         * po/sv.po:
6886         * po/tr.po:
6887         * po/uk.po:
6888         * tests/Makefile.am:
6889         * tests/bufspeed/Makefile.am:
6890         * tests/instantiate/Makefile.am:
6891         * tests/memchunk/Makefile.am:
6892         * tests/muxing/Makefile.am:
6893         * tests/negotiation/Makefile.am:
6894         * tests/probes/Makefile.am:
6895         * tests/sched/Makefile.am:
6896         * tests/seeking/Makefile.am:
6897         * tests/threadstate/Makefile.am:
6898         * testsuite/caps/Makefile.am:
6899         * testsuite/cleanup/Makefile.am:
6900         * testsuite/dlopen/Makefile.am:
6901         * testsuite/dynparams/Makefile.am:
6902         * testsuite/plugin/Makefile.am:
6903         * testsuite/states/Makefile.am:
6904         * tools/Makefile.am:
6905           reorganize compile/link flags to be consistent
6906           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
6907
6908 2004-05-04  David Schleef  <ds@schleef.org>
6909
6910         The "once more, with feeling" check-in.
6911         * testsuite/caps/Makefile.am: dist caps_strings
6912         * testsuite/caps/renegotiate.c: (main): This test triggers a
6913           segfault in the core.  Marking as failing.
6914
6915 2004-05-03  David Schleef  <ds@schleef.org>
6916
6917         * testsuite/caps/deserialize.c: (main): Fix problems noticed
6918           by the build bots.
6919         * testsuite/caps/renegotiate.c: (main): Same.
6920
6921 2004-05-03  David Schleef  <ds@schleef.org>
6922
6923         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
6924
6925 2004-05-03  David Schleef  <ds@schleef.org>
6926
6927         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
6928           variable to find our source file.
6929
6930 2004-05-03  David Schleef  <ds@schleef.org>
6931
6932         * configure.ac:  Link plugins with libgstreamer and dependent
6933           libraries
6934         * testsuite/caps/Makefile.am:
6935         * testsuite/caps/caps_strings:
6936         * testsuite/caps/deserialize.c: (main): Add a little test to slog
6937           through a file of caps strings and test each one
6938
6939 2004-05-04  Benjamin Otte  <otte@gnome.org>
6940
6941         * libs/gst/bytestream/Makefile.am:
6942         * libs/gst/bytestream/adapter.c: 
6943         * libs/gst/bytestream/adapter.h:
6944           add GstAdapter, similar to bytestream, but doesn't require ugly event
6945           handling or uglier loopbased elements
6946
6947 2004-05-03  David Schleef  <ds@schleef.org>
6948
6949         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
6950         * testsuite/caps/erathostenes.c:
6951         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
6952
6953 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6954
6955         * docs/pwg/pwg.xml:
6956           remove hardcoded stylesheet path (duh)
6957         * docs/random/release:
6958         * docs/gst/gstreamer-sections.txt:
6959         * gst/Makefile.am:
6960         * gst/gst.h:
6961         * gst/gst_private.h:
6962         * gst/gstcaps.c:
6963         * gst/gstevent.c:
6964         * gst/gstformat.c:
6965         * gst/gstinfo.c:
6966         * gst/gstinfo.h:
6967         * gst/gstinterface.c:
6968         * gst/gstmemchunk.c:
6969         * gst/gstprobe.c:
6970         * gst/gstquery.c:
6971         * gst/gstregistry.c:
6972         * gst/gstregistrypool.c:
6973         * gst/gststructure.c:
6974         * gst/gsttaginterface.c:
6975         * gst/gstthread.c:
6976         * gst/gsttrace.c:
6977         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
6978         * gst/gsturi.c:
6979         * gst/gstvalue.c:
6980           deprecate gst_info; remove gstlog.h
6981    
6982
6983 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6984
6985         * Makefile.am:
6986         * po/en_GB.po:
6987         * po/sv.po:
6988         * po/uk.po:
6989           updated translations
6990
6991 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6992
6993         * gst/gstbin.c: (gst_bin_dispose):
6994           better debugging
6995
6996 2004-05-03  Johan Dahlin  <johan@gnome.org>
6997
6998         * gst/schedulers/gstoptimalscheduler.c
6999         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7000         really is a GstElement. Avoids critical when running gst-launch -v
7001         and a oggdemux/decoding pipeline.
7002
7003 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7004
7005         * docs/gst/tmpl/gstpipeline.sgml :
7006         * docs/manual/elements-api.xml :
7007                 doc fix by Patrick Guimond (Protector) from devel ML
7008                 reviewed by ronald
7009
7010 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7011
7012         * docs/gst/Makefile.am :
7013         * docs/libs/Makefile.am :
7014                 apply a patch from Arwed v. Merkatz so that gtk-doc
7015                 generated docs install (same for .devhelp file)
7016                 (fixes part 1 of #138836)
7017
7018 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7019
7020         * docs/faq/dependencies.xml: typo
7021         * docs/faq/getting.xml :
7022             - fix download URL for new gstreamer site
7023             - hide sf.net download page as latest version aren't there
7024             - fix apt URLs
7025             - fill "get via CVS" paragraph (link to dev page on the site)
7026         * docs/faq/general.xml:
7027             hide status tables as they no more exists
7028             change case on plugins license file to reflect reality
7029         * docs/faq/troubleshooting.xml:
7030             remove the wiki question/answer as there is no more wiki
7031
7032 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * gst/gsterror.h:
7035           include the headers needed for declarations used in this header
7036
7037 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7038
7039         * docs/random/uraeus/gstreamer_and_midi.txt :
7040           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7041           (fixes #132288)
7042
7043 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7044
7045         reviewed by Benjamin Otte  <otte@gnome.org>
7046
7047         * gst/schedulers/gthread-cothreads.h:
7048           free allocated data for main cothread, too when destroying context
7049           (fixes #141417)
7050
7051 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7052
7053         * docs/manual/goals.xml : remove duplicated paragraph at end 
7054         of doc page (fixes #141448)
7055
7056 2004-04-29  David Schleef  <ds@schleef.org>
7057
7058         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7059         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7060
7061 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7062
7063         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7064           fix property
7065         * gst/gstcaps.c:
7066           fix doc string
7067         * po/POTFILES.in:
7068           rename typefind source file
7069
7070 2004-04-28  David Schleef  <ds@schleef.org>
7071
7072         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7073         * win32/GStreamer.vcproj:
7074         * win32/Makefile:
7075         * win32/config.h:
7076         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7077         (_trewinddir), (_ttelldir), (_tseekdir):
7078         * win32/dirent.h:
7079         * win32/gst-inspect.vcproj:
7080         * win32/gst-launch.vcproj:
7081         * win32/gst-register.vcproj:
7082         * win32/gstbytestream.vcproj:
7083         * win32/gstelements.vcproj:
7084         * win32/gstoptimalscheduler.vcproj:
7085         * win32/gstspider.vcproj:
7086         * win32/gtchar.h:
7087         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7088         * win32/mman.h:
7089         * win32/mman.inl:
7090         * win32/msvc71.sln:
7091
7092 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7093
7094         * gst/gst.c: (init_post):
7095         * gst/gstinfo.c:
7096           remove useless _gst_progname stuff
7097         * tools/gst-inspect.c: (print_field), (print_caps):
7098           improve caps output
7099
7100 2004-04-28  David Schleef  <ds@schleef.org>
7101
7102         Disable parsing of a lot of files that aren't part of the
7103         exported API.  Move corresponding template files to old/,
7104         waiting for removal when they don't contain anything
7105         interesting.
7106         * docs/gst/Makefile.am:
7107         * docs/gst/gstreamer-sections.txt:
7108         * docs/gst/tmpl/cothreads.sgml:
7109         * docs/gst/tmpl/cothreads_compat.sgml:
7110         * docs/gst/tmpl/gettext.sgml:
7111         * docs/gst/tmpl/gobject2gtk.sgml:
7112         * docs/gst/tmpl/grammar.tab.sgml:
7113         * docs/gst/tmpl/gst-i18n-app.sgml:
7114         * docs/gst/tmpl/gst-i18n-lib.sgml:
7115         * docs/gst/tmpl/gst_private.sgml:
7116         * docs/gst/tmpl/gstaggregator.sgml:
7117         * docs/gst/tmpl/gstarch.sgml:
7118         * docs/gst/tmpl/gstatomic_impl.sgml:
7119         * docs/gst/tmpl/gstbufferstore.sgml:
7120         * docs/gst/tmpl/gstdata_private.sgml:
7121         * docs/gst/tmpl/gstdisksink.sgml:
7122         * docs/gst/tmpl/gstdisksrc.sgml:
7123         * docs/gst/tmpl/gstelementfactory.sgml:
7124         * docs/gst/tmpl/gstextratypes.sgml:
7125         * docs/gst/tmpl/gstfakesink.sgml:
7126         * docs/gst/tmpl/gstfakesrc.sgml:
7127         * docs/gst/tmpl/gstfdsink.sgml:
7128         * docs/gst/tmpl/gstfdsrc.sgml:
7129         * docs/gst/tmpl/gstfilesink.sgml:
7130         * docs/gst/tmpl/gstfilesrc.sgml:
7131         * docs/gst/tmpl/gsthttpsrc.sgml:
7132         * docs/gst/tmpl/gstidentity.sgml:
7133         * docs/gst/tmpl/gstindexfactory.sgml:
7134         * docs/gst/tmpl/gstmarshal.sgml:
7135         * docs/gst/tmpl/gstmd5sink.sgml:
7136         * docs/gst/tmpl/gstmultidisksrc.sgml:
7137         * docs/gst/tmpl/gstmultifilesrc.sgml:
7138         * docs/gst/tmpl/gstpadtemplate.sgml:
7139         * docs/gst/tmpl/gstpipefilter.sgml:
7140         * docs/gst/tmpl/gstschedulerfactory.sgml:
7141         * docs/gst/tmpl/gstsearchfuncs.sgml:
7142         * docs/gst/tmpl/gstshaper.sgml:
7143         * docs/gst/tmpl/gstspider.sgml:
7144         * docs/gst/tmpl/gstspideridentity.sgml:
7145         * docs/gst/tmpl/gststatistics.sgml:
7146         * docs/gst/tmpl/gsttee.sgml:
7147         * docs/gst/tmpl/gsttimecache.sgml:
7148         * docs/gst/tmpl/gsttypefind.sgml:
7149         * docs/gst/tmpl/gsttypefindfactory.sgml:
7150         * docs/gst/tmpl/gstxmlregistry.sgml:
7151         * docs/gst/tmpl/gthread-cothreads.sgml:
7152         * docs/gst/tmpl/old/cothreads.sgml:
7153         * docs/gst/tmpl/old/cothreads_compat.sgml:
7154         * docs/gst/tmpl/old/gettext.sgml:
7155         * docs/gst/tmpl/old/gobject2gtk.sgml:
7156         * docs/gst/tmpl/old/grammar.tab.sgml:
7157         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7158         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7159         * docs/gst/tmpl/old/gst_private.sgml:
7160         * docs/gst/tmpl/old/gstaggregator.sgml:
7161         * docs/gst/tmpl/old/gstarch.sgml:
7162         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7163         * docs/gst/tmpl/old/gstbufferstore.sgml:
7164         * docs/gst/tmpl/old/gstdata_private.sgml:
7165         * docs/gst/tmpl/old/gstdisksink.sgml:
7166         * docs/gst/tmpl/old/gstdisksrc.sgml:
7167         * docs/gst/tmpl/old/gstelementfactory.sgml:
7168         * docs/gst/tmpl/old/gstextratypes.sgml:
7169         * docs/gst/tmpl/old/gstfakesink.sgml:
7170         * docs/gst/tmpl/old/gstfakesrc.sgml:
7171         * docs/gst/tmpl/old/gstfdsink.sgml:
7172         * docs/gst/tmpl/old/gstfdsrc.sgml:
7173         * docs/gst/tmpl/old/gstfilesink.sgml:
7174         * docs/gst/tmpl/old/gstfilesrc.sgml:
7175         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7176         * docs/gst/tmpl/old/gstidentity.sgml:
7177         * docs/gst/tmpl/old/gstindexfactory.sgml:
7178         * docs/gst/tmpl/old/gstmarshal.sgml:
7179         * docs/gst/tmpl/old/gstmd5sink.sgml:
7180         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7181         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7182         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7183         * docs/gst/tmpl/old/gstpipefilter.sgml:
7184         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7185         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7186         * docs/gst/tmpl/old/gstshaper.sgml:
7187         * docs/gst/tmpl/old/gstspider.sgml:
7188         * docs/gst/tmpl/old/gstspideridentity.sgml:
7189         * docs/gst/tmpl/old/gststatistics.sgml:
7190         * docs/gst/tmpl/old/gsttee.sgml:
7191         * docs/gst/tmpl/old/gsttimecache.sgml:
7192         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7193         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7194         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7195         * docs/gst/tmpl/old/types.sgml:
7196         * docs/gst/tmpl/types.sgml:
7197
7198         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7199         gtkdoc-scan doesn't like files with the same name in different
7200         directories.
7201         * gst/elements/Makefile.am:
7202         * gst/elements/gstelements.c:
7203         * gst/elements/gsttypefind.c: 
7204         * gst/elements/gsttypefind.h:
7205         * gst/elements/gsttypefindelement.c:
7206         * gst/elements/gsttypefindelement.h:
7207
7208 2004-04-28  David Schleef  <ds@schleef.org>
7209
7210         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7211         patch (bug #141317):
7212         * gst/gst-i18n-lib.h: Allow disabling gettext.
7213         * gst/gstatomic_impl.h: disable warning when it's dumb.
7214         * gst/gstclock.c: fix include
7215         * gst/gstcompat.h: fix variadic macro
7216         * gst/gstinfo.c: fix include
7217         * gst/gstmacros.h: add defines for inlines on MSVC
7218         * gst/gstplugin.c: fix includes
7219         * gst/gstregistry.c: fix includes
7220         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7221         * gst/gstsystemclock.c: fix include
7222         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7223         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7224         * gst/registries/gstxmlregistry.c:
7225         (gst_xml_registry_parse_element_factory): fix use of non-portable
7226         functions
7227         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7228         * libs/gst/control/dparammanager.h: same
7229
7230 2004-04-28  David Schleef  <ds@schleef.org>
7231
7232         Move a bunch of unused files to old/ with names that are
7233         not case-insensitive-unique.  These files still contain some
7234         useful information that needs to be merged into gstbin.sgml,
7235         etc., so they shouldn't be deleted yet.
7236         * docs/gst/tmpl/GstBin.sgml:
7237         * docs/gst/tmpl/GstBuffer.sgml:
7238         * docs/gst/tmpl/GstCaps.sgml:
7239         * docs/gst/tmpl/GstClock.sgml:
7240         * docs/gst/tmpl/GstCompat.sgml:
7241         * docs/gst/tmpl/GstData.sgml:
7242         * docs/gst/tmpl/GstElement.sgml:
7243         * docs/gst/tmpl/GstEvent.sgml:
7244         * docs/gst/tmpl/GstIndex.sgml:
7245         * docs/gst/tmpl/GstStructure.sgml:
7246         * docs/gst/tmpl/GstTag.sgml:
7247         * docs/gst/tmpl/old/GstBin.sgml:
7248         * docs/gst/tmpl/old/GstBuffer.sgml:
7249         * docs/gst/tmpl/old/GstCaps.sgml:
7250         * docs/gst/tmpl/old/GstClock.sgml:
7251         * docs/gst/tmpl/old/GstCompat.sgml:
7252         * docs/gst/tmpl/old/GstData.sgml:
7253         * docs/gst/tmpl/old/GstElement.sgml:
7254         * docs/gst/tmpl/old/GstEvent.sgml:
7255         * docs/gst/tmpl/old/GstIndex.sgml:
7256         * docs/gst/tmpl/old/GstStructure.sgml:
7257         * docs/gst/tmpl/old/GstTag.sgml:
7258
7259 2004-04-28  David Schleef  <ds@schleef.org>
7260
7261         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7262         (gst_caps_append), (gst_caps_append_structure),
7263         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7264         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7265         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7266         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7267         (gst_caps_intersect), (gst_caps_normalize),
7268         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7269         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7270         * gst/gstcaps.h: use GST_IS_CAPS().
7271
7272 2004-04-26  David Schleef  <ds@schleef.org>
7273
7274         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7275         assembly.  gcc doesn't handle it correctly. (bug #141083)
7276         * gst/gsttrashstack.h: same
7277
7278 2004-04-25  Benjamin Otte  <otte@gnome.org>
7279
7280         * gst/gstelement.c: (gst_element_change_state):
7281           fix assertion to do an int comparison
7282
7283 2004-04-25  Benjamin Otte  <otte@gnome.org>
7284
7285         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7286           better debugging output on error
7287
7288 2004-04-25  Benjamin Otte  <otte@gnome.org>
7289
7290         * gst/gstcaps.c: (gst_caps_subtract):
7291           fix memleak
7292
7293 2004-04-23  Benjamin Otte  <otte@gnome.org>
7294
7295         * gst/gstvalue.c: (gst_value_compare_buffer),
7296         (_gst_value_initialize):
7297           add comparison function for buffers
7298
7299 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7300
7301         * docs/pwg/pwg.xml:
7302           Just found out that this so-called "ima-wav" format is really
7303           just "dvi adpcm" (according to the MS WAV documentation). So
7304           renaming it. We didn't use it yet anyway.
7305
7306 2004-04-23  Benjamin Otte  <otte@gnome.org>
7307
7308         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7309           call gst_caps_is_subset
7310
7311 2004-04-23  Benjamin Otte  <otte@gnome.org>
7312
7313         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7314         (gst_caps_is_subset):
7315           add documentation
7316
7317 2004-04-23  Benjamin Otte  <otte@gnome.org>
7318           
7319         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7320         (gst_caps_structure_subtract), (gst_caps_subtract),
7321         (gst_caps_structure_figure_out_union),
7322         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7323           fix simplifying and subtracting not working correctly with optional
7324           properties
7325           solve assorted problems that make it now simplify ebven more
7326         * docs/gst/tmpl/gstcaps.sgml:
7327         * gst/gstcaps.h:
7328           make gst_caps_do_simplify return a bool to indicate if it simplified
7329         * testsuite/caps/simplify.c: (main):
7330           add more checks. The tests is quite a bit useless right now because
7331           the core is heavily simplifying itself.
7332         * testsuite/caps/caps.h:
7333           fix caps to contain all optional properties
7334
7335 2004-04-22  Benjamin Otte  <otte@gnome.org>
7336
7337         * docs/gst/tmpl/gstcaps.sgml:
7338         * docs/gst/tmpl/gstfilesrc.sgml:
7339         * docs/gst/tmpl/gststructure.sgml:
7340         * docs/gst/tmpl/gstvalue.sgml:
7341           update for recent API changes
7342         * gst/gstcaps.c: (gst_caps_do_simplify):
7343           fix to stop trying with a freed structure
7344         * gst/gstpad.c: (gst_pad_link_fixate):
7345           simplify caps
7346         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7347           remove C++ comment
7348         * gst/gstpad.h:
7349           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7350         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7351         (gst_structure_to_string):
7352           keep the correct type when using lists of ranges
7353         * gst/gstvalue.c: (gst_value_list_prepend_value),
7354         (gst_value_list_append_value):
7355           copy the value before adding to the list (d'oh)
7356         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7357         (gst_value_subtract_int_range_int_range):
7358           handle overflows correctly
7359         * gst/gstvalue.c: (gst_value_subtract_from_list):
7360           fix memleak
7361         * testsuite/caps/caps.h:
7362           add a caps that caused segfaults
7363
7364 2004-04-22  Benjamin Otte  <otte@gnome.org>
7365
7366         * testsuite/refcounting/pad.c: (main):
7367           fix test
7368
7369 2004-04-22  Benjamin Otte  <otte@gnome.org>
7370
7371         * gst/gstcaps.c: (gst_caps_subtract):
7372           allow subtracting ANY and EMPTY from ANY caps
7373
7374 2004-04-22  Benjamin Otte  <otte@gnome.org>
7375
7376         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7377         (gst_caps_union):
7378           only simplify in functions that create new caps. Simplifying in
7379           gst_caps_append breaks tests.
7380
7381 2004-04-22  Benjamin Otte  <otte@gnome.org>
7382
7383         * gst/gstcaps.c: (gst_caps_structure_simplify):
7384           unset GValue after use
7385         * gst/gstcaps.c: (gst_caps_append), 
7386         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7387           use gst_caps_simplify (reduces registry size by 30%)
7388         * gst/gstpad.c: (gst_pad_template_new):
7389           don't allow NULL caps
7390
7391 2004-04-22  Benjamin Otte  <otte@gnome.org>
7392
7393         * docs/gst/gstreamer-sections.txt:
7394           add gst_caps_do_simplify
7395         * gst/gstcaps.c:
7396           add documentation for gst_caps_do_simplify
7397         * gst/gstvalue.h:
7398           fix typo in gst_value_register_subtract_func declaration for gst-doc
7399
7400 2004-04-22  Benjamin Otte  <otte@gnome.org>
7401
7402         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7403           fix bug when converting from empty string.
7404         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7405         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7406           use gst_caps_new_empty to allocate a new caps. Only that function
7407           allocates memory for caps now.
7408         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7409         (gst_caps_remove_structure):
7410           add ability to remove one structure (but not to header yet)
7411         * gst/gstcaps.c: (gst_caps_compare_structures),
7412         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7413         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7414         * gst/gstcaps.h:
7415           add gst_caps_do_simplify that tries to simplify a caps in place.
7416           Deprecate old gst_caps_simplify function.
7417         * testsuite/caps/caps.h:
7418           add caps.h containing a common set of caps to test against.
7419         * testsuite/caps/sets.c: (check_caps), (main):
7420           use it.
7421         * testsuite/caps/.cvsignore:
7422         * testsuite/caps/Makefile.am:
7423         * testsuite/caps/simplify.c: (check_caps), (main):
7424           add test to check correctness and efficency of caps simplification.
7425
7426 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7427
7428         reviewed by Benjamin Otte  <otte@gnome.org>
7429
7430         * gst/gstparse.c: (_gst_parse_escape):
7431           Free the GString used in _gst_parse_escape()
7432
7433 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7434
7435         * gst/gstpad.c: (gst_pad_link_negotiate):
7436           refuse to link if the link is not possible
7437         * configure.ac:
7438         * testsuite/Makefile.am:
7439         * testsuite/negotiation/.cvsignore:
7440         * testsuite/negotiation/Makefile.am:
7441         * testsuite/negotiation/pad_link.c: (main):
7442           add test that checks the above behaviour
7443
7444 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7445
7446         * docs/gst/gstreamer-sections.txt:
7447           add newly added API
7448
7449 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7452         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7453         (gst_filesrc_open_file), (gst_filesrc_close_file),
7454         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7455         * gst/elements/gstfilesrc.h:
7456           add support for non-regular files (#140734)
7457
7458 2004-04-21  Benjamin Otte  <otte@gnome.org>
7459
7460         * gst/gstpad.c: (gst_pad_link_fixate):
7461           add sophisticated error checking code to see if fixation functions
7462           did their fixation right
7463
7464 2004-04-21  Benjamin Otte  <otte@gnome.org>
7465
7466         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7467           check for ANY caps before appending/unioning
7468         * gst/gstcaps.c: (gst_caps_is_subset),
7469         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7470         (gst_caps_structure_subtract), (gst_caps_subtract):
7471         * gst/gstcaps.h:
7472           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7473           the API. deprecate gst_caps_is_equal_fixed
7474         * gst/gstpad.c: (gst_pad_try_set_caps):
7475         * gst/gstqueue.c: (gst_queue_link):
7476           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7477         * gst/gststructure.c: (gst_structure_get_name_id):
7478         * gst/gststructure.h:
7479           add function gst_structure_get_name_id
7480         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7481         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7482         (gst_value_subtract_int_range_int_range),
7483         (gst_value_subtract_double_double_range),
7484         (gst_value_subtract_double_range_double),
7485         (gst_value_subtract_double_range_double_range),
7486         (gst_value_subtract_from_list), (gst_value_subtract_list),
7487         (gst_value_can_intersect), (gst_value_subtract),
7488         (gst_value_can_subtract), (gst_value_register_subtract_func),
7489         (_gst_value_initialize):
7490         * gst/gstvalue.h:
7491           add support for subtracting values from each other. Note that
7492           subtracting means subtracting as in set theory. Required for caps
7493           stuff above.
7494         * testsuite/caps/.cvsignore:
7495         * testsuite/caps/Makefile.am:
7496         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7497         * testsuite/caps/sets.c: (check_caps), (main):
7498         * testsuite/caps/subtract.c: (check_caps), (main):
7499           add tests for subtraction and equality code.
7500
7501 2004-04-20  David Schleef  <ds@schleef.org>
7502
7503         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7504         * gst/indexers/Makefile.am:
7505         * gst/schedulers/Makefile.am:
7506         * libs/gst/bytestream/Makefile.am:
7507         * libs/gst/control/Makefile.am:
7508         * libs/gst/getbits/Makefile.am:
7509
7510 2004-04-20  David Schleef  <ds@schleef.org>
7511
7512         * common/as-libtool.mak: Fine-tune DLL building.
7513         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7514         (like gst-plugins)
7515         * examples/plugins/Makefile.am: remove plugindir
7516         * gst/autoplug/Makefile.am: DLL building fixes
7517         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7518         Windows.
7519         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7520         * gst/indexers/Makefile.am: DLL building fixes
7521         * gst/schedulers/Makefile.am: DLL building fixes.
7522         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7523         * libs/gst/control/Makefile.am: same
7524         * libs/gst/getbits/Makefile.am: same
7525         * testsuite/Makefile.am: New dlopen directory
7526         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7527         when dlopened.
7528         * testsuite/dlopen/dlopen_gst.c: (main): same
7529         * testsuite/dlopen/loadgst.c: (do_test): same
7530
7531 2004-04-20  David Schleef  <ds@schleef.org>
7532
7533         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7534         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7535
7536 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7537
7538         * gst/gstelement.c: (gst_element_wait),
7539         (gst_element_set_time_delay), (gst_element_change_state):
7540           Use GST_TIME_*
7541
7542 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7543
7544         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7545         (gst_spider_identity_plug):
7546           improve debugging messages
7547         * gst/gstbin.c: (gst_bin_remove_func):
7548           make sure the state_change function is only called with simple state
7549           transitions
7550
7551 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7554         (gst_fakesink_set_property), (gst_fakesink_chain):
7555         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7556         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7557         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7558         * gst/elements/gstidentity.c: (gst_identity_chain),
7559         (gst_identity_set_property):
7560         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7561         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7562           add warnings to _set_property for unknown arguments
7563           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7564
7565 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         * Makefile.am:
7568         * docs/manuals.mak:
7569           add .po file download snippet
7570           fix a bug in the doc makefile
7571
7572 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * Makefile.am:
7575         * po/LINGUAS:
7576         * po/en_GB.po:
7577           Added en_GB translation (Gareth Owen)
7578
7579 2004-04-20  Johan Dahlin  <johan@gnome.org>
7580
7581         * gst/gstpad.c (_invent_event): Clean up
7582
7583 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7584
7585         * testsuite/caps/filtercaps.c: (main):
7586           fix test to test things correctly (caps are complicated)
7587
7588 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7589
7590         * testsuite/caps/Makefile.am:
7591         * testsuite/caps/filtercaps.c: (main):
7592           add test (that doesn't work right now, but should)
7593
7594 2004-04-19  David Schleef  <ds@schleef.org>
7595
7596         * configure.ac: Add test for allowing unaligned access.  Add define
7597         to put in gstconfig.h.
7598         * docs/gst/gstreamer-sections.txt: New symbols
7599         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7600         * docs/gst/tmpl/gstfilesrc.sgml:
7601         * docs/gst/tmpl/gstparse.sgml:
7602         * docs/gst/tmpl/gsttypes.sgml:
7603         * docs/gst/tmpl/gstutils.sgml:
7604         * docs/gst/tmpl/gstvalue.sgml:
7605         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7606         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7607         on most !i386/!powerpc architectures.  From Daniel Gazard
7608         <daniel.gazard@free.fr>.  (bug #140156)
7609         * po/af.po: Check in changes made by gettext.
7610         * po/az.po:
7611         * po/fr.po:
7612         * po/nl.po:
7613         * po/sr.po:
7614         * po/sv.po:
7615
7616 2004-04-20  Benjamin Otte  <otte@gnome.org>
7617
7618         * gst/schedulers/entryscheduler.c: 
7619         (gst_entry_scheduler_yield):
7620           refuse to yield when decoupled elements insist on doing that.
7621           At least it's better than crashing
7622
7623 2004-04-19  David Schleef  <ds@schleef.org>
7624
7625         * docs/libs/Makefile.am: Change sinclude to include
7626         * docs/gst/Makefile.am: same
7627         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7628
7629 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7630
7631         * po/LINGUAS:
7632         * po/uk.po:
7633           Added Ukrainian translation (Maxim V. Dziumanenko)
7634
7635 2004-04-19  Johan Dahlin  <johan@gnome.org>
7636
7637         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7638         checking here, do it before calling the function.
7639         Clean up, use for loops instead of while loops while iterating
7640         over lists.
7641
7642         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7643         in debug message.
7644         (gst_spider_create_and_plug): Improve debug message.
7645         General: Replace while loops which iterates over GLists with for
7646         loops. Which are much cleaner, improves readability, especially
7647         for gst_spider_identity_plug
7648
7649         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7650         fixes bug 140477
7651
7652 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7653
7654         * po/LINGUAS:
7655         * po/tr.po:
7656           Added Turkish translation (Baris Cicek)
7657
7658 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7659
7660         * docs/faq/troubleshooting.xml:
7661           Mention gst-register in the FAQ (fixes 139045).
7662
7663 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * docs/gst/gstreamer-sections.txt:
7666
7667 2004-04-17  Benjamin Otte  <otte@gnome.org>
7668
7669         * gst/gstelement.c: (gst_element_dispose):
7670           simplify
7671         * gst/gstpad.c: (gst_pad_call_chain_function):
7672           don't create loads of events due to bad macro usage
7673
7674 2004-04-16  David Schleef  <ds@schleef.org>
7675
7676         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7677         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7678         * gst/gstvalue.c: (gst_value_serialize_buffer),
7679         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7680         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7681         to indicate types that are fixed wrt caps or not.  Switching to
7682         this function fixes (bug #140298).
7683         * gst/gstvalue.h:
7684
7685 2004-04-16  David Schleef  <ds@schleef.org>
7686
7687         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7688         for GST_UNALIGNED_ACESS, since we essentially know which archs
7689         are ok.
7690
7691 2004-04-17  Benjamin Otte  <otte@gnome.org>
7692
7693         * docs/gst/Makefile.am:
7694           ignore gst/parse directory when building docs (fixes #140205)
7695
7696 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7697
7698         * testsuite/refcounting/mem.c: (vmsize):
7699           do error checking
7700
7701 2004-04-16  Johan Dahlin  <johan@gnome.org>
7702
7703         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7704         and gst_pad_call_get_function.
7705
7706 2004-04-15  David Schleef  <ds@schleef.org>
7707
7708         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7709         checks if we can access unaligned memory.
7710         * configure.ac: Use it.
7711
7712 2004-04-16  Benjamin Otte  <otte@gnome.org>
7713
7714         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7715         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7716         * gst/elements/gstfilesrc.h:
7717           s/seek_happened/need_discont/ and require discont before sending any
7718           data
7719
7720 2004-04-15  David Schleef  <ds@schleef.org>
7721
7722         * gst/gstvalue.c: (gst_value_serialize_buffer),
7723         (gst_value_deserialize_buffer), (_gst_value_initialize):
7724         Register these types as fundamental types. (bug #140015)
7725
7726 2004-04-16  Benjamin Otte  <otte@gnome.org>
7727
7728         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7729         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7730         (gst_pad_pull):
7731           implement enforcing discont events before buffers are passed. This
7732           allows state changes of only some elements and later correctly going
7733           on where they left off (or in short: you can now set audio sinks to
7734           NULL to release the device when the pipeline is paused)
7735         * gst/gstpad.c: (gst_pad_call_chain_function),
7736         (gst_pad_call_get_function):
7737         * gst/gstpad.h:
7738           add gst_pad_call_chain_function and gst_pad_call_get_function for
7739           scheduler interaction. They are required because of the changes
7740           above.
7741         * gst/schedulers/entryscheduler.c: (get_buffer),
7742         (gst_entry_scheduler_chain_wrapper),
7743         (gst_entry_scheduler_get_wrapper),
7744         (gst_entry_scheduler_state_transition),
7745         (gst_entry_scheduler_pad_link):
7746         * gst/schedulers/gstbasicscheduler.c:
7747         (gst_basic_scheduler_chain_wrapper),
7748         (gst_basic_scheduler_src_wrapper),
7749         (gst_basic_scheduler_chainhandler_proxy),
7750         (gst_basic_scheduler_gethandler_proxy),
7751         (gst_basic_scheduler_cothreaded_chain),
7752         (gst_basic_scheduler_chain_elements):
7753         * gst/schedulers/gstoptimalscheduler.c:
7754         (get_group_schedule_function), (pad_clear_queued),
7755         (gst_opt_scheduler_pad_link):
7756           use the new functions instead of calling get/chain-functions
7757           directly.
7758
7759 2004-04-15  David Schleef  <ds@schleef.org>
7760
7761         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7762         * docs/gst/tmpl/gstinfo.sgml: same
7763         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7764         gtk-doc put here.
7765         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7766         * examples/queue/queue.c: (main):  We iterate pipelines, not
7767         bins.  (bug #139996)
7768
7769 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7770
7771         * docs/pwg/advanced-types.xml:
7772           Add MS RLE support. Also document Qt RLE although I have no sample
7773           files for that yet. And document an extra property for ADPCM.
7774
7775 2004-04-15  David Schleef  <ds@schleef.org>
7776
7777         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7778         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7779         Windows.
7780
7781 2004-04-15  David Schleef  <ds@schleef.org>
7782
7783         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7784         symbol names to not conflict with new gstinfo.h symbols.
7785         * gst/gstinfo.h: Add inline functions for all those crazy
7786         compilers that don't know how to handle variadic macros (MSVC).
7787
7788 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7789
7790         * configure.ac: bump nano to 1
7791
7792 === release 0.8.1 ===
7793
7794 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7795
7796         * NEWS:
7797         * RELEASE:
7798         * configure.ac:
7799           releasing 0.8.1, "Snow Brigade"
7800
7801 2004-04-14  David Schleef  <ds@schleef.org>
7802
7803         * testsuite/Makefile.am: define tests_ignore
7804         * testsuite/Rules: Added new tests_ignore, which get compiled,
7805         but not run (generally because they're inconsistent or have
7806         heisenbugs).  Now we can ensure all the .c files compile in
7807         testsuite/.
7808         * testsuite/bins/Makefile.am: define tests_ignore
7809         * testsuite/bytestream/Makefile.am:
7810         * testsuite/caps/Makefile.am:
7811         * testsuite/clock/Makefile.am:
7812         * testsuite/debug/Makefile.am:
7813         * testsuite/debug/global.c: (gst_debug_log_one),
7814         (gst_debug_log_two): Fix compilation problem.
7815         * testsuite/dynparams/Makefile.am:
7816         * testsuite/elements/Makefile.am:
7817         * testsuite/ghostpads/Makefile.am:
7818         * testsuite/indexers/Makefile.am:
7819         * testsuite/parse/Makefile.am:
7820         * testsuite/plugin/Makefile.am:
7821         * testsuite/refcounting/Makefile.am:
7822         * testsuite/refcounting/element_pad.c: (main): Don't return leak
7823         results, because it's not calculated correctly.
7824         * testsuite/refcounting/pad.c: (main): same
7825         * testsuite/states/Makefile.am:
7826         * testsuite/tags/Makefile.am:
7827         * testsuite/threads/Makefile.am:
7828
7829 2004-04-14  David Schleef  <ds@schleef.org>
7830
7831         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
7832         generating bad code around the cpu detection asm code.
7833
7834 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7835
7836         * tools/gst-inspect.c: (print_element_info):
7837           print numeric version of rank as well, since we added some - 1
7838           rank values to elements
7839
7840 2004-04-13  David Schleef  <ds@schleef.org>
7841
7842         * configure.ac:  Disable various code when compiling for MinGW.
7843         * gst/elements/Makefile.am:
7844         * gst/elements/gstelements.c:
7845         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
7846         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
7847         * gst/registries/gstxmlregistry.c: (make_dir):
7848
7849 2004-04-13  David Schleef  <ds@schleef.org>
7850
7851         * gst/Makefile.am:
7852         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
7853         assembly.
7854         * gst/gstcpuid_i386.s: remove
7855
7856 2004-04-13  David Schleef  <ds@schleef.org>
7857
7858         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
7859         seems to think it needs to be done.
7860         * docs/gst/tmpl/gstfakesink.sgml:
7861         * docs/gst/tmpl/gstfakesrc.sgml:
7862         * docs/gst/tmpl/gstfdsink.sgml:
7863         * docs/gst/tmpl/gstfdsrc.sgml:
7864         * docs/gst/tmpl/gstfilesink.sgml:
7865         * docs/gst/tmpl/gstfilesrc.sgml:
7866         * docs/gst/tmpl/gstidentity.sgml:
7867         * docs/gst/tmpl/gstmd5sink.sgml:
7868         * docs/gst/tmpl/gstmultifilesrc.sgml:
7869         * docs/gst/tmpl/gstpipefilter.sgml:
7870         * docs/gst/tmpl/gstshaper.sgml:
7871         * docs/gst/tmpl/gstspider.sgml:
7872         * docs/gst/tmpl/gstspideridentity.sgml:
7873         * docs/gst/tmpl/gststatistics.sgml:
7874         * docs/gst/tmpl/gsttee.sgml:
7875         * docs/gst/tmpl/gsttypefind.sgml:
7876         * docs/gst/tmpl/gstutils.sgml:
7877
7878 2004-04-13  David Schleef  <ds@schleef.org>
7879
7880         * configure.ac: Changes to remove POSIXisms (mmap in this case)
7881         and to build DLLs on Windows.
7882         * gst/Makefile.am:
7883         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7884         (gst_filesrc_open_file):
7885         * gst/schedulers/Makefile.am:
7886
7887 2004-04-13  David Schleef  <ds@schleef.org>
7888
7889         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
7890         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
7891         fixating lists.
7892
7893 2004-04-12  David Schleef  <ds@schleef.org>
7894
7895         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
7896         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
7897         to using it.
7898         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
7899         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
7900         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
7901         * gst/gststructure.c: (gst_structure_set_valist),
7902         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
7903         support for buffers.
7904         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
7905         intended to be const.
7906         * gst/gsttag.h: same
7907         * gst/gstvalue.c: (gst_value_serialize_buffer),
7908         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
7909         to (de)serialize buffers.
7910         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
7911         * testsuite/caps/string-conversions.c: (main):
7912         * testsuite/caps/value_serialize.c: add new test
7913
7914 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7915
7916         * docs/pwg/advanced-types.xml:
7917           Document MS video 1 (video/x-msvideocodec) mimetype/format.
7918
7919 2004-04-11  Benjamin Otte  <otte@gnome.org>
7920
7921         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7922           rename categories to basic_*
7923         * gst/schedulers/gstbasicscheduler.c: 
7924         (gst_basic_scheduler_chain_wrapper),
7925         (gst_basic_scheduler_chainhandler_proxy),
7926         (gst_basic_scheduler_gethandler_proxy),
7927         (gst_basic_scheduler_eventhandler_proxy):
7928           debugging category fixes - put common stuff in log category
7929         * gst/schedulers/gstbasicscheduler.c: 
7930         (gst_basic_scheduler_chain_elements):
7931           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
7932           active and linking two active chains
7933
7934 2004-04-10  Benjamin Otte  <otte@gnome.org>
7935
7936         * docs/pwg/intro-preface.xml:
7937           fix dead links and remove reference to Wiki
7938
7939 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7940
7941         * gst/schedulers/gstbasicscheduler.c:
7942           make sure we can switch back to the main function if we're still in
7943           the main function (supposed to fix #139617)
7944         * gst/schedulers/gthread-cothreads.h:
7945           don't throw an error when switching to the same cothread
7946
7947 2004-04-09  Benjamin Otte  <otte@gnome.org>
7948
7949         * gst/gstbin.c: (gst_bin_get_type):
7950         * gst/gstclock.c: (gst_clock_get_type):
7951         * gst/gstindex.c: (gst_index_get_type):
7952         * gst/gstobject.c: (gst_object_get_type),
7953         (gst_signal_object_get_type):
7954         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
7955         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
7956         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
7957         * gst/gstqueue.c: (gst_queue_get_type):
7958         * gst/gstregistry.c: (gst_registry_get_type):
7959         * gst/gstsystemclock.c: (gst_system_clock_get_type):
7960         * gst/gstthread.c: (gst_thread_get_type):
7961           don't use memchunks for these objects, use malloc instead
7962
7963 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7964
7965         * docs/gst/.cvsignore:
7966         * docs/gst/Makefile.am:
7967         * docs/gst/gstreamer-sections.txt:
7968         * docs/gst/tmpl/gstaggregator.sgml:
7969         * docs/gst/tmpl/gstbuffer.sgml:
7970         * docs/gst/tmpl/gstclock.sgml:
7971         * docs/gst/tmpl/gstelement.sgml:
7972         * docs/gst/tmpl/gstfakesink.sgml:
7973         * docs/gst/tmpl/gstfakesrc.sgml:
7974         * docs/gst/tmpl/gstfdsink.sgml:
7975         * docs/gst/tmpl/gstfdsrc.sgml:
7976         * docs/gst/tmpl/gstfilesink.sgml:
7977         * docs/gst/tmpl/gstfilesrc.sgml:
7978         * docs/gst/tmpl/gstidentity.sgml:
7979         * docs/gst/tmpl/gstindex.sgml:
7980         * docs/gst/tmpl/gstinfo.sgml:
7981         * docs/gst/tmpl/gstmd5sink.sgml:
7982         * docs/gst/tmpl/gstmultifilesrc.sgml:
7983         * docs/gst/tmpl/gstpad.sgml:
7984         * docs/gst/tmpl/gstpipefilter.sgml:
7985         * docs/gst/tmpl/gstpipeline.sgml:
7986         * docs/gst/tmpl/gstpluginfeature.sgml:
7987         * docs/gst/tmpl/gstqueue.sgml:
7988         * docs/gst/tmpl/gstregistry.sgml:
7989         * docs/gst/tmpl/gstscheduler.sgml:
7990         * docs/gst/tmpl/gstshaper.sgml:
7991         * docs/gst/tmpl/gstspider.sgml:
7992         * docs/gst/tmpl/gstspideridentity.sgml:
7993         * docs/gst/tmpl/gststatistics.sgml:
7994         * docs/gst/tmpl/gstsystemclock.sgml:
7995         * docs/gst/tmpl/gsttee.sgml:
7996         * docs/gst/tmpl/gstthread.sgml:
7997         * docs/gst/tmpl/gsttypefind.sgml:
7998         * docs/gst/tmpl/gstutils.sgml:
7999           further doc build fixes
8000
8001 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8002
8003         * docs/gst/Makefile.am:
8004           make docs exit on scanning problems
8005           fix nonsrcdir build issues
8006         * docs/gst/gstreamer-sections.txt:
8007           adding stuff from -unused
8008         * gst/gstqueue.h:
8009           create GstQueueSize
8010         * gst/schedulers/cothreads_compat.h:
8011           fix cothread warnings
8012
8013 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8014
8015         * docs/gst/gstreamer-sections.txt:
8016           remove defines deprecated by Benjamin
8017
8018 2004-04-07  Benjamin Otte  <otte@gnome.org>
8019
8020         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8021           when the buffer is complete, don't check if other buffers are needed
8022         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8023           check that the offset is >0 so we don't try to read before the
8024           beginning of the file
8025         * gst/gstpad.c: (gst_pad_set_pad_template):
8026           sink the template, so we don't end up with 130k pad templates
8027
8028 2004-04-06  Benjamin Otte  <otte@gnome.org>
8029
8030         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8031           don't ref the element, adding already reffed it. And we didn't unref
8032           it later anyway... (huge memleak when you used many spider elements)
8033         * gst/gstelement.c: (gst_element_base_class_finalize):
8034         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8035         (gst_element_register):
8036         * gst/gsturi.c: (gst_element_make_from_uri):
8037           use gst_object_(un)ref instead of g_object(un)ref
8038
8039 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8040
8041         * gst/gstbuffer.h:
8042           remove macro that wouldn't work anymore because struct member has
8043           been removed.
8044         * gst/schedulers/entryscheduler.c: (schedule_forward):
8045           fix segfault for unconnected pads
8046         
8047 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8048
8049         reviewed by David Schleef <ds@schleef.org>
8050
8051         * gst/gstinfo.h:
8052           *_FORMAT modifiers should require putting a % in front of them for
8053           consistency reasons.
8054
8055 2004-04-05  Colin Walters  <walters@redhat.com>
8056
8057         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8058         space.
8059
8060 2004-04-05  Benjamin Otte  <otte@gnome.org>
8061
8062         * configure.ac:
8063         * gst/Makefile.am:
8064         * gst/gst_private.h:
8065         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8066           add support for detecting if GStreamer runs inside valgrind.
8067           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8068           print a big message in valgrind that GStreamer has detected it's
8069           running inside and might now use different code.
8070         * gst/gstmemchunk.c: (populate), (free_area),
8071         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8072         (gst_mem_chunk_free):
8073           flag memchunks for valgrind, so it can detect leaking of chunks.
8074           This allows detecting leaks of GstBuffer and GstEvent correctly
8075           inside valgrind.
8076
8077 2004-04-05  David Schleef  <ds@schleef.org>
8078
8079         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8080           jensgr@gmx.net (Jens Granseuer)
8081
8082 2004-04-05  David Schleef  <ds@schleef.org>
8083
8084         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8085         (gst_buffer_default_free), (gst_buffer_default_copy),
8086         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8087         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8088         structures in one place.
8089
8090 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8091
8092         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8093           (GST_TIME_FORMAT, GST_TIME_ARGS)
8094
8095 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8096
8097         * testsuite/elements/Makefile.am:
8098           disable test until it stops breaking make distcheck
8099
8100 2004-04-05  Johan Dahlin  <johan@gnome.org>
8101
8102         * po/sv.po: Updated translation
8103
8104 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8105
8106         * gst/gstplugin.c: (gst_plugin_load_file):
8107           fix segfault for when original plugin was loaded statically
8108
8109 2004-04-05  Benjamin Otte  <otte@gnome.org>
8110
8111         * testsuite/debug/category.c: (main):
8112         * testsuite/debug/commandline.c: (main):
8113         * testsuite/debug/output.c: (main):
8114           fix tests to work again with debugging enabled
8115
8116 2004-04-05  Benjamin Otte  <otte@gnome.org>
8117
8118         * gst/schedulers/gstbasicscheduler.c:
8119         (gst_basic_scheduler_pad_link):
8120           fix to work with recent scheduling changes
8121
8122 2004-04-05  Benjamin Otte  <otte@gnome.org>
8123
8124         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8125         prepareChangeLog doesn't work when cvs indents):
8126           don't throw an error when no element can be scheduled, there's too
8127           many weird reasons why it doesn't work. Return STOPPED instead.
8128           decoupled elemts' schedulability doesn't depend on bufpens.
8129
8130 2004-04-04  Benjamin Otte  <otte@gnome.org>
8131
8132         * gst/schedulers/gstbasicscheduler.c:
8133         (gst_basic_scheduler_pad_select):
8134           fix uninitialized variable warnings
8135
8136 2004-04-04  Benjamin Otte  <otte@gnome.org>
8137
8138         * gst/gstpad.c: (gst_pad_collect_valist):
8139           fix uninitialized variable warning
8140         * gst/schedulers/entryscheduler.c: (schedule_forward):
8141           fix shadowed variable
8142
8143 2004-04-04  Benjamin Otte  <otte@gnome.org>
8144
8145         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8146         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8147         (gst_pad_select):
8148         * gst/gstpad.h:
8149         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8150         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8151         * gst/gstscheduler.h:
8152           implement gst_pad_collect as replacement for gst_pad_select.
8153           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8154           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8155           new pad_select, lock and unlock calls.
8156         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8157         * gst/cothreads.h:
8158         * gst/schedulers/cothreads_compat.h:
8159         * gst/schedulers/gthread-cothreads.h:
8160           remove unused cothread_lock and cothread_unlock calls
8161         * gst/schedulers/entryscheduler.c:
8162         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8163         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8164         (gst_entry_scheduler_pad_select):
8165           update to new API
8166         * gst/schedulers/gstbasicscheduler.c:
8167         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8168         (gst_basic_scheduler_pad_select):
8169           remove useless lock and unlock calls, update pad_select to new API
8170           (untested)
8171         * gst/schedulers/gstoptimalscheduler.c:
8172         (gst_opt_scheduler_class_init):
8173           remove useless select, lock and unlock function calls
8174         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8175           use gst_pad_collect instead of gst_pad_select
8176
8177 2004-04-04  Benjamin Otte  <otte@gnome.org>
8178
8179         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8180         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8181         (schedule_next_element), (print_entry):
8182           add can_schedule_pad to handle element states.
8183           add schedule_forward to select the correct entry to schedule next
8184
8185 2004-04-03  Benjamin Otte  <otte@gnome.org>
8186
8187         * gst/schedulers/entryscheduler.c: 
8188           remove unused variable, fix error inside Rb, fix compile warning in
8189           unreachable code
8190
8191 2004-04-03  Benjamin Otte  <otte@gnome.org>
8192
8193         * gst/schedulers/entryscheduler.c:
8194           completely revamp the inner workings, so it's a lot easier to
8195           understand and extend
8196
8197 2004-04-03  Andy Wingo  <wingo@pobox.com>
8198
8199         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8200         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8201         This allows better introspection of pipeline topology.
8202         (add_to_chain): Don't do trickery to put loop elements first;
8203         rather, queue a chain sort by marking the chain as dirty.
8204         (remove_from_chain): Mark the chain dirty.
8205         (sort_chain): New function. Sorts the group list so that terminal
8206         sinks are first. This means elements on the sink side will be
8207         preferentially sscheduled before elements on the src side of the
8208         pipeline.
8209         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8210         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8211         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8212         (group_inc_link): Change argument and variable names to match the
8213         new link structure member names (src and sink).
8214         (group_dec_link): Add some description
8215
8216 2004-04-03  Benjamin Otte  <otte@gnome.org>
8217
8218         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8219         * gst/gstinfo.h:
8220         * testsuite/debug/category.c: (main):
8221         * testsuite/debug/commandline.c: (main):
8222         * testsuite/debug/output.c: (main):
8223         * testsuite/debug/printf_extension.c: (main):
8224           fix to successfully build and test with --disable-gst-debug
8225           configure switch (fixes #138705)
8226
8227 2004-04-03  Benjamin Otte  <otte@gnome.org>
8228
8229         * docs/pwg/building-boiler.xml:
8230           add cvs login line and s/anonymous/anoncvs/
8231
8232 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8233
8234         reviewed by Benjamin Otte  <otte@gnome.org>
8235
8236         * gst/gststructure.c: (gst_structure_free):
8237           memleak fix: free fields array (partial fix for #134839)
8238
8239 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8240
8241         * docs/random/ds/0.9-suggested-changes:
8242           Add a note to change handoff use in fakesrc to be usable in
8243           a more generic way (fakesrc should be renamed to appsrc or so).
8244         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8245           Change signal type to scope, so we can fill the buffer in the
8246           handoff handler (that's the whole use of this signal...).
8247
8248 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8249
8250         * docs/pwg/other-ntoone.xml:
8251           Document muxers and n-to-1 elements.
8252
8253 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8254
8255         * gst/registries/gstxmlregistry.c
8256         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8257         determine if a file is a G_MODULE. The old one discards paths
8258         containing "so" somewhere in the middle. My home directory is
8259         called "soto". Go figure...
8260
8261 2004-03-31  David Schleef  <ds@schleef.org>
8262
8263         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8264         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8265         * gst/gstbuffer.h:
8266
8267 2004-03-31  David Schleef  <ds@schleef.org>
8268
8269         * gst/gstvalue.c: (gst_value_union_int_int_range),
8270         (gst_value_union_int_range_int_range), (gst_value_can_union),
8271         (gst_value_union), (_gst_value_initialize):  Add some union
8272         implementations.  We didn't have any previously.
8273         * testsuite/caps/Makefile.am:
8274         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8275         (gst_audioscale_getcaps), (test_caps), (main): A little test
8276         that is the same as the caps manipulation in audioscale.
8277
8278 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8279
8280         * docs/faq/general.xml:
8281           add entry about "does gst support format X?"
8282
8283 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8284
8285         * gst/gstthread.c:
8286           fix docs
8287         * gst/gstutils.h:
8288           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8289
8290 2004-03-30  Benjamin Otte  <otte@gnome.org>
8291
8292         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8293           set the offset of the buffer to the requested offset
8294         * gst/elements/gsttypefind.c: (stop_typefinding):
8295           revert patch 1.18 (which I unfortunately don't know the reason for).
8296           This is needed to allow downstream elements to seek. Otherwise
8297           typefind might overwrite a previous seek by downstream elements.
8298           This lead to errors with id3tag and typefind on some mp3s.
8299         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8300         (gst_entry_scheduler_iterate):
8301           be more verbose when debugging
8302
8303 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8304
8305         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8306           make sure we don't get NULL strings
8307
8308 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8309
8310         * gst/gstcaps.c:
8311         * gst/gstelement.c:
8312         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8313         * gst/gstindex.c: (gst_index_resolver_get_type),
8314         (gst_index_get_type), (gst_index_factory_get_type):
8315         * gst/gstinfo.c:
8316         * gst/gstpad.c:
8317         * gst/gstplugin.c:
8318         * gst/gsturi.c: (gst_uri_handler_get_type):
8319         * gst/gstvalue.c:
8320           first batch of documentation fixes
8321
8322 2004-03-29  David Schleef  <ds@schleef.org>
8323
8324         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8325         * docs/gst/gstreamer-docs.sgml:  More hacking
8326         * docs/gst/gstreamer-sections.txt:
8327         * docs/gst/tmpl/cothreads_compat.sgml:
8328         * docs/gst/tmpl/gstcaps.sgml:
8329         * docs/gst/tmpl/gstclock.sgml:
8330         * docs/gst/tmpl/gstelement.sgml:
8331         * docs/gst/tmpl/gstevent.sgml:
8332         * docs/gst/tmpl/gstpad.sgml:
8333         * docs/gst/tmpl/gstutils.sgml:
8334         * docs/gst/tmpl/gstxml.sgml:
8335         * docs/gst/tmpl/gthread-cothreads.sgml:
8336         * docs/random/ds/0.9-suggested-changes:
8337         * gst/elements/gstfakesink.h: doc fixes
8338         * gst/elements/gstfakesrc.h: doc fixes
8339         * gst/gstcaps.c: doc fixes
8340         * gst/gstcaps.h: doc fixes
8341         * gst/gstelement.c: doc fixes
8342         * gst/gstelement.h: doc fixes
8343         * gst/gstindex.c: doc fixes
8344         * gst/gstinfo.c: doc fixes
8345         * gst/gstpad.c: doc fixes
8346         * gst/gstpad.h: doc fixes
8347         * gst/gstplugin.c: doc fixes
8348         * gst/gsttypefind.h: doc fixes
8349         * gst/gsturi.c: doc fixes
8350         * gst/gstvalue.c: doc fixes
8351
8352 2004-03-29  Colin Walters  <walters@redhat.com>
8353
8354         * gst/registries/gstxmlregistry.c (get_time)
8355         (plugin_times_older_than_recurse):
8356         Use the result of stat to determine whether a path is a file,
8357         so we don't attempt to opendir() files.
8358
8359 2004-03-29  Benjamin Otte  <otte@gnome.org>
8360
8361         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8362           print caps in debugging output when setting caps failed
8363         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8364         (schedule_next_element), (get_buffer), (run_chainhandler),
8365         (element_may_start), (gst_entry_scheduler_chain_handler),
8366         (gst_entry_scheduler_get_handler),
8367         (gst_entry_scheduler_state_transition),
8368         (gst_entry_scheduler_pad_link):
8369           make this scheduler a testcase for mandatory
8370           discont-before-first-buffer which is needed if we want to allow apps
8371           to release the sound device.
8372           add SCHED_ASSERT macro to print scheduler state before an assertion
8373           triggers.
8374
8375 2004-03-29  Benjamin Otte  <otte@gnome.org>
8376
8377         * COPYING:
8378           replace by LGPL (former COPYING.LIB). The core is completely
8379           licensed LGPL.
8380         * COPYING.LIB:
8381           remove
8382
8383 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8384
8385         * po/af.po:
8386         * po/sv.po:
8387           updated Afrikaans and Swedish
8388
8389 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8390
8391         * po/LINGUAS:
8392         * po/az.po:
8393           adding Azerbaijani (Mətin Əmirov)
8394
8395 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8396
8397         * gst/gstelement.h: 
8398         * gst/gstelement.c (gst_element_set_time_delay): New function for
8399         setting element time taking into account a hardware buffering
8400         delay.
8401         (gst_element_set_time): Now just an invocation of
8402         gst_element_set_time_delay.
8403         * gst/gstclock.h: 
8404         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8405         allowing to set event times in the future.
8406         (gst_clock_get_event_time): Now just an invocation of
8407         gst_clock_get_event_time_delay.
8408
8409 2004-03-28  Benjamin Otte  <otte@gnome.org>
8410
8411         * gst/gstbin.c: (gst_bin_set_element_sched),
8412         (gst_bin_unset_element_sched):
8413           don't add decoupled elements to schedulers - otherwise it's
8414           impossible to control if a link to a decoupled element was already
8415           removed from a scheduler or not.
8416         * gst/schedulers/cothreads_compat.h:
8417         * gst/schedulers/gthread-cothreads.h:
8418           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8419           is no "unused" warning.
8420         * gst/schedulers/Makefile.am:
8421         * gst/schedulers/entryscheduler.c:
8422           add new scheduler, based on ideas from talking to David and Martin.
8423           It's supposed to be small and correct. Currently it's also slow (but
8424           it's not noticable)
8425         * examples/retag/retag.c: (main):
8426         * testsuite/bytestream/test1.c: (main):
8427           fix missing NULLs at end of variadic functions
8428         * testsuite/elements/.cvsignore:
8429           update
8430
8431 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8432
8433         * gst/gstevent.h:
8434         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8435
8436 2004-03-25  David Schleef  <ds@schleef.org>
8437
8438         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8439         * docs/gst/tmpl/gstaggregator.sgml:
8440         * docs/gst/tmpl/gstautoplugfactory.sgml:
8441         * docs/gst/tmpl/gstbin.sgml:
8442         * docs/gst/tmpl/gstbuffer.sgml:
8443         * docs/gst/tmpl/gstbufferstore.sgml:
8444         * docs/gst/tmpl/gstfakesink.sgml:
8445         * docs/gst/tmpl/gstfakesrc.sgml:
8446         * docs/gst/tmpl/gstmd5sink.sgml:
8447         * docs/gst/tmpl/gstreamer-unused.sgml:
8448         * docs/gst/tmpl/gstsearchfuncs.sgml:
8449         * docs/gst/tmpl/gstshaper.sgml:
8450         * docs/gst/tmpl/gstspider.sgml:
8451         * docs/gst/tmpl/gsttee.sgml:
8452         * docs/gst/tmpl/gstutils.sgml:
8453         * docs/gst/tmpl/gstvalue.sgml:
8454         * docs/gst/tmpl/gstxml.sgml:
8455         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8456         and we don't support it.
8457         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8458         (gst_use_threads), (gst_has_threads): same
8459         * gst/gstthreaddummy.c: same
8460         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8461         * gst/autoplug/gstspider.h: same
8462         * gst/elements/gstaggregator.h: Remove bogus function from header
8463         * gst/elements/gstfakesink.h: same
8464         * gst/elements/gstfakesrc.h: same
8465         * gst/elements/gstmd5sink.h: same
8466         * gst/elements/gstshaper.h: same
8467         * gst/elements/gsttee.h: same
8468         * gst/gstbin.c: doc fixes
8469         * gst/gstbin.h: Remove unused definition.
8470         * gst/gstbuffer.c: doc fixes
8471         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8472         * gst/gstfilter.c: doc fixes
8473         * gst/gsttag.c: doc fixes
8474         * gst/gstvalue.c: doc fixes
8475
8476 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8477
8478         * docs/pwg/advanced-types.xml:
8479           Document typefinding.
8480         * docs/pwg/other-oneton.xml:
8481           Document one-to-n elements, demuxers and parsers.
8482
8483 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8484
8485         reviewed by: David Schleef  <ds@schleef.org>
8486
8487         * configure.ac: Check bison version (bug #127838)
8488
8489 2004-03-25  David Schleef  <ds@schleef.org>
8490
8491         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8492         * docs/gst/gstreamer-sections.txt:
8493         * docs/gst/tmpl/gstautoplug.sgml:
8494         * docs/gst/tmpl/gststaticautoplug.sgml:
8495         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8496         * docs/gst/tmpl/gstutils.sgml:
8497         * docs/gst/tmpl/gstxml.sgml:
8498
8499 2004-03-24  David Schleef  <ds@schleef.org>
8500
8501         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8502         manual being such complete crap, that I decided to do major
8503         hacking of it.  This checkin replaces any fine tuning that
8504         may have been done previously, with the benefit of actually
8505         being complete for much of the API that was changed since
8506         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8507         * docs/gst/gstreamer-sections.txt:
8508         * docs/gst/tmpl/GstBin.sgml:
8509         * docs/gst/tmpl/GstBuffer.sgml:
8510         * docs/gst/tmpl/GstCaps.sgml:
8511         * docs/gst/tmpl/GstClock.sgml:
8512         * docs/gst/tmpl/GstCompat.sgml:
8513         * docs/gst/tmpl/GstData.sgml:
8514         * docs/gst/tmpl/GstElement.sgml:
8515         * docs/gst/tmpl/GstEvent.sgml:
8516         * docs/gst/tmpl/GstIndex.sgml:
8517         * docs/gst/tmpl/GstStructure.sgml:
8518         * docs/gst/tmpl/GstTag.sgml:
8519         * docs/gst/tmpl/cothreads.sgml:
8520         * docs/gst/tmpl/cothreads_compat.sgml:
8521         * docs/gst/tmpl/gettext.sgml:
8522         * docs/gst/tmpl/grammar.tab.sgml:
8523         * docs/gst/tmpl/gst-i18n-app.sgml:
8524         * docs/gst/tmpl/gst-i18n-lib.sgml:
8525         * docs/gst/tmpl/gst.sgml:
8526         * docs/gst/tmpl/gst_private.sgml:
8527         * docs/gst/tmpl/gstaggregator.sgml:
8528         * docs/gst/tmpl/gstarch.sgml:
8529         * docs/gst/tmpl/gstatomic.sgml:
8530         * docs/gst/tmpl/gstatomic_impl.sgml:
8531         * docs/gst/tmpl/gstbin.sgml:
8532         * docs/gst/tmpl/gstbuffer.sgml:
8533         * docs/gst/tmpl/gstbufferstore.sgml:
8534         * docs/gst/tmpl/gstcaps.sgml:
8535         * docs/gst/tmpl/gstclock.sgml:
8536         * docs/gst/tmpl/gstcompat.sgml:
8537         * docs/gst/tmpl/gstconfig.sgml:
8538         * docs/gst/tmpl/gstcpu.sgml:
8539         * docs/gst/tmpl/gstdata.sgml:
8540         * docs/gst/tmpl/gstdata_private.sgml:
8541         * docs/gst/tmpl/gstelement.sgml:
8542         * docs/gst/tmpl/gstenumtypes.sgml:
8543         * docs/gst/tmpl/gsterror.sgml:
8544         * docs/gst/tmpl/gstevent.sgml:
8545         * docs/gst/tmpl/gstfakesink.sgml:
8546         * docs/gst/tmpl/gstfakesrc.sgml:
8547         * docs/gst/tmpl/gstfilesink.sgml:
8548         * docs/gst/tmpl/gstfilter.sgml:
8549         * docs/gst/tmpl/gstindex.sgml:
8550         * docs/gst/tmpl/gstinfo.sgml:
8551         * docs/gst/tmpl/gstinterface.sgml:
8552         * docs/gst/tmpl/gstlog.sgml:
8553         * docs/gst/tmpl/gstmacros.sgml:
8554         * docs/gst/tmpl/gstmarshal.sgml:
8555         * docs/gst/tmpl/gstmd5sink.sgml:
8556         * docs/gst/tmpl/gstmultifilesrc.sgml:
8557         * docs/gst/tmpl/gstobject.sgml:
8558         * docs/gst/tmpl/gstpad.sgml:
8559         * docs/gst/tmpl/gstparse.sgml:
8560         * docs/gst/tmpl/gstpipeline.sgml:
8561         * docs/gst/tmpl/gstplugin.sgml:
8562         * docs/gst/tmpl/gstpluginfeature.sgml:
8563         * docs/gst/tmpl/gstqueue.sgml:
8564         * docs/gst/tmpl/gstreamer-unused.sgml:
8565         * docs/gst/tmpl/gstregistry.sgml:
8566         * docs/gst/tmpl/gstregistrypool.sgml:
8567         * docs/gst/tmpl/gstscheduler.sgml:
8568         * docs/gst/tmpl/gstsearchfuncs.sgml:
8569         * docs/gst/tmpl/gstshaper.sgml:
8570         * docs/gst/tmpl/gstspider.sgml:
8571         * docs/gst/tmpl/gstspideridentity.sgml:
8572         * docs/gst/tmpl/gststructure.sgml:
8573         * docs/gst/tmpl/gstsystemclock.sgml:
8574         * docs/gst/tmpl/gsttag.sgml:
8575         * docs/gst/tmpl/gsttaginterface.sgml:
8576         * docs/gst/tmpl/gsttee.sgml:
8577         * docs/gst/tmpl/gstthread.sgml:
8578         * docs/gst/tmpl/gsttrace.sgml:
8579         * docs/gst/tmpl/gsttrashstack.sgml:
8580         * docs/gst/tmpl/gsttypefind.sgml:
8581         * docs/gst/tmpl/gsttypes.sgml:
8582         * docs/gst/tmpl/gsturi.sgml:
8583         * docs/gst/tmpl/gsturitype.sgml:
8584         * docs/gst/tmpl/gstutils.sgml:
8585         * docs/gst/tmpl/gstvalue.sgml:
8586         * docs/gst/tmpl/gstversion.sgml:
8587         * docs/gst/tmpl/gstxml.sgml:
8588         * docs/gst/tmpl/gstxmlregistry.sgml:
8589         * docs/gst/tmpl/gthread-cothreads.sgml:
8590         * docs/gst/tmpl/types.sgml:
8591
8592 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8593
8594         * docs/pwg/other-sink.xml:
8595         * docs/pwg/other-source.xml:
8596           Documentation on how to write source and sink elements. Other
8597           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8598           manager, autoplugger) are all still pending.
8599
8600 2004-03-25  Benjamin Otte  <otte@gnome.org>
8601
8602         * testsuite/elements/Makefile.am:
8603         * testsuite/elements/gst-compprep-check:
8604           add check to make sure gst-compprep works
8605         * testsuite/elements/gst-inspect-check.in:
8606           improve initialization output
8607         * testsuite/Makefile.am:
8608         * testsuite/gst-inspect-check:
8609           remove old file
8610
8611 2004-03-24  David Schleef  <ds@schleef.org>
8612
8613         * testsuite/elements/Makefile.am:
8614         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8615         to the testsuite.
8616
8617 2004-03-24  Benjamin Otte  <otte@gnome.org>
8618
8619         * libs/gst/control/dparam.c: (gst_dparam_attach),
8620         (gst_dparam_detach):
8621         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8622           fix lvalue casts for real
8623
8624 2004-03-24  Benjamin Otte  <otte@gnome.org>
8625
8626         * gst/schedulers/gstbasicscheduler.c:
8627         (gst_basic_scheduler_src_wrapper):
8628         * gst/schedulers/gstoptimalscheduler.c:
8629         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8630         (pad_clear_queued), (gst_opt_scheduler_add_element),
8631         (gst_opt_scheduler_remove_element):
8632           fix GStreamer to not have issues with lvalue casts anymore (fixes
8633           #136841)
8634
8635 2004-03-24  Benjamin Otte  <otte@gnome.org>
8636
8637         * gst/gstelement.c:
8638           add documentation about a gobject quirk where the object hasn't the
8639           correct class pointer set on initialization
8640         * gst/schedulers/gstbasicscheduler.c:
8641         (gst_basic_scheduler_src_wrapper):
8642           make sure to not run into an infinite loop
8643
8644 2004-03-22  Benjamin Otte  <otte@gnome.org>
8645
8646         * gst/gstutils.c: (gst_util_dump_mem):
8647         * gst/gstutils.h:
8648           first argument of gst_util_dump_mem should be const
8649
8650 2004-03-22  Johan Dahlin  <johan@gnome.org>
8651
8652         * gst/gstvalue.h: Clean up a little bit.
8653
8654 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8655
8656         reviewed by Benjamin Otte  <otte@gnome.org>
8657
8658         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8659         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8660         (gst_aggregator_class_init), (gst_aggregator_init):
8661         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8662         (gst_filesrc_dispose), (gst_filesrc_set_location):
8663         * gst/elements/gstidentity.c: (gst_identity_finalize),
8664         (gst_identity_class_init), (gst_identity_chain):
8665         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8666         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8667         (gst_statistics_class_init):
8668         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8669         (gst_tee_get_property):
8670           clean up used memory in this elements correctly on teardown (closes
8671           #137279)
8672
8673 2004-03-20  Colin Walters  <walters@redhat.com>
8674
8675         * gst/registries/gstxmlregistry.c:
8676         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8677         registry saving atomic.
8678
8679 2004-03-20  Colin Walters  <walters@redhat.com>
8680
8681         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8682         Just use
8683         access() instead of actually creating and deleting files.
8684
8685 2004-03-18  David Schleef  <ds@schleef.org>
8686
8687         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8688         (bug #137625)
8689
8690 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8691
8692         * po/sv.po: updated translation (Christian Rose)
8693
8694 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8695
8696         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8697         (gst_filesink_get_query_types), (_do_init),
8698         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8699           return FALSE silently
8700         * po/af.po: updated translation (Petri Jooste)
8701
8702 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8703
8704         * Makefile.am:
8705         * configure.ac:
8706           dist common properly
8707         * po/af.po:
8708         * po/fr.po:
8709         * po/nl.po:
8710         * po/sr.po:
8711         * po/sv.po:
8712           refreshing translations
8713
8714 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * po/LINGUAS:
8717         * po/sv.po:
8718         * po/af.po:
8719           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8720
8721 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8722
8723         * Makefile.am: use common/release.mak
8724
8725 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * docs/faq/gst-uninstalled:
8728           adding gst-monkeysaudio to the list of possible plugin dirs
8729
8730 2004-03-16  David Schleef  <ds@schleef.org>
8731
8732         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8733         (gst_init_check_with_popt_table):  Fix some gettext strings to
8734         make them easier to translate.  Required making the strings
8735         non-const.
8736
8737 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8738
8739         * configure.ac: bump nano to 1
8740
8741 === release 0.8.0 ===
8742
8743 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8744
8745         * configure.ac: release 0.8.0, "Executive Slacks"
8746
8747 2004-03-16  Johan Dahlin  <johan@gnome.org>
8748
8749         * gst/schedulers/gstoptimalscheduler.c
8750         (gst_opt_scheduler_pad_unlink): Remove double ;,
8751         spotted by Scott Wheeler
8752
8753 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8754
8755         * configure.ac: bump libtool version
8756
8757 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8758
8759         * gst/gstcaps.h:
8760         * gst/gststructure.h:
8761           add reserved padding
8762
8763 2004-03-15  Benjamin Otte  <otte@gnome.org>
8764
8765         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8766           set the first parameter for select call correctly.
8767           (fixes #137230)
8768
8769 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8770
8771         * *.c,*.h: don't mix tabs and spaces
8772
8773 2004-03-15  Johan Dahlin  <johan@gnome.org>
8774
8775         * gst/schedulers/gstoptimalscheduler.c
8776         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8777         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8778
8779         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8780         
8781 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         * testsuite/Rules:
8784           fix gst-register rules
8785
8786 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8787
8788         * testsuite/Rules:
8789           use versioned gst-register
8790
8791 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8792
8793         * docs/libs/gstreamer-libs-sections.txt:
8794           remove </SUBSECTION>
8795         * gst/gstplugin.c:
8796         * gst/gstregistry.c: (gst_registry_add_plugin):
8797         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8798         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8799           add debugging and fix some comment blocks
8800
8801 2004-03-15  Johan Dahlin  <johan@gnome.org>
8802
8803         * *.h: Revert indent changes.
8804         
8805 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8806
8807         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8808           g_error_free the g_error
8809         * tools/gst-feedback-m.m:
8810           check for other versions of gstreamer
8811         * tools/gst-indent:
8812           use sh, not bash
8813
8814 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8815
8816         * tools/gst-register.c: do not spill paths when registries are not
8817           writable, until we fix the "user running gst-register" case.
8818
8819 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8820
8821         * *.c, *.h: commit of gst-indent run on core
8822
8823 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8824
8825         * tools/gst-indent:
8826         * tools/Makefile.am:
8827           add our indentation style as a script
8828
8829 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8830
8831         * po/sr.po:
8832         * po/LINGUAS:
8833           added Serbian translation
8834
8835 2004-03-13  Benjamin Otte  <otte@gnome.org>
8836
8837         * gst/gstelement.c:
8838           add documentation note about gst_element_found_tags_for_pad not
8839           being usable in getfunctions. (see #137042)
8840
8841 2004-03-12  David Schleef  <ds@schleef.org>
8842
8843         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
8844         change API right now!  Readd gst_caps_is_simple() macro.
8845         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
8846         uninitialized variable.  I'd bet this caused crashes.
8847         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
8848
8849 2004-03-12  Johan Dahlin  <johan@gnome.org>
8850
8851         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
8852         * gst/gstcaps.h: Clean up
8853
8854         * gst/gst.c (init_post): call gst_caps_get_type() instead of
8855         _gst_caps_initalize()
8856
8857         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
8858         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
8859
8860         * gst/gststructure.c (gst_structure_get_type): Ditto
8861
8862         * gst/gststructure.h: Ditto
8863         
8864 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8865
8866         * gst/gstqueue.c: (gst_queue_init):
8867           Reset default max. values in queues. Reason is simply to avoid
8868           braindead use. If you want wider values, use the properties. The
8869           default is supposed to always work. Wider values would make this
8870           beast a memory hog by default (250 full-PAL RGB32 video frames?
8871           That's 440 MB! No thank you).
8872
8873 2004-03-10  David Schleef  <ds@schleef.org>
8874
8875         * tools/gst-run.c: (main):  Fix crash when no relevant tools
8876         were found.  (bug #136793)
8877
8878 2004-03-10  Johan Dahlin  <johan@gnome.org>
8879
8880         * gst/schedulers/gstoptimalscheduler.c
8881         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
8882         links to elements within the same group, so we can finally remove
8883         that annoying warning. Refactor the code a little bit
8884         (group_dec_links_for_element): Split out
8885
8886 2004-03-09  David Schleef  <ds@schleef.org>
8887
8888         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
8889         (bug #134863)
8890
8891 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8892
8893         * configure.ac: first bug fix due to major/minor bump
8894
8895 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8896
8897         * configure.ac: bump nano to 1
8898
8899 === release 0.7.6 ===
8900
8901 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8902
8903         * NEWS:
8904         * RELEASE:
8905         * configure.ac:
8906           releasing 0.7.6, "Almost"
8907         * po/fr.po:
8908         * po/nl.po:
8909         * tools/Makefile.am:
8910         * tools/gst-feedback-m.m:
8911           unversioned source
8912
8913 2004-03-09  Johan Dahlin  <johan@gnome.org>
8914
8915         Reviewed by: Thomas Vander Stichele
8916
8917         * gst/gstelement.c (gst_element_class_init): register second
8918         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
8919         language bindings can (de)marshall correctly.
8920
8921         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
8922
8923         * gst/gsterror.c (gst_g_error_get_type): New function
8924
8925         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
8926         with VOID:OBJECT,OBJECT,STRING 
8927
8928 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
8929
8930         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
8931         Free a leaked g_timer on early returns.
8932
8933 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8934
8935         * docs/pwg/advanced-types.xml:
8936           Add cinepak description.
8937
8938 2004-03-07  David Schleef  <ds@schleef.org>
8939
8940         * docs/random/mimetypes:  Added cinepak description
8941
8942 2004-03-07  Andy Wingo  <wingo@pobox.com>
8943
8944         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
8945
8946         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
8947         there are no links to other groups when a group is destroyed.
8948         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
8949         removed from a group, make sure the link count to elements linked
8950         to other pads is appropriately decremented. This really fixes
8951         #135672.
8952
8953         The 1.60->1.61 patch has been reapplied in light of this fix.
8954
8955         * gst/gstelement.c (gst_element_dispose): Really protect against
8956         multiple invocations this time.
8957
8958 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8959
8960         * docs/gst/gstreamer-sections.txt:
8961         * docs/gst/tmpl/gsttag.sgml:
8962           remove some deprecated functions, document some existing ones
8963         * gst/gsttag.c: (gst_tag_get_flag):
8964         * gst/gsttag.h:
8965           add accessor function
8966
8967 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8968
8969         * docs/gst/gstreamer-sections.txt:
8970         * docs/gst/tmpl/gsttag.sgml:
8971         * docs/gst/tmpl/gstxml.sgml:
8972         * gst/gsttag.c: (gst_tag_get_flag):
8973         * gst/gsttag.h:
8974
8975 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
8976
8977         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
8978         leak
8979
8980 2004-03-05  David Schleef  <ds@schleef.org>
8981
8982         * REQUIREMENTS: Add bison and flex.
8983         * configure.ac: Fix comment about bison.
8984         * docs/random/ds/0.9-suggested-changes: yer ma
8985         * tools/gst-inspect.c: (print_element_info):  Fix warning.
8986
8987 2004-03-05  Benjamin Otte  <otte@gnome.org>
8988
8989         * gst/gstelement.c: (gst_element_error_full):
8990           revert recent recursive state changing commit - messing with other
8991           elements' states is evil and should be done by apps only.
8992
8993 2004-03-05  Benjamin Otte  <otte@gnome.org>
8994
8995         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
8996           check for empty intersection instead of NULL caps
8997         (gst_element_get_compatible_pad_filtered):
8998           remove old workaround that is only a bug nowadays
8999
9000 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9001
9002         * gst/gstelement.c: (gst_element_error_full):
9003           make elements try to recursively change state to PAUSED on all
9004           parents after an error to suppress ensuing warnings
9005         * gst/parse/grammar.y:
9006           make it check if it was able to sync the state, and throw an error
9007           if not, so stuff like
9008           oggdemux ! vorbisdec ! osssink gets caught
9009
9010 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9011
9012         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9013           it contains lib64; use AS_AC_EXPAND to handle it properly
9014
9015 2004-03-05  David Schleef  <ds@schleef.org>
9016
9017         * gst/gstcpuid_i386.s:  Remove unused code
9018         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9019         (gst_getbits_newbuf): Remove MMX code
9020         * libs/gst/getbits/getbits.h: Remove MMX code
9021
9022 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9023
9024         * debian/.cvsignore:
9025         * debian/README.Debian:
9026         * debian/changelog:
9027         * debian/control:
9028         * debian/control.in:
9029         * debian/copyright:
9030         * debian/gstreamer-core-libs-dev.files:
9031         * debian/gstreamer-core-libs.files:
9032         * debian/gstreamer-core.files:
9033         * debian/gstreamer-core.postinst:
9034         * debian/gstreamer-core.postrm:
9035         * debian/gstreamer-doc.files:
9036         * debian/gstreamer-doc.links:
9037         * debian/gstreamer-doc.lintian:
9038         * debian/gstreamer-runtime.files:
9039         * debian/gstreamer-runtime.manpages:
9040         * debian/gstreamer-runtime.postinst:
9041         * debian/gstreamer-runtime.postrm:
9042         * debian/gstreamer-tools.files:
9043         * debian/gstreamer-tools.manpages:
9044         * debian/libgstreamer-dev.files:
9045         * debian/libgstreamer0.4.1.files:
9046         * debian/libgstreamerVERSION.files:
9047         * debian/rules:
9048         Debian package info not maintained here.
9049
9050 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9051
9052         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9053         * gst/gstbin.c: (gst_bin_class_init):
9054         * gst/gstelement.c: (gst_element_class_init):
9055         * gst/gstindex.c: (gst_index_class_init):
9056         * gst/gstobject.c: (gst_object_class_init),
9057         (gst_signal_object_class_init):
9058         * gst/gstpad.c: (gst_pad_template_class_init):
9059         * gst/gstregistry.c: (gst_registry_class_init):
9060         * gst/gsturi.c: (gst_uri_handler_base_init):
9061         * gst/gstxml.c: (gst_xml_class_init):
9062         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9063         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9064           make all signal names use dashes instead of underscore
9065
9066 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9067
9068         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9069
9070 2004-03-03  Benjamin Otte  <otte@gnome.org>
9071
9072         * gst/schedulers/gstoptimalscheduler.c:
9073           revert last commit by Andy Wingo. It causes segfaults on unreffing
9074           in Rhythmbox. (see bug #135672)
9075
9076 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9077
9078         * po/fr.po: fix typo
9079
9080 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9081
9082         * tools/gst-inspect.c: (main): 
9083         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9084
9085 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9086
9087         * configure.ac:
9088           get GLIB_ONLY and POPT flags for the nonversioned binaries
9089         * tools/Makefile.am:
9090           use them
9091
9092 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9093
9094         * gst/gst.c: (init_post):
9095           change so that GST_REGISTRY now is where the global registry gets
9096           saved, since that is where plugins now get attached to first, and
9097           spilled over to the user registry.  Note that in the case of using
9098           GST_REGISTRY env var, we don't want to affect any real registries
9099           beyond the one given by this var, and thus we don't set a user
9100           registry to spill to.  So make sure GST_REGISTRY is writable.
9101
9102 2004-03-01  David Schleef  <ds@schleef.org>
9103
9104         * AUTHORS:  Added some names.  Add yourself if you're missing.
9105
9106 2004-03-01  David Schleef  <ds@schleef.org>
9107
9108         * MAINTAINERS: Add
9109
9110 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9111
9112         * configure.ac:
9113           remove whitespace
9114         * docs/gst/tmpl/gstbuffer.sgml:
9115         * docs/gst/tmpl/gstdata.sgml:
9116         * docs/gst/tmpl/gstreamer-unused.sgml:
9117         * docs/gst/tmpl/gstxml.sgml:
9118           doc update
9119         * docs/manuals.mak:
9120           add a FIXME
9121         * docs/pwg/intro-preface.xml:
9122         * docs/pwg/pwg.xml:
9123           remove GNOME
9124         * gst/gst.c: (init_post):
9125           try GST_PLUGIN_PATH paths for the _global_registry first
9126         * gst/gstelement.h:
9127           add the error message as well, otherwise (null) debug info doesn't
9128           make much sense
9129         * tools/gst-register.c: (main):
9130           spill paths to next registry if this registry is not writable
9131         * po/fr.po:
9132         * po/nl.po:
9133           translation updates
9134
9135 2004-03-01  Johan Dahlin  <johan@gnome.org>
9136
9137         * gst/gstbuffer.c (_gst_buffer_initialize): 
9138         * gst/gstdata.c (gst_data_get_type): 
9139         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9140         instead of ref, since some applications that uses GBoxed
9141         routines depends on a function that actually returns a copy.
9142
9143 2004-02-27  Benjamin Otte  <otte@gnome.org>
9144
9145         * gst/gstbuffer.h:
9146           remove gst_buffer_free, use gst_data_unref
9147         * gst/gstdata.c: (gst_data_get_type):
9148           use refcounting in GstData GBoxed registration
9149         * gst/gstdata.h:
9150           remove gst_data_free, use gst_data_unref
9151
9152 2004-02-27  Johan Dahlin  <johan@gnome.org>
9153
9154         * gst/gstdata.c (gst_data_get_type): New function, register
9155         GstData as a GBoxed type.
9156
9157         * gst/gstdata.h (GST_TYPE_DATA): New macro
9158
9159 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9160
9161         * Makefile.am:
9162         * gstreamer.spec.in:
9163           put back RELEASE
9164         * gst/Makefile.am:
9165           clean up non-disting of built files
9166         * testsuite/debug/commandline.c:
9167           test fix for option rename
9168
9169 2004-02-26  David Schleef  <ds@schleef.org>
9170
9171         * configure.ac:  We don't really need glib-2.3.  Also remove
9172         some unneeded checks for library functions.
9173         * gst/Makefile.am:  Instead, we need to not dist files created
9174         by glib-genmarshal.
9175
9176 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9177
9178         * configure.ac:
9179           bump glib required version to 2.3.0 for g_value_takes_boxed
9180
9181  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9182
9183         * common/m4/gst-docs.m4
9184         change flavour text from enable to disable as enable is our default
9185         closes bug Bug 135304
9186
9187 === release 0.7.5 ===
9188  
9189  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9190  
9191         * NEWS:
9192           instate NEWS file
9193         * Makefile.am:
9194         * gstreamer.spec.in:
9195         * RELEASE:
9196           put back release
9197         * configure.ac:
9198         * docs/random/release:
9199           more updates
9200
9201 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9202
9203         * gst/gsttag.c: (_gst_tag_initialize):
9204         * po/fr.po:
9205         * po/nl.po:
9206           remove hyphen from codec tags
9207
9208 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9209
9210         * gst/parse/Makefile.am:
9211           fix dependency so that a make from a clean build works the first
9212           time
9213
9214 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9215
9216         * docs/random/release:
9217           update release strategy
9218         * po/fr.po:
9219           auto-update po file
9220         * po/nl.po:
9221           update dutch translation
9222
9223 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9224
9225         * docs/manual/debugging.xml:
9226         fix manual for new debugging system
9227
9228 2004-02-25  Andy Wingo  <wingo@pobox.com>
9229
9230         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9231         gst_pad_link_prepare. Please email the list with specific reasons
9232         for reverting.
9233
9234 2004-02-24  Andy Wingo  <wingo@pobox.com>
9235
9236         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9237         invocations.
9238
9239         * gst/schedulers/gstoptimalscheduler.c:
9240         I added a mess of prototypes at the top of the file by way of
9241         documentation. Some of the operations on chains and groups were
9242         re-organized.
9243
9244         (create_group): Added a type argument so if the group is enabled,
9245         the setup_group_scheduler knows what to do.
9246         (group_elements): Added a type argument here, too, to be passed on
9247         to create_group.
9248         (group_element_set_enabled): If an unlinked PLAYING element is
9249         added to a bin, we have to create a new group to hold the element,
9250         and this function will be called before the group is added to the
9251         chain. Thus we have a valid case for group->chain==NULL. Instead
9252         of calling chain_group_set_enabled, just set the flag on the group
9253         (the chain's status will be set when the group is added to it).
9254         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9255         Setup the group scheduler when the group is enabled, not
9256         specifically when an element goes PAUSED->PLAYING. This means
9257         PLAYING elements can be added, linked, and scheduled into a
9258         PLAYING pipeline, as was intended.
9259         (add_to_group): Don't ref the group twice. I don't know when this
9260         double-ref got in here. Removing it has the potential to cause
9261         segfaults if other parts of the scheduler are buggy. If you find
9262         that the scheduler is segfaulting for you, put in an extra ref
9263         here and see if that hacks over the underlying issue. Of course,
9264         then find out what code is unreffing a group it doesn't own...
9265         (create_group): Make the extra refcount floating, and remove it
9266         after adding the element. This means that...
9267         (unref_group): Destroy when the refcount reaches 0, not 1, like
9268         every other refcounted object in the known universe.
9269         (remove_from_group): When a group becomes empty, set it to be not
9270         active, and remove it from its chain. Don't unref it again,
9271         there's no floating reference any more.
9272         (destroy_group): We have to remove the group from the chain in
9273         remove_from_group (rather than here) to break refcounting cycles
9274         (the chain always has a ref on the group). So assert that
9275         group->chain==NULL.
9276         (ref_group_by_count): Removed, it was commented out anyway.
9277         (merge_chains): Use the remove_from_chain and add_to_chain
9278         primitives to do the reparenting, instead of rolling our own
9279         implementation.
9280         (add_to_chain): The first non-disabled group in the chain's group
9281         list will be the entry point for the chain. Because buffers can
9282         accumulate in loop elements' peer bufpens, we preferentially
9283         schedule loop groups before get groups to avoid unnecessary
9284         execution of get-based groups when the bufpens are already full.
9285         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9286         (get_group_schedule_function): Ditto.
9287         (loop_group_schedule_function): Ditto.
9288         (gst_opt_scheduler_loop_wrapper): Ditto.
9289         (gst_opt_scheduler_iterate): Ditto.
9290
9291         I understand the opt scheduler now, yippee!
9292
9293         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9294         (gst_pad_get_name, gst_pad_set_chain_function) 
9295         (gst_pad_set_get_function, gst_pad_set_event_function) 
9296         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9297         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9298         (gst_pad_set_query_function, gst_pad_get_query_types) 
9299         (gst_pad_get_query_types_default) 
9300         (gst_pad_set_internal_link_function) 
9301         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9302         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9303         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9304         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9305         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9306         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9307         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9308         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9309         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9310         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9311         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9312         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9313         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9314         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9315         argument checks, and some doc fixes.
9316
9317         (gst_pad_custom_new_from_template): Um, does anyone
9318         use these functions? Actually make a custom pad instead of a
9319         normal one.
9320         (gst_pad_try_set_caps): Transpose some checks.
9321         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9322         the pad is in negotiation.
9323         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9324         
9325         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9326
9327         * gst/gstelement.h: 
9328         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9329         on the list.
9330
9331 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9332
9333         * gst/gstbin.c: (gst_bin_add):
9334           add error for not being able to add elements
9335
9336 2004-02-22  Julien MOUTTE <julien@moutte.net>
9337
9338         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9339         audio-codec and video-codec.
9340
9341 2004-02-22  Benjamin Otte  <otte@gnome.org>
9342
9343         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9344
9345         * autogen.sh:
9346           replace test -e with test -x for mkinstalldirs to be more portable.
9347           (fixes #134816)
9348
9349 2004-02-22  Benjamin Otte  <otte@gnome.org>
9350
9351         * gst/gstpad.c:
9352           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9353           too noisy
9354         * gst/gsttag.c: (_gst_tag_initialize):
9355         * gst/gsttag.h:
9356           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9357         * libs/gst/control/dparam.c: (gst_dparam_attach):
9358         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9359           check that types for attached dparams match
9360
9361 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9362
9363         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9364         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9365         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9366           fix errors
9367
9368 2004-02-20  Andy Wingo  <wingo@pobox.com>
9369
9370         * gst/gstbin.c:
9371         * gst/gstbuffer.c:
9372         * gst/gstplugin.c:
9373         * gst/registries/gstxmlregistry.c: 
9374         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9375
9376         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9377         (gst_element_add_pad): DEBUG->INFO, some fixes.
9378         (gst_element_get_compatible_pad_template): Just see if the
9379         templates' caps intersect, not if one is a strict subset of the
9380         other. This conforms more to what gst_pad_link_intersect() does.
9381         (gst_element_class_add_pad_template): Don't memcpy the pad
9382         template, just ref it.
9383         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9384
9385         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9386         (gst_pad_link_filtered): Debug changes.
9387         (gst_pad_link_prepare): New function, consolidated from
9388         can_link_filtered and link_filtered.
9389
9390         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9391         look more like that of the functions in gstelement.c
9392
9393         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9394         object, and return the empty string if object is NULL.
9395
9396         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9397         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9398         LOG, not DEBUG. We still get flex info on debug.
9399
9400         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9401         debug string more verbose.
9402         (plugin_times_older_than): DEBUG->LOG.
9403
9404 2004-02-20  Julien MOUTTE <julien@moutte.net>
9405
9406         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9407         will emit found_tag for each stream they demux with the codec.
9408
9409 2004-02-20  Benjamin Otte  <otte@gnome.org>
9410
9411         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9412           copy navigation event correctly. Check freeing tag lists. 
9413         * gst/gstthread.c: (gst_thread_change_state):
9414           don't abort() on state changing mess - it might happen because of
9415           bugs.
9416         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9417           use boxed functions
9418         * gst/gstvalue.h:
9419           fix GST_VALUE_HOLDS_CAPS
9420
9421 2004-02-19  David Schleef  <ds@schleef.org>
9422
9423         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9424         and use it for GST_FUNCTION.  (bug #134750)
9425
9426 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9427
9428         * po/fr.po:
9429         * po/nl.po:
9430           updating translations
9431
9432 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9433
9434         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9435
9436 2004-02-18  kost@imn.htwk-leipzig.de
9437
9438         reviewed by: David Schleef  <ds@schleef.org>
9439
9440         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9441         for libgstcontrol.
9442
9443 2004-02-18  David Schleef  <ds@schleef.org>
9444
9445         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9446         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9447         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9448         * tools/gst-inspect.c: (print_element_info): Support dumping of
9449         double dparam information.
9450
9451 2004-02-17  David Schleef  <ds@schleef.org>
9452
9453         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9454         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9455         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9456         Use GST_TYPE_CAPS in signal prototype.
9457         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9458         Convert GST_TYPE_CAPS to boxed.
9459         * gst/gstelement.c: (gst_element_class_init):
9460         Use GST_TYPE_TAG_LIST in signal prototype.
9461         * gst/gstindex.c: (gst_index_class_init):
9462         * gst/gstindex.h:
9463         Add GST_TYPE_INDEX_ENTRY type.
9464         * gst/gstmarshal.list:
9465         Add necessary marshal types.
9466         * gst/gstpad.c: (gst_real_pad_class_init),
9467         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9468         (gst_pad_recover_caps_error):
9469         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9470         * gst/gststructure.c: (_gst_structure_initialize),
9471         (gst_structure_copy), (_gst_structure_copy_conditional):
9472         * gst/gststructure.h:
9473         Convert GST_TYPE_STRUCTURE to boxed.
9474         * gst/gsttag.c: (gst_tag_list_get_type):
9475         * gst/gsttag.h:
9476         Add GST_TYPE_TAG_LIST type.
9477
9478 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9479
9480         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9481         to what we agreed with david.
9482         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9483
9484 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9485
9486         * po/nl.po: update translation
9487
9488 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9489
9490         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9491           throw an error if spider is trying to play a mime type there is
9492           no decoder for
9493         * po/POTFILES.in:
9494           add gst/autoplug/gstspider.c for translation
9495
9496 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9497
9498         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9499         silently when the pad is negotiating.
9500
9501 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * docs/faq/Makefile.am:
9504           add script to run gstreamer uninstalled 
9505         * docs/faq/faq.xml:
9506         * docs/faq/developing.xml:
9507         * docs/faq/gst-uninstalled:
9508           extract script to run gstreamer uninstalled
9509         * docs/manuals.mak:
9510           add EXTRA_SOURCES variable for Makefile.am's to set to
9511           use additional SOURCE files for the doc build
9512
9513 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9514
9515         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9516
9517 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9518
9519         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9520         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9521         an error was thrown by osssink. Basically a state change failure for
9522         an element in a different scheduling group was considered as
9523         successful, which means that caps nego was going on and weird stuff
9524         happened. Like I wrote in the comment there, if someone wants to
9525         revert that please drop me a mail explaining why because I really see
9526         no point in keeping that broken behaviour there.
9527         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9528         be empty, we then return NULL which will trigger a nice error when 
9529         pulling from the pad.
9530
9531 2004-02-13  David Schleef  <ds@schleef.org>
9532
9533         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9534         (gst_dparam_get_property), (gst_dparam_set_property),
9535         (gst_dparam_do_update_default):
9536         * libs/gst/control/dparam.h:
9537         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9538         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9539         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9540         (gst_dpsmooth_do_update_double):
9541         * libs/gst/control/dparam_smooth.h:
9542         * libs/gst/control/dparammanager.c:
9543         (gst_dpman_inline_direct_update):
9544         Add support for double dparams.
9545
9546 2004-02-13  David Schleef  <ds@schleef.org>
9547
9548         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9549         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9550
9551 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9552
9553         reviewed by: David Schleef  <ds@schleef.org>
9554
9555         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9556         (gst_fdsrc_init), (gst_fdsrc_set_property),
9557         (gst_fdsrc_get_property), (gst_fdsrc_get):
9558         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9559         and sends an EOS event if file descriptor reading times out.
9560
9561 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9562
9563         * configure.ac:
9564           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9565
9566 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9567
9568         * configure.ac: pass required libxml version as argument
9569         (bug reported by Christophe Fergeau)
9570
9571 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9572   
9573         * docs/gst/gstreamer-docs.sgml:
9574         * docs/gst/tmpl/gstxml.sgml:
9575         * docs/libs/gstreamer-libs-docs.sgml:
9576           version API docs
9577
9578 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9579
9580         * gst/gstinfo.c:
9581         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9582         (gst_registry_pool_feature_filter):
9583         * gst/gstthread.c: (gst_thread_class_init):
9584         * gst/gstvalue.c:
9585           add includes exposed by building without libxml
9586         * gst/indexers/Makefile.am:
9587           do not build fileindex when LOADSAVE disabled; we should have
9588           a better libxml check later since fileindex depends on xml, not
9589           LOADSAVE or REGISTRY
9590         * libs/gst/control/Makefile.am:
9591           link with m
9592         * tools/Makefile.am:
9593           fix wrong source code for gst-xmlinspect
9594
9595 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9596
9597         * configure.ac:
9598           fix gcov help output
9599           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9600         * docs/random/release:
9601           some updated releasing notes
9602         * gstreamer.spec.in:
9603           more updates
9604
9605 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * docs/faq/faq.xml:
9608         * docs/manual/manual.xml:
9609         * docs/pwg/pwg.xml:
9610         * docs/pwg/titlepage.xml:
9611           put version in documentation
9612
9613 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9614
9615         * tools/Makefile.am: fix man page installation
9616
9617 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * configure.ac:
9620           don't check for libxml when load/save and registry disabled (#105844)
9621         * gstreamer.spec.in:
9622           sync with fedora candidate spec
9623
9624 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9625
9626         * po/fr.po:
9627         * po/nl.po:
9628           replace multidisksrc with multifilesrc
9629
9630 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9631
9632         * po/POTFILES.in:
9633           update to multidisksrc => multifilesrc file renaming (#134145)
9634
9635 2004-02-11  David Schleef  <ds@schleef.org>
9636
9637         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9638         * docs/gst/tmpl/gstpadtemplate.sgml: same
9639         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9640         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9641         fixing dance.
9642         * gst/gstutils.c: Remove disabled code that uses GstProps.
9643         * gst/registries/gstxmlregistry.h: same
9644         * docs/random/ds/0.9-suggested-changes: random notes
9645
9646 2004-02-11  kost@imn.htwk-leipzig.de
9647
9648         reviewed by: David Schleef  <ds@schleef.org>
9649
9650         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9651         initialisation of clock (bug #134128)
9652
9653 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9654
9655         * configure.ac:
9656         * gst/elements/Makefile.am:
9657         * gst/elements/gstelements.c:
9658         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9659         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9660         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9661         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9662         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9663         * gst/elements/gstmultifilesrc.h:
9664           rename multidisksrc to multifilesrc (part of #122200)
9665
9666 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9667
9668         * docs/manuals.mak:
9669           fix automake complaints
9670         * gst-element-check.m4:
9671           fix unquotedness
9672
9673 2004-02-11  David Schleef  <ds@schleef.org>
9674
9675         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9676         * gst/gstatomic_impl.h: Disable sparc implementation.
9677
9678 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9679
9680         * gst-element-check.m4:
9681           fix underquoted macros as reported by automake 1.8.x (#133800)
9682         * configure.ac:
9683           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9684           by autopoint (fixes #132996)
9685
9686 2004-02-10  Andy Wingo  <wingo@pobox.com>
9687
9688         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9689         way to do inheritance.
9690         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9691         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9692         Routine docs.
9693         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9694         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9695         doc.
9696         (gst_pad_unlink, gst_pad_is_linked): Docs.
9697         (gst_pad_renegotiate): A brief description of capsnego.
9698         (gst_pad_try_set_caps): Document.
9699         (gst_pad_try_set_caps_nonfixed): Document.
9700         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9701         (gst_pad_set_parent): Deprecated (although not out of the API).
9702         (gst_pad_get_parent): Deprecated, although many plugins use this.
9703         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9704         are private and will go away in 0.9.
9705         (gst_pad_perform_negotiate): Doc.
9706         (gst_pad_link_unnegotiate): I think this is meant to be static.
9707         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9708         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9709         (gst_pad_get_peer): Doc updates.
9710         (gst_pad_caps_change_notify): Doc.
9711         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9712         (gst_ghost_pad_new): Doc fixes.
9713
9714         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9715         (gst_object_check_uniqueness): 
9716
9717         * gst/gstelement.c (gst_element_add_pad) 
9718         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9719         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9720         (gst_element_get_static_pad, gst_element_get_pad_list) 
9721         (gst_element_class_get_pad_template_list) 
9722         (gst_element_class_get_pad_template): Work on the docs.
9723         (gst_element_get_pad_template_list): Uses the class method.
9724         (gst_element_get_compatible_pad_template): Docs, and consolidate
9725         some test conditions. 
9726         (gst_element_get_pad_from_template): New static function.
9727         (gst_element_request_compatible_pad): Docs, and work with
9728         non-request compatible templates. 
9729         (gst_element_get_compatible_pad_filtered): Docs and remove
9730         redundant checks.
9731         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9732         (gst_element_link_filtered, gst_element_link_many) 
9733         (gst_element_link, gst_element_link_pads) 
9734         (gst_element_unlink_many): Docs.
9735
9736 2004-02-05  Andy Wingo  <wingo@pobox.com>
9737
9738         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9739         s/pointer/boxed/.
9740
9741         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9742
9743         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9744         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9745         with the type=GST_TYPE_CAPS. This allows language bindings to know
9746         what kind of data they're dealing with.
9747
9748         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9749         to NULL when g_value_init is called. GstCaps, which rolls its own
9750         type implementation, now does the same instead of allocating empty
9751         caps.
9752         (_gst_caps_initialize, _gst_caps_collect_value,
9753         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9754         table methods. This allows G_VALUE_COLLECT to work.
9755
9756 2004-02-05  Andy Wingo  <wingo@pobox.com>
9757
9758         * configure.ac:
9759         * testsuite/Makefile.am (SUBDIRS): 
9760         * testsuite/ghostpads/Makefile.am: 
9761         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9762
9763         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9764         These two routines are the only ones that set
9765         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9766         pad template. They should be made static, depending on ABI needs.
9767         (gst_real_pad_dispose): Handle the case of ghost pads without a
9768         parent. Assert after dealing with ghost pads that the ghost pad
9769         list is empty.
9770         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9771         set after creation.
9772         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9773         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9774         functions. set_property will call add_ghost_pad/remove_ghost_pad
9775         as appropriate.
9776         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9777
9778         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9779         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9780         (gst_element_remove_pad): Handle ghost pads as well.
9781         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9782         depending on API-stability needs).
9783
9784 2004-02-05  Andy Wingo  <wingo@pobox.com>
9785
9786         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9787         of course they're const
9788
9789 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * tools/Makefile.am:
9792         * tools/gst-feedback:
9793         * tools/gst-feedback-0.7:
9794           make gst-feedback versioned too for consistency
9795
9796 2004-02-11  David Schleef  <ds@schleef.org>
9797
9798         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9799         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9800
9801 2004-02-10  Julien MOUTTE <julien@moutte.net>
9802
9803         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9804         the structure does not contain a valid tag list. Adding a safety check
9805         to remove a noisy warning in that case.
9806
9807 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9808
9809         * gst/gst.c: fix name to be in line with others
9810
9811 2004-02-09  Julien MOUTTE <julien@moutte.net>
9812
9813         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9814         not shout that loud when len is 0. Just return 0 silently.
9815
9816 2004-02-09  Julien MOUTTE  <julien@moutte.net>
9817
9818         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
9819         because data_unref has one and I prefer the debug to be symetric.
9820         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
9821         were refed when added to the queue and unrefed only once when the queue
9822         was flushed. Now the flush handler unref the buffers two times : first
9823         unref for the ref added when pushing in the queue's tail and second
9824         unref to destroy the flushed buffer.
9825
9826 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9827
9828         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
9829
9830 2004-02-06  David Schleef  <ds@schleef.org>
9831
9832         * docs/random/ds/0.9-suggested-changes: Random ramblings
9833         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
9834         to int before printing.
9835         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
9836         * gst/parse/parse.l: same.  See bug #129600
9837
9838 2004-02-06  David Schleef  <ds@schleef.org>
9839
9840         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
9841         (gst_index_add_entry), (gst_index_add_associationv),
9842         (gst_index_add_association): Add gst_index_add_associationv()
9843         and clean up gst_index_add_association(). #127133
9844
9845 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9846
9847         * autogen.sh: check out common with right tag if CVS/Tag exists
9848
9849 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * testsuite/ghostpads/ghostpads.c: (main):
9852           fix testsuite from segfaulting
9853
9854 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * Makefile.am: add release target
9857         * configure.ac: bump nano to 1
9858         * docs/random/release:
9859
9860 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9861
9862         * gst/gstcaps.h:
9863         * gst/gstelement.c: (gst_element_base_class_init),
9864         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9865         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9866         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9867         (gst_real_pad_dispose):
9868         * gst/gststructure.c: (gst_structure_free),
9869         (gst_structure_from_string):
9870           put reverted patch back in
9871         * gst/gstelement.c: (gst_element_remove_pad):
9872           free explicit caps if they're set
9873         * gst/gstpad.c: (_gst_pad_default_fixate_func):
9874           copy the structure when fixating
9875
9876 2004-02-05  David Schleef  <ds@schleef.org>
9877
9878         * gst/gstmarshal.list:
9879         * gst/gstpad.c: (gst_real_pad_class_init),
9880         (_gst_real_pad_fixate_accumulator):
9881         Revert POINTER->BOXED change in signal marshaller.
9882
9883 === release 0.7.4 ===
9884                                                                                 
9885 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9886                                                                                 
9887         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
9888         * configure.ac: changed for release
9889
9890 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9891
9892         * gstreamer.spec.in:
9893           bump required version of gtk-doc
9894
9895 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9896
9897         * gst/gstcaps.h:
9898         * gst/gstelement.c: (gst_element_base_class_init),
9899         (gst_element_class_set_details), (gst_element_clear_pad_caps):
9900         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9901         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
9902         (gst_real_pad_dispose):
9903         * gst/gststructure.c: (gst_structure_free),
9904         (gst_structure_from_string):
9905           revert patch that breaks applications, reapply after release
9906           to get this fixed properly
9907
9908 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9909
9910         * gst/gsttag.c: (_gst_tag_initialize):
9911         * gst/gsttag.h:
9912           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
9913
9914 2004-02-04  David Schleef  <ds@schleef.org>
9915
9916         Fix some memleaks:
9917         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
9918         (gst_spider_plug_from_srcpad):
9919         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
9920
9921 2004-02-04  David Schleef  <ds@schleef.org>
9922
9923         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
9924         a GstRealPad before accessing its structure members.
9925
9926 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9927
9928         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
9929         (gst_clock_get_speed):
9930         * gst/gstclock.h:
9931           reset padding, remove unused fields
9932
9933 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9934
9935         * gst/autoplug/gstspideridentity.c:
9936         (gst_spider_identity_sink_loop_type_finding):
9937           use get_allowed_caps, not get_caps (fixes #132519)
9938         * gst/elements/gsttypefind.c: (stop_typefinding):
9939           use correct order when sending buffers and seeking
9940
9941 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9942
9943         * configure.ac:
9944         * gst/gstelement.h:
9945         * gst/gstpad.h:
9946         * gst/gstqueue.h:
9947           upgrade libtool CURRENT, reset padding
9948
9949 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * configure.ac:
9952           bump to prerelease
9953           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
9954
9955 2004-02-04  David Schleef  <ds@schleef.org>
9956
9957         * docs/random/ds/0.9-suggested-changes: random notes
9958         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
9959         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
9960         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
9961         expansion.
9962         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9963         (gst_filesink_get_query_types): same
9964         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
9965         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
9966         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
9967         to use new GST_PTR_FORMAT.
9968         * gst/gstelement.h: deprecate function factory macros
9969         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
9970         These are our last variadic macros that can't be replaced with
9971         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
9972         attempting to deprecate gst_element_clock_wait().
9973         * gst/gstevent.h: same
9974         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9975         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
9976         * gst/gstpad.h: deprecate function factory macros similar to above.
9977
9978 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9979
9980         * configure.ac:
9981         * tools/Makefile.am:
9982         * tools/gst-run.c: (popt_callback), (hash_print_key),
9983         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
9984         (get_candidates), (main):
9985           add new source file to generate non-versioned wrapper binaries
9986           for our tools.
9987
9988 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9989
9990         * gst/gstevent.c: (_gst_event_free):
9991           actually break; inside the switch statement
9992         * gst/parse/grammar.y:
9993           fix memleak where GValues weren't unset
9994
9995 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9996
9997         * gst/gststructure.c: (gst_structure_from_string):
9998           fix huge memleak
9999         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10000         (new_entry), (gst_type_find_element_chain):
10001         * gst/gstelement.c: (gst_element_base_class_init),
10002         (gst_element_class_set_details):
10003         * gst/gstpad.c: (gst_pad_can_link_filtered):
10004           fix smaller memleaks
10005         * gst/gstpad.c: (gst_real_pad_dispose):
10006           check that explicit caps are gone
10007         * gst/gststructure.c: (gst_structure_free):
10008           actually free the structure
10009         * gst/gstelement.c: (gst_element_clear_pad_caps):
10010           unset explicit caps
10011
10012 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10013
10014         * tools/Makefile.am:
10015           use AM_CFLAGS since all the CFLAGS are the same
10016           use AM_LDFAGS
10017
10018 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10019
10020         * docs/manual/gnome.xml:
10021           expand example a little
10022         * gst/gst.c: (gst_init_with_popt_table),
10023         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10024           make sure popt option displays are done with right textdomain
10025           use GstPoptOption type
10026         * gst/gst.h:
10027           create GstPoptOption type
10028
10029 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * gst/gsterror.c: (_gst_stream_errors_init):
10032         * gst/gsterror.h:
10033           adding error type for no codec
10034         * po/POTFILES.in:
10035           add gst-inspect
10036         * po/nl.po:
10037           update dutch translation
10038         * tools/gst-inspect.c: (print_element_list), (main):
10039           do proper internationalization
10040         * tools/gst-launch.c: (idle_func):
10041           remove commented out function call
10042
10043 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10044
10045         * docs/README:
10046           add some error fixing notes
10047         * docs/gst/gstreamer-sections.txt:
10048           remove double entries
10049         * docs/gst/tmpl/gstbin.sgml:
10050         * docs/gst/tmpl/gstclock.sgml:
10051           remove override
10052         * docs/gst/tmpl/gstelement.sgml:
10053         * docs/gst/tmpl/gstindex.sgml:
10054         * docs/gst/tmpl/gstobject.sgml:
10055         * docs/gst/tmpl/gstpadtemplate.sgml:
10056         * docs/gst/tmpl/gstreamer-unused.sgml:
10057         * docs/gst/tmpl/gsttag.sgml:
10058         * docs/gst/tmpl/gstthread.sgml:
10059         * docs/gst/tmpl/gstxml.sgml:
10060         * gst/gsttag.h:
10061           sync header prototypes with c decls
10062         * gst/gsttaginterface.c:
10063           fix doc headers
10064
10065 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10066
10067         * gst/parse/Makefile.am:
10068         * gst/gstobject.h:
10069           get rid of gstmarshal.h dependency. It's not needed.
10070         * gst/gst.h:
10071         * gst/elements/gstfakesink.c:
10072         * gst/elements/gstfakesrc.c:
10073         * gst/elements/gstidentity.c:
10074         * gst/gstbin.c:
10075         * gst/gstelement.c:
10076         * gst/gstindex.c:
10077         * gst/gstobject.c:
10078         * gst/gstpad.c:
10079         * gst/gstthread.c:
10080         * gst/gstxml.c:
10081         * libs/gst/control/dparam.c:
10082         * libs/gst/control/dparammanager.c:
10083           include gstmarshal.h.
10084         Fixes #132045
10085
10086 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10087
10088         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10089         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10090         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10091         * gst/elements/gstfilesrc.h:
10092           don't ref the filesrc when creating mmaped buffers. Don't keep a
10093           list of not-yet-destroyed buffers.
10094         * gst/gstbuffer.h:
10095           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10096
10097 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * gst/gst.c: (init_pre):
10100           remove textdomain
10101
10102 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10103
10104         * docs/pwg/advanced-events.xml:
10105         * docs/pwg/advanced-scheduling.xml:
10106         * docs/pwg/intro-basics.xml:
10107         * docs/pwg/other-manager.xml:
10108         * docs/pwg/other-nton.xml:
10109         * docs/pwg/other-ntoone.xml:
10110         * docs/pwg/other-oneton.xml:
10111         * docs/pwg/pwg.xml:
10112           All sort of documentation... Forgot what. Point is that I want this
10113           in before I leave. The 'other-*' will be the last section and will
10114           explain issues specific to these type of elements.
10115
10116 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10117
10118         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10119         (gst_filesrc_get_read):
10120           set all the values on buffers that we can
10121
10122 2004-02-02  David Schleef  <ds@schleef.org>
10123
10124         Change usage of isblah() to g_ascii_isblah() to be more locale
10125         independent.  (#133076)
10126         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10127         * gst/gstutils.c:
10128         * gst/parse/parse.l:
10129
10130 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10131
10132         reviewed by: David Schleef  <ds@schleef.org>
10133
10134         Fix memory leaks:
10135         * gst/gstcaps.c: (gst_caps_to_string):
10136         * gst/registries/gstxmlregistry.c:
10137         (gst_xml_registry_add_path_list_func),
10138         (gst_xml_registry_parse_padtemplate):
10139
10140 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10141
10142         * gst/gstelement.c: (gst_element_default_error):
10143           suffix error messages with period
10144
10145 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10146
10147         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10148         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10149         * gst/gsterror.c: (gst_error_get_message):
10150           Suffix with dots
10151         * po/fr.po:
10152         * po/nl.po:
10153           Update translation files
10154
10155 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10156
10157         * gst/autoplug/gstspideridentity.c:
10158         (gst_spider_identity_sink_loop_type_finding):
10159         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10160         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10161         (gst_filesink_close_file), (gst_filesink_handle_event),
10162         (gst_filesink_chain):
10163         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10164         (gst_filesrc_get_read), (gst_filesrc_open_file):
10165         * gst/elements/gstidentity.c: (gst_identity_chain):
10166         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10167         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10168         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10169         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10170         * gst/gsterror.c: (_gst_core_errors_init),
10171         (_gst_library_errors_init), (_gst_resource_errors_init),
10172         (_gst_stream_errors_init), (gst_error_get_message):
10173         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10174         (gst_pad_recover_caps_error), (gst_pad_pull):
10175         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10176         * gst/schedulers/gstbasicscheduler.c:
10177         (gst_basic_scheduler_chainhandler_proxy),
10178         (gst_basic_scheduler_gethandler_proxy),
10179         (gst_basic_scheduler_cothreaded_chain):
10180           Suffix error messages with period.
10181           Use (NULL) instead of NULL
10182
10183 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10184
10185         * docs/gst/tmpl/gstelement.sgml:
10186         * docs/gst/tmpl/gstxml.sgml:
10187         * gst/gstelement.c: (gst_element_error_full):
10188           add element path to error
10189
10190 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10191
10192         * docs/random/mimetypes:
10193           update raw int/float info
10194         * gst/gsttag.c: (_gst_tag_initialize):
10195         * gst/gsttag.h:
10196           add GST_TAG_ENCODER
10197
10198 2004-01-30  David Schleef  <ds@schleef.org>
10199
10200         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10201           missing (#132991)
10202
10203 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10204
10205         reviewed by Benjamin Otte 
10206           parts of the patch submitted in bug #113913
10207
10208         * configure.ac:
10209           use AC_C_INLINE. Use = instead of == with test
10210         * examples/plugins/example.c:
10211         * gst/autoplug/gstspideridentity.c:
10212         * gst/elements/gstfdsrc.c:
10213         * gst/elements/gstfilesrc.c:
10214         * gst/elements/gstidentity.c:
10215         * gst/elements/gstmultidisksrc.c:
10216         * gst/elements/gststatistics.c:
10217         * gst/gstelement.c:
10218         * gst/gstobject.c:
10219         * gst/gstpad.c:
10220         * gst/gstpipeline.c:
10221         * gst/gstthread.c:
10222           don't end enums with a comma
10223         * gst/gstindex.c: (gst_index_compare_func):
10224           do explicit casting to gint
10225         * gst/gsttrace.c: (gst_trace_text_flush):
10226           #define strsize as a macro
10227
10228 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * docs/README:
10231         * docs/gst/gstreamer-docs.sgml:
10232         * docs/gst/gstreamer-sections.txt:
10233         * docs/gst/tmpl/gstelement.sgml:
10234         * docs/gst/tmpl/gsterror.sgml:
10235         * docs/gst/tmpl/gstinterface.sgml:
10236         * docs/gst/tmpl/gstreamer-unused.sgml:
10237         * docs/gst/tmpl/gststructure.sgml:
10238         * docs/gst/tmpl/gsttag.sgml:
10239         * docs/gst/tmpl/gsttaginterface.sgml:
10240         * docs/gst/tmpl/gstvalue.sgml:
10241         make sure all API ends up in the built docs
10242         * gst/gstinterface.c:
10243         * gst/gststructure.c: (gst_structure_id_set_value),
10244         (gst_structure_set_value), (gst_structure_id_get_value):
10245         * gst/gststructure.h:
10246         * gst/gstvalue.h:
10247         sync .h with .c declarations
10248
10249 2004-01-30  Julien Moutte  <julien@moutte.net>
10250
10251         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10252         Ronald will fix riffread.
10253
10254 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10255
10256         * docs/pwg/advanced-interfaces.xml:
10257           Added tuner interface docs.
10258
10259 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10260
10261         * docs/random/mimetypes:
10262           correct Theora information
10263         * gst/gstelement.h:
10264           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10265
10266 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10267
10268         * gst/gstelement.c: (gst_element_error_full):
10269         * gst/gstelement.h:
10270           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10271
10272 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10273
10274         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10275         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10276         again and even before DISCONT.
10277         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10278         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10279         bytestream so that it's not stopping to fill the bytestream if events
10280         different than EOS or DISCONT are received. Instead it process them so
10281         that they go downstream.
10282
10283 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10284
10285         * docs/gst/tmpl/gstelement.sgml:
10286         * docs/gst/tmpl/gstreamer-unused.sgml:
10287         * docs/gst/tmpl/gstxml.sgml:
10288         * gst/autoplug/gstspideridentity.c:
10289         (gst_spider_identity_sink_loop_type_finding):
10290         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10291         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10292         (gst_filesink_close_file), (gst_filesink_handle_event),
10293         (gst_filesink_chain):
10294         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10295         (gst_filesrc_get_read), (gst_filesrc_open_file):
10296         * gst/elements/gstidentity.c: (gst_identity_chain):
10297         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10298         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10299         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10300         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10301         * gst/gstelement.h:
10302         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10303         (gst_pad_recover_caps_error), (gst_pad_pull):
10304         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10305         * gst/schedulers/gstbasicscheduler.c:
10306         (gst_basic_scheduler_chainhandler_proxy),
10307         (gst_basic_scheduler_gethandler_proxy),
10308         (gst_basic_scheduler_cothreaded_chain):
10309           gst_element_error -> GST_ELEMENT_ERROR
10310
10311 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * docs/Makefile.am:
10314         * docs/gst/tmpl/gstelement.sgml:
10315         * docs/gst/tmpl/gstxml.sgml:
10316         * docs/manuals.mak:
10317         * docs/pwg/advanced-request.xml:
10318         * docs/pwg/advanced-scheduling.xml:
10319         * docs/pwg/advanced-tagging.xml:
10320           fix non-validating docbook using CDATA
10321           make sure make check-local gets run first to check if it validates
10322
10323 2004-01-29  Julien MOUTTE <julien@moutte.net>
10324
10325         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10326         handling (up and downstream).
10327         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10328         my_filter thing.
10329
10330 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10331
10332         * docs/pwg/advanced-tagging.xml:
10333           Add docs about tag writing.
10334
10335 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10336
10337         * docs/pwg/advanced-tagging.xml:
10338           Add a part about tag reading and application signalling... Tag
10339           writing still needs to be documented.
10340         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10341           We can set file locations in READY, too.
10342
10343 2004-01-29  Julien MOUTTE <julien@moutte.net>
10344
10345         * docs/random/ds/element-checklist: Adding some notes about src
10346         events.
10347
10348 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10349
10350         * docs/random/mimetypes:
10351           Update docs to point to correct elements for various mimetypes, and
10352           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10353           <stephane.loeuillet@tiscali.fr>.
10354
10355 2004-01-28  David Schleef  <ds@schleef.org>
10356
10357         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10358
10359 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10360
10361         * docs/random/mimetypes:
10362           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10363           undefined"
10364         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10365           make it only work in NULL.
10366         * gst/gstcaps.c:
10367           don't posion NULL caps
10368         * gst/gstelement.c: (gst_element_set_time):
10369           add debugging statement
10370         * gst/gstelement.c: (gst_element_emit_found_tag),
10371         (gst_element_found_tag_func), (gst_element_found_tags):
10372         * gst/gstelement.h:
10373           These functions take const taglists
10374         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10375           fix memleak
10376         * gst/gstpad.c: (gst_pad_event_default):
10377           make more effort on handling discont and clocks, g_warn if everything
10378           fails
10379         * gst/gststructure.c: (gst_structure_remove_fields),
10380         (gst_structure_remove_fields_valist):
10381         * gst/gststructure.h:
10382           add gst_structure_remove_fields(_valist)
10383         * gst/gsttag.c:
10384           fix doc glitch
10385
10386 2004-01-28  David Schleef  <ds@schleef.org>
10387
10388         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10389         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10390         Fix memory leakage of gst_caps_to_string().
10391
10392         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10393         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10394         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10395         (gst_spider_identity_sink_loop_type_finding):
10396         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10397         (find_suggest):
10398         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10399         (gst_pad_set_explicit_caps):
10400         * gst/parse/grammar.y:
10401
10402 2004-01-28  David Schleef  <ds@schleef.org>
10403
10404         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10405         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10406         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10407         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10408         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10409         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10410         (gst_debug_log_default), (_gst_info_printf_extension),
10411         (_gst_info_printf_extension_arginfo):  Add printf extension.
10412         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10413         * gst/gststructure.c: (gst_structure_to_string),
10414         (_gst_structure_parse_value): Use gst_value_deserialize() and
10415         remove old code.
10416         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10417         (gst_value_deserialize_boolean), (gst_strtoi),
10418         (gst_value_deserialize_int), (gst_value_deserialize_double),
10419         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10420         a bunch of deserialize functions and gst_value_deserialize.
10421         * gst/gstvalue.h: er, _de_serialize, not unserialize
10422         * testsuite/caps/string-conversions.c: (main): We don't currently
10423         handle (float) in caps, so convert these to (double).
10424         * testsuite/debug/Makefile.am: Add new test for the printf extension
10425         * testsuite/debug/printf_extension.c: (main): same
10426
10427 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10428
10429         * docs/random/company/time:
10430           Add some docs about clocking and time
10431
10432 2004-01-28  Julien MOUTTE <julien@moutte.net>
10433
10434         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10435
10436 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * docs/pwg/advanced-clock.xml:
10439         * docs/pwg/advanced-dparams.xml:
10440         * docs/pwg/advanced-events.xml:
10441         * docs/pwg/advanced-interfaces.xml:
10442         * docs/pwg/advanced-midi.xml:
10443         * docs/pwg/advanced-request.xml:
10444         * docs/pwg/advanced-scheduling.xml:
10445         * docs/pwg/advanced-tagging.xml:
10446         * docs/pwg/advanced-types.xml:
10447         * docs/pwg/appendix-checklist.xml:
10448         * docs/pwg/building-boiler.xml:
10449         * docs/pwg/building-chainfn.xml:
10450         * docs/pwg/building-filterfactory.xml:
10451         * docs/pwg/building-pads.xml:
10452         * docs/pwg/building-props.xml:
10453         * docs/pwg/building-signals.xml:
10454         * docs/pwg/building-state.xml:
10455         * docs/pwg/building-testapp.xml:
10456         * docs/pwg/intro-basics.xml:
10457         * docs/pwg/intro-preface.xml:
10458         * docs/pwg/other-autoplugger.xml:
10459         * docs/pwg/other-sink.xml:
10460         * docs/pwg/other-source.xml:
10461         * docs/pwg/titlepage.xml:
10462           fix up id's
10463
10464 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * docs/95NonPath:
10467         * docs/HACKING:
10468         * docs/README:
10469         * docs/building-the-docs-on-debian:
10470           collect relevant bits of doc info
10471
10472 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10473
10474         * docs/pwg/advanced_tagging.xml:
10475           Half-assed commit so Thomas can re-arrange document IDs here to be
10476           consistent, too.
10477
10478 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10479
10480         * docs/manual/autoplugging.xml:
10481         * docs/manual/bins-api.xml:
10482         * docs/manual/bins.xml:
10483         * docs/manual/buffers-api.xml:
10484         * docs/manual/buffers.xml:
10485         * docs/manual/clocks.xml:
10486         * docs/manual/components.xml:
10487         * docs/manual/cothreads.xml:
10488         * docs/manual/debugging.xml:
10489         * docs/manual/dparams-app.xml:
10490         * docs/manual/dynamic.xml:
10491         * docs/manual/elements-api.xml:
10492         * docs/manual/elements.xml:
10493         * docs/manual/factories.xml:
10494         * docs/manual/gnome.xml:
10495         * docs/manual/goals.xml:
10496         * docs/manual/helloworld.xml:
10497         * docs/manual/helloworld2.xml:
10498         * docs/manual/init-api.xml:
10499         * docs/manual/intro.xml:
10500         * docs/manual/links-api.xml:
10501         * docs/manual/links.xml:
10502         * docs/manual/manual.xml:
10503         * docs/manual/motivation.xml:
10504         * docs/manual/pads-api.xml:
10505         * docs/manual/pads.xml:
10506         * docs/manual/plugins-api.xml:
10507         * docs/manual/plugins.xml:
10508         * docs/manual/programs.xml:
10509         * docs/manual/queues.xml:
10510         * docs/manual/quotes.xml:
10511         * docs/manual/schedulers.xml:
10512         * docs/manual/states-api.xml:
10513         * docs/manual/states.xml:
10514         * docs/manual/threads.xml:
10515         * docs/manual/typedetection.xml:
10516         * docs/manual/xml.xml:
10517           use chapter, part, section or misc as id starts for all bits
10518
10519 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10520
10521         * docs/gst/gstreamer-sections.txt:
10522           Fix up TITLE of the sections
10523
10524 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10525
10526         * docs/pwg/advanced_interfaces.xml:
10527           Add documentation on propertyprobing.
10528         * docs/pwg/advanced_events.xml:
10529         * docs/pwg/advanced_tagging.xml:
10530         * docs/pwg/building_boiler.xml:
10531         * docs/pwg/building_filterfactory.xml:
10532         * docs/pwg/pwg.xml:
10533           Move filterfactory and tagging into their own chapter, add a chapter
10534           on events. all these are empty placeholders that will be filled in
10535           some day.
10536
10537 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10538
10539         * docs/pwg/advanced_interfaces.xml:
10540           Docs for mixer interface. Also a check for website uploading.
10541
10542 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10543
10544         * docs/HACKING:
10545         * docs/Makefile.am:
10546         * docs/faq/Makefile.am:
10547         * docs/gst/Makefile.am:
10548         * docs/gst/tmpl/gstelement.sgml:
10549         * docs/gst/tmpl/gstplugin.sgml:
10550         * docs/gst/tmpl/gstreamer-unused.sgml:
10551         * docs/libs/Makefile.am:
10552         * docs/manual/Makefile.am:
10553         * docs/manuals.mak:
10554         * docs/pwg/Makefile.am:
10555         * docs/upload.mak:
10556           Separate out upload target and make it similar for
10557           both docbook and gtk-doc docs
10558
10559 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10560
10561         * docs/manuals.mak:
10562           Fix upload target to work with freedesktop
10563
10564 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10565
10566         * docs/pwg/advanced_types.xml:
10567           Add notes on creating your own types.
10568         * docs/pwg/building_boiler.xml:
10569         * docs/pwg/building_pads.xml:
10570         * docs/pwg/building_state.xml:
10571           Add some stuff about how to retrieve values from structures, how
10572           that relates to types and change layout slightly again to be almost
10573           perfect.
10574
10575 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10576
10577         * docs/pwg/advanced_dparams.xml:
10578         * docs/pwg/advanced_scheduling.xml:
10579           Change index layout slightly.
10580
10581 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10582
10583         * docs/pwg/advanced_clock.xml:
10584         * docs/pwg/advanced_interfaces.xml:
10585         * docs/pwg/advanced_midi.xml:
10586           General placeholders for now.
10587         * docs/pwg/advanced_request.xml:
10588           Explanation about sometimes and request pads.
10589         * docs/pwg/advanced_scheduling.xml:
10590           Concept of bytestream, loopfunctions and schedulers.
10591         * docs/pwg/building_boiler.xml:
10592           Add something about plugin-init.
10593
10594 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10595
10596         * docs/pwg/building_pads.xml:
10597           Fix broken docbook
10598
10599 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10600
10601         * docs/pwg/advanced_interfaces.xml:
10602         * docs/pwg/pwg.xml:
10603           Add as a placeholder for future filling-in.
10604         * docs/pwg/basics_autoplugging.xml:
10605         * docs/pwg/basics_buffers.xml:
10606         * docs/pwg/basics_elements.xml:
10607         * docs/pwg/basics_events.xml:
10608         * docs/pwg/basics_plugins.xml:
10609         * docs/pwg/basics_types.xml:
10610           Remove, because unused (this is all in intro_basics.xml).
10611         * docs/pwg/building_signals.xml:
10612           Short intro to signals + reference to GObject docs - we really
10613           shouldn't go into these sort of things to deply because we don't
10614           use them that extensively anyway.
10615         * docs/pwg/building_state.xml:
10616           Explanation of states. Benjamin, please check.
10617         * docs/pwg/building_testapp.xml:
10618           Put everything in one page - putting only a few lines of content
10619           per page doesn't really make sense.
10620
10621           Time to get into the advanced topics. ;).
10622
10623 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10624
10625         * docs/pwg/advanced_types.xml:
10626           Finish documenting the current state of mimetypes.
10627         * docs/pwg/building_boiler.xml:
10628         * docs/pwg/building_chainfn.xml:
10629         * docs/pwg/building_pads.xml:
10630         * docs/pwg/building_props.xml:
10631         * docs/pwg/building_testapp.xml:
10632           Start documenting the "how to build a simple audio filter" part
10633           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10634           states and (maybe?) a short introduction to capsnego in the chapter
10635           on pads (building_pads.xml). Capsnego should probably be explained
10636           fully in advanced_capsnego.xml or so.
10637
10638 2004-01-26  David Schleef  <ds@schleef.org>
10639
10640         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10641         * gst/gstpad.h: Add new function to allow element to (somewhat)
10642         specify non-fixed caps on a pad.
10643         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10644         that I added a few weeks ago.
10645
10646 2004-01-26  David Schleef  <ds@schleef.org>
10647
10648         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10649           making try_set_caps() work with non-fixed caps.
10650
10651 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10652
10653         * docs/pwg/advanced_types.xml:
10654         * docs/pwg/intro_basics.xml:
10655         * docs/pwg/intro_preface.xml:
10656         * docs/pwg/pwg.xml:
10657         * docs/pwg/titlepage.xml:
10658           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10659           in here (docs/random/mimetypes), and will from there on work on both
10660           updating outdated parts and adding missing parts.
10661           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10662
10663 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10664
10665         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10666           policy is set
10667
10668 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10669
10670         * gst/gstelement.h:
10671           remove gst_element_factory_get_version. It doesn't exist anymore.
10672         * gst/gstplugin.c:
10673         * gst/gstplugin.h:
10674           remove gst_plugin_set_name and change gst_plugin_get_longname to
10675           gst_plugin_get_description to match code.
10676         * gst/gsterror.h:
10677           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10678         * gst/gstpad.c: (gst_pad_try_set_caps):
10679           make it work with nonfixed caps.
10680           Note that even in the nonfixed case the link function of the pad
10681           that tries to set caps isn't called.
10682
10683 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10684
10685         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10686           fix bug where buffer was not assembled correctly
10687         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10688           silence by default
10689         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10690           only seek if there's no more buffers that could work without seeking
10691
10692 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10693
10694         * gst/gsttag.c: (_gst_tag_initialize):
10695         * gst/gsttag.h:
10696           Add application tag (for encoding/muxing app).
10697
10698 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10699
10700         * autogen.sh:
10701           make autopoint force, and libtoolize not copy
10702         * common/m4/as-docbook.m4:
10703           added docbook xml catalog setup check
10704         * common/m4/gst-doc.m4:
10705           use docbook check
10706
10707 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10708
10709         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10710         * gst/gsttag.h:
10711           add GstTagFlag
10712
10713 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10714
10715         * docs/gst/gstreamer-sections.txt:
10716         * docs/gst/tmpl/gst.sgml:
10717         * docs/gst/tmpl/gstbuffer.sgml:
10718         * docs/gst/tmpl/gstclock.sgml:
10719         * docs/gst/tmpl/gstelement.sgml:
10720         * docs/gst/tmpl/gstreamer-unused.sgml:
10721         * docs/gst/tmpl/gstxml.sgml:
10722           sync latest API changes to docs
10723
10724 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * gst/gstpluginfeature.c:
10727           fix doc snippet
10728         * tools/gst-inspect.c: (print_element_list):
10729           fix output of typefind
10730           add GPL header
10731         * tools/gst-launch.c:
10732           add GPL header
10733
10734 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10735
10736         * gst/elements/Makefile.am:
10737         * gst/elements/gstelements.c:
10738         * gst/elements/gsttypefindelement.c:
10739         * gst/elements/gsttypefindelement.h:
10740         * po/POTFILES.in:
10741         * po/fr.po:
10742         * po/nl.po:
10743           renamed gsttypefindelement to gsttypefind, conserving CVS history
10744
10745 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10748         * gst/gsttag.h:
10749           add some tags used in ogg as well
10750           fix _ in replaygain tags
10751
10752 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10753
10754         * gst/gsterror.h:
10755           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10756
10757 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10758
10759         * gst/gstelement.c: (gst_element_error_full):
10760         * gst/gstelement.h:
10761           change _extended to _full
10762
10763 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         reviewed by: <delete if not using a buddy>
10766
10767         * docs/gst/tmpl/gst.sgml:
10768         * docs/gst/tmpl/gstbuffer.sgml:
10769         * docs/gst/tmpl/gstclock.sgml:
10770         * docs/gst/tmpl/gstelement.sgml:
10771         * docs/gst/tmpl/gstreamer-unused.sgml:
10772         * docs/gst/tmpl/gstxml.sgml:
10773         * gst/gstelement.c: (gst_element_error_full):
10774         * gst/gstelement.h:
10775
10776 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * gst/gstelement.h: fix _gst_element_error_printf prototype
10779
10780 2004-01-20  David Schleef  <ds@schleef.org>
10781
10782         * gst/gststructure.c: (gst_structure_to_string):
10783         Convert function to use gst_value_serialize().
10784         * gst/gstvalue.c: (gst_value_serialize_list),
10785         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10786         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10787         (gst_value_serialize_int), (gst_value_serialize_double),
10788         (gst_string_wrap), (gst_value_serialize_string),
10789         (gst_value_serialize), (gst_value_deserialize):
10790         * gst/gstvalue.h:
10791         Add implementations for serialize.
10792
10793 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10794
10795         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10796         we want to keep that one in the future or change xvidenc.c to use 
10797         another error.
10798
10799 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10800
10801         * gst/gstelement.c: (_gst_element_error_printf):
10802         * gst/gstelement.h:
10803           privatise function
10804
10805 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * docs/random/error:
10808           doc explaining error system
10809         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10810           cleanup
10811
10812 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10813
10814         * gst/gst-i18n-app.h:
10815         * gst/gst-i18n-lib.h:
10816           remove inclusion of config.h
10817         * po/POTFILES.in:
10818         * po/nl.po:
10819           add gst/gstelement.c
10820
10821 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10822
10823         * po/nl.po: updated Dutch translation
10824
10825 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10826
10827         * gst/gsterror.c: (_gst_core_errors_init),
10828         (_gst_library_errors_init), (_gst_resource_errors_init),
10829         (_gst_stream_errors_init):
10830         remove ending punctuation dots
10831
10832 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
10835         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
10836         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10837         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10838         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10839         use GST_ERROR_SYSTEM
10840
10841 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10842
10843         * gst/gstelement.c: (gst_element_error_printf),
10844         (gst_element_error_extended):
10845         * gst/gstelement.h:
10846           add a helper printf function so we can have NULL values passed.
10847
10848 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * gst/gstelement.h:
10851           add G_STMT macros to gst_element_error, which isn't strictly
10852           necessary but people tell me to anyway.
10853
10854 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10855
10856         * gst/Makefile.am:
10857         * gst/autoplug/gstspideridentity.c:
10858         (gst_spider_identity_sink_loop_type_finding):
10859         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10860         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10861         (gst_filesink_close_file), (gst_filesink_handle_event),
10862         (gst_filesink_chain):
10863         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
10864         (gst_filesrc_map_region), (gst_filesrc_get_read),
10865         (gst_filesrc_open_file):
10866         * gst/elements/gstidentity.c: (gst_identity_chain):
10867         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10868         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10869         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10870         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
10871         * gst/gst.h:
10872         * gst/gst_private.h:
10873         * gst/gstelement.c: (gst_element_class_init),
10874         (gst_element_default_error), (gst_element_error_func),
10875         (gst_element_error_extended):
10876         * gst/gstelement.h:
10877         * gst/gsterror.c: (_gst_core_errors_init),
10878         (_gst_library_errors_init), (_gst_resource_errors_init),
10879         (_gst_stream_errors_init), (gst_error_get_message):
10880         * gst/gsterror.h:
10881         * gst/gstinfo.c: (_gst_debug_init):
10882         * gst/gstmarshal.list:
10883         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10884         (gst_pad_recover_caps_error), (gst_pad_pull):
10885         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10886         * gst/schedulers/gstbasicscheduler.c:
10887         (gst_basic_scheduler_chainhandler_proxy),
10888         (gst_basic_scheduler_gethandler_proxy),
10889         (gst_basic_scheduler_cothreaded_chain):
10890         * po/POTFILES.in:
10891         * po/fr.po:
10892         * po/nl.po:
10893           change error signal
10894           add error categories
10895
10896 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
10897
10898         * gst/gsttag.c: (_gst_tag_initialize):
10899         * gst/gsttag.h:
10900         Add replaygain tag
10901
10902 2004-01-18  Colin Walters  <walters@verbum.org>
10903
10904         * examples/retag/retag.c: Call gst_init before processing
10905         program args.  Add g_assert to _link_many call.
10906
10907 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10908
10909         * gst/gstpad.c: (gst_pad_alloc_buffer):
10910           Return a newly allocated buffer when the pad has no peer.
10911
10912 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10913
10914         * gst/gstclock.c: (gst_clock_get_time):
10915           make it compile with gcc 2.95 again.
10916           Patch by Scott Wheeler
10917
10918 2004-01-15  David Schleef  <ds@schleef.org>
10919
10920         * gst/gstcaps.h:
10921         Added gst_caps_is_simple() macro.
10922         * testsuite/caps/caps.c: (test1):
10923         * testsuite/caps/intersect2.c: (main):
10924         * testsuite/caps/intersection.c: (main):
10925         Fixes to make 'make check' work again after removing
10926         gst_caps_is_chained().
10927
10928 2004-01-15  Leif Johnson <leif@ambient.2y.net>
10929
10930         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
10931         and additions to the MIDI document.
10932
10933 2004-01-15  David Schleef  <ds@schleef.org>
10934
10935         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
10936         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
10937         of GST_RPAD_, since we don't know if it's a real or ghost pad.
10938
10939 2004-01-15  David Schleef  <ds@schleef.org>
10940
10941         * gst/gstqueue.c:
10942         * gst/gstqueue.h:
10943         Fix the spelling of "treshold" and make min_threshold actually
10944         affect the queue.
10945
10946 2004-01-15  David Schleef  <ds@schleef.org>
10947
10948         * gst/gstcaps.c:
10949         Add lots of documentation.
10950         * gst/gstcaps.h:
10951         Deprecate a few functions.
10952         * gst/gstpad.c:
10953         Removed use of deprecated functions.
10954
10955 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10956
10957         * gst/gstpad.c: (gst_pad_is_linked):
10958         * gst/gstpad.h:
10959           implement gst_pad_is_linked
10960         * gst/gstelement.h:
10961           reserve space for initiate_state_change
10962
10963 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10964
10965         * gst/autoplug/gstspideridentity.c:
10966         (gst_spider_identity_sink_loop_type_finding):
10967           break infinite loop by just returning instead of looping
10968         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
10969           set event time difference correctly. Set it to 1 second instead
10970           of 100ms to be more tolerant
10971         * gst/gstelement.c: (gst_element_set_time):
10972           add debugging output
10973
10974 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10975
10976         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
10977           query if buffers are inside the pool, ignore events
10978
10979 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10980
10981         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
10982         (gst_clock_set_speed), (gst_clock_set_active),
10983         (gst_clock_is_active), (gst_clock_reset),
10984         (gst_clock_handle_discont):
10985         * gst/gstclock.h:
10986           deprecate old interface and disable functions that aren't in use
10987           anymore.
10988         * gst/gstelement.h:
10989         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
10990         (gst_element_set_time), (gst_element_adjust_time):
10991           add concept of "element time" and functions to get/set this time.
10992         * gst/gstelement.c: (gst_element_change_state):
10993           update element time correctly.
10994         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
10995           This is a debug message, not a g_critical.
10996         * gst/gstpad.c: (gst_pad_event_default):
10997           handle discontinuous events right with element time.
10998         * gst/gstscheduler.c: (gst_scheduler_state_transition):
10999           update to clocking fixes.
11000           set clocks on elements in READY=>PAUSED. The old behaviour caused
11001           a wrong element time on the first element that started playing.
11002         * gst/schedulers/gstbasicscheduler.c:
11003         (gst_basic_scheduler_class_init):
11004         * gst/schedulers/gstoptimalscheduler.c:
11005         (gst_opt_scheduler_class_init):
11006           remove code that just implements the default behaviour.
11007         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11008           update to use new clocking functions
11009         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11010         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11011           update to test new element time.
11012         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11013           use _get_allowed_caps instead of _get_caps. This catches filtered
11014           caps correctly.
11015         * testsuite/debug/commandline.c:
11016           update for new GST_DEBUG syntax.
11017         * testsuite/threads/Makefile.am:
11018           disable a test that only works sometimes.
11019
11020 2004-01-13  Julien MOUTTE <julien@moutte.net>
11021
11022         * po/LINGUAS: Adding fr.
11023         * po/fr.po: Adding french translation.
11024
11025 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * gst/parse/grammar.y:
11028         * po/POTFILES.in:
11029         * po/nl.po:
11030         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11031           translate parsing error messages
11032
11033 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * po/POTFILES.in: adding gst-launch
11036         * po/nl.po: updated translation, all 99 strings translated
11037         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11038         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11039           fix strings for translation
11040
11041 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11042
11043         * gst/gst.c:
11044           - capitalize beginnings of popt options
11045           - fix strings for translation
11046           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11047
11048 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11049
11050         * po/README: add some notes on how to update translations
11051
11052 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11053
11054         * ABOUT-NLS: removed, is autogenerated from autopoint
11055         * autogen.sh: add autopoint stuff
11056         * configure.ac: fix up gettext stuff
11057         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11058         * gst/elements/gsttypefindelement.c: add header include
11059         * gst/gettext.h: add header, copy from system-installed header
11060         * gst/gst-i18n-app.h: to be included by each app having translations
11061         * gst/gst-i18n-lib.h: to be included by each lib having translations
11062         * gst/gst.c: (init_pre): fix up gettext calls
11063         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11064         * po/LINGUAS: the new way to specify translations present
11065         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11066         * po/Makevars: the variables filled in for GStreamer
11067         * po/POTFILES.in: added new files with translations
11068         * po/de.po: has new strings
11069         * po/nl.po: readded, has new strings
11070
11071 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11072
11073         * gst/gsttag.c: fix some strings marked for translation
11074
11075 2004-01-13  Iain <iain@prettypeople.org>
11076
11077         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11078         group when we add an element to it, cos we unref it when we remove one
11079
11080 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11081
11082         * testsuite/debug/commandline.c: (debug_not_reached):
11083         * testsuite/debug/output.c: (check_message):
11084           fix testsuite
11085
11086 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11087
11088         * examples/cutter/.cvsignore:
11089         * examples/helloworld/.cvsignore:
11090         * examples/launch/.cvsignore:
11091         * examples/manual/.cvsignore:
11092         * examples/mixer/.cvsignore:
11093         * examples/pingpong/.cvsignore:
11094         * examples/plugins/.cvsignore:
11095         * examples/queue/.cvsignore:
11096         * examples/queue2/.cvsignore:
11097         * examples/queue3/.cvsignore:
11098         * examples/queue4/.cvsignore:
11099         * examples/retag/.cvsignore:
11100         * examples/thread/.cvsignore:
11101         * examples/typefind/.cvsignore:
11102         * examples/xml/.cvsignore:
11103         * gst/.cvsignore:
11104         * gst/autoplug/.cvsignore:
11105         * gst/elements/.cvsignore:
11106         * gst/indexers/.cvsignore:
11107         * gst/parse/.cvsignore:
11108         * gst/registries/.cvsignore:
11109         * gst/schedulers/.cvsignore:
11110         * libs/gst/bytestream/.cvsignore:
11111         * libs/gst/control/.cvsignore:
11112         * libs/gst/getbits/.cvsignore:
11113         * tests/.cvsignore:
11114         * tests/bufspeed/.cvsignore:
11115         * tests/instantiate/.cvsignore:
11116         * tests/memchunk/.cvsignore:
11117         * tests/muxing/.cvsignore:
11118         * tests/sched/.cvsignore:
11119         * tests/seeking/.cvsignore:
11120         * tests/threadstate/.cvsignore:
11121         * testsuite/.cvsignore:
11122         * testsuite/caps/.cvsignore:
11123         * testsuite/cleanup/.cvsignore:
11124         * testsuite/dynparams/.cvsignore:
11125         * testsuite/plugin/.cvsignore:
11126         * tools/.cvsignore:
11127           update - this is huge, because it includes *.bb, *.bbg and *.da files
11128           which are generated for gcov.
11129
11130 2004-01-11  David Schleef  <ds@schleef.org>
11131
11132         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11133         a function to parse integers in ways that strto[u]l() does not.
11134
11135 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11136
11137         * tools/gst-inspect.c: (print_caps):
11138           improve output of caps a bit
11139
11140 2004-01-11  David Schleef  <ds@schleef.org>
11141
11142         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11143         inherit correct flags (READONLY and DONTKEEP).
11144
11145 2004-01-11  David Schleef  <ds@schleef.org>
11146
11147         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11148         (gst_filesrc_map_region):
11149         * gst/gstbuffer.c: (_gst_buffer_initialize),
11150         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11151         (gst_buffer_new), (gst_buffer_create_sub),
11152         (gst_buffer_is_span_fast), (gst_buffer_span):
11153         * gst/gstbuffer.h:
11154         Change GstBuffer private structure element names. (all files)
11155         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11156         (gst_queue_link):
11157         * gst/gstqueue.h:
11158         Implement getcaps/pad_link functions that handle the case where
11159         there are data in the queue.
11160
11161 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11162
11163         * gst/elements/gstbufferstore.c:
11164           initialize debugging structure correctly
11165         * gst/elements/gsttee.c: (gst_tee_set_property):
11166           g_object_notify when property was changed
11167         * gst/elements/gsttypefindelement.c:
11168         (gst_type_find_element_change_state):
11169           clear caps correctly
11170
11171 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11172
11173         * gst/gstqueue.c: (gst_queue_init):
11174           Use better defaults for when a queue should block. This
11175           gets rid of jerky playback for quite a few files.
11176           It takes more memory.
11177
11178 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11179
11180         (gst_xml_registry_parse_padtemplate):
11181           make critical message slightly more useful
11182
11183 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11184
11185         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11186         (gst_debug_message_get), (gst_debug_log_default):
11187         * gst/gstinfo.h:
11188           Change gst_debug_log(_valist) to take a const format string.
11189           Change prototype of log function and functions using those to 
11190           take a GstDebugMessage instead of a string that requires using
11191           gst_debug_message_get.
11192
11193 2004-01-08  David Schleef  <ds@schleef.org>
11194
11195         * Makefile.am:
11196         * configure.ac:
11197         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11198         and -ftest-coverage, which allows gcov to show information about
11199         testsuite coverage.
11200
11201 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11202
11203         * gst/gstutils.h:
11204           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11205           GST_PARENT_CALL_WITH_DEFAULT
11206         * gst/elements/gstaggregator.c: 
11207         * gst/elements/gstbufferstore.c: 
11208         * gst/elements/gstfakesink.c: 
11209         * gst/elements/gstfakesrc.c: 
11210         * gst/elements/gstfdsink.c: 
11211         * gst/elements/gstfdsrc.c: 
11212         * gst/elements/gstfilesink.c: 
11213         * gst/elements/gstfilesrc.c: 
11214         * gst/elements/gstidentity.c: 
11215         * gst/elements/gstmd5sink.c: 
11216         * gst/elements/gstmultidisksrc.c:
11217         * gst/elements/gstpipefilter.c: 
11218         * gst/elements/gstshaper.c:
11219         * gst/elements/gststatistics.c:
11220         * gst/elements/gsttee.c:
11221         * gst/elements/gsttypefindelement.c:
11222           use them.
11223
11224 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * docs/gst/gstreamer-docs.sgml: remove props
11227         * docs/gst/gstreamer-sections.txt: remove props
11228         * docs/gst/tmpl/gst.sgml:
11229         * docs/gst/tmpl/gstbin.sgml:
11230         * docs/gst/tmpl/gstbuffer.sgml:
11231         * docs/gst/tmpl/gstcaps.sgml:
11232         * docs/gst/tmpl/gstclock.sgml:
11233         * docs/gst/tmpl/gstelement.sgml:
11234         * docs/gst/tmpl/gstindex.sgml:
11235         * docs/gst/tmpl/gstobject.sgml:
11236         * docs/gst/tmpl/gstpad.sgml:
11237         * docs/gst/tmpl/gstpadtemplate.sgml:
11238         * docs/gst/tmpl/gstreamer-unused.sgml:
11239         * docs/gst/tmpl/gstthread.sgml:
11240         * docs/gst/tmpl/gstxml.sgml:
11241           sync with code reorganization
11242
11243 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11244
11245         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11246         Make the 'Could not find compatible pad' message more informative.
11247
11248 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11249                                                                                 
11250         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11251           Fix for if we pass NULL as property to location.
11252         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11253         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11254           Fix for instantiate-test (see below).
11255         * gst/gststructure.c: (_gst_structure_parse_value):
11256           Fix compile error on gcc-2.96.
11257         * configure.ac:
11258         * tests/Makefile.am:
11259         * tests/instantiate/Makefile.am:
11260         * tests/instantiate/create.c: (create_all_elements), (main):
11261           Add a test that instantiates all elements. This makes it easy to
11262           track dead code for old API/design (like setting event functions
11263           on sink pads and so on).
11264
11265 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11266
11267         * gst/gstcaps.c: (gst_caps_append_structure):
11268           Move the poisoning to allow a NULL structure
11269         * gst/gstevent.c: (_gst_event_free):
11270           When freeing a navigation event, free the structure
11271           also
11272
11273 2004-01-04  David Schleef  <ds@schleef.org>
11274
11275         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11276         Remove usage of gst_pad_proxy_fixate.
11277         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11278         (gst_caps_split_one), (gst_caps_replace):
11279         Add poisoning code.
11280         * gst/gstmarshal.list:
11281         Add pointer__pointer for fixate signal
11282         * gst/gstpad.c: (gst_real_pad_class_init),
11283         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11284         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11285         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11286         Add poisoning code. Add fixate signal on RealPad. Change
11287         set_explicit_caps() to take const GstCaps, like try_set_caps().
11288         * gst/gstpad.h:
11289         * testsuite/caps/Makefile.am:
11290         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11291
11292 2004-01-03  David Schleef  <ds@schleef.org>
11293
11294         * gst/elements/gsttypefindelement.c:
11295         (gst_type_find_element_have_type), (gst_type_find_element_init):
11296         Use gst_pad_use_explicit_caps for src pad.
11297         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11298         before using it.
11299
11300 2004-01-03  David Schleef  <ds@schleef.org>
11301
11302         * gst/gstelement.c: (gst_element_link_pads_filtered),
11303         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11304         that linking was successful.
11305         * gst/gstpad.c: (gst_pad_link_free),
11306         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11307         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11308         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11309         GstPadLinkReturn correctly between functions, and don't fail
11310         when DELAYED is used (DELAYED is very important).  Better
11311         cleanup on unlinking and unnegotiation.  Should fix some spider
11312         bugs.
11313
11314 2004-01-02  David Schleef  <ds@schleef.org>
11315
11316         * gst/gstelement.c: (gst_element_class_init),
11317         (gst_element_base_class_init): ->padtemplates should be cleared
11318         in base_init, since we need to have a fresh list for every
11319         class.  (Alternately, we chould copy the list and share the
11320         actual pad templates (not the list), but that would require
11321         changing every plugin to move pad template registration from
11322         base_init to class_init.)
11323
11324 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11325
11326         * gst/gstelement.c: (gst_element_class_add_pad_template):
11327           Refuse registering a pad template if another pad template
11328           with the same name already exists (#114715).
11329
11330 2004-01-02  David Schleef  <ds@schleef.org>
11331
11332         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11333         (gst_caps_is_equal_fixed): Add new function.
11334         * gst/gstcaps.h: ditto.
11335         * gst/gstpad.c: (gst_real_pad_class_init),
11336         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11337         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11338         check new caps against existing caps -- if they're the same, return
11339         OK without renegotiating.  caps-nego-failed signal fixed so that
11340         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11341         to save an extra caps copy.  Don't complete negotiation if a pad
11342         link function returns DELAYED.
11343
11344 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11345
11346         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11347           Fix wrong g_return_if_fail
11348
11349 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11350
11351         * gst/gstbin.c: (gst_bin_class_init):
11352         Change the marshalling of element_added/element_removed
11353         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11354         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11355
11356 2004-01-01  David Schleef  <ds@schleef.org>
11357
11358         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11359         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11360         (gst_pad_use_explicit_caps):
11361         * gst/gstpad.h:
11362         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11363         to use an internal getcaps and link fuction so that negotiation
11364         always results in the explicitly set caps.
11365         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11366         are particularly useful for decoders.
11367
11368 2003-12-31  David Schleef  <ds@schleef.org>
11369
11370         * gst/elements/gstidentity.c: (gst_identity_class_init),
11371         (gst_identity_init), (gst_identity_chain),
11372         (gst_identity_set_property), (gst_identity_get_property):
11373         * gst/elements/gstidentity.h:
11374         * gst/gstqueue.c: (gst_queue_init):
11375           Negotiation fixes.
11376
11377 2003-12-31  David Schleef  <ds@schleef.org>
11378
11379         * gst/gstcaps.c: (gst_caps_intersect),
11380         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11381           Implement gst_caps_normalize().
11382         * testsuite/caps/normalisation.c: (main):
11383           Add an additional test
11384
11385 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11386
11387         * gst/gstqueue.c: (gst_queue_init):
11388           use gst_pad_proxy_getcaps()
11389
11390 2003-12-31  David Schleef  <ds@schleef.org>
11391
11392         * gst/elements/gstshaper.c: (gst_shaper_link):
11393         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11394         * gst/gstqueue.c: (gst_queue_link):
11395           Negotiation fixes.
11396
11397 2003-12-31  David Schleef  <ds@schleef.org>
11398
11399         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11400         * gst/gstpad.h: Add functions that are useful as default pad
11401         link and fixate functions for elements.
11402
11403 2003-12-30  David Schleef  <ds@schleef.org>
11404
11405         * gst/gstpad.c: (gst_pad_link_try):
11406           Fix segfault when attempting to return to old caps
11407
11408 2003-12-29  David Schleef  <ds@schleef.org>
11409
11410         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11411         (gst_caps_structure_simplify), (gst_caps_simplify):
11412         * gst/gstcaps.h:
11413           Add simplify function
11414         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11415         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11416         * gst/gstpad.h:
11417           Copy over srcnotify, sinknotify when calling old pad_link
11418           functions.  Add new is_negotiated() function.
11419         * gst/gststructure.c: (gst_structure_copy):
11420           Fix an incredibly stupid bug that should have been noticed
11421           weeks ago.  _copy() returned the argument, not the new copy.
11422
11423 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11424
11425         * gst/gstcaps.c: (gst_caps_append):
11426           add sanity checks
11427         * gst/gstcaps.h: (gst_caps_debug):
11428           remove, it doesn't exist anymore.
11429         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11430         (gst_element_threadsafe_properties_post_run):
11431           make debugging messages not clutter up THREAD debug category
11432         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11433         (gst_element_change_state):
11434           update to new caps API
11435         * gst/gstinterface.c: (gst_implements_interface_cast):
11436           don't put vital code in g_return_if_fail
11437         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11438         (gst_pad_link_filtered):
11439           add pst_pad_try_link and use it.
11440         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11441           implement correctly, deprecate first one.
11442         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11443           add and implement.
11444         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11445           implement.
11446         (gst_pad_get_negotiated_caps):
11447           add and implement. Make GST_PAD_CAPS call this function.
11448         (gst_pad_get_caps):
11449           remove unneeded check..
11450         (gst_pad_recover_caps_error):
11451           disable, always return FALSE.
11452         (gst_real_pad_dispose):
11453           don't free caps and appfilter anymore, they're unused.
11454         * gst/gstpad.h:
11455           Reflect changes mentioned above.
11456         * gst/gstsystemclock.c: (gst_system_clock_wait):
11457           Make 'clock is way behind' a debugging message.
11458         * gst/gstthread.c: (gst_thread_change_state):
11459           Fix debugging message
11460
11461 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11462
11463         * gst/gstinfo.h:
11464           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11465         * docs/gst/tmpl/gstreamer-unused.sgml:
11466           removed all traces of cvs conflicts
11467
11468 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11469
11470         * configure.ac:
11471         * gst/schedulers/cothreads_compat.h:
11472         * libs/Makefile.am:
11473           remove last instances of wingo cothread usage
11474
11475 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11476
11477         * gst/gstplugin.c:
11478         * gst/gstversion.h.in:
11479         * gst/parse/grammar.y:
11480           change comment block from /** to /* when not gtk-doc comments
11481
11482 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11483
11484         * gst/gst.c: whitespace and doc style fixes
11485
11486 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11487
11488         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11489
11490 2003-12-24  Colin Walters  <walters@verbum.org>
11491
11492         * gst/elements/gsttypefindelement.c:
11493           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11494           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11495           Don't double-free caps.
11496
11497 2003-12-23  David Schleef  <ds@schleef.org>
11498
11499         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11500           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11501           Many little fixes and additions of debug statements to
11502           get rhythmbox working.
11503
11504 2003-12-23  Colin Walters  <walters@verbum.org>
11505
11506         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11507         Use GST_PAD_LINK_SUCCESSFUL.
11508
11509 2003-12-23  David Schleef  <ds@schleef.org>
11510
11511         * gst/elements/gstaggregator.c:
11512         * gst/elements/gsttee.c:
11513           Use gst_pad_proxy_getcaps().
11514         * gst/gstpad.c:
11515         * gst/gstpad.h:
11516           Add gst_pad_proxy_getcaps(), which filter elements can use
11517           as a generic getcaps implementation.
11518           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11519           was advertised.
11520
11521 2003-12-23  David Schleef  <ds@schleef.org>
11522
11523         * gst/gstpad.c:
11524           Rearrange/rewrite much of the pad negotiation code, since it
11525           resembled pasta.  This actually changes the way some
11526           negotiation works, since the previous code was inconsistent
11527           depending on how it was invoked.  Add (internal) structure
11528           GstPadLink, which is used to hold some information (more in
11529           the future) about the link between two pads.  Fixes a number
11530           of bugs, including random lossage of filter caps when the
11531           initial negotiation is delayed.  A few functions are still
11532           unimplemented.
11533         * gst/gstpad.h:
11534           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11535           these when testing GstPadLinkReturn values instead of comparing
11536           directly.
11537
11538 2003-12-23  David Schleef  <ds@schleef.org>
11539
11540         * gst/gstvalue.c: 
11541         * gst/gstvalue.h:
11542           Rearrange lots of code.  Change registration of compare function
11543           into registration of compare/serialize/deserialize functions.
11544           Doesn't include implementation of gst_value_[de]serialize(),
11545           but that should be easy.
11546
11547 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11548
11549         * docs/gst/gstreamer-sections.txt:
11550         * docs/gst/tmpl/gstprops.sgml: removed
11551         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11552           David removed props and caps code, so let's remove their docs as well.
11553           Removed all no longer existing symbols from gstreamer-sections.txt
11554           
11555 2003-12-22  Colin Walters  <walters@verbum.org>
11556
11557         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11558           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11559           of tags directly.
11560
11561 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11562
11563         * gst/elements/gstelements.c:
11564           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11565         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11566           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11567           gst_caps (peer).
11568
11569 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11570
11571         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11572         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11573         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11574         (gst_spider_identity_sink_loop_type_finding):
11575         * gst/autoplug/gstspideridentity.h:
11576           Fix autoplugging in spider element, so it works with new caps.
11577           This was mainly caused by identifying empty caps incorrectly.
11578
11579 2003-12-22  David Schleef  <ds@schleef.org>
11580
11581         * gststructure.c, gstvalue.c, gstvalue.h: Add
11582           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11583           using g_value_copy()
11584
11585 2003-12-21  David Schleef  <ds@schleef.org>
11586
11587         * many, many files: Merge CAPS branch.  This includes:
11588           - implemention of GstValue and several GstValue types
11589           - implemention of GstStructure
11590           - entire rewrite of GstCaps
11591           - removal of GstProps
11592           - many changes to GstPad to compensate for new caps paradigm
11593           - removal of GstBufferpool
11594         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11595         gstvalue.h, gst/gstcaps[2]*.[ch]:
11596           - rename gstcaps2.[ch] to gstcaps.[ch]
11597
11598 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11599
11600         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11601         (gst_queue_chain), (gst_queue_handle_src_event):
11602           implement timeout for sending events. Workaround for if the
11603           pipeline on this queue is not passing any data.
11604
11605 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11606                                                                                 
11607         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11608         * moved CVS to freedesktop.org
11609