plugins/: Don't install static libs for plugins. Fixes #550851 for core.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
2
3         * plugins/elements/Makefile.am:
4         * plugins/indexers/Makefile.am:
5           Don't install static libs for plugins. Fixes #550851 for core.
6
7 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
8
9         * gst/gstbus.c: (gst_bus_source_finalize),
10         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
11         (gst_bus_enable_sync_message_emission),
12         (gst_bus_disable_sync_message_emission),
13         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
14         Fix deadlock, g_source_get_id() cannot be called in finalize.
15         Keep track of the watch source by keeping a pointer to the source object
16         instead.
17         Use the bus lock to protect access to the pointer to the current
18         watch source.
19
20 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
21
22         Base on Patch by: Olivier Crete <tester at tester dot ca>
23
24         * gst/gstbus.c: (gst_bus_source_finalize),
25         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
26         Only allow one bus watch to be set at a time. This is necessary
27         because the dispatcher pops the message from the bus and the second
28         watcher will then get NULL or the next message (and the first won't
29         get this next message then, etc). If more than one "watcher" is
30         required signal watches should be used. Fixes bug #526044.
31
32 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
33
34         * tools/gst-launch.c:
35         Change the printing of the 'buffering...' output to avoid putting
36         a \r in a translateable string (flagged by the TP).
37
38 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
39
40         * gst/gstxml.c:
41         Clarify that the save_thyself() and restore_thyself() virtual
42         functions of GstObject need to be overriden, not
43         gst_object_(save|restore)_thyself() which is impossible.
44         Fixes bug #555700.
45
46 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
47
48         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
49         Revert a patch from 21 months ago that broke caps negotiation in pull
50         mode. Basically, having a buffer pass over a pad will trigger the
51         setcaps function when caps change, just like in push mode.
52
53 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
54
55         * docs/design/part-negotiation.txt:
56         Update the docs some more.
57
58         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
59         If we pull a buffer with non-trivial caps, suggest those caps with the
60         max probability.
61
62 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
63
64         * docs/design/part-TODO.txt:
65         Add another limitation of pad-blocking with segment seeks not pushing
66         EOS events.
67
68 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
69
70         * win32/common/libgstbase.def:
71         * win32/common/libgstreamer.def:
72         Add new symbols to the win32 defs files
73
74 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
75
76         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
77         (gst_bin_handle_message_func):
78         The message src can be NULL, don't try to print the object names in that
79         case.
80
81         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
82         Add some more debug info.
83
84         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
85         (GST_START_TEST):
86         Add some debug.
87         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
88         scheduling modes.
89
90 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
91
92         * docs/design/part-negotiation.txt:
93         Small doc update.
94
95         * docs/libs/gstreamer-libs-sections.txt:
96         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
97         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
98         (gst_base_sink_init), (gst_base_sink_set_blocksize),
99         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
100         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
101         (gst_base_sink_loop), (gst_base_sink_pad_activate),
102         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
103         (gst_base_sink_change_state):
104         * libs/gst/base/gstbasesink.h:
105         Add blocksize property and methods to control the amount of data
106         to pull.
107         Negotiate first before activating upstream in pull mode so that they can
108         negotiate themselves.
109         When we operate in pull mode, we only accept the caps that we
110         negotiated.
111         Make the sink go ASYNC to PAUSED, like all other sinks.
112         API: GstBaseSink::gst_base_sink_set_blocksize()
113         API: GstBaseSink::gst_base_sink_get_blocksize()
114         API: GstBaseSink::blocksize
115
116         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
117         (gst_base_src_set_live), (gst_base_src_is_live),
118         (gst_base_src_set_format), (gst_base_src_query_latency),
119         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
120         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
121         (gst_base_src_set_property), (gst_base_src_get_property):
122         * libs/gst/base/gstbasesrc.h:
123         Add typechecking in public API functions.
124         Add methods to control the blocksize in subclasses.
125         API: GstBaseSrc::gst_base_src_set_blocksize()
126         API: GstBaseSrc::gst_base_src_get_blocksize()
127
128 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
129
130         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
131         (buffer_probe), (event_probe), (GST_START_TEST):
132         We now see 3 events go through our pad, since basesink now sends
133         upstream latency events.
134
135 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
136
137         * gst/gstpipeline.c: (gst_pipeline_change_state):
138         Release the object lock before trying to flush the bus.
139
140 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
141
142         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
143         Forward LATENCY events upstreams so that elements know about the total
144         pipeline latency. Fixes #555307.
145
146 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
147
148         * plugins/elements/gstqueue.c:
149         Allow through queries when we don't know how
150         to adjust them (not TIME or BYTES), as otherwise it's
151         not possible to query the current position in order
152         to seek in other formats at all.
153
154 2008-10-08  Andy Wingo  <wingo@pobox.com>
155
156         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
157
158 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
159
160         * gst/gstghostpad.c:
161         * gst/gstghostpad.h:
162         Unbreak -good build, private is a reserved c++ keyword.
163
164 2008-10-08  Andy Wingo  <wingo@pobox.com>
165
166         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
167         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
168         removal: re-add GST_GHOST_PAD_CAST to the header.
169
170         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
171         (GstGhostPadClass): Publically expose these structures so as to
172         allow easy subclassing from C. Hide the member data behind a
173         private opaque data pointer.
174
175         * gst/gstghostpad.c: Adapt to store instance data in the type
176         instance's private data region, not in the public struct.
177
178 2008-10-08  Andy Wingo  <wingo@pobox.com>
179
180         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
181         template via g_object_get(), be sure to unref it.
182
183         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
184
185 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
186
187         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
188         If we can't get a cache file don't try to save something to it.
189         Dereferencing NULL pointers usually isn't a good idea.
190
191 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
192
193         * tests/check/Makefile.am:
194         * tests/check/gst/gstabi.c:
195         * tests/check/gst/struct_sparc.h:
196         * tests/check/libs/libsabi.c:
197         * tests/check/libs/struct_sparc.h:
198         Add Sparc ABI checks
199
200         * tests/check/gst/gstvalue.c: (GST_START_TEST):
201         Cast signed integer to unsigned to avoid a compiler warning.
202
203 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
204
205         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
206         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
207         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
208         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
209         (gst_byte_reader_peek_int24_be):
210         Use new GST_READ_UINT24_(LE|BE) macros.
211
212 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
213
214         * docs/gst/gstreamer-sections.txt:
215         * gst/gstutils.h:
216         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
217         as it's too easy to break the ISO C strict aliasing rules with simple
218         casts to the corresponding type and this would introduce hard to debug
219         bugs. Fixes bug #545714.
220
221         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
222
223 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
224
225         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
226         * gst/gstghostpad.c: (gst_ghost_pad_construct):
227           Add 'Since' bits to gtk-doc chunks for new API.
228
229 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
230
231         * docs/gst/gstreamer-sections.txt:
232         Fix documentation
233
234 2008-10-06  Andy Wingo  <wingo@pobox.com>
235
236         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
237         that will be called on the malloc_data to free it. Basically a way
238         to avoid subclassing when all you need is a different free
239         function, i.e. free() instead of g_free().
240
241         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
242         calling the free function.
243         (gst_buffer_init): Initialize the free function to g_free.
244
245 2008-10-06  Andy Wingo  <wingo@pobox.com>
246
247         * gst/gstghostpad.h:
248         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
249         finishes the initialization of ghost pad. Useful for language
250         bindings and subclassers of GstGhostPad. Fixes #539108.
251         (gst_ghost_pad_new_full): Use the new constructor.
252
253 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
254
255         Base on Patch by: Olivier Crete <tester at tester dot ca>
256
257         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
258         (gst_bin_remove_func), (update_degree),
259         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
260         Keep track of pads that are being linked/unlinked and resync the state
261         changes.
262
263         * gst/gstpad.c: (gst_pad_get_direction),
264         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
265         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
266         (gst_pad_link_prepare), (gst_pad_link),
267         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
268         (gst_pad_check_pull_range), (gst_pad_get_range),
269         (gst_pad_pull_range):
270         Some code cleanups, use macros to check pad direction.
271         Don't need to take the lock on the pad direction.
272         Post structure change when pads are linked/unlinked.
273         Change some checks into _return_if_fail().
274
275         * tests/check/gst/gstbin.c:
276         (test_link_structure_change_state_changed_sync_cb),
277         (GST_START_TEST), (gst_bin_suite):
278         Add testcase for pad link/unlinke resync during a state change.
279         Fixes #510354.
280
281 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
282
283         * docs/gst/gstreamer-sections.txt:
284         * gst/gstmessage.c: (gst_message_new_structure_change),
285         (gst_message_parse_structure_change):
286         * gst/gstmessage.h:
287         Implement STRUCTURE_CHANGED messages. These messages will be used to
288         signal the parent bin of link/unlink operations that could require a
289         resync when doing a state change. See ##510354.
290         API: gst_message_new_structure_change()
291         API: gst_message_parse_structure_change()
292
293 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
294
295         * gst/gstquark.c:
296         * gst/gstquark.h:
297         Add some more quarks for new message. See #510354.
298
299 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
300
301         * docs/libs/gstreamer-libs-docs.sgml:
302         * docs/libs/gstreamer-libs-sections.txt:
303         * libs/gst/base/Makefile.am:
304         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
305         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
306         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
307         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
308         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
309         (gst_bit_reader_skip_to_byte):
310         * libs/gst/base/gstbitreader.h:
311         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
312         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
313         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
314         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
315         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
316         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
317         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
318         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
319         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
320         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
321         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
322         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
323         * libs/gst/base/gstbytereader.h:
324         * tests/check/Makefile.am:
325         * tests/check/libs/bitreader.c: (GST_START_TEST),
326         (gst_bit_reader_suite):
327         * tests/check/libs/bytereader.c: (GST_START_TEST),
328         (gst_byte_reader_suite):
329         API: Add bit reader and byte reader classes, including documentation
330         and an extensive unit test suite. Fixes bug #553554.
331
332 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
333
334         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
335         (gst_base_sink_query):
336         Improve position reporting while flushing and other intermediate state
337         changes. Fixes #553874.
338
339 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
340
341         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
342
343         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
344         Original patch by : Simon Descaries
345         Fix small refount leak in caps compatibility check.
346         Fixes #551676.
347
348 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
349
350         * docs/pwg/advanced-request.xml:
351           Fix 0.8 api usage in example. Fixes #554561
352
353         * docs/pwg/appendix-porting.xml:
354           Change 0.9 to 0.10 here.
355
356 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
357
358         * docs/manual/basics-data.xml:
359           Change "event-event interaction" to "element-element interaction".
360           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
361           updates.
362
363 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
364
365         * configure.ac:
366         Back to development -> 0.10.21.1
367
368 === release 0.10.21 ===
369
370 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
371
372         * configure.ac:
373           releasing 0.10.21, "Take These Things From Me"
374
375 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
376
377         * configure.ac:
378         0.10.20.4 pre-release
379
380 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
381
382         * libs/gst/base/gstbasetransform.c:
383         * plugins/elements/gstcapsfilter.c:
384         * tests/check/Makefile.am:
385         * tests/check/elements/.cvsignore:
386         * tests/check/elements/capsfilter.c:
387         Fix assertion in basetransform when the subclass chooses not to
388         allocate a buffer in prepare_buffer(), and make capsfilter error out
389         cleanly if requested to apply caps that don't completely specify the
390         buffer. Fixes #551509
391
392 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
393
394         * libs/gst/base/gstbasetransform.c:
395         (gst_base_transform_prepare_output_buffer):
396         Take new caps ref because our old one might have been gone when the
397         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
398
399 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
400
401         * configure.ac:
402           Do not probe availability of check unit test library when cross
403           compiling, as test would not work anyway. Also cleanup verbose output
404           of the check test. Fixes #551952.
405
406 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
407
408         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
409
410         * gst/gstelement.c: (gst_element_sync_state_with_parent):
411         Avoid leaking the parent ref when we fail changing the state of the
412         element using gst_element_sync_state_with_parent(). Fixes #551978.
413
414 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
415
416         * docs/manual/intro-motivation.xml::
417           Remove some bits that no longer apply, update others (#551642).
418
419 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
420
421         * configure.ac:
422         0.10.20.2 pre-release
423
424         * po/LINGUAS:
425         * po/id.po:
426         * po/pt_BR.po:
427
428         New translations.
429
430 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
431
432         * win32/common/config.h.in:
433           Add GST_DATADIR, hard-code cpu to x86.
434
435         * win32/common/libgstreamer.def:
436           Spaces to tabs.
437
438 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
439
440         * gst/gsttaglist.h:
441           Fix Since: markers for new geo tags.
442
443 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
444
445         * gst/gsttaglist.h:
446           Fix actual tag name define after renaming from altitude to elevation.
447
448 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
449
450         * gst/gstpad.c: (add_unref_pad_to_list),
451         (gst_pad_get_internal_links_default):
452         Add fallback when calling the deprecated function on an element that
453         implements the new internal_link handler.
454
455 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
456
457         * docs/gst/gstreamer-sections.txt:
458         * gst/gsttaglist.c:
459         * gst/gsttaglist.h:
460           Add new tags for geo location and clarify purpose of existing location
461           tag. Fixes #481169
462
463 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
464
465         Patch by: Olivier Crete <tester at tester dot ca>
466
467         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
468         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
469         Use thread-safe internal links iterator. Fixes #549504.
470
471 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
472
473         Based on patch by: Olivier Crete <tester at tester dot ca>
474
475         * docs/gst/gstreamer-sections.txt:
476         * win32/common/libgstreamer.def:
477         * gst/gstpad.c: (gst_pad_init),
478         (gst_pad_set_iterate_internal_links_function),
479         (int_link_iter_data_free), (iterate_pad),
480         (gst_pad_iterate_internal_links_default),
481         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
482         * gst/gstpad.h:
483         Add threadsafe replacement functions for getting internal links of an
484         element. Deprecate the old internal links functions.
485         API:GstPad::gst_pad_set_iterate_internal_links_function()
486         API:GstPad::GstPadIterIntLinkFunction
487         API:GstPad::gst_pad_iterate_internal_links()
488         API:GstPad::gst_pad_iterate_internal_links_default()
489
490         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
491         (gst_proxy_pad_init):
492         Implement threadsafe internal links.
493
494         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
495         Unit test for internal links on tee. See #549504.
496
497 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
498
499         * tests/check/Makefile.am:
500         libs/transform1 test requires libs/test_transform.c
501
502 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
503
504         * gst/gstpad.c: (gst_pad_get_internal_links_default):
505         Die evil deadlock, die !
506
507 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
508
509         * gst/gstutils.c: (gst_element_get_compatible_pad):
510         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
511         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
512         Fix all leaks due to the bug in gst_pad_template_new() by which it does
513         not steal the refcount of the given caps as stated.
514
515         REVERT THIS COMMIT ONCE FIXED !
516         REVERT THIS COMMIT ONCE FIXED !
517         REVERT THIS COMMIT ONCE FIXED !
518         REVERT THIS COMMIT ONCE FIXED !
519         REVERT THIS COMMIT ONCE FIXED !
520         REVERT THIS COMMIT ONCE FIXED !
521
522 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
523
524         * gst/gstiterator.c:
525         * gst/gstiterator.h:
526         After 3 years it's about time to revise the documentation of the
527         iterator objects.
528
529 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
530
531         * gst/gstpad.c: (gst_pad_get_internal_links_default):
532         Make the internal links function less thread-unsafe and add some
533         comments, dunno why.
534
535 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
536
537         * gst/gst_private.h:
538           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
539           build with --disable-gst-debug.
540
541 2008-08-28  David Schleef  <ds@schleef.org>
542
543         * gst/gstpadtemplate.c: Revert last change, since it breaks
544           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
545           but shouldn't be enabled until we've released fixed versions
546           of -good and -ffmpeg.
547
548 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
549
550         * gst/gstobject.c:
551           Put the gst_object_get_name() back in.
552
553 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
554
555         * gst/gstpadtemplate.c:
556           The old behaviour was that gst_pad_template_new() takes ownership of
557           the caps. As we now call g_object_new() which calls g_object_set() and
558           which copies the caps, we have to unref them to not leak them. Fixes
559           make valgrid for me.
560
561 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
562
563         * gst/gsturi.c:
564           Don't segfault on input like "tel:+1-123-555-1234".
565
566 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
567
568         * gst/gstobject.c:
569           Due to popular request also include ObjectType in
570           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
571
572 2008-08-26  David Schleef  <ds@schleef.org>
573
574         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
575           src_val must be positive, because that's not a requirement.
576           This causes problems with converting negative granulepos
577           values for Dirac.
578         * gst/gstquery.c: Same, gst_query_new_convert().
579
580 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
581
582         * gst/gstclock.c: (gst_clock_add_observation):
583         Add some more debugging to the clock slaving code.
584
585         * win32/common/libgstbase.def:
586         Add new basetransform method.
587
588 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
589
590         * gst/gstbin.c: (gst_bin_element_set_state):
591         Take the (recursive) state lock between getting the locked state of an
592         element and changing the element state. This allows the application to
593         lock an element's state and then change its state without races.
594
595 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
596
597         * gst/gstbin.c: (gst_bin_element_set_state):
598         When an element is in the locked state we still want to update the
599         base_time of the element.
600
601 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
602
603         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
604         Use the result from gst_pad_set_caps() instead of assuming the element
605         always accepted the caps computed by the default negotiate function.
606
607 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
608
609         * docs/libs/gstreamer-libs-sections.txt:
610         * libs/gst/base/gstbasetransform.c:
611         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
612         (gst_base_transform_chain), (gst_base_transform_suggest),
613         (gst_base_transform_reconfigure):
614         * libs/gst/base/gstbasetransform.h:
615         Implement method for reconfiguring basetransform.
616         API: GstBaseTransform::gst_base_transform_reconfigure()
617
618 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
619
620         patch by: Murray Cumming <murrayc@murrayc.com>
621
622         * gst/gstutils.c:
623           Mention that this is just like gst_buffer_merge() but with extra
624           unreffing for C coders. Advise language bindings not to wrap it.
625           Fixes Bug #533856.
626           
627           Also fix file comment.
628
629 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
630
631         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
632
633         * plugins/elements/gstfakesink.c:
634         * plugins/elements/gstfakesrc.c:
635           Call super::event() when not handling it. Fixes #544855.
636
637 2008-08-19  Michael Smith <msmith@songbirdnest.com>
638
639         Patch by: Alessandro Decina <alessandro@nnva.org>
640         * plugins/elements/gstfilesrc.c:
641           Use 64 bit variants of stat functions on win32, to enable support
642           of large files there.
643           Fixes #547277.
644
645 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
646
647         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
648         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
649         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
650         (gst_base_sink_get_position), (gst_base_sink_change_state):
651         Improve position reporting in the flushing state.
652         Also report the position when we are not yet prerolled but we
653         have a newsegment event. Fixes #543444.
654         Improve the pull-based negotiation code.
655
656         * tests/check/elements/fakesink.c: (GST_START_TEST),
657         (fakesink_suite):
658         Add testcase for position reporting while flushing in PAUSED and
659         PLAYING.
660
661         * tests/check/generic/sinks.c: (GST_START_TEST):
662         Update unit-test, we can now query the position as soon as we receive a
663         NEWSEGMENT event.
664
665 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
666
667         Based on patch by: Jason Zhao <e3423c at motorola dot com>
668
669         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
670         When the subclass event handler releases the PREROLL_LOCK, we could be
671         in the flushing state and we have to ignore the event. Fixes #548394.
672
673 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
674
675         * tools/gst-launch.1.in:
676           Document GST_REGISTRY_UPDATE environment variable.
677
678 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
679
680         * libs/gst/base/gstbasetransform.c:
681         (gst_base_transform_prepare_output_buffer):
682         If the element is configured in passthrough mode but the
683         prepare_output_buffer gave us a new output buffer, discard that buffer
684         and reuse the input buffer.
685
686 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
687
688         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
689
690         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
691         (gst_tee_request_new_pad), (gst_tee_release_pad),
692         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
693         * plugins/elements/gsttee.h:
694         Protect pad_alloc with a new lock so that we can be sure that nothing is
695         performing a pad_alloc when removing the pad. Fixes #547835.
696
697         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
698         (buffer_alloc_harness_teardown), (app_thread_func),
699         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
700         Added testcase for shutdown race.
701
702 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
703
704         * gst/gstpad.h:
705         Add doc
706
707 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
708
709         * libs/gst/base/gstbasetransform.c:
710         (gst_base_transform_prepare_output_buffer),
711         (gst_base_transform_buffer_alloc):
712         Go over the buffer_alloc function again and make sure we always end up
713         allocating a buffer.
714         Add some more docs.
715         Avoid doing pad alloc when we have a pending suggestion because we
716         cannot yet deal with changing caps in that case. Fixes #547728
717
718 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
719
720         patch by: Luc Pionchon <luc.pionchon@nokia.com>
721
722         * docs/manual/advanced-clocks.xml:
723         * docs/manual/clocks.png:
724         * docs/manual/diagrams-clocks.svg:
725           Add one more image showing different times together with a describing
726           paragraph. Fixes #547729.
727
728 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
729
730         * win32/common/libgstbase.def:
731         Add new method.
732
733 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
734
735         * libs/gst/base/gstbasetransform.c:
736         (gst_base_transform_transform_caps),
737         (gst_base_transform_prepare_output_buffer),
738         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
739         Don't overwrite the outsize when calculating the expected size of a new
740         buffer because we still need it in case we cannot process the new
741         buffer.
742         When converting the size of the new buffer to an upstream size, actually
743         use the expected size of the buffer, not some other random value.
744         Use an atomic int to signal that a new upstream caps suggestion is
745         available.
746         When we can convert the current buffer to a new format, check if the
747         buffer size is of the expected size and allocate a new buffer of the
748         expected size when this is not the case. Fixes #546883.
749
750         * tests/check/libs/transform1.c: (GST_START_TEST):
751         remove ifdeffed code from the unit test.
752
753 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
754
755         * pkgconfig/gstreamer-uninstalled.pc.in:
756         * pkgconfig/gstreamer.pc.in:
757           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
758           called gstcontroller-0.10.
759
760 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
761
762         * gst/gstchildproxy.h:
763         * gst/gstpreset.h:
764           Remove double interface from doc-string.        
765
766 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
767
768         * libs/gst/base/gstbasesrc.c:
769         * libs/gst/base/gstbasetransform.c:
770           Fix headings in docs and gtk-doc warnings.
771
772 2008-08-11  Michael Smith <msmith@songbirdnest.com>
773
774         * gst/gstregistrybinary.c:
775           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
776           libc.
777           Fixes #544776.
778
779 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
780
781         * libs/gst/base/gstbasetransform.c:
782         (gst_base_transform_buffer_alloc):
783         Fix a "may be used unitialized" warning.
784
785 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
786
787         * docs/gst/gstreamer-sections.txt:
788         * gst/gstpreset.h:
789           Document preset-iface vmethods.
790
791 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
792
793         * docs/manual/advanced-interfaces.xml:
794           Turn thoughts about HAL into a note-tag. Remove mentioning that is
795           only used to discover devices.
796
797 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
798
799         Patch by: Frederic Crozat <fcrozat@mandriva.org>
800
801         * gst/gst.c: (init_pre):
802         Make sure gettext returns translations in UTF-8 encoding rather
803         than in the current locale encoding (#546822).
804
805 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
806
807         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
808         Fix subset test.
809
810         * tests/check/gst/gstcaps.c: (GST_START_TEST):
811         Improve unit test subset tests and add a testcase for the subset failure
812         cases.
813
814         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
815         Improve subtraction unit test.
816
817 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
818
819         * plugins/elements/gsttee.c:
820           Unlock, instead of locking again.
821
822 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
823
824         * gst/gstpad.h:
825         Clarify the docs a bit more.
826
827 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
828
829         * tests/examples/metadata/read-metadata.c:
830           Don't leak old taglist.
831
832 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
833
834         Patch by: Olivier Crete <tester at tester dot ca>
835
836         * gst/gststructure.c:
837         (gst_structure_fixate_field_nearest_fraction):
838         Avoid overflows in fixation code when dealing with MAXINT values, which
839         v4l2src seems to do.
840         Fixes #546328.
841
842         * tests/check/gst/gststructure.c: (GST_START_TEST):
843         Make a unit test to check the fix. 
844
845 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
846
847         * plugins/elements/gstcapsfilter.c: (copy_func),
848         (gst_capsfilter_set_property):
849         Use new caps suggestion feature of basetransform to request a caps
850         negotiation upstream.
851
852 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
853
854         * docs/libs/gstreamer-libs-sections.txt:
855         Add new function:
856         API: GstBaseTransform::gst_base_transform_suggest()
857
858         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
859         (gst_base_transform_init), (gst_base_transform_transform_caps),
860         (gst_base_transform_transform_size),
861         (gst_base_transform_configure_caps),
862         (gst_base_transform_can_transform),
863         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
864         (gst_base_transform_prepare_output_buffer),
865         (gst_base_transform_buffer_alloc),
866         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
867         (gst_base_transform_chain), (gst_base_transform_activate),
868         (gst_base_transform_set_passthrough),
869         (gst_base_transform_is_passthrough),
870         (gst_base_transform_set_in_place),
871         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
872         (gst_base_transform_set_qos_enabled),
873         (gst_base_transform_is_qos_enabled),
874         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
875         (gst_base_transform_reconfigure):
876         * libs/gst/base/gstbasetransform.h:
877         Rewrite of basetransform to perform negotiation outside of the
878         buffer_alloc functions.  Fixes #545853.
879
880         * tests/check/libs/transform1.c: (GST_START_TEST),
881         (buffer_alloc_ct2):
882         Update unit test.
883
884 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
885
886         * tests/check/gst/gstpreset.c:
887           Only run preset tests when $HOME is writable. Preliminary fix for
888           #545433.
889
890 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
891
892         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
893         (gst_bin_change_state_func), (bin_handle_async_done),
894         (gst_bin_handle_message_func):
895         Fix race for bins that simulate ASYNC state changes by inserting
896         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
897         pending ASYNC messages even when the bin does not have ASYNC children.
898         We note detect this behaviour because we will receive an ASYNC message
899         that is originating from the bin itself. 
900         Fixes races with decodebin2 state changes.
901
902         * tests/check/gst/gstbin.c: (GST_START_TEST):
903         Add some more debug.
904
905 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
906
907         * gst/gsttaglist.c: (_gst_tag_initialize):
908           Fix typo.
909
910 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
911
912         * gst/gsttaglist.c:
913           Argh. actually save the text before committing. Now adds
914           gst_tag_merge_strings_with_comma() to gst_tag_register().
915
916 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
917
918         * gst/gsttaglist.c:
919         * gst/gsttaglist.h:
920           Do as tim pointed out and actually register the new tag. Also improve
921           te docs and use gst_tag_merge_strings_with_comma() method to allow
922           retriving all keywords merged in one list.
923
924 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
925
926         * configure.ac:
927         * docs/gst/gstreamer.types:
928           Revert 'accidential' change of the configure option removal. We still
929           need to generate the types file in configure --disable-load-save.
930
931 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
932
933         * docs/gst/gstreamer-sections.txt:
934         * gst/gsttaglist.h:
935           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
936
937 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
938
939         * gst/gstpadtemplate.c:
940           (gst_pad_template_class_init), (gst_static_pad_template_get),
941           (gst_pad_template_new), (gst_pad_template_pad_created),
942           (gst_pad_template_set_property), (gst_pad_template_get_property):
943           Add "name-template", "direction", "presence" and "caps" properties,
944           so that gst_pad_template_new() is just a thin wrapper around
945           g_object_new(), which is better for bindings. (Fixes: #539772)
946
947 2008-07-31  Michael Smith <msmith@songbirdnest.com>
948
949         * gst/gsturi.c:
950           Be more liberal in what URIs we accept.
951           Do not unescape bits of the URI for no apparent reason before passing to
952           the element. Fixes #545352.
953
954 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
955
956         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
957
958         * gst/gst.c:
959         Include gstconfig.h as macros from it are used. Fixes bug #545607.
960
961 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
962
963         * configure.ac:
964         * docs/gst/gstreamer-sections.txt:
965         * docs/gst/gstreamer.types:
966         * docs/gst/gstreamer.types.in:
967         * gst/Makefile.am:
968         * gst/gst.c:
969         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
970         * gst/gstconfig.h.in:
971         * gst/gstelement.c: (gst_element_get_index):
972         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
973         (gst_registry_binary_load_feature),
974         (gst_registry_binary_read_cache):
975         * gst/gstregistryxml.c: (load_feature),
976         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
977         * plugins/Makefile.am:
978         * tools/gst-indent:
979         * tools/gst-inspect.c: (print_index_info), (print_element_list),
980         (print_plugin_features), (print_element_features):
981         * tools/gst-xmlinspect.c: (print_event_masks),
982         (print_element_info):
983         * win32/common/gstconfig.h:
984         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
985
986         Disabling the indexers and URI handler code will only reduce the
987         required amount of memory by a very small amount but on the other hand
988         requires much more maintaince work. Apart from that many places of
989         code are broken when disabling them.
990
991         Disabling the enum types doesn't reduce the required amount of memory
992         by more than a few bytes and makes it hard to fix bugs like #539772,
993         i.e. use the enums as GObject properties.
994
995 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
996
997         * docs/design/part-TODO.txt:
998         Add some thoughts and problems with upstream renegotiation.
999
1000 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1001
1002         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1003         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1004         Remove silly redundant debug.
1005         Add some more debug info.
1006         Clarify the docs regarding new caps received from pad_alloc.
1007
1008 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1009
1010         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1011         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1012         Make setting the caps more threadsafe.
1013
1014 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1015
1016         * docs/design/part-element-transform.txt:
1017         Update docs.
1018
1019 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1020
1021         * plugins/elements/gstqueue.c: (gst_queue_init),
1022         (gst_queue_acceptcaps):
1023         Add and use a custom acceptcaps function instead of falling back to the
1024         potentially less optimized default implementation.
1025
1026 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1027
1028         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1029           Only sanity-check the buffer size if requested_caps == buffer_caps
1030           (ie. don't take pad caps into account, they're not relevant here)
1031
1032 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1033
1034         * plugins/elements/gsttee.c:
1035         * plugins/elements/gsttee.h:
1036           Reverting as not everything is clear yet. Needs some general design
1037           work.
1038
1039 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1040
1041         * ChangeLog:
1042           ChangeLog surgery for tee commit.
1043
1044 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1045
1046         * docs/gst/gstreamer-sections.txt:
1047           Cleanup section-file.
1048
1049 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * plugins/elements/gsttee.c:
1052         * plugins/elements/gsttee.h:
1053           Relay tag events in tee. Fixes parts of #474016.
1054           Downgrades 3 reoccurring debugs to log.
1055
1056 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1057
1058         * configure.ac:
1059         * libs/gst/Makefile.am:
1060           Build the net library if we have winsock2.
1061
1062 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1063
1064         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1065
1066         * docs/manual/advanced-threads.xml:
1067         * docs/manual/diagrams-pipelines.svg:
1068         * docs/manual/hello-world.png:
1069         * docs/manual/linked-elements.png:
1070         * docs/manual/mime-world.png:
1071         * docs/manual/queue.png:
1072         * docs/manual/thread-buffering.png:
1073         * docs/manual/thread-synchronizing.png:
1074           Replace one diagram with two separate ones and updates others.
1075           Fixes #542401.
1076
1077 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1078
1079         * gst/gstelement.h:
1080         Fix link in documentation.
1081
1082 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1083
1084         * gst/gstmessage.c:
1085         Fix confusing documentation.
1086
1087 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1088
1089         * libs/gst/base/gstbasesrc.h:
1090         revert the changes to the header file for the ABI.
1091
1092 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1093
1094         * libs/gst/base/gstbasesrc.c:
1095         * libs/gst/base/gstbasesrc.h:
1096         Don't cache the seekable status.
1097         Fixes bug #544174
1098
1099 2008-07-24  Rene Stadler  <mail@renestadler.de>
1100
1101         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1102         code to close the pipeline graph.  This prevents the program from
1103         printing internal data flow errors.
1104
1105 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1106
1107         * docs/manual/basics-bus.xml:
1108         Correct typo. Fixes bug #544320.
1109
1110 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1111
1112         * configure.ac:
1113           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1114           Add check (taken from -base) for winsock, adds WIN32_LIBS
1115         * gst/Makefile.am:
1116           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1117           winsock.
1118           Define GST_EXPORTS when building libgstreamer (only used on win32)
1119         * gst/gst_private.h:
1120         * gst/gstinfo.h:
1121           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1122           for symbols that we need to export in both these files.
1123         * gst/gstpoll.c:
1124           Include gst_private.h higher up to avoid some compile problems on win32.
1125
1126 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1127
1128         * gst/gstvalue.c:
1129         Fix typos.
1130
1131 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1132
1133         * gst/gstcaps.c:
1134         Previous commit was wrong NULL caps does not exist
1135         and indicate an error, so also add a FIXME to
1136         gst_caps_is_equal where NULL caps are accepted.
1137
1138 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1139
1140         * gst/gstcaps.c:
1141         Allow passing of NULL to gst_caps_union
1142
1143 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1144
1145         * gst/gstghostpad.c:
1146         Add in doc that gst_ghost_pad_set_target can accept
1147         NULL to clear target
1148
1149 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1150
1151         * gst/gstplugin.c:
1152         * gst/gstregistry.c:
1153           GstRegistryPool doesn't exist; don't refer to it in docs.
1154           Don't refer to functions that don't exist in docs, it's
1155           unhelpful.
1156
1157 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1158
1159         * gst/gst.c:
1160         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1161
1162 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1163
1164         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1165
1166         * docs/pwg/building-testapp.xml:
1167         Don't use an undeclared variable in the example program.
1168         Fixes bug #542573.
1169
1170 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1171
1172         * gst/gstdebugutils.c:
1173           Squeeze ghost-pad links and remove <> from classname labels to save
1174           more horizontal space.
1175
1176 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * gst/gstdebugutils.c:
1179           Give request and sometimes pads a different shpe style. Condense the
1180           graphs a little more.
1181
1182 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1183
1184         * configure.ac:
1185           Don't require flex and bison if the parser is disabled.
1186
1187 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1188
1189         * libs/gst/controller/gstinterpolationcontrolsource.c:
1190         (_list_find_sorted_custom):
1191         Don't use declarations after statements.
1192
1193 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1194
1195         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1196         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1197         of the the child-added / -removed signals as GstChildProxy
1198         only supports GstObjects.
1199
1200 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1201
1202         * gst/gstdebugutils.c:
1203         Fix memleak
1204
1205 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1206
1207         Patch by: Alessandro Decina <alessandro at nnva dot org>
1208
1209         * gst/gstpoll.c:
1210         Fix "ignored return value" compiler warning with newer glibc.
1211
1212 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1213
1214         * gst/gstchildproxy.c:
1215         Fix copy&paste error in gst_child_proxy_removed() documentation.
1216
1217 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1218
1219         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1220           Print error debug message if plugin description fields that should
1221           be set are NULL.
1222
1223         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1224           Don't crash if the string to serialise is NULL (it really should
1225           not be, but apparently this used to work with the xml registry ...).
1226
1227 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1228
1229         * tools/gst-plot-timeline.py:
1230         Fix parsing of log messages
1231
1232 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1233
1234         * win32/common/libgstbase.def::
1235           Sort alphabetically so make check-exports doesn't barf.
1236
1237 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1238
1239         * gst/gstevent.c:
1240           Use gst_format_get_name() to improve debug output.
1241
1242         * gst/gstpreset.c:
1243           Remove #ifdef'ed code. Add TODO comment.
1244
1245         * gst/gstsegment.c:
1246           Add debug output to ease spotting format != segment.format assertions.
1247
1248 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1249
1250         * tests/check/libs/gdp.c: (gst_dp_suite):
1251         Also enable the GDP unit test again on PPC now that the bug
1252         is fixed.
1253
1254 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1255
1256         * libs/gst/dataprotocol/dataprotocol.c:
1257         Don't write to the same region of memory as a uint64 and uint16
1258         as this breaks strict aliasing rules and apparantly breaks on PPC
1259         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1260
1261 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1262
1263         * libs/gst/controller/gstinterpolationcontrolsource.c:
1264           Optimize list handling. Use own find function. Exploit that fact that
1265           the list is sorted. Also pass back the node before, so that we can
1266           insert quickly. Have a fast path for append.
1267
1268 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1269
1270         * docs/design/draft-framestep.txt:
1271         * docs/design/part-negotiation.txt:
1272           Fix two typos.
1273
1274 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1275
1276         * configure.ac:
1277           Show configuration sumary after configure run. Based on patch by
1278           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1279
1280 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1281
1282         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1283
1284         * docs/manual/advanced-autoplugging.xml:
1285         * docs/manual/advanced-threads.xml:
1286         * docs/manual/basics-bins.xml:
1287         * docs/manual/basics-elements.xml:
1288         * docs/manual/basics-helloworld.xml:
1289         * docs/manual/basics-pads.xml:
1290           Add scale factor for pdf output.
1291
1292         * docs/manual/intro-basics.xml:
1293           Switched sections "pads" and "bins" and added a pipeline diagram.
1294
1295         * docs/manual/intro-gstreamer.xml:
1296           Added more info on gstreamer.
1297
1298         * docs/manual/intro-motivation.xml:
1299           Commented out the whole section "current problem", which sounds
1300           historical and somehow osolete; it could be turned in a positive
1301           way and reused to improve the design principles.
1302
1303         * docs/manual/intro-preface.xml:
1304           - Update URLs to library.gnome.org. 
1305           - Do not mention GTK+ in preliminary reading (irrelevant). 
1306           - Mention Plugin Writer's Manual and further reading only in the
1307             previous section.
1308           - Added a list of most relevant GObject/glib topics.
1309
1310         * docs/manual/Makefile.am:
1311         * docs/manual/bin-element-ghost.fig:
1312         * docs/manual/bin-element-ghost.png:
1313         * docs/manual/bin-element-noghost.fig:
1314         * docs/manual/bin-element-noghost.png:
1315         * docs/manual/bin-element.fig:
1316         * docs/manual/bin-element.png:
1317         * docs/manual/filter-element-multi.fig:
1318         * docs/manual/filter-element-multi.png:
1319         * docs/manual/filter-element.fig:
1320         * docs/manual/filter-element.png:
1321         * docs/manual/gstreamer-overview.png:
1322         * docs/manual/hello-world.fig:
1323         * docs/manual/hello-world.png:
1324         * docs/manual/linked-elements.fig:
1325         * docs/manual/linked-elements.png:
1326         * docs/manual/mime-world.fig:
1327         * docs/manual/mime-world.png:
1328         * docs/manual/queue.fig:
1329         * docs/manual/queue.png:
1330         * docs/manual/simple-player.png:
1331         * docs/manual/sink-element.fig:
1332         * docs/manual/sink-element.png:
1333         * docs/manual/src-element.fig:
1334         * docs/manual/src-element.png:
1335         * docs/manual/diagrams-general.svg:
1336         * docs/manual/diagrams-pipelines.svg:
1337           Removed .fig, added .png counterpart.
1338           
1339           Fixes: #539137
1340
1341 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1342
1343         * plugins/elements/gstmultiqueue.c:
1344         * plugins/elements/gstmultiqueue.h:
1345         revert extra-size-buffers stuff, caused some race conditions
1346         and extra-size-buffers is not used anymore. Docs needs some updates
1347
1348 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1349
1350         * win32/common/config.h:
1351         * win32/common/gstenumtypes.c:
1352         * win32/common/gstenumtypes.h:
1353         * win32/common/gstversion.h:
1354           Update win32 files.
1355
1356 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1357
1358         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1359           (GST_DEBUG_BIN_TO_DOT_FILE):
1360           Add missing Since' markers to gtk-doc blurbs.
1361
1362 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1363
1364         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1365         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1366         (set_caps_1), (set_caps_ct1), (transform_ct1),
1367         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1368         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1369         (transform_size_ct2), (buffer_alloc_ct2):
1370         Add some more tests with switching caps in buffer_alloc.
1371
1372 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1373
1374         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1375         (gst_test_trans_class_init), (result_sink_chain),
1376         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1377         (gst_test_trans_push), (gst_test_trans_pop):
1378         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1379         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1380         (set_caps_1), (set_caps_ct1), (transform_ct1),
1381         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1382         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1383         (transform_size_ct2), (buffer_alloc_ct2),
1384         (gst_basetransform_suite):
1385         More tests, prepare for tests with switching caps in buffer_alloc.
1386
1387 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1388
1389         * plugins/elements/gstmultiqueue.c:
1390         * plugins/elements/gstmultiqueue.h:
1391         Fix dead-lock in underrun_cb
1392
1393 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1394
1395         * docs/design/part-states.txt:
1396         Fix device open/close docs.
1397
1398 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1399
1400         * ChangeLog:
1401           Mention bugnumber for last commit.
1402
1403 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1404
1405         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1406
1407         * docs/manual/manual.xml:
1408         - Reorganised the previous "introduction" bundle into Foreword,
1409         Introduction, and About GStreamer. The two first are <preface>
1410         docbook elements. The later is the first part of the book.
1411         - added intro-gstreamer.xml (content partially from
1412         intro-preface.xml)
1413         - moved appendix-win32.xml into appendix-integration.xml
1414
1415         * docs/manual/intro-preface.xml: gstreamer section moved...
1416         * docs/manual/intro-gstreamer.xml: ...here. new file.
1417
1418         * docs/manual/appendix-win32.xml: removed file. Content moved...
1419         * docs/manual/appendix-integration.xml: ...here.
1420         
1421         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1422         * docs/manual/appendix-checklist.xml: ...here.
1423         
1424         Fixes: 538764
1425
1426 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1427
1428         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1429
1430         * docs/manual/basics-helloworld.xml:
1431         * docs/manual/hello-world.fig:
1432           - Explicitely include glib.h.
1433           - Do not use global variables.
1434           - Use g_printerr() instead of g_print().
1435           - Minor formating/renaming to increase readibility.
1436           - Renamed new_pad() to on_pad_added()
1437           - Improved explenatory comments.
1438           - renamed ogg parser to ogg demuxer
1439           - Use "autoaudiosink" instead of "alsasink".
1440           Fixes: #538619
1441
1442 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * ChangeLog:
1445           Remove cvs conflict marker.
1446
1447 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1448
1449         * docs/README:
1450           Document that for plgin-docs we extraxt he short-desc from the element
1451           details.
1452
1453         * docs/design/part-states.txt:
1454           Tell that devices should be closed in PAUSED -> READY.
1455
1456         * docs/manual/README:
1457           Document how tests in the manual are handled.
1458
1459         * docs/manuals.mak:
1460           Typo in comment.
1461
1462 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1463
1464         * gst/gstbin.c: (bin_query_latency_fold):
1465         Only care about latency min and max when the sink is actually a live
1466         sink.
1467
1468 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1469
1470         * docs/design/part-block.txt:
1471         Fix typo.
1472
1473         * docs/design/part-element-transform.txt:
1474         Add notes about why transform needs to know input/output sizes.
1475         Add some issues that need to be solved.
1476         Add some more use cases.
1477
1478         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1479         (gst_test_trans_class_init), (result_sink_chain),
1480         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1481         (gst_test_trans_push), (gst_test_trans_pop):
1482         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1483         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1484         (set_caps_1), (set_caps_ct1), (transform_ct1),
1485         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1486         (gst_basetransform_suite):
1487         Add suport for different pad templates and buffer-alloc.
1488         Add more checks for caps and buffer-alloc.
1489         Add checks for proxy buffer alloc.
1490         Add unit test for copy transform.
1491
1492 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1493
1494         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1495
1496         * docs/manual/appendix-integration.xml:
1497         * docs/manual/appendix-licensing.xml:
1498         * docs/manual/basics-elements.xml:
1499         * docs/manual/basics-helloworld.xml:
1500         * docs/manual/basics-pads.xml:
1501         * docs/manual/highlevel-components.xml:
1502         * docs/manual/highlevel-xml.xml:
1503         * docs/manual/intro-basics.xml:
1504         * docs/manual/intro-preface.xml:
1505           Typo and formatting fixes (#538594).
1506
1507 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1508
1509         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1510         Fix some memory leaks and uses of object instances that we don't
1511         actually own.
1512
1513 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1514
1515         * plugins/elements/gstmultiqueue.c:
1516         Add functionality to extra-size-buffers property.
1517
1518 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1519
1520         * plugins/elements/gstmultiqueue.c:
1521         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1522         activate the pads if they are added in STATE_NULL.
1523
1524 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1525
1526         * docs/libs/gstreamer-libs-sections.txt:
1527         Add new API to doc
1528         * libs/gst/check/gstcheck.c:
1529         * libs/gst/check/gstcheck.h:
1530         API: gst_check_teardown_pad_by_name
1531
1532 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1533
1534         * libs/gst/check/gstcheck.c:
1535         * libs/gst/check/gstcheck.h:
1536         Also setup request pads and allow setup pads by name (#537812)
1537         API: gst_check_setup_src_pad_by_name
1538         API: gst_check_setup_sink_pad_by_name
1539
1540 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1541
1542         * tests/check/gst/gstbuffer.c:
1543         * tests/check/pipelines/parse-launch.c:
1544           Use HAVE_VALGRIND_H some more.
1545
1546 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1547
1548         * scripts/cvs-update.sh:
1549           Pass arguments to make.
1550           Run autoregen.sh if Makefile is not there.
1551
1552 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1553
1554         * configure.ac:
1555         * gst/gstinfo.c:
1556           Don't assume that <valgrind/valgrind.h> exists just because
1557           the binary is there.
1558
1559 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1560
1561         * tests/check/Makefile.am:
1562         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1563         (gst_test_trans_class_init), (gst_test_trans_init),
1564         (gst_test_trans_set_data), (result_sink_chain),
1565         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1566         (gst_test_trans_pop):
1567         * tests/check/libs/transform1.c: (GST_START_TEST),
1568         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1569         Add some test basetransform element and the beginnings of various
1570         unit tests for it.
1571
1572 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1573
1574         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1575         Increase code readability.
1576         Don't try to compare buffer offsets when ther are invalid.
1577
1578 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1579
1580         * docs/design/Makefile.am:
1581           Dist some more design docs.
1582
1583         * docs/random/moving-plugins:
1584           Small addition: good plugins mustn't have functional code
1585           within assertion macros.
1586
1587 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1588
1589         * docs/design/draft-framestep.txt:
1590         Some ideas about a framestep API
1591
1592         * docs/design/part-element-transform.txt:
1593         Start design and use cases for basetransform in order to get it
1594         fixed soon.
1595
1596 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1597
1598         * gst/gsttaglist.h:
1599           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1600           be in UTF-8 encoding.
1601
1602 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1603
1604         * gst/gstbus.c:
1605           Make it known that gst_bus_poll() is pure evil (fixes #538810).
1606
1607 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1608
1609         * plugins/elements/gstcapsfilter.c:
1610         * plugins/elements/gstfakesink.c:
1611         * plugins/elements/gstfakesrc.c:
1612         * plugins/elements/gstfdsink.c:
1613         * plugins/elements/gstfdsrc.c:
1614         * plugins/elements/gstfilesink.c:
1615         * plugins/elements/gstfilesrc.c:
1616         * plugins/elements/gstidentity.c:
1617         * plugins/elements/gstmultiqueue.c:
1618         * plugins/elements/gstqueue.c:
1619         * plugins/elements/gsttee.c:
1620         * plugins/elements/gsttypefindelement.c:
1621           Remove short_description. Add basic docs for gsttypefindelement.
1622           Simplify markup for fakesrc/fdsrc.
1623
1624 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1625
1626         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1627         Added Since doc.
1628
1629 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1630
1631         Patch by: Joel Larsson <tilljoel at gmail dot com>
1632
1633         * docs/plugins/gstreamer-plugins.args:
1634         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1635         (gst_fd_src_init), (gst_fd_src_update_fd),
1636         (gst_fd_src_set_property), (gst_fd_src_get_property),
1637         (gst_fd_src_create):
1638         * plugins/elements/gstfdsrc.h:
1639         Add timeout property like udpsrc. Fixes #538628.
1640         Add some more docs and example pipelines.
1641
1642 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1643
1644         * docs/libs/gstreamer-libs-sections.txt:
1645         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1646         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
1647         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
1648         (gst_base_sink_do_sync):
1649         * libs/gst/base/gstbasesink.h:
1650         * win32/common/libgstbase.def:
1651         Add method to allow sinks to specify additional delay between the sync
1652         times and the actual rendering of the data.
1653         API: gst_base_sink_set_render_delay()
1654         API: gst_base_sink_get_render_delay()
1655
1656 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
1657
1658         * configure.ac:
1659         Bump version number back to dev -> 0.10.20.1
1660
1661 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
1662
1663         * docs/gst/gstreamer-sections.txt:
1664         * gst/gsttaglist.c: (_gst_tag_initialize):
1665         * gst/gsttaglist.h:
1666         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
1667         Fixes bug #538568.
1668
1669 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1670
1671         * libs/gst/controller/gstcontroller.c:
1672           Revert one change, that make ret value possible uninitialized.
1673
1674 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1675
1676         * libs/gst/controller/gstcontroller.c:
1677           Use freeze/thaw notify to sync notify emission a bit (its also more
1678           efficient). Move debug output to LOG (is called a lot in a loop).
1679           Always unset g_values if the have been initialized.
1680
1681 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1682
1683         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1684         (gst_base_sink_wait_eos), (gst_base_sink_event):
1685         If we have not seen a buffer before EOS, use the segment values to
1686         report the current position instead of invalid positions.
1687
1688 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1689
1690         * docs/plugins/tmpl/.cvsignore:
1691         * tests/check/gst/.cvsignore:
1692           Ignore more.
1693
1694 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1695
1696         * libs/gst/controller/gstinterpolation.c:
1697         * libs/gst/controller/gstinterpolationcontrolsource.c:
1698         * tests/check/libs/controller.c:
1699           Rewrite handling of default values. Fix overflow with unsigned types
1700           in linear interpolation. Remove now obsolete _first_value() function.
1701           Add more tests. Fixes #538201.
1702
1703 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1704
1705         * libs/gst/base/gstbasetransform.c:
1706         (gst_base_transform_class_init), (gst_base_transform_init),
1707         (gst_base_transform_transform_caps),
1708         (gst_base_transform_prepare_output_buffer):
1709         Add debug info.
1710         When a buffer is writable, its metadata is also writable so we don't
1711         need to subbuffer (which then makes the buffer not-writable anymore).
1712
1713 === release 0.10.20 ===
1714
1715 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
1716
1717         * configure.ac:
1718           releasing 0.10.20, "You Crazy Diamond"
1719
1720 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
1721
1722         * configure.ac:
1723         0.10.19.3 pre-release
1724
1725 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
1726
1727         * configure.ac:
1728         * gst/gstpreset.c:
1729         Rename DATADIR to GST_DATADIR to avoid build problems
1730         on win32. Patch By: David Schleef <ds@schleef.org>
1731         Fixes: #536857
1732
1733 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
1734
1735         * configure.ac:
1736         Explicitely link with -ldl if dladdr() is found there. Before it was
1737         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
1738         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
1739
1740 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1741
1742         * gst/gsterror.c: (_gst_stream_errors_init):
1743           Fix typo (spotted by Fabricio Godoy, #536723).
1744
1745 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
1746
1747         * configure.ac:
1748         0.10.19.2 pre-release
1749
1750 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1751
1752         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
1753         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
1754         Add some debug.
1755         Make sure we don't generate invalid QoS messages.
1756
1757 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1758
1759         * gst/gstevent.c: (gst_event_new_qos):
1760         Add some assert and docs for invalid input to the qos function.
1761
1762 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1763
1764         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1765         (gst_base_sink_get_position):
1766         The reported position must always be smaller than the last seen
1767         timestamps (or timestamp + duration for reverse).
1768
1769 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
1770
1771         Patch by: Rob Bradford <rob at robster dot org dot uk>
1772
1773         * gst/gstregistry.c: (gst_registry_scan_path_level):
1774         Don't recurse into .debug directories as some distros install
1775         the debugging symbols next to the plugins in .debug directories
1776         and dlopen() crashes on them sometimes. Fixes bug #508070.
1777
1778         Add FIXME for 0.11 to not recurse into directories at all because
1779         it's very inconsistent to the behaviour of other PATH environment
1780         variables.
1781
1782 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1783
1784         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1785         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
1786         Fix position query range checks in reverse playback.
1787
1788 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
1789
1790         * gst/gstelement.c:
1791         * gst/gstelement.h:
1792         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
1793         clear of the reference to the resulting pad must be released later
1794         or not, resulting in possible leaks. Fixes bug #533865.
1795
1796 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1797
1798         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1799
1800         * gst/gstelementfactory.c:
1801         Small doc fix. Fixes #535285.
1802
1803 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1804
1805         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
1806
1807         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1808         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1809         (gst_base_src_loop), (gst_base_src_set_flushing),
1810         (gst_base_src_change_state):
1811         Make sending an EOS event to the basesrc non-blocking even if the
1812         implementation does blocking waits in the create function. This is done
1813         by unlocking the create function when EOS is sent.
1814         Fixes #535218.
1815
1816 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1817
1818         * tools/gst-inspect.c: (print_element_properties_info):
1819         If possible print the element type of GValueArray properties.
1820
1821 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1822
1823         * gst/gstiterator.c:
1824         Remove an unused field from the private GstListIterator struct.
1825
1826 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1827
1828         * libs/gst/controller/gstcontroller.c:
1829           Add parameter guards.
1830
1831 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1832
1833         * tests/check/gst/gstpipeline.c:
1834           Revert test change and add comment why it should not work.
1835
1836 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1837
1838         * tests/check/gst/gstpipeline.c:
1839           Extending the test a little to verify that we also get the NULL state-
1840           change message.
1841
1842 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1843
1844         * gst/gstpreset.c: (gst_preset_default_get_meta),
1845           (gst_preset_get_preset_names), (gst_preset_get_property_names),
1846           (gst_preset_load_preset), (gst_preset_save_preset),
1847           (gst_preset_rename_preset), (gst_preset_delete_preset),
1848           (gst_preset_set_meta):
1849           Add Since: markers to docs blurbs.
1850
1851         * win32/common/libgstreamer.def:
1852           Add recently-added API.
1853
1854 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1855
1856         Patch by: Stefan Kost  <ensonic@users.sf.net>
1857
1858         * configure.ac:
1859         Add DATADIR for storing presets.
1860
1861         * docs/gst/gstreamer-docs.sgml:
1862         * docs/gst/gstreamer-sections.txt:
1863         * docs/gst/gstreamer.types.in:
1864         Add GstPreset to docs.
1865
1866         * gst/Makefile.am:
1867         * gst/gst.h:
1868         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
1869         (preset_open_and_parse_header), (preset_parse_version),
1870         (preset_merge), (preset_get_keyfile),
1871         (gst_preset_default_get_preset_names),
1872         (gst_preset_default_get_property_names),
1873         (gst_preset_default_load_preset),
1874         (gst_preset_default_save_presets_file),
1875         (gst_preset_default_save_preset),
1876         (gst_preset_default_rename_preset),
1877         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
1878         (gst_preset_default_get_meta), (gst_preset_default_randomize),
1879         (gst_preset_default_reset), (gst_preset_get_preset_names),
1880         (gst_preset_get_property_names), (gst_preset_load_preset),
1881         (gst_preset_save_preset), (gst_preset_rename_preset),
1882         (gst_preset_delete_preset), (gst_preset_set_meta),
1883         (gst_preset_get_meta), (gst_preset_class_init),
1884         (gst_preset_base_init), (gst_preset_get_type):
1885         * gst/gstpreset.h:
1886         Add GstPreset to core. Fixes #396779
1887
1888         * tests/check/Makefile.am:
1889         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
1890         (gst_preset_test_set_property), (gst_preset_test_class_init),
1891         (gst_preset_test_base_init), (gst_preset_test_get_type),
1892         (gst_preset_test_plugin_init), (GST_START_TEST),
1893         (remove_preset_file), (test_setup), (test_teardown),
1894         (gst_preset_suite):
1895         Add GstPreset unit tests.
1896
1897 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1898
1899         * gst/gstpad.c: (gst_pad_event_default_dispatch):
1900         The default event function on a sinkpad should return TRUE when
1901         there are no internal links but should collect the return values from
1902         the internal links otherwise.
1903
1904 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1905
1906         * plugins/elements/gsttypefindelement.c:
1907         (gst_type_find_element_src_event),
1908         (gst_type_find_element_handle_event):
1909         Use faster and safer _pad_push_event().
1910
1911 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1912
1913         * docs/gst/gstreamer-sections.txt:
1914         * gst/gstutils.c: (element_find_unlinked_pad),
1915           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
1916         * gst/gstutils.h:
1917           API: add gst_bin_find_unlinked_pad()
1918           API: deprecate gst_bin_find_unconnected_pad() (#401456)
1919
1920 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
1921
1922         * gst/gstclock.c:
1923         * gst/gstclock.h:
1924         * gst/gsttask.c:
1925         * gst/gsttask.h:
1926         Fixed a bunch of typos.
1927
1928 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1929
1930         * gst/gstpad.h:
1931         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
1932           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
1933           (gst_parse_bin_from_description_full):
1934         * gst/gstutils.h:
1935           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
1936
1937 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1938
1939         * docs/pwg/advanced-tagging.xml:
1940           Small docs update, can't be bothered to rewrite the nonsensical
1941           examples right now.
1942
1943 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1944
1945         * gst/gstevent.h:
1946           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
1947
1948 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1949
1950         * gst/parse/grammar.y:
1951           Remove unneeded casts.
1952
1953 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1954
1955         * gst/parse/grammar.y:
1956         * tests/check/pipelines/parse-launch.c:
1957           Get all missing elements from a parse launch string if possible
1958           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
1959
1960 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1961
1962         * tests/check/Makefile.am:
1963         * tests/check/pipelines/parse-launch.c:
1964           Add some unit tests for the new gst_parse_launch*_full() API.
1965           (Exposes a previously-existing memory leak in the error code
1966           path, so adding to VALGRIND_TO_FIX for now).
1967
1968 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1969
1970         * docs/gst/gstreamer-sections.txt:
1971         * gst/gst.c: (init_post):
1972         * gst/gst_private.h: (_GstParseContext):
1973         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
1974           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
1975           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
1976           (gst_parse_launch_full):
1977         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
1978           (GstParseFlags), (GstParseContext):
1979         * gst/gstutils.c: (gst_parse_bin_from_description),
1980           (gst_parse_bin_from_description_full):
1981         * gst/gstutils.h:
1982         * gst/parse/grammar.y:
1983         * gst/parse/types.h:
1984         * win32/common/libgstreamer.def:
1985           Add new gst_parse_*_full API (#528178):
1986           API: gst_parse_launch_full()
1987           API: gst_parse_launchv_full()
1988           API: gst_parse_bin_from_description_full()
1989           API: gst_parse_context_new()
1990           API: gst_parse_context_free()
1991           API: gst_parse_context_get_missing_elements()
1992
1993 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
1994
1995         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
1996
1997         * docs/faq/gst-uninstalled:
1998           Also support ffmpeg in gst-uninstalled.
1999
2000 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2001
2002         * configure.ac:
2003         After discussion on IRC use the binary registry as default
2004         but allow to disable it with --disable-binary-registry.
2005
2006         * win32/common/libgstreamer.def:
2007         Add the two new symbols for the binary registry.
2008
2009 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2010
2011         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2012         * gst/gstutils.c: (gst_parse_bin_from_description):
2013         * gst/parse/grammar.y: (graph):
2014           More guards against bad input; typo fix; some minor clean-ups.
2015
2016 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2017
2018         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2019
2020         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2021         If nothing else can be used, use the last buffer's start time as
2022         the segment's last stop. Fixes bug #534258.
2023
2024 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2025
2026         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2027           Move size sanity check to the right place: downstream may return
2028           a buffer with a smaller size if the buffer caps are different than
2029           the requested ones, as may happen when doing reverse negotiation.
2030
2031 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2032
2033         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2034         (gst_file_sink_render):
2035         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2036         (gst_file_src_start):
2037         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2038         use it yet.
2039
2040 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2041
2042         * gst/gstpad.c: (gst_pad_load_and_link):
2043         * gst/gstutils.c: (gst_element_link_pads),
2044         (gst_element_unlink_pads):
2045         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2046         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2047         (gst_check_teardown_sink_pad),
2048         (gst_check_element_push_buffer_list):
2049         * tests/check/elements/fakesink.c: (GST_START_TEST):
2050         * tests/check/elements/filesink.c:
2051         * tests/check/elements/filesrc.c: (GST_START_TEST):
2052         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2053         (mq_sinkpad_to_srcpad):
2054         * tests/check/elements/tee.c: (GST_START_TEST):
2055         * tests/check/generic/sinks.c: (GST_START_TEST):
2056         * tests/check/gst/gstbin.c: (GST_START_TEST):
2057         * tests/check/gst/gstevent.c: (GST_START_TEST):
2058         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2059         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2060         * tests/check/gst/gstquery.c: (GST_START_TEST):
2061         * tests/check/gst/gstutils.c: (GST_START_TEST):
2062         * tests/check/libs/basesrc.c: (GST_START_TEST):
2063         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2064         (gst_parse_test_element_change_state):
2065         Don't use gst_element_get_pad().
2066
2067 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2068
2069         * docs/Makefile.am:
2070         Fix installing plugin documentation when gtk-doc is disabled.
2071
2072 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2073
2074         * docs/manual/advanced-autoplugging.xml:
2075         * docs/manual/basics-helloworld.xml:
2076         * docs/manual/basics-pads.xml:
2077         * docs/manual/highlevel-components.xml:
2078         Avoid using a bad function in the example code.
2079
2080 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2081
2082         * gst/gstclock.c: (gst_clock_set_calibration):
2083         Fix debug of the new clock rate.
2084
2085 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2086
2087         * win32/common/libgstbase.def:
2088         Add gst_base_sink_wait_clock() to the exported symbols.
2089
2090 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2091
2092         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2093
2094         * libs/gst/base/gstbasetransform.c:
2095         (gst_base_transform_sink_event):
2096         Unref events that the GstBaseTransform::event vfunc didn't want to
2097         have forwarded by the base class. Closes a leak in identity.
2098         Fixes bug #446763.
2099
2100 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2101
2102         * docs/libs/gstreamer-libs-sections.txt:
2103         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2104         * libs/gst/base/gstbasesink.h:
2105         Expose a method that was previously used internally to synchronize
2106         against the clock because it can be useful for subclasses too.
2107         API: GstBaseSink::gst_base_sink_wait_clock()
2108
2109 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2110
2111         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2112           Add sanity check to make sure we don't get smaller buffers
2113           than requested (and fallback to normal buffer alloc if we do).
2114
2115 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2116
2117         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2118         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2119         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2120         Refactor adjusting the running_time with latency and offset into a
2121         separate method.
2122         When doing clipping, we still want to use the subclass get_times method,
2123         just in case the DURATION or TIMESTAMP are not set.
2124
2125 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2126
2127         * docs/gst/gstreamer-sections.txt:
2128         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2129         * gst/gsttypefind.h:
2130         * win32/common/libgstreamer.def:
2131           API: add gst_type_find_suggest_simple(), #533740.
2132
2133 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2134
2135         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2136           Use right error code when typefinding fails, so we can use
2137           the default (translated) error messages.
2138
2139 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2140
2141         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2142         (gst_base_src_start):
2143         When the subclass did not set caps on outgoing buffers, configure the
2144         caps we negotiated on the source pad.
2145         When the typefind helper does not find caps, error out properly instead
2146         of doing things with NULL caps.
2147
2148 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2149
2150         * gst/gsttypefind.h:
2151           Tabs to spaces, oh yes!
2152
2153 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2154
2155         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2156           Add David's and Benjamin's tests for array intersection to the
2157           unit test suite (#147931).
2158
2159 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2160
2161         * gst/gstevent.c:
2162           Document that gst_event_new_tag() and gst_event_new_navigation()
2163           take ownership of the taglist/structure passed to them. (#533635).
2164
2165 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2166
2167         * docs/Makefile.am:
2168         Don't descend into the plugins dir if plugin docs building
2169         is disabled.
2170
2171         * docs/README:
2172         Add a note about the new type:GTypeName syntax for the plugin
2173         documentation .types file.
2174
2175 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2176
2177         * gst/gstmessage.c: (gst_message_new_error),
2178         (gst_message_new_warning), (gst_message_new_info):
2179         * gst/gstmessage.h:
2180         Mark the debug string parameters as const. Fixes bug #533490.
2181
2182 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2183
2184         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2185         Sort buffer cache list by end offsets. This makes sure that we don't
2186         stop to search for a cached buffer that contains the requested data
2187         too early.
2188         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2189         more efficient. Fixes bug #459862.
2190
2191 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2192
2193         * gst/gstinfo.c:
2194           Explain why we copy the list.
2195
2196         * gst/gstpipeline.c:
2197           Improve docs.
2198
2199         * gst/gstutils.c:
2200           Add one debug-log statement to help tracing probelms with linking pads.
2201
2202 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2203
2204         * tests/check/gst/gstinfo.c:
2205         Add a test for removing the default log handler. Seems to fail under
2206         windows.
2207
2208 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2209
2210         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2211         Release pad lock before calling out to avoid a possible deadlock.
2212
2213 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2214
2215         * gst/parse/grammar.y:
2216         Remove unneeded value unset.
2217
2218         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2219         Add unit test for de/serialization of caps.
2220
2221 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2222
2223         * plugins/elements/gstfakesink.c:
2224         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2225         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2226         (gst_fake_src_class_init):
2227         Use custom marshalers that take GstMiniObject as first parameter.
2228         Using OBJECT as parameter while a GstMiniObject is given will lead
2229         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2230
2231 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2232
2233         * plugins/elements/gsttypefindelement.c:
2234         (gst_type_find_element_handle_event),
2235         (gst_type_find_element_send_cached_events),
2236         (gst_type_find_element_change_state):
2237         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2238         immediately.
2239
2240 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2241
2242         * plugins/elements/gsttypefindelement.c:
2243         (gst_type_find_handle_src_query), (stop_typefinding),
2244         (gst_type_find_element_handle_event),
2245         (gst_type_find_element_send_cached_events),
2246         (gst_type_find_element_change_state):
2247         Forward FLUSH_START events immediately and clean up instead of
2248         caching them.
2249
2250 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2251
2252         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2253
2254         * libs/gst/base/gstbasetransform.c:
2255         (gst_base_transform_buffer_alloc):
2256         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2257         fall back to default negotiation in the chain function if the caps
2258         are different from what was requested. Fixes bug #526768.
2259
2260 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2261
2262         * gst/gstsegment.c:
2263         * tests/check/gst/gstsegment.c:
2264           No, let's not use g_slice_{dup|copy} here, since they only exist
2265           since GLib 2.14 and we still depend only on >= 2.12. Also add
2266           unit test for gst_segment_copy().
2267
2268 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2269
2270         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2271           Try to fix 'dereferencing type-punned pointer will break strict
2272           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2273           changed the default GType typedef from gulong to gsize at some point,
2274           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2275           g_once_* functions all take a gsize * though, so work around the type
2276           mismatch for C++ by doing everything in gsize and casting to GType
2277           later.
2278
2279 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2280
2281         * plugins/elements/gstmultiqueue.c:
2282         Add documentation for the signals to push our core plugin docs
2283         coverage back up to 100%.
2284
2285 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2286
2287         * gst/gstinfo.h (GST_FUNCTION):
2288           Reverted GST_FUNCTION to the old version as we don't want the
2289           full signature in C++ code. Also added support for MSVC.
2290
2291 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2292
2293         * gst/gstutils.h:
2294         Intern the type name string, similar to what G_DEFINE_TYPE does.
2295
2296 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2297
2298         * gst/gstutils.h:
2299         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2300
2301 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2302
2303         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2304
2305         * libs/gst/base/gstbasetransform.c:
2306         (gst_base_transform_buffer_alloc):
2307         Don't passthrough buffer allocation too easily if the caps change.
2308         This breaks when working in passthrough mode and upstream changes
2309         it's caps. Fixes bug #526768.
2310
2311 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2312
2313         * gst/gstinfo.c (gst_debug_log_valist):
2314           Improved the __FILE__ part of debug output for MSVC.
2315
2316 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2317
2318         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2319           Declaration after statement fix for compilers like MSVC.
2320
2321 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2322
2323         * win32/common/config.h.in:
2324           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2325           use the real thing than having "???" unconditionally.
2326
2327 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2328
2329         * gst/gstinfo.h (GST_FUNCTION):
2330           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2331
2332 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2333
2334         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2335         Small code cleanup.
2336
2337         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2338         (gst_base_sink_set_flushing):
2339         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2340         Fix some comments.
2341
2342 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2343
2344         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2345         (gst_fake_src_init), (gst_fake_src_set_property),
2346         (gst_fake_src_get_property), (gst_fake_src_start):
2347         * plugins/elements/gstfakesrc.h:
2348         Added format property to control the format of the newsegment events.
2349         API: GstFakeSrc:format
2350
2351 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2352
2353         * win32/common/libgstreamer.def:
2354         Add gst_pad_has_name() to the exported symbols.
2355
2356 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2357
2358         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2359         * libs/gst/base/gstbasetransform.c:
2360         (gst_base_transform_prepare_output_buffer):
2361         Don't allow negative sizes when allocating new buffers.
2362         Fixes bug #461253.
2363
2364 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2365
2366         Patch by: Sjoerd Simons <sjoerd at luon net>
2367
2368         * gst/gstbus.c: (gst_bus_source_dispatch):
2369           Don't print a warning if the queue is empty when we try to pop
2370           here. That could happen if another thread or callback set the
2371           bus to flushing between the source's check/prepare and the
2372           dispatch being called (#531538).
2373
2374 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2375
2376         * plugins/elements/gstmultiqueue.c:
2377           Small docs fix.
2378         
2379 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2380
2381         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2382         Add unit test for deserializing uint64s and check some really large
2383         numbers in the int64 test.
2384
2385 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2386
2387         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2388         (print_interfaces), (print_element_properties_info),
2389         (print_signal_info):
2390         Use "%s" as format string instead of printing strings directly.
2391
2392 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2393
2394         * gst/gstclock.c: (gst_clock_set_calibration):
2395         Make some checks actually useful.
2396
2397         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2398         Remove some unused code. Unsigned integers tend to be >= 0.
2399
2400 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2401
2402         * gst/gstminiobject.c: (gst_value_get_mini_object):
2403           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2404           function was not in the unscheduled 0.10.19 release.
2405
2406 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2407
2408         * gst/gstregistry.c: (gst_registry_scan_path_level):
2409           Only print one log message per non-plugin file.
2410
2411 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2412
2413         * gst/gstinfo.c: (gst_debug_log_default):
2414           Fix alignment of debug log columns on 64-bit.
2415
2416 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2417
2418         * docs/libs/Makefile.am:
2419         * docs/libs/gstreamer-libs-sections.txt:
2420           Ignore private controller headers for docs.
2421
2422 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2423
2424         * libs/gst/controller/gstcontrollerprivate.h:
2425         * libs/gst/controller/gsthelper.c:
2426         * libs/gst/controller/gstinterpolation.c:
2427         * libs/gst/controller/gstinterpolationcontrolsource.c:
2428         (gst_interpolation_control_source_set_interpolation_mode):
2429         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2430         * libs/gst/controller/lib.c:
2431         Move some private declarations into private headers.
2432
2433 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2434
2435         * gst/gstdebugutils.c: (debug_dump_element_pad):
2436         Remove some code that is unused after Stefan's refactoring and uses
2437         uninitialized variables now, resulting in a compiler warning.
2438
2439 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2440
2441         * gst/gstregistry.c: (gst_registry_scan_path_level):
2442           Run g_str_has_suffix() only on the file name, not the
2443           entire file path.
2444
2445 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
2446
2447         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2448           Since we're not called only from the chain function any longer,
2449           we can't assume that there's always data in the queue, so move
2450           the is_full check to the beginning of the loop (otherwise we'd
2451           hit the assert when changing the limit properties while the
2452           queue is empty or not running yet).
2453           Also, only set a discont if items were actually removed from
2454           the queue.
2455
2456         * tests/check/elements/queue.c: (test_leaky_downstream):
2457           Test case for the above.
2458
2459 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2460
2461         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2462
2463         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2464         (gst_queue_chain), (queue_capacity_change),
2465         (gst_queue_set_property):
2466         When changing thr max capacity of a leaky queue, immediatly drop buffers
2467         instead of waiting for a push on the sinkpad. Fixes #530637.
2468
2469 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * gst/gstdebugutils.c:
2472           Refactor code and fix handling of ghostpads and their proxypads.
2473
2474 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2475
2476         * docs/gst/gstreamer-sections.txt:
2477         * gst/gstevent.c: (gst_event_has_name):
2478         * gst/gstevent.h:
2479         * tests/check/gst/gstevent.c: (GST_START_TEST):
2480         Add method to conveniently check the name of a custom event with
2481         gst_event_has_name().
2482         Reformat the event docs so that related methods are put together instead
2483         of the default alphabetical sort.
2484         Update unit test with new method.
2485         API: GstEvent::gst_event_has_name()
2486
2487 2008-04-28  Michael Smith <msmith@songbirdnest.com>
2488
2489         * libs/gst/check/Makefile.am:
2490           Don't add an explicit link to libgstreamer-0.10.la; it's already
2491           included in GST_OBJ_LIBS.
2492
2493 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
2494
2495         * gst/gst.c:
2496         Register GstClock type from a type-safe context. Fixes bug #530317.
2497
2498 2008-04-25  Michael Smith <msmith@songbirdnest.com>
2499
2500         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2501         * tools/gst-run.c:
2502           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2503
2504 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2505
2506         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2507         (gst_bin_dispose):
2508         Use the GLib stuff to create a private structure.
2509         Add some locking around some dispose methods to make them a little
2510         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2511
2512 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2513
2514         * libs/gst/base/gstbasesink.h:
2515         * libs/gst/base/gstbasesrc.h:
2516         * libs/gst/base/gstbasetransform.h:
2517         * libs/gst/base/gstcollectpads.h:
2518           Fix doc typos and unify caps a bit.
2519
2520 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2521
2522         * tools/gst-launch.1.in:
2523           Forgot to also add the envvar docs here.
2524
2525 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
2526
2527         * gst/gst.c: (init_post), (gst_deinit):
2528         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2529           (test_concurrent_create), (gst_pipeline_suite):
2530           Ref some more classes in gst_init() to work around thread-safety
2531           issues in pre-2.16 GLibs, and add basic unit test.
2532
2533 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2534
2535         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2536         (gst_base_sink_send_event):
2537         Rearrange the latency query code. We always want to do the upstream
2538         query, even if we are not live so that the upstream elements can get the
2539         latency results too. If we fail doing the query and we are live, we
2540         return TRUE afterwards.
2541
2542 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2543
2544         patch by: Jason Zhao <e3423c@motorola.com>
2545
2546         * docs/gst/running.xml:
2547         * gst/gst.c:
2548           Enable/disable scan_and_update_registry() based on commandline switch
2549           or environment variable. Fixes #520468.
2550           
2551         * ChangeLog:
2552           Fix typo in my previous commit.
2553
2554 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2555
2556         * gst/gstregistrybinary.c:
2557           Add a warning if we hit unhandled factories when saving.
2558           More debug logging detail, but move to LOG category.
2559
2560 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2561
2562         * gst/gstregistry.c:
2563           Tell the *truth* when improving the documentation.
2564
2565 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
2566
2567         * gst/gstelementfactory.c: (gst_element_factory_make):
2568         Unref the factory after it was used the last time, not before.
2569
2570         * gst/gstindexfactory.c: (gst_index_factory_make):
2571         Improve debugging a bit and don't leak a ref to the index factory with
2572         each call.
2573
2574 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2575
2576         * gst/gstregistry.c:
2577           Improve the documentation.
2578
2579 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2580
2581         * gst/gstsegment.c:
2582           The glib macro seems to be borked. Use g_slice_copy directly and cast
2583           in the hope that this fixes the warning on 64bit.
2584
2585 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2586
2587         * gst/gstsegment.c:
2588           Document the new function. Use g_slice_dup() (no need for
2589           gst_segment_init()).    
2590
2591 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2592
2593         * docs/gst/gstreamer-sections.txt:
2594           Move GParamSepc macros to standart section.
2595   
2596         * gst/gstbin.c:
2597           Dn't document _get_type - its in private section in docs anyway and
2598           this doc-blob was incomplete.
2599
2600         * gst/gstclock.h:
2601           Fix wrong symbol names in docs.
2602
2603         * gst/gstmacros.h:
2604           Add once doc sentence.
2605
2606         * tests/check/gst/.cvsignore:
2607           Ignore more.
2608
2609 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2610
2611         * docs/gst/Makefile.am:
2612           And remove those libs here.
2613
2614 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2615
2616         * docs/libs/Makefile.am:
2617           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2618
2619 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2620
2621         Patch by: Olivier Crete <tester at tester dot ca>
2622
2623         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2624         Add the min-threshold to the min latency if possible. Fixes #529148.
2625
2626 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2627
2628         * docs/gst/gstreamer.types.in:
2629           Stupid editor, I removed that line as it should go in yet.
2630
2631 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2632
2633         * docs/gst/gstreamer.types.in:
2634         * docs/libs/gstreamer-libs.types:
2635           Remove library types fro core docs and have them in libs docs.
2636           Reformat and cleanup. Add comment for miniobject types.
2637
2638 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
2639
2640         * gst/gsturi.c: (gst_uri_get_protocol):
2641           Fix leak: g_strdown operates on the string in place, while
2642           g_ascii_strdown() returns a newly-allocated string.
2643
2644 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
2645
2646         * tools/gst-inspect.c: (print_uri_handler_info),
2647         (print_element_info):
2648         Print the URI protocols and the URI type supported by the element.
2649
2650 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2651
2652         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
2653         Use g_value_take_string() instead of the deprecated
2654         g_value_set_string_take_ownership().
2655
2656 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2657
2658         * gst/gstregistrybinary.c: (_gst_crc32):
2659         Return the old CRC instead of 0 if we give a NULL buffer
2660         or a buffer with a length of 0.
2661
2662 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
2663
2664         * gst/gsturi.c: (gst_uri_protocol_check_internal),
2665         (gst_uri_get_protocol), (gst_uri_has_protocol),
2666         (gst_uri_construct), (gst_uri_handler_set_uri):
2667         A valid URI scheme can also include '+', '-' and '.' additional
2668         to alphanumeric characters as per RFC 3986 Section 3.1.
2669
2670         Handle URI schemes case insensitive in all places and convert
2671         to lower-case when constructing an URI or setting an URI with
2672         the GstURIHandler interface. Fixes bug #528868.
2673         All elements can still assume (as before) that they will
2674         get passed URIs with a lower-case URI scheme by the GstURIHandler
2675         interface.
2676
2677 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * gst/gstcaps.c: (gst_static_caps_get):
2680         * gst/gstclock.c: (gst_clock_entry_new):
2681           Don't use g_atomic_set_int where it's not needed.
2682
2683 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
2684
2685         * gst/gstvalue.c: (gst_value_deserialize_caps):
2686         * gst/parse/grammar.y:
2687         Fix 2 caps leaks.
2688
2689 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
2690
2691         * gst/gstutils.c: (gst_atomic_int_set):
2692         Use g_atomic_int_set() here too instead of assignment +
2693         g_atomic_int_get().
2694
2695 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
2696         
2697         * gst/gstutils.c:
2698         * gst/gstutils.h:
2699         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
2700         now that we depend on new enough GLib.
2701
2702         * gst/gstcaps.c: (gst_static_caps_get):
2703         * gst/gstclock.c: (gst_clock_entry_new):
2704         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
2705         (gst_debug_set_default_threshold), (_gst_debug_category_new),
2706         (gst_debug_category_set_threshold):
2707         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2708         (gst_base_sink_set_qos_enabled):
2709         * libs/gst/net/gstnettimeprovider.c:
2710         (gst_net_time_provider_set_property):
2711         Use g_atomic_int_set() instead of gst_atomic_int_set().
2712
2713 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2714
2715         * gst/gstquery.c:
2716           Also use G_GINT64_CONSTANT for the queries.
2717
2718 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2719
2720         * gst/gstmessage.c:
2721           Use G_GINT64_CONSTANT in varargs function.
2722
2723 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2724
2725         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
2726         Initialize the registry magic with zeroes.
2727
2728 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2729
2730         * gst/gstregistrybinary.c: (_gst_crc32),
2731         (gst_registry_binary_write),
2732         (gst_registry_binary_initialize_magic),
2733         (gst_registry_binary_write_cache),
2734         (gst_registry_binary_check_magic),
2735         (gst_registry_binary_read_cache):
2736         * gst/gstregistrybinary.h:
2737         Add crc32 checksum to the binary registry file and check this before
2738         accepting a registry file.
2739
2740         Also free the data list when writing to the registry file fails.
2741
2742 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2743
2744         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2745         (gst_registry_binary_load_feature),
2746         (gst_registry_binary_load_plugin):
2747         If an element supports the Uri interface, returns a valid pointer
2748         to the supported URI protocols but this pointer contains nothing
2749         don't try to save that as it will corrupt the registry.
2750
2751         Don't unref the plugin if we added it to the registry already but
2752         fail to load a feature as gst_registry_add_plugin() takes ownership
2753         of the plugin.
2754
2755         Improve debugging a bit.
2756
2757 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2758
2759         * gst/gsttaglist.h:
2760           Clarify some tag item docs after discussion on irc.
2761
2762 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2763
2764         * docs/gst/gstreamer-docs.sgml:
2765           Remove commented out plugins (they have their own docs). Update
2766           comments.
2767
2768 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2769
2770         * docs/gst/gstreamer-docs.sgml:
2771         * docs/gst/gstreamer-sections.txt:
2772         * gst/gstparamspecs.c:
2773         * gst/gstparamspecs.h:
2774           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
2775           docs to own section.
2776
2777         * gst/gstvalue.c:
2778           This now only documents GValue.
2779           
2780         * docs/libs/gstreamer-libs-sections.txt:
2781         * libs/gst/controller/gstcontroller.h:
2782           Remove GST_PARAM_CONTROLLABLE.
2783
2784 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2785
2786         * docs/README:
2787           Correct file path. Tell about how to use -overrides.txt.
2788         * docs/design/draft-tagreading.txt:
2789           Small design update.
2790
2791 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
2792
2793         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
2794         (gst_registry_binary_load_plugin):
2795         Fix a typo in a debug message and revert change from yesterday as
2796         gst_registry_add_plugin() will only fail if something is really wrong
2797         already and we can't survive it anyway.
2798
2799 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
2800
2801         * gst/gst.c: (init_post), (gst_deinit):
2802           Pre-register GstGError GType from a thread-safe context
2803           (fixes #527967); unref enum type classes in deinit.
2804
2805 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         Patch by: Rene Stadler <mail at renestadler de>
2808
2809         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2810           Merging an empty list with another list in KEEP_ALL mode should
2811           yield an empty list as result and not the second list (#512578).
2812
2813         * tests/check/gst/gsttagsetter.c:
2814           Add unit test for tag merge modes and the aforementioned bug.
2815
2816 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2817
2818         Patch by: Rene Stadler <mail at renestadler de>
2819
2820         * gst/gsttaglist.h:
2821           Fix description to match the order in the table (#512577).
2822   
2823 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2824
2825         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
2826
2827         * libs/gst/net/gstnettimepacket.h:
2828         * docs/libs/gstreamer-libs-sections.txt:
2829           Define socklen_t as int if it's not defined yet. Fixes compilation
2830           with MSVC6 and other versions where socklen_t is not defined in
2831           the windows headers (#518022).
2832
2833 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
2834
2835         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2836         If gst_registry_add_plugin() fails our reference to the plugin is
2837         invalid so don't try to use it anymore and instead error out.
2838
2839 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2840
2841         * tools/gst-xmlinspect.c: (print_element_info), (main):
2842           De-cruft a bit. If no argument is specified, print all elements in
2843           XML syntax rather than a freestyle list of elements like gst-inspect.
2844           Also, don't print XML header chunk unless we actually have something
2845           to print (ie. don't print it before an error message); print error
2846           message to stderr not stdout. Remove support for printing plugin
2847           info (it would just output something freestyle along the lines of
2848           gst-inspect so far), which fixes #514507. Also add license header.
2849
2850 2008-04-11  Julien Moutte  <julien@fluendo.com>
2851
2852         Mac OS X love...
2853         * configure.ac: Merge platform specific defines, introduce a new
2854         define on OS X to remember that forking when updating registry is
2855         unsafe.
2856         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
2857         module.
2858         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
2859         is defined.
2860         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
2861         condition that leads to absolutely no plugins being registered on
2862         OS X.
2863
2864 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2865
2866         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2867
2868         * gst/gstutils.c: (gst_pad_add_data_probe),
2869           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
2870           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
2871           (gst_pad_add_buffer_probe_full):
2872         * gst/gstutils.h:
2873         * docs/gst/gstreamer-sections.txt:
2874         * win32/common/libgstreamer.def:
2875           Add gst_pad_add_*_probe_full() functions with a notify callback that
2876           lets the caller free the data it passes to the probe functions. This
2877           is useful for bindings such as gst-python or gstreamermm (#526814).
2878           API: gst_pad_add_data_probe_full
2879           API: gst_pad_add_buffer_probe_full
2880           API: gst_pad_add_event_probe_full
2881
2882         * tests/check/gst/gstutils.c:
2883           Add minimal unit test to make sure freeing the data actually works
2884           as expected.
2885
2886         * tests/benchmarks/.cvsignore:
2887           Random cvsignore addendum.
2888
2889 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2890
2891         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
2892           (GST_DEBUG_BIN_TO_DOT_FILE):
2893           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
2894           to it in the docs (since these are macros the types of the arguments
2895           won't be shown in the docs otherwise).
2896
2897 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2898
2899         * gst/gstpad.c:
2900           Do not abort on out of memory for pad_alloc_buffer.
2901
2902 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2903
2904         * libs/gst/check/gstcheck.c:
2905           Remove blank line between symbol name ad parameters to fix gtkdoc
2906           warning.
2907
2908 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2909
2910         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2911
2912         * docs/gst/gstreamer-sections.txt:
2913         * gst/gstsegment.c:
2914         * gst/gstsegment.h:
2915         * win32/common/libgstreamer.def:
2916           Expose gst_segment_copy() to make things easier for the c++ bindings.
2917           Fixes #518932.
2918           API: gst_segment_copy()
2919
2920 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2921
2922         * gst/gst.c: (gst_init_get_option_group), (init_post):
2923           Fix const position; ref GType classes for enum types to work
2924           around thread-safety issues in GLib versions < 2.16.
2925
2926 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2927
2928         * docs/design/part-buffering.txt:
2929         Fix some typos and set the estimated total for push mode to -1.
2930
2931         * gst/gstquery.c: (gst_query_new_buffering):
2932         Set buffering-left to 0 as we're not buffering by default.
2933
2934         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2935         Implement BUFFERING query.
2936
2937 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2938
2939         Based on patch by: Milosz Derezynski <internalerror gmail com>
2940
2941         * gst/gsterror.c: (_gst_stream_errors_init):
2942         * gst/gsterror.h:
2943           Add two new error codes for encrypted content. Fixes #524659.
2944           API: GST_STREAM_ERROR_DECRYPT
2945           API: GST_STREAM_ERROR_DECRYPT_NOKEY
2946
2947 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * gst/gstquery.h:
2950           Fix typo.
2951
2952         * win32/common/libgstreamer.def:
2953           Add new functions.
2954
2955 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
2956
2957         * plugins/elements/gstidentity.c: (gst_identity_event),
2958         (gst_identity_start):
2959         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
2960         event after processing some data. Fixes bug #526042.
2961
2962 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2963
2964         * docs/gst/gstreamer-sections.txt:
2965         * gst/gstquery.c: (gst_query_parse_latency),
2966         (gst_query_set_buffering_percent),
2967         (gst_query_parse_buffering_percent),
2968         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
2969         * gst/gstquery.h:
2970         Rename _avail -> _range
2971         API: gst_query_set_buffering_range
2972         API: gst_query_parse_buffering_range
2973
2974 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2975
2976         * docs/design/part-buffering.txt:
2977         * gst/gstquark.c:
2978         * gst/gstquark.h:
2979         * gst/gstquery.c: (gst_query_parse_latency),
2980         (gst_query_new_buffering), (gst_query_set_buffering_percent),
2981         (gst_query_parse_buffering_percent):
2982         * gst/gstquery.h:
2983         Add busy field and quark for the buffering query so that the app can
2984         only use the query to see if buffering is in progress.
2985
2986 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2987
2988         * docs/gst/gstreamer-sections.txt:
2989         * gst/gstmessage.c: (gst_message_set_buffering_stats),
2990         (gst_message_parse_buffering_stats):
2991         * gst/gstmessage.h:
2992         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2993         (gst_query_parse_latency), (gst_query_new_buffering),
2994         (gst_query_set_buffering_percent),
2995         (gst_query_parse_buffering_percent),
2996         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
2997         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
2998         * gst/gstquery.h:
2999         Reorder the message docs and headers for clarity.
3000         Add aditional buffering stats API for messages.
3001         Add buffering query.
3002         Convert some leftover queries to use GstQuark.
3003         API: gst_message_set_buffering_stats
3004         API: gst_message_parse_buffering_stats
3005         API: GST_QUERY_BUFFERING
3006         API: GstBufferingMode
3007         API: gst_query_new_buffering
3008         API: gst_query_set_buffering_percent
3009         API: gst_query_parse_buffering_percent
3010         API: gst_query_set_buffering_stats
3011         API: gst_query_parse_buffering_stats
3012
3013 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3014
3015         * gst/gstmessage.c: (gst_message_new_error),
3016         (gst_message_new_warning), (gst_message_new_info),
3017         (gst_message_new_buffering), (gst_message_new_state_changed),
3018         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3019         (gst_message_new_new_clock), (gst_message_new_segment_start),
3020         (gst_message_new_segment_done), (gst_message_new_duration),
3021         (gst_message_new_async_start), (gst_message_parse_buffering),
3022         (gst_message_parse_state_changed),
3023         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3024         (gst_message_parse_new_clock), (gst_message_parse_error),
3025         (gst_message_parse_warning), (gst_message_parse_info),
3026         (gst_message_parse_segment_start),
3027         (gst_message_parse_segment_done), (gst_message_parse_duration),
3028         (gst_message_parse_async_start):
3029         Use GstQuark for messages.
3030
3031 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3032
3033         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3034         * gst/gstquark.h:
3035         Add some more quarks needed for messages and queries.
3036
3037 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3038
3039         * docs/design/part-buffering.txt:
3040         Remove the "none" buffering mode, STREAM is a good default.
3041         Move estimated-time to the avail query, that's when it will be needed.
3042         Other small typo fixes and updates.
3043
3044 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3045
3046         * gst/gstindex.c: (gst_index_resolver_get_type):
3047           Don't put descriptions into the nick field of a GEnumValue: it's not
3048           meant for that and some language bindings rely on the nick field to
3049           construct constants and the like. Fixes #526705.
3050
3051 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * NEWS:
3054         * RELEASE:
3055         * gstreamer.doap:
3056           Merge other changes from 0.10.19 release branch.
3057
3058 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3059
3060         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3061
3062         * configure.ac:
3063         Actually build dlls when cross-compiling with mingw32.
3064         Fixes bug #526247.
3065
3066 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3067
3068         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3069
3070         * gst/gstpoll.c:
3071         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3072
3073 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3074
3075         * docs/design/draft-latency.txt:
3076         Fix typo.
3077
3078         * docs/design/part-buffering.txt:
3079         Update design docs with more buffering ideas.
3080
3081 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3082
3083         * configure.ac:
3084           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3085
3086 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3087
3088         * configure.ac:
3089           Revert part that belongs to the preset patch.
3090
3091 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3092
3093         * configure.ac:
3094           Add qoutes to the define. Fixes # 525961.
3095
3096 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3097
3098         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3099         (gst_file_index_load), (gst_file_index_add_id),
3100         (gst_file_index_get_assoc_entry):
3101         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3102         (gst_mem_index_free_id), (gst_mem_index_add_id),
3103         (gst_mem_index_index_format):
3104         Use GSlice when possible.
3105
3106 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3107
3108         * libs/gst/controller/gstinterpolationcontrolsource.c:
3109         (gst_control_point_free),
3110         (gst_interpolation_control_source_set_internal):
3111         Use GSlice for allocating the control points.
3112
3113 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3114
3115         * plugins/elements/gsttypefindelement.c:
3116         (gst_type_find_element_class_init),
3117         (gst_type_find_element_set_property),
3118         (gst_type_find_element_get_property),
3119         (gst_type_find_element_activate):
3120         * plugins/elements/gsttypefindelement.h:
3121         Cleanup properties.
3122         Fix pad leak when peer query fails.
3123         We can still typefind when the peer returns -1.
3124         Add property to force caps and bypass typefinding. This will be used in
3125         uridecodebin.
3126         API::force-caps
3127
3128 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3129
3130         * configure.ac:
3131         Require GLib 2.12.
3132
3133         * gst/glib-compat-private.h:
3134         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3135         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3136         Unconditionally use GSlice for allocation.
3137
3138         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3139         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3140         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3141         (gst_structure_free):
3142         Use GSlice for allocation.
3143
3144 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3145
3146         * gst/parse/Makefile.am:
3147         * gst/parse/grammar.tab.pre.c:
3148         * gst/parse/grammar.tab.pre.h:
3149         * gst/parse/lex._gst_parse_yy.pre.c:
3150         Require a new enough flex and bison and remove the parser hacks to use
3151         a pre-regenerated version.
3152
3153 2008-04-01  Julien Moutte  <julien@fluendo.com>
3154
3155         patch by: Jason Zhao <E3423C@motorola.com>
3156
3157         * configure.ac: Add a configure switch to disable option parsing
3158         in gst_init.
3159         Fixes #522882.
3160
3161 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3162
3163         * configure.ac:
3164         * gst/gstregistry.c:
3165           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3166           and handle this case.
3167
3168         * gst/gst.c:
3169           Add a comment here describing, why we stat each plugin and not try to
3170           be smart.
3171
3172 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3173
3174         * libs/gst/base/gstbasetransform.c:
3175         (gst_base_transform_prepare_output_buffer):
3176         Also unset the GAP flag on buffers if we're working inplace but
3177         the element is not GAP-aware.
3178
3179         Mark a comment as FIXME 0.11.
3180
3181 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3182
3183         * gst/gst.c:
3184           Fix type in log message and add one to ease seeing how long registry
3185           cache verification takes.
3186
3187         * gst/gstregistry.c:
3188           Only test plugin filenames against G_MODULE_SUFFIX.
3189
3190 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * gst/gstdebugutils.c:
3193           Improve handling ghost/proxy pads.
3194
3195 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3196
3197         * docs/gst/gstreamer-sections.txt:
3198         * gst/gstpad.c:
3199         * gst/gstpad.h:
3200           Expose macro to docs and fix link to it.
3201
3202 2008-03-27  Michael Smith <msmith@fluendo.com>
3203
3204         * libs/gst/dataprotocol/dataprotocol.c:
3205         (gst_dp_packet_from_event_1_0):
3206           When calculating GDP body CRC, use the correct pointer. 
3207           Fixes part of #522401.
3208
3209 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3210
3211         Patch by: Mark Nauwelaerts <manauw at skynet be>
3212
3213         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3214         (gst_identity_init), (gst_identity_prepare_output_buffer):
3215         Identity is not always a passthrough element, it can modify the buffer
3216         timestamps when it has a datarate and operates in single-segment mode.
3217         We therefore make it an in_place filter with a custom buffer prepare
3218         function that conditionally makes the input buffer metadata writable
3219         when needed.  Fixes #523985.
3220
3221 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3222
3223         Patch by: Mark Nauwelaerts <manauw at skynet be>
3224
3225         * gst/gstclock.h:
3226         * libs/gst/base/gstbasesrc.h:
3227         * libs/gst/base/gstbasetransform.c:
3228         * libs/gst/check/gstcheck.c:
3229         Small documentation fixes. Fixes #523978.
3230
3231 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3232
3233         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3234         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3235         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3236
3237 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3238
3239         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3240         (single_queue_underrun_cb):
3241         When trying to make room in the queue, bump the max allowed buffers
3242         bigger than the current amount of buffers in the queue. this fixes some
3243         nasty deadlocks in multiqueue when dynamically changing the limits of
3244         the queue.
3245
3246 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3247
3248         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3249
3250         * gst/gstcaps.c: (gst_caps_set_simple),
3251         (gst_caps_set_simple_valist), (gst_caps_intersect):
3252         * gst/gstcaps.h:
3253         Constify the field gchar * params in set_simple and friends.
3254         Fixes #522326.
3255
3256 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3257
3258         * gst/gstvalue.c: (gst_value_transform_object_string):
3259         Transform a GstObject to a more meaningfull string that includes the
3260         object type in addition to its name.
3261
3262 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3263
3264         * ChangeLog:
3265           ChangeLog surgery to add bugnumber to commit.
3266
3267 2008-03-23  Rene Stadler  <mail@renestadler.de>
3268
3269         * libs/gst/base/gstbasetransform.c:
3270         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3271
3272 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3273
3274         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3275         Rename constant everywhere and don't forget one occurence.
3276
3277 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3278
3279         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3280         Align memory to the pointer size even if the architecture allows
3281         unaligned memory access. Unaligned memory access usually comes with
3282         performance penality.
3283
3284 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3285
3286         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3287         (gst_registry_binary_check_magic),
3288         (gst_registry_binary_load_pad_template),
3289         (gst_registry_binary_load_feature),
3290         (gst_registry_binary_load_plugin):
3291         Align memory to the pointer size instead of always 32 bit. Fixes
3292         unaligned memory accesses on ia64 and friends.
3293
3294         * gst/gstregistrybinary.h:
3295         Bump binary registry format version for this as it changes the
3296         format on those architectures that don't have unaligned access
3297         and 64 bit pointers.
3298
3299 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3300
3301         * docs/pwg/advanced-dparams.xml:
3302         * docs/pwg/building-props.xml:
3303         * docs/pwg/other-source.xml:
3304         * gst/glib-compat.h:
3305         * gst/gstbin.c: (gst_bin_class_init):
3306         * gst/gstclock.c: (gst_clock_class_init):
3307         * gst/gstindex.c: (gst_index_class_init):
3308         * gst/gstobject.c: (gst_object_class_init):
3309         * gst/gstpad.c: (gst_pad_class_init):
3310         * gst/gstpipeline.c: (gst_pipeline_class_init):
3311         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3312         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3313         * libs/gst/base/gstbasetransform.c:
3314         (gst_base_transform_class_init):
3315         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3316         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3317         (_gst_check_fault_handler_sighandler),
3318         (_gst_check_fault_handler_setup), (gst_check_init):
3319         * libs/gst/controller/gstcontroller.c:
3320         (_gst_controller_class_init):
3321         * libs/gst/controller/gstlfocontrolsource.c:
3322         (gst_lfo_control_source_class_init):
3323         * libs/gst/net/gstnetclientclock.c:
3324         (gst_net_client_clock_class_init):
3325         * libs/gst/net/gstnettimeprovider.c:
3326         (gst_net_time_provider_class_init):
3327         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3328         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3329         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3330         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3331         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3332         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3333         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3334         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3335         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3336         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3337         * plugins/elements/gsttee.c: (gst_tee_class_init):
3338         * plugins/elements/gsttypefindelement.c:
3339         (gst_type_find_element_class_init):
3340         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3341         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3342         use it everywhere for GParamSpecs that use static strings (i.e. all).
3343         This gives us less memory usage, fewer allocations and thus less
3344         memory defragmentation. Fixes bug #523806.
3345
3346 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3347
3348         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3349         (gst_param_spec_mini_object):
3350         * gst/gstminiobject.h:
3351         * win32/common/libgstreamer.def:
3352         * docs/gst/gstreamer-sections.txt:
3353         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3354         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3355         GstParamSpecMiniObject into a public header for this.
3356
3357         This make GstMiniObject a bit more consistent with GObject and makes
3358         it possible to extend the param specs.
3359
3360         gst_value_dup_mini_object is mainly useful for set_property methods.
3361
3362         Fixes bug #523798.
3363
3364         * tools/gst-inspect.c: (print_element_properties_info):
3365         Print something useful for GstMiniObject properties and not just
3366         "unknown type".
3367
3368 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3369
3370         * docs/gst/gstreamer-sections.txt:
3371         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3372         (gst_registry_binary_check_magic):
3373         * gst/gstregistrybinary.h:
3374         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3375         and add it to the (private part) of the docs to fix the build.
3376
3377 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3378
3379         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3380         (gst_registry_binary_check_magic),
3381         (gst_registry_binary_read_cache):
3382         * gst/gstregistrybinary.h:
3383         Don't use GST_MAJORMINOR for the binary registry version. Instead
3384         hardcode a value that must be changed whenever the format changes
3385         in an incompatible way.
3386         Also don't GST_ERROR when there is a version mismatch, just
3387         regenerate the registry silently.
3388
3389 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3390
3391         * configure.ac:
3392         Back to development - 0.10.18.1
3393
3394 === release 0.10.18 ===
3395
3396 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3397
3398         * configure.ac:
3399           releasing 0.10.18, "So far away"
3400
3401 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3402
3403         * configure.ac:
3404         * win32/common/config.h:
3405         0.10.17.4 pre-release
3406
3407 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3408
3409         Patch by: Ole André Vadla Ravnås
3410             <ole dot andre dot ravnas at tandberg dot com>
3411
3412         * docs/gst/gstreamer-sections.txt:
3413         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3414         (gst_poll_update_winsock_event_mask),
3415         (gst_poll_prepare_winsock_active_sets),
3416         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3417         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3418         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3419         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3420         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3421         * gst/gstpoll.h:
3422         * win32/common/libgstreamer.def:
3423         Add new function gst_poll_fd_ignored() for improved Windows
3424         compatibility.
3425         Various minor fixes and cleanups. See #520808.
3426
3427 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3428
3429         * gst/gstindex.c: (gst_index_entry_free):
3430         * gst/gstindex.h:
3431           Don't free key strings which we don't own. Fixes crash in
3432           gst_index_entry_free() (#522741).
3433
3434         * tests/check/Makefile.am:
3435         * tests/check/gst/.cvsignore:
3436         * tests/check/gst/gstindex.c: (test_index_entries),
3437           (gst_index_suite), (gst_index):
3438           Add unit test for the above.
3439
3440 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
3441
3442         * win32/common/libgstreamer.def:
3443         Remove symbols that were removed recently. Fixes bug #521740.
3444
3445 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
3446
3447         * configure.ac:
3448         * win32/common/config.h:
3449         0.10.17.3 pre-release
3450
3451 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3452
3453         Patch by: Ole André Vadla Ravnås
3454             <ole dot andre dot ravnas at tandberg dot com>
3455
3456         * docs/gst/gstreamer-sections.txt:
3457         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3458         (gst_poll_update_winsock_event_mask), (gst_poll_new),
3459         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3460         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3461         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3462         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3463         (gst_poll_fd_can_write), (gst_poll_wait),
3464         (gst_poll_set_controllable), (gst_poll_restart),
3465         (gst_poll_set_flushing):
3466         * gst/gstpoll.h:
3467         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3468         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3469         (gst_net_time_provider_new):
3470         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3471         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3472         * tests/benchmarks/gstpollstress.c: (main):
3473         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3474         Remove GstPollMode from the API, it does not make sense to let the
3475         application control this.
3476         Add support for Win32.
3477         Fix the testsuite. Fixes #520671.
3478
3479 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3480
3481         Patch by: Ole André Vadla Ravnås
3482             <ole dot andre dot ravnas at tandberg dot com>
3483
3484         * gst/gstregistrybinary.c:
3485         Include io.h for write() and close() when building with MSVC. Fixes
3486         bug #520877.
3487
3488 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
3489
3490         * configure.ac:
3491         * gst/gst_private.h:
3492         * gst/gstconfig.h.in:
3493         * gst/gstregistry.h:
3494         * gst/gstregistrybinary.c:
3495         * win32/common/gstconfig.h:
3496           Move registry backend API to private headers where we can. Add
3497           fixme-0.11 comments for the others. Add stubs for the xml backend when
3498           using the binary to ensure they functions exists (they should not be
3499           used though). Fixes #520756.
3500
3501 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
3502
3503         * configure.ac:
3504         * win32/common/config.h:
3505         0.10.17.2 prelease
3506
3507 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3508
3509         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3510         (gst_registry_binary_read_cache):
3511         * gst/gstregistryxml.c: (gst_registry_save):
3512         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3513         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3514         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3515         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3516         Switch to using portabl gsize/gssize instead of size_t/ssize_t
3517         Fixes #520152
3518
3519 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3520
3521         * gst/gstminiobject.c:
3522         Import gst_private.h before any other header that might include other
3523         glib headers. This fixes the build on windows using native compilers.
3524
3525 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3526
3527         * win32/common/gstconfig.h:
3528           Add here too, just for completeness.
3529
3530 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3531
3532         * configure.ac:
3533         * gst/gstconfig.h.in:
3534         * gst/gstregistry.h:
3535           Fix broken use of config.h-defined preprocessor directive in a public
3536           header file. Add a corresponding define to gstconfig.h, since we can't
3537           really remove those function declarations from the header file now
3538           (or can we? and why are they there in the first place?).
3539
3540 2008-03-03  Andy Wingo  <wingo@pobox.com>
3541
3542         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3543         the new warning.
3544
3545         * gst/gststructure.c (gst_structure_from_string): Warn if
3546         structure_from_string didn't consume the whole string, but the
3547         caller did not provide an end pointer.
3548
3549 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
3550
3551         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3552
3553         * gst/gstregistryxml.c: (read_string), (load_feature):
3554           Strings allocated by libxml2 should be freed with xmlFree(), not
3555           with g_free(). Fixes issues on windows in certain contexts (#519698).
3556
3557 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
3558
3559         * gst/gstinterface.c: (gst_element_implements_interface):
3560           Don't crash if the element supports the interface queried, but does
3561           not implement GstImplementsInterface. Fixes #519584.
3562
3563         * tests/check/Makefile.am:
3564         * tests/check/gst/.cvsignore:
3565         * tests/check/gst/gstinterface.c:
3566           Add unit test for the above.
3567
3568 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3569
3570         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3571         Small doc update.
3572
3573 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3574
3575         * gst/gstsegment.c: (gst_segment_set_seek),
3576         (gst_segment_to_stream_time):
3577         Improve some comment.
3578         Update variables where it makes more sense.
3579
3580 2008-02-29  Rene Stadler  <mail@renestadler.de>
3581
3582         * gst/gsturi.c: (gst_uri_handler_get_protocols):
3583         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
3584         URIHandlers implemented using language bindings.
3585
3586 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3587
3588         * gst/gstelementfactory.h:
3589         * tests/check/elements/fakesink.c:
3590         * tests/check/elements/fakesrc.c: (setup_fakesrc):
3591         * tests/check/elements/fdsrc.c: (setup_fdsrc):
3592         * tests/check/elements/filesink.c: (setup_filesink):
3593         * tests/check/elements/filesrc.c: (setup_filesrc):
3594         * tests/check/elements/identity.c: (setup_identity):
3595         * tests/check/elements/tee.c:
3596         * tests/check/generic/sinks.c:
3597         * tests/check/generic/states.c: (setup), (teardown):
3598         * tests/check/gst/gst.c:
3599         * tests/check/gst/gstabi.c:
3600         * tests/check/gst/gstbin.c:
3601         * tests/check/gst/gstbus.c: (pull_messages):
3602         * tests/check/gst/gstcaps.c:
3603         * tests/check/gst/gstelement.c:
3604         * tests/check/gst/gstevent.c:
3605         * tests/check/gst/gstghostpad.c:
3606         * tests/check/gst/gstiterator.c:
3607         * tests/check/gst/gstmessage.c:
3608         * tests/check/gst/gstminiobject.c: (my_foo_init):
3609         * tests/check/gst/gstobject.c: (thread_name_object),
3610         (gst_object_suite):
3611         * tests/check/gst/gstpad.c:
3612         * tests/check/gst/gstplugin.c:
3613         * tests/check/gst/gstpoll.c:
3614         * tests/check/gst/gstquery.c:
3615         * tests/check/gst/gstsegment.c:
3616         * tests/check/gst/gststructure.c:
3617         * tests/check/gst/gstsystemclock.c:
3618         * tests/check/gst/gsttask.c:
3619         * tests/check/gst/gstutils.c:
3620         * tests/check/gst/gstvalue.c:
3621         * tests/check/gst/struct_hppa.h:
3622         * tests/check/gst/struct_i386.h:
3623         * tests/check/gst/struct_ppc32.h:
3624         * tests/check/gst/struct_ppc64.h:
3625         * tests/check/gst/struct_x86_64.h:
3626         * tests/check/libs/adapter.c: (create_and_fill_adapter):
3627         * tests/check/libs/basesrc.c:
3628         * tests/check/libs/controller.c: (GST_START_TEST):
3629         * tests/check/libs/gdp.c:
3630         * tests/check/libs/gstnetclientclock.c:
3631         * tests/check/libs/gstnettimeprovider.c:
3632         * tests/check/libs/libsabi.c:
3633         * tests/check/libs/struct_hppa.h:
3634         * tests/check/libs/struct_i386.h:
3635         * tests/check/libs/struct_ppc32.h:
3636         * tests/check/libs/struct_ppc64.h:
3637         * tests/check/libs/struct_x86_64.h:
3638         * tests/check/pipelines/cleanup.c:
3639         * tests/check/pipelines/simple-launch-lines.c:
3640         * tests/check/pipelines/stress.c:
3641         And correct even more valid sparse warnings.
3642
3643         * win32/common/libgstreamer.def:
3644         Add gst_poll_fd_init to the list of symbols.
3645
3646 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3647
3648         * gst/gstconfig.h.in:
3649         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
3650         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
3651         (gst_check_log_critical_func), (gst_check_drop_buffers),
3652         (gst_check_element_push_buffer_list):
3653         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
3654         (gst_controller_get_type):
3655         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
3656         (gst_object_get_controller), (gst_object_get_control_source):
3657         * libs/gst/controller/gstinterpolationcontrolsource.c:
3658         (gst_interpolation_control_source_new):
3659         * libs/gst/controller/gstlfocontrolsource.c:
3660         (gst_lfo_control_source_new):
3661         * libs/gst/dataprotocol/dataprotocol.c:
3662         (gst_dp_event_from_packet_0_2):
3663         * plugins/elements/gstfdsrc.c:
3664         * plugins/elements/gstmultiqueue.c:
3665         * plugins/elements/gsttee.c:
3666         * plugins/elements/gsttypefindelement.c:
3667         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
3668         (gst_file_index_add_association):
3669         * plugins/indexers/gstmemindex.c:
3670         * tests/benchmarks/gstpollstress.c: (mess_some_more):
3671         * tests/check/elements/queue.c: (setup_queue):
3672         * tests/check/gst/gstpipeline.c:
3673         * tests/check/libs/collectpads.c: (setup), (teardown),
3674         (gst_collect_pads_suite):
3675         * tests/examples/adapter/adapter_test.c:
3676         * tests/examples/metadata/read-metadata.c: (make_pipeline):
3677         * tests/examples/xml/createxml.c:
3678         * tests/examples/xml/runxml.c:
3679         * tools/gst-inspect.c:
3680         * tools/gst-run.c:
3681         Correct all relevant warnings found by the sparse semantic code
3682         analyzer. This include marking several symbols static, using
3683         NULL instead of 0 for pointers, not using variable sized arrays
3684         on the stack, moving variable declarations to the beginning of
3685         a block and using "foo (void)" instead of "foo ()" for declarations.
3686
3687 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3688
3689         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3690         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3691         Don't reset GstPollFDs, this is not necessary at all.
3692
3693         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3694         (delayed_restart), (delayed_control):
3695         Use GST_POLL_FD_INIT.
3696
3697 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3698
3699         * gst/gstpoll.c: (gst_poll_fd_init):
3700         * gst/gstpoll.h:
3701         Added Since tags.
3702
3703         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
3704         Use some more init macros.
3705
3706 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3707
3708         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3709         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3710         Use init macros and functions.
3711
3712 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3713
3714         * docs/gst/gstreamer-sections.txt:
3715         * gst/gstpoll.c: (gst_poll_fd_init):
3716         * gst/gstpoll.h:
3717         Add INIT macro and _init method for initializing the GstPollFD.
3718
3719 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
3720
3721         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
3722         (gst_fd_sink_update_fd):
3723         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3724         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3725         (delayed_restart), (delayed_control):
3726         Initialize some uninitialized variables as spotted by valgrind.
3727
3728 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3729
3730         * tests/benchmarks/Makefile.am:
3731         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
3732         (main):
3733         Add poll stress test.
3734
3735 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3736
3737         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3738
3739         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3740         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
3741         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
3742         * plugins/elements/gstfdsink.h:
3743         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3744         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
3745         (gst_fd_src_unlock_stop), (gst_fd_src_create),
3746         (gst_fd_src_uri_set_uri):
3747         * plugins/elements/gstfdsrc.h:
3748         Port to GstPoll. See #505417.
3749
3750 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
3751
3752         * win32/common/libgstreamer.def:
3753         Add new gst_poll_ symbols to win32 defs.
3754
3755 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3756
3757         * docs/libs/gstreamer-libs-sections.txt:
3758         * libs/gst/net/gstnetclientclock.c:
3759         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
3760         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3761         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3762         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3763         * libs/gst/net/gstnetclientclock.h:
3764         * libs/gst/net/gstnettimeprovider.c:
3765         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
3766         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3767         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3768         (gst_net_time_provider_new):
3769         * libs/gst/net/gstnettimeprovider.h:
3770         Use a private stuct to not break ABI.
3771
3772 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3773
3774         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3775
3776         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
3777         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3778         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3779         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3780         * libs/gst/net/gstnetclientclock.h:
3781         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
3782         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3783         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3784         (gst_net_time_provider_new):
3785         * libs/gst/net/gstnettimeprovider.h:
3786         Massive code removal and cleanups because of GstPoll.
3787         Fixes #505417.
3788
3789 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3790
3791         * configure.ac:
3792         Add checks for poll, ppoll and pselect.
3793
3794         * docs/gst/gstreamer-docs.sgml:
3795         * docs/gst/gstreamer-sections.txt:
3796         Add docs for GstPoll.
3797
3798         * gst/Makefile.am:
3799         * gst/gst.h:
3800         * gst/gstpoll.c: (find_index), (selectable_fds),
3801         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
3802         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
3803         (gst_poll_set_mode), (gst_poll_get_mode),
3804         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
3805         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3806         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
3807         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
3808         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
3809         (gst_poll_fd_can_write), (gst_poll_wait),
3810         (gst_poll_set_controllable), (gst_poll_restart),
3811         (gst_poll_set_flushing):
3812         * gst/gstpoll.h:
3813         Add generic poll abstraction. We ideally don't want to have this in core
3814         here but in glib intead...
3815         This code will be used in various network elements and ultimately for
3816         the nanosecond precision monotonic clock (that's why it's here in core).
3817         It'll allow us to implement cancelable socket operations for windows too.
3818
3819         * tests/check/Makefile.am:
3820         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3821         (delayed_stop), (delayed_restart), (delayed_flush),
3822         (delayed_control), (gst_poll_suite):
3823         Add GstPoll unit test.
3824
3825 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
3826
3827         * gst/gstfilter.c:
3828           Improve documentation of gst_filter_run(). Fixes #518627.
3829
3830 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3831
3832         * docs/README:
3833           Add a few lines about the new 'check-inspected-versions' target.
3834
3835 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3836
3837         * tests/check/gst/gstevent.c:
3838           Add qos to the event test. Rename tcase/tsuite; is not only about
3839           custom events.
3840
3841 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3842
3843         * plugins/elements/gstqueue.c:
3844           Ensure that buffer metadata is writeable, before modifying. Spotted by
3845           Mike.
3846
3847 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
3848
3849         * plugins/elements/gstqueue.c:
3850         * plugins/elements/gstqueue.h:
3851           When dropping buffers in leaky modes, mark next buffers we sent as
3852           DISCONT.
3853
3854 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3855
3856         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
3857           Also, if mmap() fails that would be a READ error, not OPEN_READ.
3858
3859 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3860
3861         * plugins/elements/Makefile.am:
3862         * plugins/elements/gstbufferstore.c:
3863         * plugins/elements/gstbufferstore.h:
3864         * plugins/elements/gsttypefindelement.h:
3865           Remove GstBufferStore, no idea why we were still building it.
3866           It's not used anywhere and superseded by GstAdapter.
3867
3868         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3869           (gst_file_src_create_mmap):
3870         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
3871           Printf format fixes for 64-bit integers.
3872
3873 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3874
3875         * configure.ac:
3876         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
3877         We're not in 0.8 times anymore.
3878
3879 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
3880
3881         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
3882         (gst_check_element_push_buffer_list):
3883         * libs/gst/check/gstcheck.h:
3884         Make the declaration in the header for
3885         gst_check_element_push_buffer_list match the implementation.
3886
3887         Fix up spelling, grammar and wording of the documentation in a few
3888         places, and add the Since keyword to new API functions.
3889         Use g_list_delete_link instead of g_list_remove in
3890         gst_check_drop_buffers, since it's immeasurably more efficient.
3891
3892         * tests/check/elements/fakesrc.c: (GST_START_TEST):
3893         Use new gst_check_drop_buffers function where appropriate.
3894
3895         * win32/common/libgstbase.def:
3896         * win32/common/libgstreamer.def:
3897         Add new symbols gst_collect_pads_take_buffer, 
3898         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
3899         exports
3900
3901         Changelog surgery to add API keyword to new gst_check API.
3902
3903 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3904
3905         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
3906         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
3907         Update pre-generated flex files with flex 2.3.34.
3908
3909 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3910
3911         * gst/gstminiobject.c:
3912           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
3913           friendly to subclasses and not require them to know all internals
3914           of their parent class.
3915
3916 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * docs/libs/gstreamer-libs-sections.txt:
3919         * libs/gst/base/gstcollectpads.c:
3920         * libs/gst/base/gstcollectpads.h:
3921           Add sub-buffer functions to collectpads. Fixes #516187.
3922           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
3923
3924 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3925
3926         * gst/gstbuffer.c:
3927           Copy selected buffer-flags when creating subbuffers.
3928           Fixes #516395.
3929
3930 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
3931
3932         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
3933         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
3934         * gst/gstmessage.c: (gst_message_class_init),
3935         (gst_message_finalize):
3936         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
3937         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
3938         (gst_mmap_buffer_finalize):
3939         Properly chain up finalize functions to the parent class.
3940
3941 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
3942
3943         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
3944
3945         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
3946         (gst_index_set_resolver_full):
3947         * gst/gstindex.h:
3948         Add new function with option to dispose of user_data in resolver.
3949         Actually call the dispose function when finalizing the object and not
3950         just when changing the resolver/filter.
3951         API: GstIndex::gst_index_set_resolver_full()
3952
3953         * docs/gst/gstreamer-sections.txt:
3954         Add new function to docs. Fixes #515469.
3955
3956 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
3957
3958         * gst/gstindex.c: (gst_index_finalize):
3959         Chain up finalize to the parent class. Fixes leaking the GstObject
3960         name and other things.
3961
3962 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
3963
3964         * configure.ac:
3965         Make DISABLE_DEPRECATED defined *only* during CVS, not during
3966         pre-releases or releases.
3967
3968         * docs/faq/gst-uninstalled:
3969         Add gst-plugins-gl
3970
3971         * docs/random/release:
3972         Change one of the steps - we only upload core & base to Gnome FTP
3973
3974 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
3975
3976         * gst/gstconfig.h.in:
3977           Add 'id' for example.
3978
3979         * gst/gstpad.c:
3980         * gst/gstutils.c:
3981         * plugins/elements/gstfdsink.c:
3982           Link to signals. Doc and comment fixes.
3983
3984 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
3985
3986         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
3987         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
3988           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
3989           unused and unimplemented; finally, it is plugin features, not
3990           plugins, that have ranks.
3991           
3992 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3993
3994         * gst/gstpluginfeature.h:
3995           Clarify GstRank range docs.
3996
3997 2008-02-05  David Schleef  <ds@schleef.org>
3998
3999         * gst/gst.c: Add a separate gst_deinitialized that prevents
4000           gst_init() from being called after gst_deinit().  Fixes #509559
4001
4002 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4003
4004         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4005         (gst_bin_class_init):
4006         * gst/gstelement.c: (gst_element_base_class_init),
4007         (gst_element_class_add_pad_template):
4008         * gst/gstpadtemplate.c: (gst_pad_template_init):
4009         * gst/gstpipeline.c: (gst_pipeline_get_type),
4010         (gst_pipeline_base_init), (gst_pipeline_class_init):
4011         * libs/gst/base/gstbasesink.c:
4012         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4013         (gst_base_src_base_init), (gst_base_src_class_init):
4014         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4015         (gst_capsfilter_class_init):
4016         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4017         (gst_fake_sink_class_init):
4018         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4019         (gst_fake_src_class_init):
4020         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4021         (gst_fd_sink_class_init):
4022         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4023         (gst_fd_src_class_init):
4024         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4025         (gst_file_sink_class_init):
4026         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4027         (gst_file_src_class_init):
4028         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4029         (gst_identity_class_init):
4030         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4031         (gst_multi_queue_class_init):
4032         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4033         (gst_queue_class_init):
4034         * plugins/elements/gsttee.c: (gst_tee_base_init),
4035         (gst_tee_class_init):
4036         * plugins/elements/gsttypefindelement.c:
4037         (gst_type_find_element_base_init),
4038         (gst_type_find_element_class_init):
4039         * tests/check/gst/gstelement.c: (gst_element_suite):
4040         Revert previous changes to the behaviour of GstPadTemplates, etc
4041         and the possiblity to call them in class_init as it breaks too
4042         many elements. Reopens bug #491501.
4043
4044         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4045         several places.
4046
4047 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4048
4049         * tools/gst-launch.c:
4050         Dump one graph per pipeline state-change and state change name
4051         (if GST_DEBUG_DUMP_DOT_DIR is set).
4052
4053 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4054
4055         * gst/gstpad.c:
4056         * tests/check/gst/gstpad.c:
4057         Be sure that we have a new copy of the caps and not
4058         reffed caps from a template
4059
4060 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4061
4062         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4063         * gst/gstpipeline.c: (gst_pipeline_get_type),
4064         (gst_pipeline_class_init):
4065         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4066         (gst_base_sink_class_init):
4067         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4068         (gst_base_src_class_init):
4069         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4070         (gst_base_transform_class_init):
4071         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4072         (gst_collect_pads_class_init):
4073         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4074         * libs/gst/net/gstnettimeprovider.c:
4075         (gst_net_time_provider_base_init),
4076         (gst_net_time_provider_class_init):
4077         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4078         (gst_capsfilter_class_init):
4079         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4080         (gst_fake_sink_class_init):
4081         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4082         (gst_fake_src_class_init):
4083         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4084         (gst_fd_sink_class_init):
4085         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4086         (gst_fd_src_class_init):
4087         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4088         (gst_file_sink_class_init):
4089         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4090         (gst_file_src_class_init):
4091         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4092         (gst_identity_class_init):
4093         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4094         (gst_multi_queue_class_init):
4095         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4096         (gst_queue_class_init):
4097         * plugins/elements/gsttee.c: (gst_tee_base_init),
4098         (gst_tee_class_init):
4099         * plugins/elements/gsttypefindelement.c:
4100         (gst_type_find_element_base_init),
4101         (gst_type_find_element_class_init):
4102         Don't use base_init where not absolutely necessary. For example it's
4103         not necessary anymore for adding pad templates or setting element
4104         details.
4105
4106         Leave empty base_init functions in several places as GST_BOILERPLATE
4107         still defines and uses them.
4108
4109 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4110
4111         * gst/gstelement.c: (gst_element_base_class_init),
4112         (gst_element_class_add_pad_template):
4113         * gst/gstpadtemplate.c:
4114         Make it possible (and recommended) to set element details and add
4115         pad templates in the class_init functions by copying the details/pad
4116         templates in GstElement's base_init.
4117
4118         Also make it possible to replace existing pad templates by adding
4119         a new one with the same name. This was done in a hackish fashion
4120         in same elements before already.
4121
4122         Don't reference pad templates that are added a second time. A
4123         new pad template has a refcount of one and is not floating anymore
4124         and to be owned by the element's class. Make this more explicit by
4125         mentioning it in the docs of gst_element_class_add_pad_template().
4126
4127         These changes are backwards compatible. Fixes bug #491501.
4128
4129         * tests/check/gst/gstelement.c:
4130         Add unit test for setting element details, adding pad templates and
4131         replacing them in a subclass.
4132
4133 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4134
4135         * tools/gst-inspect.c: (print_interfaces),
4136         (print_element_properties_info), (print_pad_info),
4137         (print_signal_info), (print_element_info):
4138         Fix a few memory leaks.
4139
4140 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4141
4142         * docs/libs/gstreamer-libs-sections.txt:
4143         * libs/gst/check/gstcheck.c:
4144         * libs/gst/check/gstcheck.h:
4145         Add more functions for unit testing: gst_check_drop_buffers,
4146         gst_check_caps_equal, gst_check_element_push_buffer_list,
4147         gst_check_element_push_buffer
4148         API: gst_check_drop_buffers
4149         API: gst_check_caps_equal
4150         API: gst_check_element_push_buffer_list
4151         API: gst_check_element_push_buffer
4152
4153 2008-02-01  Julien Moutte  <julien@fluendo.com>
4154
4155         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4156         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4157         (gst_index_finalize), (gst_index_entry_free),
4158         (gst_index_add_association): Fix memory leaks.
4159         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4160         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4161         (gst_mem_index_free_format), (gst_mem_index_free_id),
4162         (gst_mem_index_finalize): Fix memory leaks.
4163         * win32/common/config.h: Updated to CVS HEAD.
4164
4165 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4166
4167         * docs/README:
4168           Some more details about how the plugin docs works.
4169
4170         * docs/plugins/gstreamer-plugins-sections.txt:
4171           Whitespace cleanup.
4172
4173 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4174
4175         * gst/parse/grammar.tab.pre.c:
4176         * gst/parse/grammar.tab.pre.h:
4177         * gst/parse/grammar.y:
4178         * gst/parse/lex._gst_parse_yy.pre.c:
4179           Add delayed set-property. This allows to set properties on dynamicaly
4180           created objects (pads in videomxer). Fixes #509391.
4181
4182 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4183
4184         * gst/gstutils.c:
4185         Check if caps are not NULL (fix bug #510194)
4186
4187 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4188
4189         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4190         (gst_base_sink_get_position_paused):
4191         Add fixme regarding EOS in pull mode.
4192         Fix position reporting in PAUSED for negative rates.
4193
4194 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4195
4196         * gst/gstminiobject.c: (gst_mini_object_replace):
4197         When replacing a miniobject, do a quick equality check first so that we
4198         can avoid a ref/unref pair.
4199
4200 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4201
4202         * docs/design/part-synchronisation.txt:
4203         Update some docs.
4204
4205         * docs/plugins/Makefile.am:
4206         * docs/plugins/gstreamer-plugins-docs.sgml:
4207         * docs/plugins/gstreamer-plugins-sections.txt:
4208         * plugins/elements/gstmultiqueue.c:
4209         Add multiqueue to the docs.
4210
4211 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4212
4213         * configure.ac:
4214           Back to CVS
4215
4216 === release 0.10.17 ===
4217
4218 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4219
4220         * configure.ac:
4221           releasing 0.10.17, "Due Negligence"
4222
4223 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4224
4225         * gst/gstutils.c:
4226         Revert caps != NULL check temporarily for 0.10.17 release.
4227
4228 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4229
4230         * gst/gstutils.c:
4231         Check if caps are not NULL (fix bug #510194)
4232
4233 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4234
4235         * gst/gstutils.c:
4236         Fix compilation on systems that have posix timers but no
4237         monotonic clock.
4238         Fixes: #512715
4239         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4240         dot net>
4241
4242 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4243
4244         * tools/gst-inspect.c:
4245         Revert previous commit in preparation for an impromptu 0.10.17 release
4246
4247 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4248
4249         * tools/gst-inspect.c: (print_interfaces),
4250         (print_element_properties_info), (print_pad_info),
4251         (print_signal_info), (print_element_info):
4252         Fix a few memory leaks.
4253
4254 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4255
4256         * configure.ac:
4257         Back to CVS
4258
4259 === release 0.10.16 ===
4260
4261 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4262
4263         * configure.ac:
4264           releasing 0.10.16, "Special Dispensation"
4265
4266 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4267
4268         * configure.ac:
4269           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4270           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4271           not fail when trying to crosscompile on OpenEmbedded (#511750).
4272
4273 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4274
4275         * docs/manuals.mak:
4276         Use $(MAKE) instead of make to fix the build if GNU make is
4277         called different. Fixes bug #510747.
4278
4279 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4280
4281         * gst/gstplugin.c: (_gst_plugin_initialize):
4282           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4283           again, which I broke two commits ago when changing the API
4284           of gst_plugin_register_static(): the g_list_foreach() in
4285           _gst_plugin_register_static still assumed the old function
4286           signature and would therefore fail (re-fixes #510187).
4287
4288         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4289           (_gst_plugin_register_static), (gst_plugin_register_static):
4290           Revert the (technically correct) change to call g_thread_init() from
4291           the pre-main() constructor. This will break programs which call
4292           g_thread_init() without an if (!g_thread_supported()) guard in their
4293           main function. We could just blame it on GLib or the application, but
4294           it's probably best to just avoid this altogether and simply not use
4295           any GLib functions here and use plain old malloc() with a simple
4296           array to store the plugins to register later when gst_init() is
4297           finally called (re-fixes #510187).
4298
4299         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4300           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4301           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4302           (GST_START_TEST), (gst_plugin_suite):
4303           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4304           works.
4305
4306 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4307
4308         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4309           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4310           This makes gtk-doc complain, but results in slightly better
4311           compiler errors. The old _gst_plugin_register_static() is
4312           still guarded, so there'll be a compiler warning about that
4313           instead. Fixes #510187 too.
4314
4315 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4316
4317         * gst/gst.c: (init_post):
4318         * gst/gstplugin.c: (_gst_plugin_register_static),
4319           (gst_plugin_register_static), (_gst_plugin_initialize):
4320         * gst/gstplugin.h: (GstPluginFilter):
4321           Change API of gst_plugin_register_static() to not take
4322           a GstPluginDesc, but rather just take all the arguments
4323           in a GstPluginDesc directly. This is more intuitive and
4324           avoids certain mistakes when porting code from
4325           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4326           Fixes #510187.
4327
4328         * tests/check/gst/gstplugin.c:
4329           Fix up for changed API.
4330
4331 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4332
4333         * docs/faq/legal.xml:
4334           Update FAQ, Totem actually has an exception these days.
4335
4336 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4337
4338         * win32/common/libgstreamer.def:
4339         Add new API declarations
4340
4341 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4342
4343         * gst/gstminiobject.c:
4344           Spelling fixes for the API docs.
4345
4346 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4347
4348         * libs/gst/base/gstbasetransform.c:
4349           Fix long property description for QoS.
4350
4351 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4352
4353         * gst/gst.c:
4354         _gst_trace_on is already provided by gsttrace.h, no need to declare
4355         it ourselves.
4356
4357         * docs/libs/gstreamer-libs-sections.txt:
4358         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4359         and remove strange tcase_add_test which is outputting a warning.
4360
4361         * libs/gst/check/gstcheck.c:
4362         * libs/gst/check/gstcheck.h:
4363         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4364         and define them in gstcheck.c instead of having every .c file whcih
4365         includes gstcheck.h be defining its own copy and relying on symbol
4366         interposing to marry them all, which doesn't work on Solaris.
4367
4368         * tests/check/elements/identity.c: (GST_START_TEST):
4369         Don't define 'buffers' locally, it comes from libgstcheck.
4370
4371         * tests/check/generic/sinks.c: (send_buffer):
4372         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4373
4374         * tests/check/gst/gststructure.c: (GST_START_TEST):
4375         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4376         * tests/check/gst/gstutils.c: (GST_START_TEST):
4377         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4378         Add a bunch of casts to make various constants fit the types
4379         they're being assigned to.
4380
4381 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4382
4383         * gst/gstchildproxy.c:
4384           Improve docs and add some ideas for making this more general-purpose.
4385
4386 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4387
4388         * gst/gst_private.h: (GST_CAT_TYPES):
4389           Add GST_CAT_TYPES, for consistency, and so that the other
4390           debug categories don't make fun of it. Spotted by Saur on IRC.
4391
4392 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4393
4394         * gst/parse/Makefile.am:
4395           Move types.h from EXTRA_DIST to noinst_HEADERS.
4396
4397 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4398
4399         * autogen.sh:
4400           Add -Wno-portability to the automake parameters to stop warnings
4401           about GNU make extensions being used. We require GNU make in almost
4402           every Makefile anyway.
4403
4404         * configure.ac:
4405           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4406           at the same time is required for per target flags.
4407
4408 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4409
4410         * gst/gstmacros.h:
4411           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4412           __GNUC__ is defined before using it.
4413
4414 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4415
4416         * docs/gst/gstreamer-sections.txt:
4417         * gst/gst.c: (init_post):
4418         * gst/gstplugin.c: (_gst_plugin_register_static),
4419           (gst_plugin_register_static), (_gst_plugin_initialize),
4420           (gst_plugin_register_func):
4421         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4422           API: add gst_plugin_register_static() and deprecate
4423           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4424           (#498924).
4425           Also, in _gst_plugin_register_static(), make sure to call
4426           g_thread_init() before calling GLib functions such as
4427           g_list_append() if we're not initialised yet, since that
4428           may lead to random crashes with older GSlice/GLib versions.
4429
4430         * tests/check/gst/gstplugin.c:
4431           Adapt unit test to above changes.
4432
4433 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4434
4435         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4436         * gst/gstcaps.c: (gst_caps_to_string):
4437         * gst/gststructure.c: (GST_ASCII_IS_STRING),
4438           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4439           Yet another gratuitous GString micro-optimisation: add a (private)
4440           function that serialises a structure appending to an existing
4441           GString, so that when we serialise caps we don't need to alloc+free
4442           a throwaway GString for each structure (each of which also entailing
4443           multiple reallocs on the way); also use g_string_sized_new() in
4444           various places with an approximate string length to avoid reallocs
4445           within GString. See #500143.
4446
4447 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4448
4449         * gst/gststructure.c: (gst_structure_id_set_value):
4450           Always check UTF-8 conformance of structure strings and not only
4451           if the debugging system is enabled; reasoning: the behaviour of
4452           the actual code shouldn't really change depending on whether the
4453           debugging system is enabled or not (#508291).
4454
4455 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
4456
4457         * Makefile.am:
4458           Remove old coverage target in favour of "make lcov".
4459
4460 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4461
4462         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4463         (gst_base_src_loop):
4464         The start segment for reverse playback goes from start to last_stop.
4465
4466 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4467
4468         Patch by: Peter Kjellerstedt <pkj axis com>
4469
4470         * gst/gstclock.h:
4471         Cast the results from the timeval/spec_to_time macros to what the
4472         docs say it casts to, a GstClockTime. fixes #508175.
4473
4474 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4475
4476         * gst/gstbuffer.c:
4477         Update some comments.
4478
4479         * tools/gst-inspect.c: (print_element_properties_info):
4480         Improve printing of flags.
4481
4482 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4483
4484         * libs/gst/base/gstbasetransform.c:
4485           (gst_base_transform_transform_size):
4486           Print element name with g_warning() if there's a problem
4487           with the unit size.
4488
4489 2008-01-07  David Schleef  <ds@schleef.org>
4490
4491         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4492
4493         * libs/gst/controller/gstcontroller.h:
4494         * libs/gst/controller/gstcontrolsource.h:
4495         * libs/gst/controller/gstinterpolationcontrolsource.h:
4496         * libs/gst/controller/gstlfocontrolsource.h:
4497         * libs/gst/dataprotocol/dataprotocol.h:
4498           Fix empty prototypes.  Fixes bug #507957.
4499
4500 2008-01-07  David Schleef  <ds@schleef.org>
4501
4502         * docs/faq/dependencies.xml: Fix typo.
4503
4504 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4505
4506         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4507         (gst_base_src_loop):
4508         Don't update the last_stop position in do_seek, that's the position we
4509         did a seek to.
4510         Read backwards when we have a negative rate.
4511
4512         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4513         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4514         (filesrc_suite):
4515         Add check for reverse reading.
4516
4517 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
4518
4519         Patch by: Alexis Ballier <aballier at gentoo org>
4520
4521         * tests/check/gst/gstabi.c:
4522         * tests/check/gst/struct_ppc64.h:
4523         * tests/check/libs/libsabi.c:
4524         * tests/check/libs/struct_ppc64.h:
4525           Decide which header to include based on the userland ABI target
4526           and not the kernel/cpu. Fix up structure sizes of ppc64 header
4527           for 64-bit userland (#503590).  Might need something similar for
4528           x86 too.
4529
4530 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4533           Log the reason why fopen fails in addition to the fact that it failed.
4534           
4535 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
4536
4537         * gst/parse/parse.l:
4538         Use "%option never-interactive" to prevent useless calls to isatty()
4539         on every input when parsing. Also use "%option noinput" to not define
4540         the static input/yyinput functions which we don't use anyway. This
4541         removes a compiler warning with gcc 4.3 and saves some bytes in the
4542         library.
4543         
4544         * gst/parse/lex._gst_parse_yy.pre.c:
4545         Regenerated for the above change.
4546
4547 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4548
4549         * gst/gstpad.c: (fixate_value):
4550         Don't crash when trying to fixate and empty list.
4551         Fixes #506643.
4552
4553 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
4554
4555         * docs/faq/gst-uninstalled:
4556         Clarify the comments to make the usage of this script and what it
4557         does easier to understand.
4558
4559 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4560
4561         * tools/gst-plot-timeline.py:
4562         Add more options to gst-plot-timeline
4563
4564 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
4565
4566         * docs/design/part-synchronisation.txt:
4567         Some more info on how the stream_time in GstBaseSink is done.
4568
4569 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
4570
4571         * tests/check/generic/sinks.c: (gst_sinks_suite):
4572           Put back the tcase_set_timeout(), apparently it's needed after
4573           all; fix it up in a way that makes things work with valgrind too.
4574
4575 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4576
4577         * gst/gstdebugutils.c:
4578           Add warning when failed to open file for writing.
4579
4580 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4581
4582         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
4583
4584         * gst/gstvalue.c: (gst_value_is_fixed):
4585           Optimisation: bail out of the loop as early as possible (#500143).
4586
4587 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4588
4589         * gst/gstcaps.c: (gst_caps_to_string):
4590         * gst/gstinfo.c: (gst_debug_construct_term_color):
4591         * gst/gstparse.c: (gst_parse_launchv):
4592         * gst/gstutils.c: (gst_util_dump_mem):
4593         * gst/gstvalue.c: (gst_value_serialize_any_list),
4594           (gst_value_transform_any_list_string):
4595           Bunch of gratuitous nano-optimisations.
4596
4597 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4598
4599         * tests/check/generic/sinks.c: (async_done_func),
4600           (async_done_eos_func):
4601           Fix leak in unit test (bus sync handler must unref the message
4602           if it returns GST_BUS_DROP). Don't fiddle with the default test
4603           timeout, this is smaller than the current preconfigured value
4604           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4605           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4606
4607 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4608
4609         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4610
4611         * configure.ac:
4612         Check for stdio_ext.h for the filesink changes.
4613
4614         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4615         (gst_file_sink_class_init), (gst_file_sink_init),
4616         (gst_file_sink_dispose), (gst_file_sink_set_property),
4617         (gst_file_sink_get_property), (gst_file_sink_open_file),
4618         (gst_file_sink_close_file):
4619         * plugins/elements/gstfilesink.h:
4620         Add two properties to control the buffering mode and size.
4621         API: GstFileSink::buffer-mode
4622         API: GstFileSink::buffer-size
4623         Fixes #500150.
4624
4625 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4626
4627         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4628         Add some more docs to explain why a FIXME was wrongly added. 
4629
4630 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
4631
4632         * gst/gstobject.c:
4633           Fix typo in the gst_object_{ref,unref} documentation.
4634
4635 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4636
4637         * tests/check/libs/controller.c:
4638         * tests/check/libs/typefindhelper.c:
4639         * tests/check/pipelines/parse-launch.c:
4640           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
4641           going to be deprecated (see #498924).
4642
4643 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4644
4645         * gst/gsttypefind.c: (gst_type_find_register):
4646           Make gst_type_find_register work for static typefind functions,
4647           ie. allow passing plugin == NULL (prerequisite for #498924).
4648
4649         * gst/gstelementfactory.c: (gst_element_register):
4650           Small docs addition.
4651
4652 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
4653
4654         * gst/gstpad.c: (gst_pad_dispose):
4655         Really unlink the peer pad instead of setting the peer pointer to NULL
4656         when we dispose the pad.
4657         This correctly calls the unlink functions and makes sure that the peer
4658         does not have a handle to invalid memory. See #504671.
4659
4660         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4661         Add testsuite for above case.
4662
4663 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         Patch by: Peter Kjellerstedt <pkj axis com>
4666
4667         * libs/gst/check/gstcheck.h:
4668           Fix detection of the check version we're compiling against (would
4669           otherwise break if check goes v0.10.0); correctly report the
4670           name of the failed test again in case of failure, instead of
4671           just 'tf' (fixes #504499).
4672
4673 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
4674
4675         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
4676         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4677         (gst_base_src_loop), (gst_base_src_set_flushing),
4678         (gst_base_src_change_state):
4679         Allow sending EOS to the source to make it send out an EOS event from
4680         the streaming thread.
4681         Update docs and deprecate the old NULL/READY shutdown method.
4682
4683         * tests/check/libs/basesrc.c: (GST_START_TEST),
4684         (gst_basesrc_suite):
4685         Add unit test for controlled shutdown.
4686
4687 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
4688
4689         * docs/design/part-synchronisation.txt:
4690         Small updates.
4691
4692         * gst/gstsegment.c: (gst_segment_set_seek),
4693         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
4694         (gst_segment_to_running_time):
4695         The seek format can be different from the segment format when the start
4696         and stop values are not to be updated, when we only do a rate change for
4697         example.
4698
4699         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4700         (gst_segment_suite):
4701         Add a testcase for the rate-only seeks, checking that the format is
4702         correctly ignored when start and stop are not updated.
4703
4704 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
4705
4706         Patch by: Matthias Bolte <photon at mail dot upb dot de>
4707
4708         * win32/vs8/grammar.vcproj:
4709         * win32/vs8/libgstcontroller.vcproj:
4710         * win32/vs8/libgstreamer.vcproj:
4711         Fix compilation with VS8 and include some missing files.
4712
4713 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4714
4715         * gst/gsttaglist.c:
4716           Small docs addition: mention that the strings returned by
4717           gst_tag_list_get_string*() are in UTF-8 encoding.
4718
4719 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4720
4721         * Makefile.am:
4722           The check-exports stuff moved to common/win32.mak, so include that.
4723
4724 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
4725
4726         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4727         (gst_base_src_perform_seek), (gst_base_src_get_range),
4728         (gst_base_src_set_playing), (gst_base_src_change_state):
4729         Make _wait_playing() not check any variables so that we can call this
4730         function from subclasses. Move the checks elsewhere similar to
4731         _wait_preroll() in basesink.
4732         Add some debugging.
4733         Only signal the LIVE cond when we are going back to PLAYING.
4734
4735 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4736
4737         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
4738           Use g_remove() and g_rename(). Check result of g_rename(), and
4739           don't leak the open file descriptor if we error out when writing.
4740
4741         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
4742           Must check the return value of close() after writing out the new
4743           registry file.  Sometimes write problems such as out-of-diskspace
4744           are only reported when the file is closed and not already during
4745           the write.  This may have caused partial/broken registry files in
4746           some rare circumstances. Should fix #503675.
4747
4748 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
4749
4750         * docs/gst/.cvsignore:
4751         * docs/libs/.cvsignore:
4752         * docs/plugins/.cvsignore:
4753         Ignore files generated by new common/* modifications
4754
4755 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4756
4757         * win32/common/libgstbase.def:
4758           Yes, you can also have a <TAB> if you want.
4759
4760 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4761
4762         * win32/common/libgstbase.def:
4763           Add new basetransform API to win export file.
4764
4765 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4766
4767         * tests/check/gst/gstbin.c:
4768           Adjust the test to the refcount change two days ago.
4769
4770 2007-12-14  David Schleef  <ds@schleef.org>
4771
4772         * docs/faq/getting.xml: Fix typo.
4773
4774 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
4775
4776         * docs/libs/gstreamer-libs-sections.txt:
4777         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4778           (gst_base_transform_prepare_output_buffer),
4779           (gst_base_transform_set_gap_aware):
4780         * libs/gst/base/gstbasetransform.h:
4781           API: Add gst_base_transform_set_gap_aware() to control whether
4782           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
4783           get buffers with this flag at all. Fixes #503231.
4784
4785 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
4786
4787         * libs/gst/base/gstbasesink.c:
4788         * libs/gst/base/gstbasesrc.c:
4789         * libs/gst/base/gstbasetransform.c:
4790           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
4791           thread. Correct log message in gstbasesrc.c.
4792
4793 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4794
4795         * gst/gstutils.c: (element_find_unconnected_pad):
4796           Fix possible compiler warning (#503417).
4797
4798 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4799
4800         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
4801           Don't use GST_CAT_EVENT here for logging, it makes no sense.
4802
4803 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
4804
4805         * tools/gst-inspect.c: (print_element_properties_info):
4806           Add support for GstFraction properties.
4807
4808 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4809
4810         * Makefile.am:
4811           Add check-exports target and run it as part of 'make check'
4812           (see #499140 and #493983).
4813
4814         * gst/gst_private.h:
4815         * gst/gstelementfactory.h:
4816         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
4817         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
4818           (_priv_gst_in_valgrind):
4819         * gst/gstinfo.h: (GstLogFunction):
4820         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
4821           (gst_type_find_register):
4822         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
4823           (gst_type_find_factory_get_type):
4824         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
4825           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
4826           (gst_controller_new_valist), (gst_controller_new_list),
4827           (_gst_controller_dispose), (_gst_controller_class_init):
4828         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
4829         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
4830           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
4831           (gst_object_get_controller), (gst_object_set_controller),
4832           (gst_object_suggest_next_sync), (gst_object_sync_values),
4833           (gst_object_set_control_source), (gst_object_get_control_source),
4834           (gst_object_get_value_arrays), (gst_object_get_value_array),
4835           (gst_object_get_control_rate), (gst_object_set_control_rate):
4836         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
4837         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
4838           Make some functions that should be static static; rename some
4839           private symbols so that they don't get exported; add some FIXME
4840           comments so we can move accidentally exported functions into
4841           our private section in 0.11.
4842
4843         * win32/common/libgstreamer.def:
4844           Add gst_utils_get_timestamp().
4845
4846 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4847
4848         * gst/gstvalue.c:
4849         * gst/gstvalue.h:
4850           Add more missing "Since:" tags to docs.
4851
4852 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4853
4854         * gst/gstutils.c:
4855           Add mising "Since:" to docs.
4856
4857 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4858
4859         * gst/gstplugin.c:
4860           Include "glib-compat-private.h" to fix the build on system with
4861           glib < 2.10. Fixes #503131.
4862
4863 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4864
4865         * gst/gstutils.c:
4866         * gst/gstutils.h:
4867           Actually its not PURE as it gets the time from elsewhere.
4868
4869 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4870
4871         * docs/gst/gstreamer-sections.txt:
4872         * gst/gstclock.h:
4873         * gst/gstdebugutils.c:
4874         * gst/gstinfo.c:
4875         * gst/gstutils.c:
4876         * gst/gstutils.h:
4877         * libs/gst/base/gstbasesink.c:
4878         * tools/gst-launch.c:
4879           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
4880           uses as we don't have HAVE_POSIX_TIMERS in public headers.
4881           Thanks Tim for spotting.
4882           API: gst_util_get_timestamp
4883
4884 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
4885
4886         * configure.ac:
4887           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
4888
4889 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
4890
4891         * gst/gststructure.c: (gst_structure_validate_name),
4892           (gst_structure_new_valist), (gst_structure_parse_value),
4893           (gst_structure_from_string):
4894           Don't crash in _from_string() if the structure name is not valid
4895           (fixes #501560).  Allow structure names to start with a number
4896           again (this apparently broke the ubuntu codec installer).
4897
4898         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
4899           (GST_START_TEST):
4900           Add unit test for the crash; update unit tests for new behaviour.
4901
4902 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
4903
4904         * gst/gstutils.c:
4905         Clarify gst_element_get_compatible_pad() documentation.
4906         Fixes #500919.
4907
4908 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
4909
4910         * tests/check/Makefile.am:
4911           Don't forget to dist {gst,libs}/struct_hppa.h.
4912
4913 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4914
4915         * libs/gst/base/gstbasesink.c:
4916           Use new API to get elapsed time.
4917
4918 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4919
4920         * gst/gstdebugutils.c:
4921         * gst/gstinfo.c:
4922           Fix wrong order of args in GST_CLOCK_DIFF() usage.
4923
4924         * tools/gst-launch.c:
4925           Use new API to get elapsed time.
4926
4927 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4928
4929         * docs/gst/gstreamer-sections.txt:
4930         * gst/gstclock.h:
4931         * gst/gstdebugutils.c:
4932         * gst/gstinfo.c:
4933           Rename new API + ChangeLog surgery to remove old name from last entry..
4934
4935 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4936
4937         * docs/gst/gstreamer-sections.txt:
4938         * gst/gstclock.h:
4939         * gst/gstdebugutils.c:
4940         * gst/gstinfo.c:
4941           Now hide the different clock stuff behind a macro.
4942
4943 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4944
4945         * configure.ac:
4946         * gst/gstdebugutils.c:
4947         * gst/gstinfo.c:
4948           Apply the posix-timer check from #361155. Conditionally use the posix
4949           timer for logging. This gives better timestamp precission, less
4950           overhead and no ntp jitter.
4951
4952 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
4953
4954         * gst/gstminiobject.c: (gst_mini_object_get_type),
4955         (gst_mini_object_class_init), (gst_mini_object_copy_default),
4956         (gst_mini_object_finalize), (gst_mini_object_copy),
4957         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
4958         (gst_mini_object_replace), (param_mini_object_validate),
4959         (gst_param_spec_mini_object_get_type):
4960         Some cleanup and checking against invalid function parameters.
4961
4962 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
4963
4964         * docs/gst/gstreamer-sections.txt:
4965         * gst/gstclock.h:
4966         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4967         (gst_systemclock_suite):
4968         Start merging in the easy bits of #361155, the monotonic clock patch.
4969         This one adds a few handy macros with docs and a testsuite.
4970
4971 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
4972
4973         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
4974         Be a bit smarter when seeking, like, don't try to do a seek when it's
4975         not needed. This avoids errors when the file is not seekable.
4976         Fixes #499771.
4977
4978 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
4979
4980         * docs/gst/gstreamer-docs.sgml:
4981         * docs/gst/gstreamer-sections.txt:
4982         * docs/gst/gstreamer.types.in:
4983         * gst/Makefile.am:
4984         * gst/gst.h:
4985         * gst/gstpreset.c:
4986         * gst/gstpreset.h:
4987         * plugins/elements/gstqueue.c:
4988           Due to popular request remove preset interface again. :-(.
4989
4990 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4991
4992         * tools/gst-inspect.c:
4993           Print 'default value' for enums and flags too.
4994
4995 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4996
4997         * docs/random/ensonic/profiling.txt:
4998           More ideas.
4999
5000         * gst/gstbin.c:
5001           Fix typo and give better log output.
5002
5003         * gst/gstdebugutils.c:
5004         * gst/gstdebugutils.h:
5005           More ideas, make graphs a bit smaller and fix param name in macro.
5006
5007 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5008
5009         * gst/gstpreset.c:
5010           Try harder to use the return value from fgets().
5011
5012 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5013
5014         * gst/gstpreset.c:
5015           For theses two fgets we handle the error below.
5016
5017 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5018
5019         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5020         Only send upstream events upstream. Fixes #498746.
5021
5022 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5023
5024         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5025
5026         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5027         (gst_identity_init), (gst_identity_transform_ip),
5028         (gst_identity_set_property), (gst_identity_get_property):
5029         * plugins/elements/gstidentity.h:
5030         Add property to disable handoff signal emission. Fixes #498694.
5031         API: GstIdentity::signal-handoffs
5032
5033 2007-11-21  Julien Moutte  <julien@fluendo.com>
5034
5035         * docs/faq/gst-uninstalled: Yet another missing library for the
5036         uninstalled script (fft)
5037
5038 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5039
5040         * docs/faq/developing.xml:
5041         Add a question about how to submit new translations.
5042
5043         * docs/random/release:
5044         Update the contact email address for the Translation Project
5045
5046         * plugins/elements/gstfdsrc.c:
5047         The parent_class for fdsrc is pushsrc, not GstElement.
5048
5049 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5050
5051         * gst/gstpreset.c:
5052           Plug a leak and fix saving.
5053
5054 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5055
5056         * docs/gst/gstreamer-sections.txt:
5057         Add new gst_preset__get_property_names() function to the docs
5058         to fix the build.
5059
5060 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5061
5062         * gst/gstpreset.c:
5063         * gst/gstpreset.h:
5064           Change _get_preset_names API to return a strv with copies. Add
5065           _get_property_names to allow implementations to filter and provide
5066           good default implementation.
5067
5068 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5069
5070         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5071         script (sdp).
5072
5073 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5074
5075         * gst/gstpreset.c:
5076           More cleanups, docs, and TODOs from comments that now slowly come in.
5077
5078 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5079
5080         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5081         search path.
5082
5083 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5084
5085         * gst/gstpreset.c:
5086           Fix bogus warning and make the property type specific code more
5087           similar.
5088
5089 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5090
5091         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5092         it build on OS X.
5093
5094 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5095
5096         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5097         (gst_bin_add_func), (gst_bin_remove_func),
5098         (gst_bin_change_state_func), (gst_bin_continue_func):
5099         Change email, cleanups add some more debug and comments.
5100         Also set bus and clock on new elements when the pipeline was in error.
5101
5102 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5103
5104         * gst/gstbin.c:
5105         * gst/gstdebugutils.c:
5106           Fix build with --disable-gst-debug. Fixes #497859.
5107           Spotted by Sameer Naik.
5108
5109 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5110
5111         * gst/gstevent.c:
5112           Little documentation improvment.
5113
5114         * gst/gstpreset.c:
5115           More TODO cleanups. Remove c++ comments.
5116
5117         * libs/gst/controller/gstcontroller.c:
5118           Add TODO and use quark from static string.
5119
5120         * tests/check/gst/gstmessage.c:
5121         * tests/check/gst/gststructure.c:
5122           Use quark from static string.
5123
5124 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5125
5126         * gst/gstpreset.c:
5127           Add some comments and TODOs.
5128
5129         * gst/gstpreset.h:
5130           Add padding for future changes.
5131
5132         * plugins/elements/gstqueue.c:
5133           Implement the iface.    
5134
5135 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5136
5137         * docs/gst/gstreamer-docs.sgml:
5138         * docs/gst/gstreamer-sections.txt:
5139         * docs/gst/gstreamer.types.in:
5140         * gst/Makefile.am:
5141         * gst/gst.h:
5142         * gst/gstpreset.c:
5143         * gst/gstpreset.h:
5144           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5145
5146 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5147
5148         * configure.ac:
5149
5150         Back to CVS
5151
5152 === release 0.10.15 ===
5153
5154 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5155
5156         * configure.ac:
5157           releasing 0.10.15, "October"
5158
5159 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5160
5161         * win32/vs6/libgstreamer.dsp:
5162         Convert line endings back to DOS.
5163
5164 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5165
5166         * docs/design/draft-tagreading.txt:
5167         * docs/random/ensonic/profiling.txt:
5168         Update fast tagreading draft and performance profiling ideas.
5169
5170 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5171
5172         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5173         Don't hold the object lock when unreffing a buffer because it could
5174         cause a deadlock when the finalize function wants to grab the object
5175         lock too. Fixes #495133.
5176
5177 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5178
5179         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5180         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5181         Also accumulate time correctly when doing reverse playback. Fixes
5182         #488201,
5183         When converting to running and stream time, use default values for
5184         start/stop/time/accum when comparing different formats. Fixes #494245.
5185
5186         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5187         Do running/stream time in TIME format.
5188
5189         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5190         (gst_segment_suite):
5191         2 new unit tests for segment accumulation.
5192
5193 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5194
5195         * gst/gst.c: (init_pre):
5196         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5197           (_gst_debug_bin_to_dot_file):
5198           Move getenv() back into gst_init, so everyone can live happily
5199           ever after. Make sure the symbol isn't exported though.
5200
5201 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5202
5203         Patch by: Sebastien Moutte  <sebastien moutte net>
5204
5205         * win32/common/gstenumtypes.c:
5206         * win32/common/gstenumtypes.h:
5207           Update enum types.
5208
5209         * win32/vs6/libgstreamer.dsp:
5210           Update vs6 project files (#494343).
5211
5212 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5213
5214         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5215         (gst_base_src_perform_seek), (gst_base_src_default_event),
5216         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5217         (gst_base_src_activate_pull):
5218         Unify flushing code, remove some old unlock code that is no longer used.
5219         Take the streaming lock when seeking to avoid races. Fixes #492729.
5220         Added some more comments.
5221
5222 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         * gst/gst.c: (_gst_disable_segtrap):
5225           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5226           we can use gst_segtrap_is_enabled() there now that we have that API.
5227           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5228           to do the getenv here (and export the variable).
5229
5230         * gst/gstdebugutils.c: (debug_dump_element),
5231           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5232           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5233
5234         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5235           (gst_debug_log_default):
5236           Rename _gst_info_start_time to priv_gst_info_start_time so it
5237           doesn't get exported (was never in any header).
5238
5239         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5240           (gst_plugin_loading_mutex):
5241           Make static mutex gst_plugin_loading_mutex really static (was never
5242           in any header), and use gst_segtrap_is_enabled() instead of
5243           _gst_disable_segtrap.
5244
5245         * gst/gsttrace.c: (_gst_trace_default):
5246           Make local _gst_trace_default static (was never in any header).
5247
5248 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5249
5250         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5251
5252         * win32/common/libgstbase.def:
5253         * win32/common/libgstcontroller.def:
5254         * win32/common/libgstdataprotocol.def:
5255         * win32/common/libgstnet.def:
5256         * win32/common/libgstreamer.def:
5257           Add more missing symbols, remove some duplicates, and sort
5258           as the 'sort' command sorts it (partially fixes #493983).
5259
5260 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5261
5262         * gst/gstelement.c: (gst_element_set_state_func):
5263         Only change the state cookie if a different state was set on the
5264         element. See #492729.
5265
5266 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5267
5268         * gst/gstvalue.c:
5269           Remove unused and uninitialised type variables that were still
5270           exported for some reason (they were never in any header files
5271           though).
5272
5273 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5274
5275         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5276         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5277         (gst_base_sink_event), (gst_base_sink_get_position_last),
5278         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5279         (gst_base_sink_change_state):
5280         Don't try to report a 0 position when we don't know, return -1 and FALSE
5281         instead. This mostly happens when we are prerolling.
5282         Make sure we can report the right position before we post the ASYNC_DONE
5283         message so that a message handler can query position without races.
5284
5285         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5286         (async_done_handoff), (async_done_func), (send_buffer),
5287         (async_done_eos_func), (gst_sinks_suite):
5288         Add two tests for the above.
5289
5290 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5291
5292         * MAINTAINERS:
5293         Update with new email address.
5294
5295         * docs/design/part-TODO.txt:
5296         Add some more info about future pad-block and negotiation changes.
5297
5298         * docs/design/part-buffering.txt:
5299         Add some ideas about buffering reporting.
5300
5301 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5302
5303         * tests/check/gst/gstobject.c:
5304         Disable silly racy test that always fails on this combination of CPU
5305         and kernel.
5306
5307 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5308
5309         Patch by: Murray Cumming  <murrayc@murrayc.com>
5310
5311         * gst/gstobject.c:
5312           Corrected the registration of the parent-set and parent-unset
5313           signals: The parameter is a GstObject, not a GObject (#493134).
5314
5315 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * gst/gst_private.h:
5318         * gst/gstbuffer.h:
5319         * gst/gstevent.h:
5320         * gst/gstformat.h:
5321         * gst/gstmessage.h:
5322         * gst/gstplugin.h:
5323         * gst/gstquery.h:
5324         * gst/gsttaglist.h:
5325         * gst/gstvalue.h:
5326           Move declaration of private _gst_foo_initialize() functions into
5327           our private header file where they should have been all along.
5328
5329 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5330
5331         * docs/plugins/gstreamer-plugins-sections.txt:
5332         * gst/gstdebugutils.h:
5333         * gst/gstxml.h:
5334         * plugins/elements/gstqueue.c:
5335           gtk-doc fixes; trailing-comma-in-enum fix.
5336
5337 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5338
5339         * gst/gst.c: (gst_deinit):
5340           Clean up on deinit (not the external ones though, doesn't seem to be
5341           needed for some reason).
5342
5343 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5344
5345         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5346           Remove __declspec(dllimport) for MSVC that was copied over into core
5347           from a plugin, obviously without ever having been tested (note the
5348           single underscore in _declspec in the initial commit), and that doesn't
5349           really make sense.  See #492077.
5350
5351 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5352
5353         * gst/gst.c: (init_post):
5354         * gst/gstevent.c: (_gst_event_initialize):
5355         * gst/gstquery.c: (_gst_query_initialize):
5356         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5357           g_type_class_ref() other types as well, see #349410 and #64764.
5358
5359         * gst/gstbuffer.c: (_gst_buffer_initialize):
5360         * gst/gstmessage.c: (_gst_message_initialize):
5361           Simplify existing g_type_class_ref().
5362
5363 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5364
5365         * gst/gstformat.c: (_gst_format_initialize):
5366           g_type_class_ref() our GstFormat type to make sure we avoid the
5367           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5368           bug #64764. Should fix intermittent tee unit test failures (#474823).
5369
5370 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5371
5372         * tests/check/elements/tee.c: (test_num_buffers):
5373           Simplify, simplify, simplify - or not.  Rewrite unit test
5374           not to use gst_parse_launch(); allow N sub-streams. Increasing
5375           the number of sub-streams seems to reproduce #474823 more easily.
5376
5377 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5378
5379         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5380
5381         * gst/gsttrace.c:
5382         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5383         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5384         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5385           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5386           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5387           so use _pipe() directly (#492077).
5388
5389         * win32/common/dirent.c: (_treaddir):
5390           Add a couple of casts to make it build without warnings with MSVC.
5391
5392         * win32/common/libgstreamer.def:
5393           Add some more symbols that need to be exported.
5394
5395 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5396
5397         * tests/examples/metadata/read-metadata.c: (message_loop):
5398           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5399           arriving in a second or third tag message are added to
5400           the tag list as well.
5401
5402 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5403
5404         * libs/gst/base/gstbasesrc.c:
5405           Its "Since:" and not "@Since:". And remove an superflous cast.
5406
5407 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5408
5409         * docs/libs/gstreamer-libs-sections.txt:
5410         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5411         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5412         (gst_base_sink_get_property), (gst_base_sink_render_object),
5413         (gst_base_sink_preroll_object),
5414         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5415         (gst_base_sink_change_state):
5416         * libs/gst/base/gstbasesink.h:
5417         Add a new last-buffer property that contains the last buffer used in
5418         basesink for preroll or rendering. useful for making snapshots.
5419         API: gst_base_sink_get_last_buffer()
5420         API: GstBaseSink::last-buffer
5421
5422 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5423
5424         * docs/gst/running.xml:
5425         * gst/gst.c:
5426         * gst/gstdebugutils.c:
5427         * gst/gstdebugutils.h:
5428         * tools/gst-launch.c:
5429           Improve bin graph dumping, by using the envvar to specify a path.
5430           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5431
5432 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5433
5434         * plugins/elements/gsttypefindelement.c:
5435           (gst_type_find_element_handle_event),
5436           (gst_type_find_element_activate):
5437           Post special error message if we can't determine the type of a stream
5438           because it's empty.
5439
5440 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5441
5442         * docs/gst/running.xml:
5443         * gst/gstdebugutils.c:
5444           Document new env-var. Add one log-line after dumpng a graph.
5445
5446 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5447
5448         * configure.ac:
5449           Ugly hack to put the (recently removed and non-portable, apparently)
5450           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5451           GNU ld, because without that 'make check' fails miserably on my debian
5452           stable box.  Someone with more knowledge of linker intricacies and
5453           portability issues than me fix this properly please.
5454
5455 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
5456
5457         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5458         Reset last seen position after flushing so that we don't report the old
5459         position anymore.
5460
5461 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5462
5463         * gst/gstelementfactory.c: (gst_element_register):
5464         * gst/gsturi.h:
5465         Patch from Alessandro Decina adding get_type_full and
5466         get_protocols_full private vfuncs to the URIHandler interface
5467         to allow bindings to support creating URI handlers. 
5468         Partially fixes: #339279
5469         API: GstURIHandlerInterface::get_type_full
5470         API: GstURIHandlerInterface::get_protocols_full
5471
5472 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5473
5474         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5475         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5476         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5477         Make it so that pads are considered linked until a buffer is pushed
5478         and discovered otherwise. This avoids problems with decodebin2 hanging
5479         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5480         case.
5481
5482         Make sure we lock the multiqueue when updating the max-size properties.
5483         
5484         Fix a crash on Solaris in a debug statement in get_request_pad that
5485         passes a NULL string to GST_DEBUG. 
5486
5487         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5488         (run_output_order_test):
5489         Fix the test to allow the first buffer on not-linked pads to come out
5490         of sequence while multiqueue discovers that they are not-linked.
5491
5492 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5493
5494         * configure.ac:
5495         * libs/gst/check/Makefile.am:
5496         Use a custom export symbol regex for libgstcheck, as it needs
5497         to export symbols that don't match the standard GStreamer gst_*
5498         pattern, and  --export-dynamic is not portable (only works on 
5499         GNU ld)
5500
5501         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5502         (gst_check_setup_sink_pad):
5503         Make sure to pass a message parameter to the fail_* macros.
5504
5505         * tests/check/gst/gstinfo.c: (GST_START_TEST):
5506         Fix some compiler warnings.
5507
5508 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
5509
5510         * tests/check/gst/gststructure.c: (test_to_string):
5511           Disable test that checks that white spaces are not allowed
5512           in structure names or field names, since we need to
5513           support that for now for backwards compatibility reasons.
5514
5515 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5516
5517         * docs/gst/gstreamer-sections.txt:
5518         * gst/gsttaglist.c:
5519         * gst/gsttaglist.h:
5520           API: add GST_TAG_ARTIST_SORTNAME
5521           API: add GST_TAG_ALBUM_SORTNAME
5522           API: add GST_TAG_TITLE_SORTNAME
5523           Add tag variants for sorting (#414539).
5524
5525 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5526
5527         * gst/gststructure.c:
5528           Also allow white space for names so we don't break
5529           backwards compatibility.
5530
5531 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
5532
5533         * docs/design/part-TODO.txt:
5534         * docs/design/part-segments.txt:
5535         * docs/design/part-streams.txt:
5536         Small updates.
5537
5538 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5539
5540         * docs/gst/gstreamer-sections.txt:
5541          Fixed documentation from my previous commit (added new API add
5542          gst_value_set_structure(), add gst_value_get_structure() and
5543          GST_VALUE_HOLDS_STRUCTURE).
5544
5545 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
5546
5547         * gst/gstdebugutils.c:
5548           Reflow code to fix uninitialized variable warning.
5549
5550 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5551
5552         * gst/gstcaps.c: (gst_caps_to_string),
5553         (gst_caps_from_string_inplace):
5554         * gst/gststructure.c: (gst_structure_get_abbrs),
5555         (gst_structure_to_string), (gst_structure_from_string):
5556         * gst/gstvalue.c: (gst_value_set_structure),
5557         (gst_value_get_structure), (gst_value_serialize_structure),
5558         (gst_value_deserialize_structure), (_gst_value_initialize):
5559         * gst/gstvalue.h:
5560         * tests/check/gst/gststructure.c: (GST_START_TEST),
5561         (gst_structure_suite):
5562         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5563          Added GstStructure to gst_value_table and its related functions.
5564          Changed gst_structure_to_string to print ';' in the end.
5565          Changed gst_caps_to_string to not print ';' beteween its
5566          fields (structures) anymore and remove the lastes ';' from latest
5567          structure. Now it is possible to have nested structures.
5568          In addition, backward compatibilty is assured by accepting '\0' as
5569          end delimiter. Fixes: #487969.
5570          API: add gst_value_set_structure()
5571          API: add gst_value_get_structure()
5572          API: add GST_VALUE_HOLDS_STRUCTURE
5573
5574 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
5575
5576         * gst/gstbus.c:
5577           When no GSource callback has been set up, tell developer
5578           to use a function that actually exists.
5579
5580 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
5581
5582         * docs/gst/gstreamer-sections.txt:
5583         * gst/Makefile.am:
5584         * gst/gst.c:
5585         * gst/gst.h:
5586         * gst/gstdebugutils.c:
5587         * gst/gstdebugutils.h:
5588         * gst/gstinfo.c:
5589         * gst/gstinfo.h:
5590         * tools/gst-launch.c:
5591           Allow dumping pipelines as dot graphs. Fixes #456573.
5592
5593 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5594
5595         * gst/gststructure.c:
5596           Allow '+' as well, it can be part of media or mime types
5597           such as image/svg+xml.
5598
5599 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5600
5601         * docs/gst/gstreamer-sections.txt:
5602         * gst/gstbus.c:
5603         * gst/gstbus.h:
5604           API: add gst_bus_pop_filtered
5605           API: add gst_bus_timed_pop_filtered
5606           Two new functions for waiting for specific message types on the
5607           bus for a specified amount of time without iterating any main
5608           loops or main contexts.
5609
5610         * tests/check/gst/gstbus.c:
5611           Some tests for the new functions.
5612
5613 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5614
5615         * docs/libs/gstreamer-libs-sections.txt:
5616           Make gtk-doc ignore stuff it should ignore.
5617
5618 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5619
5620         * libs/gst/check/gstcheck.c:
5621         * libs/gst/check/gstcheck.h:
5622           Allow runtime selection of unit tests to run via the GST_CHECKS
5623           environment variable (test case function names, comma-separated).
5624
5625 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5626
5627         * gst/gststructure.c:
5628         * tests/check/gst/gststructure.c:
5629           Revert serialisation change and constrain structure-names after
5630           consensus on irc. Update api documentation to reflect the change.
5631
5632 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5633
5634         * gst/gststructure.c:
5635           Improve serialization and fix tests.
5636
5637         * tests/check/gst/gststructure.c:
5638           Add another test that covers why I actually did the previous structure
5639           change.
5640
5641 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5642
5643         * tools/gst-inspect.c: (print_element_info):
5644         Don't crash when inspecting an element.
5645
5646 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5647
5648         * tests/check/gst/gststructure.c:
5649           Add unit test for escaping of structure name when serialising
5650           and deserialising to/from strings.
5651
5652 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5653
5654         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
5655         (gst_single_queue_new):
5656         * plugins/elements/gstqueue.c: (gst_queue_init),
5657         (gst_queue_push_one):
5658         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
5659         upstream is tricked into thinking it can suggest a format downstream
5660         while downstream does not support that format. The real problem is that
5661         core calls acceptcaps when pushing a buffer with new caps, for which we
5662         do a little workaround by setting the caps on the srcpad ourselves
5663         before pushing the buffer (until this is figured out). Fixes #486758.
5664
5665 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5666
5667         * gst/gststructure.c:
5668         * gst/gstvalue.c:
5669           Add some more comments and debug output. Quote structure name to fix
5670           deserialisation of some strings.
5671
5672 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5673
5674         * gst/gstbuffer.h:
5675           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
5676           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
5677
5678 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5679
5680         * tools/gst-inspect.c:
5681           Save approx. 400 1 byte allocs when printing. Use API to acces element
5682           details.
5683
5684         * tools/gst-run.c:
5685           Avoid a strdup.
5686
5687         * tools/gst-xmlinspect.c:
5688           Use API to acces element details.
5689
5690 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
5691
5692         * gst/gstinfo.c:
5693           Fix some spelling errors.
5694
5695 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
5696
5697         * gst/gstbin.c: (bin_handle_async_done):
5698         Correctly set the next state if all of our async children commited their
5699         state. This makes sure we can actually cancel the state change in
5700         progress. Fixes a regression in Rhythmbox when seeking.
5701
5702 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5703
5704         * gst/gstbin.c:
5705           Don't shadow local variable.
5706
5707         * gst/gstinfo.c:
5708           Don't shadow global function name.
5709
5710 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5711
5712         * gst/gstelementfactory.c:
5713         * gst/gstpluginfeature.c:
5714         * gst/gstpluginfeature.h:
5715         * gst/gstregistrybinary.c:
5716         * gst/gstregistryxml.c:
5717         * gst/gsttypefind.c:
5718           Use already-interned string for the private GstPluginFeature
5719           plugin_name field.
5720
5721 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * docs/libs/gstreamer-libs-sections.txt:
5724           Add new API to docs; fixes the build.
5725
5726 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
5727         
5728         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
5729
5730         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
5731         (gst_base_sink_event):
5732         * libs/gst/base/gstbasesink.h:
5733         Add function to wait for EOS, subclasses can use this to correctly wait
5734         for devices to drain before performing the EOS logic. Fixes #485343.
5735         API: gst_base_sink_wait_eos()
5736
5737 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5738
5739         * gst/gstplugin.h:
5740           Cast description string constants in GST_PLUGIN_DEFINE macros
5741           to a (gchar*) to make C++ code using these macros compile
5742           without warning with g++-4.2 (see #462737).  Even if slightly
5743           ugly, this seems preferable to putting the description strings
5744           into the GLib quark table or making the structure member a
5745           const gchar * and doing casts in core code that allocs and
5746           frees these strings, or requiring a cast in the C++ code.
5747
5748 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * gst/gstinfo.h:
5751           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
5752           to print the entire class/function signature into the log
5753           file for C++ code.  This only affects C++ code, for C code
5754           everything remains the same.
5755
5756 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
5757
5758         * gst/gstbin.c: (remove_from_queue):
5759         Work around a problem with pipelines containing (semi)loops until a
5760         proper, more complicated solution is ready. See #475455.
5761
5762 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5763
5764         * gst/gstplugin.c:
5765         * gst/gstplugin.h:
5766         * gst/gstregistrybinary.c:
5767         * gst/gstregistryxml.c:
5768           Put more strings into the GLib quark table. No need to keep
5769           a hundred-something copies of identical version strings,
5770           license strings, package name strings and package origin
5771           strings around. 
5772
5773 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5774
5775         * docs/manual/advanced-dataaccess.xml:
5776           Don't imply that it's okay to unconditionally change
5777           buffer data or buffer metadata in a pad probe callback,
5778           and a bunch of other comments. Fixes #430031.
5779
5780 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5781
5782         * win32/common/gstenumtypes.c:
5783         * win32/common/gstenumtypes.h:
5784         * win32/common/gstversion.h:
5785           Update generated files.
5786
5787 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * docs/manual/advanced-autoplugging.xml:
5790           Prefix section with broken code with a warning (see #342432).
5791
5792 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5793
5794         * docs/manual/appendix-integration.xml:
5795         * docs/manual/basics-init.xml:
5796           Call g_thread_init() before g_option_context_new() to
5797           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
5798
5799 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5800
5801         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5802         (gst_base_sink_queue_object_unlocked),
5803         (gst_base_sink_queue_object), (gst_base_sink_event),
5804         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
5805         When we received EOS and are waiting for when to post the EOS message,
5806         our state is prerolled and we should not return ASYNC.
5807         Reorganize some code paths to implement this behavior.
5808
5809         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5810         (gst_sinks_suite):
5811         Add unit test to verify above EOS fix.
5812
5813 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5814
5815         * plugins/elements/gsttypefindelement.c:
5816         (gst_type_find_element_have_type), (gst_type_find_element_init),
5817         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
5818         Move detecting the input caps of the sinkpad to the setcaps function.
5819         This allows us to update the output caps when we receive new input caps
5820         instead of always using the first detected caps.
5821
5822 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5823
5824         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5825         (gst_base_sink_get_position):
5826         Don't try to preroll non-async elements after a flush.
5827         Subtract latency form clock times when reporting position.
5828
5829 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5830
5831         * gst/gstpad.c: (gst_pad_pause_task):
5832         * gst/gstutils.c:
5833         Small comment and documentation update.
5834
5835 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5836
5837         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5838         (gst_base_src_set_live), (gst_base_src_is_live),
5839         (gst_base_src_query_latency), (gst_base_src_perform_seek),
5840         (gst_base_src_default_event), (gst_base_src_wait),
5841         (gst_base_src_do_sync), (gst_base_src_get_range),
5842         (gst_base_src_pad_get_range), (gst_base_src_loop),
5843         (gst_base_src_unlock), (gst_base_src_unlock_stop),
5844         (gst_base_src_set_flushing), (gst_base_src_set_playing),
5845         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5846         (gst_base_src_change_state):
5847         Rework the locking of basesrc in a similar fashion to basesink. We
5848         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
5849         us to handle live sources and semi live ones much better.
5850         Simplify flushing.
5851         Fix unlocking when seeking, shutting down and pausing in live sources.
5852
5853 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5854
5855         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
5856         Fix compilation again.
5857
5858 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5859
5860         * gst/gstelement.c:
5861           Use meaningful categories for the logs to clean the default one.
5862
5863 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5864
5865         * tests/check/pipelines/cleanup.c:
5866           Print message name and not just number.
5867
5868 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5869
5870         * docs/design/draft-tagreading.txt:
5871           Add some more thoughts.
5872
5873 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5874
5875         * tests/check/pipelines/simple-launch-lines.c:
5876           Print message name and not just number.
5877
5878 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5879
5880         * libs/gst/base/gsttypefindhelper.c:
5881           Speedup typefinding. This is work in progress (see #459862).
5882
5883 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * gst/gstplugin.c:
5886           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
5887           Spotted by Josep Torra Valles <josep@fluendo.com>.
5888
5889 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5890
5891         * gst/gstclock.h:
5892           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
5893           field has moved to GstObject.
5894
5895 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
5896
5897         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
5898         (gst_base_src_get_range), (gst_base_src_change_state):
5899         Call unlock for live sources so that they can't get stuck in _create and
5900         produce a buffer before they are set back to PLAYING.
5901
5902 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
5903
5904         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5905         (gst_queue_locked_dequeue):
5906         Comment the segment-related code... in the PROPER function.
5907         See #482147 and my commit from yesterday.
5908
5909 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
5910
5911         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5912         Also initialize the counter that calculates the first timestamp on a
5913         buffer correctly for non-live sources.
5914
5915 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
5916
5917         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
5918         Disable code that's breaking the current-time-level reporting.
5919         See #482147
5920
5921 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
5922
5923         * docs/gst/gstreamer-sections.txt:
5924         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
5925         as they shouldn't show up. Fixes the docs build.
5926
5927 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
5928         
5929         * gst/gstinfo.h:
5930         Add an explicit variable importation needed on VS6 (only for MSC_VER)
5931         Define M_PI which is used in files which are including gstinfo.h. 
5932         VS6 includes doesn't define it.
5933         * win32/common/libgstbase.def:
5934         * win32/common/libgstcontroller.def:
5935         * win32/common/libgstreamer.def:
5936         Add new exported functions and variables.
5937         * win32/vs6/libgstcontroller.dsp:
5938         * win32/vs6/libgstreamer.dsp:
5939         Update the list of files to build.
5940         
5941 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5942
5943         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5944
5945         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
5946         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
5947         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
5948         Improve debugging. Fixes #480858.
5949
5950 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5951
5952         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5953
5954         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5955         First patch of code cleanups, use the macros and right arguments in the
5956         macros to signal and lock the queue. See #480858.
5957
5958 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
5959
5960         * gst/gstbus.c: (poll_func):
5961         Improve debugging when dealing with _poll().
5962
5963 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5964
5965         * gst/gstregistryxml.c:
5966           Fix memory leak I introduced a few days ago.
5967
5968 2007-09-26  Michael Smith <msmith@fluendo.com>
5969
5970         * gst/gstbuffer.c: (gst_buffer_finalize):
5971           Make it once again possible to free GstBuffers in the default
5972           build.
5973           The poisoning scribbles on parts of the miniobject we need in
5974           order to free it.
5975           Fixes #480341
5976
5977 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5978
5979         * docs/gst/gstreamer-sections.txt:
5980         * gst/gsttaglist.c:
5981         * gst/gsttaglist.h:
5982         API: add GST_TAG_COMPOSER, fixes #459809.
5983
5984 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
5985
5986         * gst/gstplugin.c:
5987         * gst/gstplugin.h:
5988         Add the 3-clause BSD license and the MIT/X11 license to the license
5989         list. Fixes #479784.
5990
5991 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5992
5993         * docs/faq/getting.xml:
5994           Add Q+A about different GStreamer versions (#364056).
5995
5996 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5997
5998         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5999         (gst_base_sink_event), (gst_base_sink_change_state):
6000         Return correct gboolean from query function.
6001
6002 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6003
6004         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6005         (gst_base_sink_event), (gst_base_sink_query),
6006         (gst_base_sink_change_state):
6007         Simplify latency query.
6008         When not synchronizing, we can report latency without querying the peer
6009         element.
6010
6011 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6012
6013         * gst/gstobject.h:
6014         * gst/gstvalue.c:
6015         Fix small typos in the docs.
6016
6017 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6018
6019         * docs/design/draft-latency.txt:
6020         * docs/design/draft-push-pull.txt:
6021         * docs/design/draft-tagreading.txt:
6022         * docs/design/part-MT-refcounting.txt:
6023         * docs/design/part-activation.txt:
6024         * docs/design/part-block.txt:
6025         * docs/design/part-element-source.txt:
6026         * docs/design/part-events.txt:
6027         * docs/design/part-gstbin.txt:
6028         * docs/design/part-gstelement.txt:
6029         * docs/design/part-gstobject.txt:
6030         * docs/design/part-gstpipeline.txt:
6031         * docs/design/part-messages.txt:
6032         * docs/design/part-preroll.txt:
6033         * docs/design/part-push-pull.txt:
6034         * docs/design/part-qos.txt:
6035         * docs/design/part-query.txt:
6036         * docs/design/part-scheduling.txt:
6037         * docs/design/part-seeking.txt:
6038         * docs/design/part-segments.txt:
6039         * docs/design/part-states.txt:
6040         Documentation updates and typo fixes.
6041
6042 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6043
6044         * plugins/elements/gstfakesink.c:
6045           Add some debug text to error message to indicate that
6046           we errored out on request.
6047
6048         * tools/gst-launch.c:
6049           When the state change to PLAYING fails, check for an
6050           error message on the bus and print it.
6051
6052 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6053
6054         translated by: Jorge González González <aloriel@gmail.com>
6055
6056         * po/LINGUAS:
6057         * po/es.po:
6058           Added Spanish translation.
6059
6060 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6061
6062         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6063         Fix printf arguments.
6064
6065 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6066
6067         * tests/check/generic/states.c:
6068           Improved state change unit test.
6069
6070 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6071
6072         * gst/gstbin.h:
6073           Move priv to the right place.
6074
6075         * gst/gstsystemclock.c:
6076           Add FIXME: and improve log.
6077
6078         * tests/check/Makefile.am:
6079         * tests/examples/manual/Makefile.am:
6080           Work with all types of registries.
6081
6082 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6083
6084         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6085         Don't unref the event after pushing it. Fixes #478401.
6086
6087 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6088
6089         * .cvsignore:
6090         * tests/examples/manual/.cvsignore:
6091           Ignore registries in any format.
6092
6093 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6094
6095         * gst/glib-compat-private.h:
6096           Add compatibility macro for g_intern_string() for
6097           GLib-2.8 (any reason we can't just bump the
6098           requirement to at least 2.10?)
6099
6100         * gst/gstpadtemplate.h:
6101         * gst/gstelementfactory.c:
6102         * gst/gstregistryxml.c:
6103         * gst/gstregistrybinary.c:
6104           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6105           up the internal code accordingly.  This shouldn't be a problem, since
6106           there is no reason external code could ever assume the string in such
6107           a structure is dynamically allocated unless it did that itself;  the
6108           use of g_strdup() is private to element factories.  The new code also
6109           saves some memory by putting pad template name strings into the GLib
6110           quark table instead of allocating them dynamically.
6111           Declaring this field constant fixes warnings with g++-4.2 when using
6112           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6113
6114 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6115
6116         * gst/gstelementfactory.c:
6117           Release static caps. Fixes #475723.
6118
6119 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6120
6121         * gst/gstinfo.c:
6122         * gst/gstinfo.h:
6123           Make some internal API take const gchar * instead of just
6124           gchar * to avoid compiler warnings with g++-4.2.2 when
6125           passing string constants (partially fixes #478092).
6126
6127 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6128
6129         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6130         A latency query fails when one of the sinks fail.
6131
6132         * gst/gstelement.c: (gst_element_set_base_time):
6133         Improve debugging.
6134
6135 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6136
6137         * gst/gstbin.c: (gst_bin_continue_func):
6138         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6139         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6140         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6141
6142         Fix minor compilation warnings shown with Forte.
6143
6144 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6145
6146         * plugins/elements/gstqueue.c: (apply_buffer),
6147         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6148         Measure queue level based on the diff between head and tail timestamps
6149         even when pushing the first buffer.
6150
6151 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6152
6153         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6154         (gst_base_sink_event), (gst_base_sink_change_state):
6155         Sinks that don't preroll can always be queried for the latency.
6156         Don't post ASYNC start when we are not async.
6157
6158 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6159
6160         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6161         (gst_queue_handle_sink_event), (gst_queue_chain),
6162         (gst_queue_push_one), (gst_queue_handle_src_query),
6163         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6164         * plugins/elements/gstqueue.h:
6165         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6166         push more buffers but allow pushing of EOS and NEWSEGMENT.
6167         Add some more debug info here and there. Fixes #476514.
6168
6169 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6170
6171         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6172         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6173         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6174         (gst_base_sink_set_flushing), (gst_base_sink_query),
6175         (gst_base_sink_change_state):
6176         Latency query is allowed after we are prerolled. Introduce a new flag
6177         for this and stop abusing other variables.
6178
6179 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6180
6181         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6182         Push OOB events downstream when we get them in send_event. This allows
6183         the application to insert events in the pipeline.
6184         Add some more comments.
6185
6186 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6187
6188         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6189         (do_bin_latency), (gst_bin_change_state_func):
6190         * gst/gstpipeline.c: (gst_pipeline_change_state):
6191         Move latency query from GstPipeline to GstBin so that we can also
6192         use it when async-handling is enabled on bins.
6193
6194 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6195
6196         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6197         (gst_base_src_do_sync), (gst_base_src_change_state):
6198         Update docs.
6199         Clean up the timestamping and syncing code for pseudo live sources.
6200
6201 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6202
6203         Patch by: Steve Fink  <sphink gmail com>
6204
6205         * docs/manual/appendix-checklist.xml:
6206           Mention less -R switch in the section about debug output (#474055).
6207
6208 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6209
6210         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6211         Queue can latency to the pipeline up to the configured max size in time.
6212         Report this fact in the latency query.
6213
6214 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6215
6216         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6217
6218         * libs/gst/controller/gstinterpolation.c:
6219         * libs/gst/controller/gstlfocontrolsource.c:
6220         Use gst_guint64_to_gdouble() when converting from a uint64 or
6221         GstClockTime to double to fix the build on win32. Fixes #474371.
6222
6223 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6224
6225         * gst/gstbuffer.c: (gst_buffer_finalize):
6226         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6227         When finalizing a buffer the complete struct is filled with 0xff,
6228         thus making a use of the buffer after the final unref impossible.
6229
6230 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6231
6232         * tests/check/libs/controller.c: (GST_START_TEST):
6233         Use fail_unless_equals_int(a, b) instead of
6234         fail_unless_equals (a == b) to get better output on failures.
6235
6236 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6237
6238         * tests/check/gst/gsturi.c:
6239           Also check for the other file URI variant on win32.
6240
6241 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6242
6243         * gst/gsturi.c: (gst_uri_get_location):
6244           If there's no hostname, we want to return 'c:/foo/bar.txt'
6245           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6246
6247         * tests/check/gst/gsturi.c:
6248           Unit test for the above and a few more things.
6249
6250 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6251
6252         * docs/design/part-live-source.txt:
6253         Add docs on how live sources should timestamp.
6254
6255         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6256         Add some more debug info.
6257         For subclasses that are live and like to sync, add aditional startup
6258         latency to sync time and timestamps so that we timstamp according to the
6259         design doc.
6260
6261 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6262
6263         * gst/gstbuffer.c:
6264           Also do a g_type_class_ref() for the subbuffer type in
6265           the init function.
6266
6267 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6268
6269         * docs/gst/gstreamer-sections.txt:
6270         * gst/gstpad.c: (gst_pad_peer_query):
6271         * gst/gstpad.h:
6272         Add function to perform a query on the peer of a pad.
6273         API: gst_pad_peer_query()
6274
6275 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6276
6277         * tests/check/gst/gstsystemclock.c:
6278           Cleanup the test a little (use gst-logging and not g_message). Improve
6279           test to check if a wait reached the target.
6280
6281 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6282
6283         * docs/libs/gstreamer-libs-sections.txt:
6284           Add new API to docs and fix the build.
6285
6286 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6287
6288         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6289         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6290         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6291         (gst_base_src_get_property), (gst_base_src_do_sync):
6292         * libs/gst/base/gstbasesrc.h:
6293         Add property to make the basesrc timestamp buffers based on the current
6294         running time.
6295         API: GstBaseSrc::do-timestamp
6296         API: gst_base_src_set_do_timestamp()
6297         API: gst_base_src_get_do_timestamp()
6298
6299 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6300
6301         * docs/random/release:
6302           Really make sure translations are up-to-date before
6303           a release (#465010).
6304
6305 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6306
6307         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6308         Always destroy the timer, also in error cases.
6309
6310 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6311
6312         * docs/manual/highlevel-xml.xml:
6313         Fix XML example code. Fixes #472714.
6314
6315 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6316
6317         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6318         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6319         (gst_base_sink_query):
6320         Protect eos and have_preroll with the OBJECT lock so we don't need to
6321         take the PREROLL lock when querying the latency. Fixes #473846.
6322
6323 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6324
6325         * gst/gstelement.c:
6326           Give some log-messages a category.
6327
6328 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6329
6330         * gst/gststructure.c:
6331         (gst_structure_fixate_field_nearest_fraction):
6332         Fix fraction list fixation code. Take the fraction with the smallest
6333         difference with the target instead of the first one in the list.
6334
6335         * tests/check/gst/gststructure.c: (GST_START_TEST),
6336         (gst_structure_suite):
6337         Added test to verify correct fraction list fixation behaviour.
6338
6339 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6340
6341         * win32/common/libgstreamer.def:
6342           Export gst_bus_add_signal_watch too.
6343
6344 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6345
6346         * docs/libs/gstreamer-libs-sections.txt:
6347         Add new methods to docs.
6348
6349         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6350         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6351         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6352         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6353         * libs/gst/base/gstbasesink.h:
6354         Add ts-offset property to fine-tune the synchronisation.
6355         API: GstBaseSink::ts-offset property
6356         API: gst_base_sink_set_ts_offset()
6357         API: gst_base_sink_get_ts_offset()
6358
6359 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6360
6361         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6362         (gst_base_sink_init), (gst_base_sink_set_sync),
6363         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6364         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6365         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6366         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6367         (gst_base_sink_get_property), (gst_base_sink_change_state):
6368         * libs/gst/base/gstbasesink.h:
6369         Add async property to instruct the sink never to inform the parent about
6370         ASYNC state changes, update docs.
6371         Check argument with g_return_* for the public functions.
6372         API: GstBaseSink::async property
6373         API: gst_base_sink_set_async_enabled()
6374         API: gst_base_sink_is_async_enabled()
6375
6376 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6377
6378         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6379         Improve debugging.
6380
6381         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6382         (gst_base_src_default_query), (gst_base_src_wait),
6383         (gst_base_src_do_sync), (gst_base_src_change_state):
6384         Rearrange some code so that we can add support for measuring the 
6385         startup latency.
6386
6387 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * docs/random/ensonic/dynlink.txt:
6390           More thoughs on this.
6391
6392         * plugins/elements/gstcapsfilter.c:
6393           Add bugzilla ticket number to FIXME comment.
6394
6395 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6396
6397         * docs/design/part-TODO.txt:
6398         * docs/design/part-block.txt:
6399         Update some docs.
6400
6401 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6402
6403         * gst/Makefile.am:
6404           Revert patch which uses $(gst_headers) instead of $^ because it
6405           breaks make dist.
6406
6407 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6408
6409         * tests/check/gst/gstbin.c: (GST_START_TEST):
6410           Fix leaks in the new unit test.
6411
6412 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/gst.c:
6415           Don't use GST_INFO before the debug system is actually initialised
6416           (shouldn't do any harm, but won't print anything either, so we can
6417           just as well remove it).
6418
6419         * gst/gstinfo.h:
6420           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6421           compilers that don't support variadic macros (such as MSVC), should
6422           check for debug_level <= __gst_debug_min as well, since that's the
6423           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6424           inline helper functions. Should improve performance a bit, but also
6425           makes sure uses of GST_INFO et.al are ignored if the debugging
6426           system isn't initialised yet (instead of printing an assertion
6427           failure).
6428
6429 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6430
6431         patch by: David Nečas <yeti@physics.muni.cz>
6432
6433         * gst/Makefile.am:
6434           Replace some non portable makefile constructs.
6435
6436 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
6437
6438         * common/gtk-doc-plugins.mak:
6439           Grrrrr. Don't remove the types file on make clean.
6440
6441 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
6442
6443         * tools/gst-launch.1.in:
6444         Add colorspace to example pipeline. Fixes #458274.
6445
6446 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
6447
6448         * docs/random/release:
6449           The release manager should run 'make download-po' before making a
6450           release to make sure translations are up-to-date.
6451
6452         * po/LINGUAS:
6453         * po/be.po:
6454         * po/pl.po:
6455         * po/rw.po:
6456           Add some new translations.
6457
6458 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
6459
6460         * tools/gst-launch.c: (event_loop), (main):
6461         Don´t try to do any state management when a live pipeline posts
6462         buffering messages.
6463         Also make the buffering string translatable.
6464
6465 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6466
6467         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6468         (bin_handle_async_start), (gst_bin_handle_message_func):
6469         Improve debugging.
6470         When adding elements, insert messages into the bus of the newly added
6471         element and make sure the element is the source of the message. This
6472         allows the parent bin to intercept the message and do the
6473         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6474         messages to the app (which is not allowed).
6475         Update some docs.
6476
6477         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6478         Fix testsuite so that is does not work around messages that should not
6479         have been posted in the first place.
6480
6481 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6482
6483         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6484         (update_degree), (gst_bin_sort_iterator_next):
6485         Fix annoying bug in the sorted iterator where a sink that is not really
6486         a sink (when it has downstream links) screwed up the iterator.
6487
6488         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6489         Unit test to verify the fix.
6490
6491 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6492
6493         * gst/gstmessage.h:
6494         Add some more docs for the messages.
6495
6496         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6497         (gst_base_sink_query):
6498         Add some more debugging.
6499
6500         * tools/gst-launch.c: (event_loop):
6501         When interrupting, don't try to set pipeline to PAUSED twice.
6502
6503 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6504
6505         
6506         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6507         (bin_handle_async_start), (gst_bin_handle_message_func):
6508         Move ASYNC_START message posting to where it belongs, similar to
6509         async_done. 
6510         Don't post ASYNC_START when we are in error. 
6511         Post ASYNC_START when we added an async element to a bin.
6512
6513 2007-08-14  Julien MOUTTE  <julien@moutte.net>
6514
6515         * gst/gstindex.c: (gst_index_add_association): Fix index entry
6516         generation from vargs. Fixes #466595.
6517
6518 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6519
6520         * gst/gstbin.c: (gst_bin_element_set_state):
6521         Always change the state of a NO_PREROLL element even if it has ASYNC
6522         elements inside (in case of a bin).
6523
6524         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6525         Unit test for this case.
6526
6527 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
6528
6529         * libs/gst/check/gstbufferstraw.c:
6530         * libs/gst/check/gstcheck.h:
6531         * libs/gst/controller/gstcontroller.c:
6532         * libs/gst/controller/gstcontrolsource.h:
6533         * libs/gst/controller/gstlfocontrolsource.h:
6534         * plugins/elements/gstcapsfilter.h:
6535         * plugins/elements/gstfdsink.h:
6536         * plugins/elements/gstfdsrc.h:
6537           Add more missing docs.
6538
6539 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6540
6541         * gst/gststructure.c:
6542         Add Since tag to docs.
6543
6544 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6545
6546         * docs/gst/gstreamer-sections.txt:
6547         * gst/gststructure.c: (gst_structure_get_uint):
6548         * gst/gststructure.h:
6549         Add function to get uint from a structure.
6550         API: gst_structure_get_uint()
6551
6552 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6553
6554         * gst/gstcaps.c: (gst_caps_set_simple_valist),
6555         (gst_caps_intersect):
6556         Fix proper check for simple caps.
6557
6558 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
6559
6560         * docs/gst/Makefile.am:
6561         * docs/libs/Makefile.am:
6562           Remove cruft and do some cleanups.
6563
6564         * docs/gst/gstreamer-docs.sgml:
6565         * docs/libs/gstreamer-libs-docs.sgml:
6566           Prepare for comming gtkdoc features (rebase against online docs).
6567
6568 2007-08-10  Michael Smith <msmith@fluendo.com>
6569
6570         * docs/gst/gstreamer-sections.txt:
6571           Add gst_registry_add_path to docs.
6572
6573 2007-08-10  Michael Smith <msmith@fluendo.com>
6574
6575         * gst/gstregistry.h:
6576           Add gst_registry_add_path, which was missing from this header.
6577
6578 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * libs/gst/controller/gstlfocontrolsource.c:
6581           Printf format fix.
6582
6583 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6584
6585         * libs/gst/base/gstbasesink.c:
6586           Don't send an async_start message during downwards state change if 
6587           target state is less than READY
6588
6589 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         translated by: Gabor Kelemen <kelemeng@gnome.hu>
6592
6593         * po/LINGUAS:
6594         * po/hu.po:
6595           Added Hungarian translation.
6596
6597 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * po/fi.po:
6600         * po/it.po:
6601         * po/nl.po:
6602         * po/sv.po:
6603         * po/uk.po:
6604           Updated translations.
6605
6606 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6607
6608         * libs/gst/controller/Makefile.am:
6609         Dist gstlfocontrolsourceprivate.h
6610
6611 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6612
6613         * docs/libs/gstreamer-libs.types:
6614         Don't register the enum type gst_lfo_waveform_get_type() in the
6615         .types file - only GObject derived types belong.
6616
6617 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6618
6619         Patch by: <arenevier at fdn dot fr>
6620
6621         * gst/gstbuffer.h:
6622         Remove comma from last element in enum to avoid compile errors when
6623         using -pendantic. Fixes #464366.
6624
6625 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6626
6627         * docs/design/part-TODO.txt:
6628         Add some more TODO items
6629
6630         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6631         Improve debugging.
6632
6633         * gst/gstcaps.c: (gst_caps_intersect):
6634         Optimize trivial intersection case between identical caps pointers.
6635
6636         * gst/gstelement.c: (gst_element_continue_state),
6637         (gst_element_set_state_func):
6638         * gst/gstpad.c:
6639         Fix spelling and grammar mistakes.
6640
6641 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
6642
6643         * po/POTFILES.in:
6644         * po/POTFILES.skip:
6645           Update POTFILES. Fixes #461599.
6646
6647 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
6648
6649         * gst/gst.c:
6650         Fix confusing typo in debug output.
6651
6652 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
6653
6654         reviewed by: Stefan Kost <ensonic@users.sf.net>
6655
6656         * libs/gst/controller/Makefile.am:
6657         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
6658         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
6659         (gst_lfo_control_source_new),
6660         (gst_lfo_control_source_set_waveform),
6661         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
6662         (gst_lfo_control_source_finalize),
6663         (gst_lfo_control_source_dispose),
6664         (gst_lfo_control_source_set_property),
6665         (gst_lfo_control_source_get_property),
6666         (gst_lfo_control_source_class_init):
6667         * libs/gst/controller/gstlfocontrolsource.h:
6668         * libs/gst/controller/gstlfocontrolsourceprivate.h:
6669         API: Add GstLFOControlSource, a control source that gives values
6670         for specific timestamps based on several periodic waveforms.
6671         Fixes #459717.
6672
6673         * tests/check/libs/controller.c: (GST_START_TEST),
6674         (gst_controller_suite):
6675         * docs/libs/gstreamer-libs-docs.sgml:
6676         * docs/libs/gstreamer-libs-sections.txt:
6677         * docs/libs/gstreamer-libs.types:
6678         Add documentation and unit tests for GstLFOControlSource.
6679
6680 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
6681
6682         * configure.ac:
6683         Back to CVS
6684
6685 === release 0.10.14 ===
6686
6687 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
6688
6689         * configure.ac:
6690           releasing 0.10.14, "Breathing Vacuum"
6691
6692 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
6693
6694         * gst/gstelement.c: (gst_element_class_set_details_simple):
6695         * gst/gstelement.h:
6696           Make strings passed to gst_element_class_set_details_simple()
6697           constant, as they should be (#462752).
6698
6699 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
6700
6701         * gst/gstbin.c: (gst_bin_change_state_func),
6702         (bin_handle_async_done), (gst_bin_handle_message_func):
6703         Don't forget about the fact that some element went ASYNC even after a
6704         resync. This makes us post the ASYNC_DONE message correctly.
6705         Fixes #462558.
6706
6707 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6708
6709         * gst/gstregistry.c: (gst_registry_add_feature):
6710         When replacing an existing feature in the registry, make sure to
6711         continue holding a reference until we've replaced the name string
6712         within our feature hash table. Make sure to use g_hash_table_replace
6713         instead of g_hash_table_insert to ensure the new name string is used
6714         as a key instead of the old one that we're about to free.
6715         Fixes: #462085
6716
6717 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
6718
6719         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6720         (gst_plugin_feature_set_name):
6721         Revert patch from #459466 until after the release and we can work
6722         out exactly what the problem is (if any).
6723
6724 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6725
6726         * docs/gst/gstreamer-sections.txt:
6727         * gst/gsttaglist.c:
6728         * gst/gsttaglist.h:
6729           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
6730
6731 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6732
6733         * docs/libs/Makefile.am:
6734         Include our build-prefix libs and includes before the generic ones to
6735         avoid linking against the installed libs when we want the build-tree
6736         ones.
6737
6738 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6739
6740         Patch by: Steve Fink  <sphink gmail com>
6741
6742         * docs/pwg/building-testapp.xml:
6743           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
6744           if people try to build or install the example from the plugin
6745           template against a GStreamer from package using the configure
6746           defaults.
6747
6748 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
6749
6750         Patch by: Steve Fink  <sphink gmail com>
6751
6752         * tools/gst-inspect.1.in:
6753           Document --print-all and --print-plugin-auto-install-info command
6754           line options in man page.
6755
6756 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6757
6758         * docs/gst/gstreamer-sections.txt:
6759         Add docs for new api function.
6760
6761 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6762
6763         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
6764         * gst/gstelementfactory.h:
6765         API: gst_element_factory_has_interface()
6766         Added method to check if an element factory implements a named
6767         interface.
6768
6769 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
6770
6771         * configure.ac:
6772         * docs/gst/gstreamer.types.in:
6773           Another conditional doc check.
6774
6775         * gst/gstmessage.c:
6776         * gst/gstparamspecs.h:
6777         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6778         * gst/gstvalue.c:
6779         * gst/gstxml.h:
6780           API-doc fixes.
6781
6782 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6783
6784         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
6785         (gst_registry_binary_load_feature),
6786         (gst_registry_binary_load_plugin),
6787         (gst_registry_binary_read_cache):
6788           Print error just once and with additional info.
6789
6790 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6791
6792         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
6793         (helper_find_suggest), (helper_find_get_length),
6794         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
6795         (gst_type_find_helper_for_buffer):
6796           Cleanup the typefindhelper code and add private doc comments.
6797
6798 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
6799
6800         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6801         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
6802         Fix capsfilter for cases where the caps set on capsfilter will provide
6803         additional information.
6804         Fixes #449197
6805
6806 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6807
6808         * gst/gsttypefindfactory.c:
6809           Fix docs that recommened wrong function to use.
6810
6811 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * tools/gst-inspect.c: (print_plugin_features):
6814           Also give media-type for typefinders in element output.
6815
6816 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6817
6818         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
6819         (gst_registry_remove_features_for_plugin_unlocked),
6820         (gst_registry_add_feature), (gst_registry_remove_feature),
6821         (gst_registry_lookup_feature_locked):
6822         * gst/gstregistry.h:
6823           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
6824           Fixes #459501.
6825
6826 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6827
6828         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6829         (gst_plugin_feature_set_name):
6830           Avoid double memory usage for pluginfeature names. Fixes #459466.
6831
6832 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6833
6834         * gst/gstpad.h:
6835           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
6836           driving the pipeline may need to explicitly check for NOT_LINKED as
6837           well, since IS_FATAL doesn't cover that.
6838
6839 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6840
6841         * docs/pwg/advanced-types.xml:
6842           Fix typo and duplicate entry in video formats list.
6843
6844 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
6845
6846         * libs/gst/controller/gstinterpolation.c:
6847         Also round to the nearest int when using cubic interpolation.
6848
6849 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
6850
6851         * libs/gst/controller/gstinterpolation.c:
6852         When linearly interpolating integer types, round to the nearest int
6853         by adding 0.5. Don't do it for float/double types.
6854         Fixes the failing controller test on my machine, which is somehow
6855         rounding differently than on the buildbots.
6856
6857 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6858
6859         * tools/gst-plot-timeline.py:
6860           Better log parsing (categories can have -). Adjust text vs. lines, so
6861           that they span the same y-range.        
6862
6863 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6864
6865         * docs/random/ensonic/audiobaseclasses.txt:
6866         * docs/random/ensonic/dynlink.txt:
6867         * docs/random/ensonic/profiling.txt:
6868           Save my thoughts.
6869
6870         * docs/random/moving-plugins:
6871           Add note to use g_assert type macros.
6872
6873 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6874
6875         * configure.ac:
6876         * libs/gst/check/Makefile.am:
6877           Add libm check as we use in for plugins.
6878
6879 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
6880
6881         * gst/gstbin.c: (gst_bin_continue_func):
6882         Check that the state_cookie hasn't changed since the continue_func
6883         was scheduled. Avoids problems where the state changes back to
6884         something it shouldn't be because it was changed in the meantime.
6885
6886 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
6887
6888         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
6889         (gst_registry_binary_save_string),
6890         (gst_registry_binary_save_pad_template),
6891         (gst_registry_binary_save_feature),
6892         (gst_registry_binary_save_plugin),
6893         (gst_registry_binary_load_feature),
6894         (gst_registry_binary_load_plugin),
6895         (gst_registry_binary_read_cache):
6896           Fix memory leak. Be less verbose in the log.
6897
6898 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6899
6900         * tests/check/elements/.cvsignore:
6901         Add file to cvsignore as commanded.
6902
6903 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6904
6905         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6906         (mq_dummypad_event), (run_output_order_test):
6907         Use a GStaticMutex to protect all cases where libcheck
6908         fail_if/fail_unless macros might be called from multiple threads
6909         simultaneously to avoid errors like:
6910           "check_pack.c:107: :-1081725400:Bad message type arg"
6911
6912 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6913
6914         * tests/check/pipelines/stress.c: (GST_START_TEST):
6915         Make sure we set the pipeline back to the NULL state before
6916         dropping our final reference.
6917
6918 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6919
6920         * tests/check/elements/tee.c: (GST_START_TEST):
6921         Make the tee stress-test a little less stressful so it doesn't just
6922         time out on slow-machines, and remove a small race when it's starting 
6923         up by adding a get_state() call.
6924
6925 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
6926
6927         * gst/gst.c:
6928           Avoid reading registry twice on startup. Fixes #457322.
6929
6930 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6931
6932         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6933         * pkgconfig/gstreamer-check.pc.in:
6934         Substitute the CFLAGS for libcheck into our .pc file too so that
6935         dependent modules will pick it up properly if libcheck is installed
6936         into some other prefix.
6937
6938 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6939
6940         * configure.ac:
6941         Revert the pkg-config check for libcheck, since it pulls in the
6942         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
6943         a proper solution, either from the check project, or something else.
6944
6945 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
6946
6947         * configure.ac:
6948           Use pkg-config to locate check.
6949
6950 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
6951
6952         * gst/gsttaglist.c:
6953           Fix doc syntax.
6954
6955         * gst/gstutils.c:
6956         * gst/gstutils.h:
6957           Add deprecation guards.
6958
6959         * libs/gst/base/gstcollectpads.h:
6960           Don't document object (this is implicitly private).
6961
6962 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
6963
6964         * gst/gststructure.c: (gst_structure_parse_value):
6965           When deserialising foo=bar without a type cast, check if it's a
6966           boolean before falling back to a string type, otherwise things like
6967           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
6968           because the filtercaps end up having a signed=(string)true field,
6969           which causes problems later when intersection caps.
6970
6971         * tests/check/gst/gststructure.c: (GST_START_TEST):
6972           Add a unit test for this.
6973
6974 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
6975
6976         Reviewed by: Stefan Kost <ensonic@users.sf.net>
6977
6978         * libs/gst/controller/Makefile.am:
6979         * libs/gst/controller/gstcontroller.c:
6980         (gst_controlled_property_add_interpolation_control_source),
6981         (gst_controlled_property_new), (gst_controlled_property_free),
6982         (gst_controller_find_controlled_property),
6983         (gst_controller_new_valist), (gst_controller_new_list),
6984         (gst_controller_new), (gst_controller_remove_properties_valist),
6985         (gst_controller_remove_properties_list),
6986         (gst_controller_remove_properties),
6987         (gst_controller_set_property_disabled),
6988         (gst_controller_set_disabled), (gst_controller_set_control_source),
6989         (gst_controller_get_control_source), (gst_controller_get),
6990         (gst_controller_sync_values), (gst_controller_get_value_array),
6991         (_gst_controller_dispose), (gst_controller_get_type),
6992         (gst_controlled_property_set_interpolation_mode),
6993         (gst_controller_set), (gst_controller_set_from_list),
6994         (gst_controller_unset), (gst_controller_unset_all),
6995         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
6996         * libs/gst/controller/gstcontroller.h:
6997         * libs/gst/controller/gstcontrollerprivate.h:
6998         * libs/gst/controller/gstcontrolsource.c:
6999         (gst_control_source_class_init), (gst_control_source_init),
7000         (gst_control_source_get_value),
7001         (gst_control_source_get_value_array), (gst_control_source_bind):
7002         * libs/gst/controller/gstcontrolsource.h:
7003         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7004         (gst_object_get_control_source):
7005         * libs/gst/controller/gstinterpolation.c:
7006         (gst_interpolation_control_source_find_control_point_node),
7007         (gst_interpolation_control_source_get_first_value),
7008         (_interpolate_none_get), (interpolate_none_get),
7009         (interpolate_none_get_boolean_value_array),
7010         (interpolate_none_get_enum_value_array),
7011         (interpolate_none_get_string_value_array),
7012         (_interpolate_trigger_get), (interpolate_trigger_get),
7013         (interpolate_trigger_get_boolean_value_array),
7014         (interpolate_trigger_get_enum_value_array),
7015         (interpolate_trigger_get_string_value_array):
7016         * libs/gst/controller/gstinterpolationcontrolsource.c:
7017         (gst_control_point_free), (gst_interpolation_control_source_reset),
7018         (gst_interpolation_control_source_new),
7019         (gst_interpolation_control_source_set_interpolation_mode),
7020         (gst_interpolation_control_source_bind),
7021         (gst_control_point_compare), (gst_control_point_find),
7022         (gst_interpolation_control_source_set_internal),
7023         (gst_interpolation_control_source_set),
7024         (gst_interpolation_control_source_set_from_list),
7025         (gst_interpolation_control_source_unset),
7026         (gst_interpolation_control_source_unset_all),
7027         (gst_interpolation_control_source_get_all),
7028         (gst_interpolation_control_source_get_count),
7029         (gst_interpolation_control_source_init),
7030         (gst_interpolation_control_source_finalize),
7031         (gst_interpolation_control_source_dispose),
7032         (gst_interpolation_control_source_class_init):
7033         * libs/gst/controller/gstinterpolationcontrolsource.h:
7034         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7035         API: Refactor GstController into the core controller which can take
7036         a GstControlSource for providing actual values for timestamps.
7037         Implement a interpolation control source and use this for backward
7038         compatibility, deprecate a bunch of functions that are now handled
7039         by GstControlSource or GstInterpolationControlSource.
7040         Make it possible to disable the controller completely or only for
7041         specific properties. Fixes #450711.
7042         * docs/libs/gstreamer-libs-docs.sgml:
7043         * docs/libs/gstreamer-libs-sections.txt:
7044         * docs/libs/gstreamer-libs.types:
7045         Add new functions and classes to the docs.
7046         * tests/check/libs/controller.c: (GST_START_TEST),
7047         (gst_controller_suite):
7048         * tests/examples/controller/audio-example.c: (main):
7049         Port unit test and example to the new API and add some new
7050         unit tests.
7051
7052 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7053
7054         Patch by: Mark Nauwelaerts <manauw at skynet be>
7055
7056         * plugins/elements/gstmultiqueue.c:
7057         (gst_multi_queue_get_internal_links), (apply_buffer),
7058         (single_queue_overrun_cb), (gst_single_queue_new):
7059         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7060         the pipeline layout can be tracked correctly. Fixes #453732.
7061
7062 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7063
7064         * docs/gst/Makefile.am:
7065         * docs/libs/Makefile.am:
7066         * docs/plugins/Makefile.am:
7067           Simplify --extra-dir as gtkdoc scans recursively.
7068
7069 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7070
7071         * tools/gst-launch.c: (main):
7072         When we got an error, there is no point in waiting for preroll when
7073         shutting down.
7074
7075 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7076
7077         * plugins/elements/gsttee.c: (gst_tee_base_init),
7078         (gst_tee_request_new_pad), (gst_tee_release_pad),
7079         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7080         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7081         (gst_tee_chain):
7082         Be a lot smarter when deciding what srcpad to use for proxying
7083         the buffer_alloc. Also handle pad added/removed when doing so.
7084         Fixes #357959.
7085         Keep track of what pads we already pushed on in case we have pads
7086         added/removed while pushing. Fixes #374639 
7087
7088         * tests/check/Makefile.am:
7089         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7090         (tee_suite):
7091         Added unit test for pad resync.
7092
7093 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7094
7095         * po/nl.po:
7096         * po/sv.po:
7097           Updated translations.
7098
7099 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7100
7101         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7102
7103         * po/LINGUAS:
7104         * po/fi.po:
7105           Added new Finnish translation.
7106
7107 2007-06-28  Wim Taymans  <wim@fluendo.com>
7108
7109         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7110         (single_queue_overrun_cb):
7111         When figuring out when a queue is filled, use our internal time estimate
7112         based on segments, just like check_full does.
7113
7114 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7115
7116         * gst/gstminiobject.c: (gst_mini_object_get_type):
7117           Remove 3 do-nothing methods.
7118
7119 2007-06-27  Wim Taymans  <wim@fluendo.com>
7120
7121         Patch by: Tim Angus <tim at ngus dot net>
7122
7123         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7124         (gst_capsfilter_set_property):
7125         Take a reference instead of a copy when setting "caps".
7126         Fix documentation to clarify this behaviour. Fixes #449414.
7127
7128 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7129
7130         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7131         * gst/gstplugin.c: (gst_plugin_init):
7132         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7133         * gst/gstquery.c: (gst_query_get_type):
7134         * gst/gstregistry.c: (gst_registry_init):
7135         * gst/gsturi.c: (gst_uri_handler_base_init):
7136           Remove empty instance_init() functions to save relocs and lessen the
7137           noise. Remove some of the function prototypes that are doubled by
7138           G_DEFINE_TYPE.
7139           
7140 2007-06-27  Wim Taymans  <wim@fluendo.com>
7141
7142         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7143
7144         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7145         Add peer and direction in the XML serialisation of ghostpads.
7146         Fixes #449226.
7147
7148 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7149
7150         * configure.ac:
7151           Preserve useful information, thanks Tim.
7152
7153 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7154
7155         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7156         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7157         (gst_single_queue_push_one), (gst_multi_queue_loop),
7158         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7159         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7160         (compute_high_id), (gst_single_queue_new):
7161         * plugins/elements/gstmultiqueue.h:
7162         Take the multiqueue lock when updating the fill level so we don't get
7163         confused. 
7164
7165         After applying a buffer or event on the src pad segment, make sure to
7166         call gst_data_queue_limits_changed() to get the data queue to unblock
7167         and check the filled state again.
7168         
7169         Rework the not-linked pad handling so the logic is that not-linked 
7170         pads can push as fast as they like, but only so they never get 
7171         ahead of any linked pads.
7172
7173         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7174         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7175         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7176
7177         Add a test to check that not-linked pads always stay behind
7178         linked pads.
7179
7180         Fixes: #430682
7181
7182 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7183
7184         * docs/random/release:
7185           Some updates to the release procedure.
7186
7187 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7188
7189         * gst/gstelementfactory.c: (__gst_element_details_clear):
7190           Microoptimization that saves stunning 80 bytes.
7191
7192 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7193
7194         * docs/plugins/gstreamer-plugins.args:
7195         * docs/plugins/inspect/plugin-coreelements.xml:
7196         * docs/plugins/inspect/plugin-coreindexers.xml:
7197           Update docs with caps info.
7198
7199 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7200
7201         * po/it.po:
7202           Updated Italian translation.
7203
7204 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * ChangeLog:
7207         * po/vi.po:
7208           Update Vietnamese translations.
7209
7210 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         * libs/gst/base/gstbasesink.c:
7213           Remove unused signal enum.
7214
7215 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7216
7217         * docs/gst/gstreamer-sections.txt:
7218         * gst/gstelement.c:
7219         * gst/gstutils.c: (gst_type_register_static_full):
7220         Beef up and include the docs for gst_type_register_static_full and
7221         gst_element_class_set_details_simple and add the API keyword
7222         in the ChangeLog.
7223
7224 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7225
7226         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7227         (update_time_level), (gst_single_queue_push_one),
7228         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7229         (single_queue_overrun_cb), (single_queue_underrun_cb),
7230         (single_queue_check_full):
7231         Fix setting max-* properties after adding queues.
7232         Use IS_FILLED for checking visible items.
7233         Signal overrun if multiple queues overrun.
7234         Add extra debug output.
7235         Patch by: Wim Taymans <wim@fluendo.com>
7236
7237 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7238
7239         * gst/gstelement.c: (gst_element_class_set_details_simple):
7240         * gst/gstelement.h:
7241         * gst/gstutils.c: (gst_type_register_static_full):
7242         * gst/gstutils.h:
7243         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7244         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7245         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7246         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7247         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7248         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7249         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7250         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7251         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7252         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7253         (apply_buffer), (gst_queue_chain):
7254         * plugins/elements/gsttee.c: (gst_tee_base_init):
7255         * plugins/elements/gsttypefindelement.c:
7256         (gst_type_find_element_base_init),
7257         (gst_type_find_element_class_init):
7258           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7259           API: add gst_type_register_static_full
7260           API: add gst_element_class_set_details_simple
7261
7262 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7263
7264         * docs/pwg/advanced-types.xml:
7265           Fix typo in iana.org URI.
7266
7267 2007-06-19  Andy Wingo  <wingo@pobox.com>
7268
7269         * tests/check/pipelines/simple-launch-lines.c
7270         (test_state_change_returns): Enable pull-mode tests now that
7271         basesink has been fixed.
7272
7273         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7274         Changed from gst_base_sink_is_prerolled, reversing the sense of
7275         the return value. Returns FALSE also if the sink is in pull mode,
7276         in which case it needs no preroll.
7277         (gst_base_sink_query, gst_base_sink_change_state): Update for
7278         needs_preroll change.
7279         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7280         chaining up, in which we return SUCCESS directly if we activated
7281         in pull mode instead of ASYNC. Involves countering an async_start
7282         message sent before chaining up; not sure if this is correct, in
7283         an ideal world we only send async-start when activating in push
7284         mode.
7285
7286         * tests/check/pipelines/simple-launch-lines.c
7287         (test_state_change_returns): New test, partially disabled until
7288         basesink is fixed.
7289
7290 2007-06-19  Wim Taymans  <wim@fluendo.com>
7291
7292         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7293         (gst_multi_queue_sink_event):
7294         Fix event leak.
7295
7296 2007-06-19  Wim Taymans  <wim@fluendo.com>
7297
7298         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7299         (gst_bin_change_state_func), (bin_push_state_continue),
7300         (bin_handle_async_start), (bin_handle_async_done),
7301         (gst_bin_handle_message_func):
7302         Move the common code for posting state-change messages into
7303         one function.
7304         Broadcast the state signal after we posted the messages.
7305         Mark the bin as busy when it's doing a state-change.
7306         Make sure async-start/done messages don't interfere with the bin's
7307         state when it's busy.
7308         After the state change, let the bin check which elements completed the
7309         state change while it was busy so that it can update its state.
7310
7311 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7312
7313         * docs/random/release:
7314         Add a note about updating the doap file to the release checklist
7315
7316 2007-06-18  Wim Taymans  <wim@fluendo.com>
7317
7318         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7319         (gst_single_queue_push_one), (gst_multi_queue_chain),
7320         (gst_multi_queue_sink_event):
7321         Make sure we don't reference the buffer/event after we have given away
7322         ownership in the queue.
7323
7324 2007-06-18  Wim Taymans  <wim@fluendo.com>
7325
7326         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7327         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7328         Update queue state _after_ adding the item in the queue because else we
7329         could end up being full without the element added yet.
7330
7331 2007-06-18  Wim Taymans  <wim@fluendo.com>
7332
7333         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7334         (gst_bin_remove_func), (gst_bin_get_state_func),
7335         (gst_bin_element_set_state), (gst_bin_continue_func),
7336         (bin_push_state_continue), (bin_handle_async_start),
7337         (bin_handle_async_done), (gst_bin_handle_message_func):
7338         * gst/gstbin.h:
7339         Immediatly commit the toplevel bin state when receiving an async-done
7340         message. This enables us to avoid spawning a thread to commit the state
7341         in some common cases and it also avoids some races.
7342         Avoid spawning a state thread when adding/removing async elements to a
7343         toplevel bin. Instead we immediatly update the bin state.
7344         Get rid of iterating all the children when getting the state in the bin
7345         because it is now always up-to-date.
7346         Fix bug where locked elements would always return _SUCCESS even it they
7347         returned NO_PREROLL before being locked.
7348         Fix the order of the state_change, async-start/done messages that was
7349         sometimes incorrect.
7350         Mark the state_dirty field as deprecated, we don't need it anymore as we
7351         are always up-to-date.
7352
7353         * gst/gstelement.c: (gst_element_get_state_func),
7354         (gst_element_continue_state):
7355         Small debug inprovements.
7356         Return the previous element state return when nothing is pending instead
7357         of blindly returning SUCCESS.
7358
7359         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7360         (gst_sinks_suite):
7361         Add a whole bunch of new testcases.
7362
7363 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7364
7365         * po/uk.po:
7366         * po/vi.po:
7367           Update translations.
7368
7369 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7370
7371         * gst/gstpad.c:
7372         Fix typo in the docs.
7373
7374 2007-06-15  Wim Taymans  <wim@fluendo.com>
7375
7376         * docs/libs/gstreamer-libs-sections.txt:
7377         Add docs for new methods.
7378
7379 2007-06-15  Wim Taymans  <wim@fluendo.com>
7380
7381         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7382         (gst_multi_queue_item_new):
7383         Don't use GSlice because we don't depend on >= 2.10 yet.
7384
7385 2007-06-15  Wim Taymans  <wim@fluendo.com>
7386
7387         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7388         (update_time_level), (apply_segment), (apply_buffer),
7389         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7390         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7391         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7392         (single_queue_underrun_cb), (single_queue_check_full):
7393         Remove debug printf.
7394
7395 2007-06-15  Wim Taymans  <wim@fluendo.com>
7396
7397         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7398         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7399         (gst_data_queue_set_flushing), (gst_data_queue_push),
7400         (gst_data_queue_pop), (gst_data_queue_drop_head),
7401         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7402         * libs/gst/base/gstdataqueue.h:
7403         Various cleanups.
7404         Added methods to get the current levels and to inform the queue that the
7405         'full' limits changed.
7406
7407         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7408         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7409         (gst_single_queue_flush), (update_time_level), (apply_segment),
7410         (apply_buffer), (gst_single_queue_push_one),
7411         (gst_multi_queue_item_steal_object),
7412         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7413         (gst_multi_queue_loop), (gst_multi_queue_chain),
7414         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7415         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7416         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7417         (single_queue_underrun_cb), (single_queue_check_full),
7418         (gst_single_queue_new):
7419         Keep track of time in the queue by measuring the difference between
7420         running_time on input and output. This gives more accurate results and
7421         can compensate for segments correctly.
7422         Make a queue by default only 5 buffers deep. We will now increase the
7423         buffer size depending on the filledness of the other queues.
7424         Factor out commong flush code.
7425         Make sure we don't add additional refcounts to buffers when we can avoid
7426         it.
7427         Propagate GstFlowReturn differently.
7428         Use GSlice for intermediate GstMultiQueueItems.
7429         Keep track of EOS.
7430         Resize queues on over and underruns based on filled level of other
7431         queues.
7432         When checking if the queue is filled, prefer to measure in time if we
7433         can and fall back to bytes when no time is known.
7434
7435         * plugins/elements/gstqueue.c:
7436         Fix return value.
7437
7438 2007-06-15  Wim Taymans  <wim@fluendo.com>
7439
7440         * libs/gst/base/gstbasetransform.c:
7441         (gst_base_transform_sink_event):
7442         Work around the brokenness of the event vmethod in basetransform. Prefer
7443         to return TRUE when the subclass returned FALSE (meaning don't forward
7444         the event). 
7445
7446         * libs/gst/base/gstbasetransform.h:
7447         Clarify the docs.
7448
7449 2007-06-15  Wim Taymans  <wim@fluendo.com>
7450
7451         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7452         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7453         (gst_base_src_default_query), (gst_base_src_get_range),
7454         (gst_base_src_start):
7455         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7456         Improve debugging.
7457
7458 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7459
7460         * docs/pwg/advanced-types.xml:
7461           Added more formats to caps table.
7462
7463 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * tools/gst-launch.c: (main):
7466           Remove crufy code. GOption does not need this workaround.
7467
7468 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7469
7470         * libs/gst/controller/gstcontroller.c:
7471         (gst_controlled_property_set_interpolation_mode):
7472           Fix wrong getter for enums in controller.
7473
7474 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7475
7476         * libs/gst/check/gstcheck.c: (gst_check_init):
7477           Intercept criticals and warnings in the Gst-Phonon log domain, so
7478           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7479           well.
7480         
7481 2007-06-14  Edward Hervey  <edward@fluendo.com>
7482
7483         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7484         Since this file doesn't include "gst.h" it will not go through the
7485         macros that disable GST_LOG if debugging was disabled.
7486
7487 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7488
7489         * libs/gst/check/Makefile.am:
7490         * libs/gst/check/gstcheck.h:
7491         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7492         * pkgconfig/gstreamer-check.pc.in:
7493           Ugly 'fix' for the controller unit test on the p5 bot: in
7494           fail_unless_equals_float() check whether the values are 'almost
7495           equal' by allowing a small absolute error, which should be good
7496           enough for our use cases (normal numbers and values close to 0).
7497           Proper fixage left to floating point arithmetic aficionados.
7498
7499 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7500
7501         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7502         (gst_base_sink_render_object), (gst_base_sink_get_position):
7503           Add two breaks thats where missing.
7504
7505 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7506
7507         * docs/libs/gstreamer-libs-sections.txt:
7508         * libs/gst/check/gstcheck.h:
7509           API: add fail_unless_equals_float() and assert_equals_float().
7510           Add documentation for some of the macros.
7511
7512         * tests/check/libs/controller.c: (GST_START_TEST):
7513           Use newly-added asserts.
7514
7515 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7516
7517         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7518           Show the caps change in the log to help spotting the case of not
7519           exactly matching caps.
7520
7521 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7522
7523         * docs/pwg/building-boiler.xml:
7524           Fix typos, spotted by Thijs Vermeir (#447190).
7525
7526 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7527
7528         * docs/plugins/tmpl/.cvsignore:
7529         Ignore file to keep the buildbots happy
7530
7531 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7532
7533         * docs/plugins/Makefile.am:
7534         * docs/plugins/gstreamer-plugins-docs.sgml:
7535         * docs/plugins/gstreamer-plugins-sections.txt:
7536         Pull fdsink into the docs too.
7537
7538 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
7539
7540         * libs/gst/controller/gstinterpolation.c:
7541         Actually use the new functions with min/max checks for the trigger and
7542         none interpolation modes for get() and get_value_array() instead of
7543         just the latter.
7544
7545 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
7546
7547         * libs/gst/controller/gstcontroller.c:
7548         (gst_controlled_property_free):
7549         Unset the minimum and maximum GValues when freeing the corresponding
7550         GstControllerProperty struct.
7551
7552 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
7553
7554         * libs/gst/controller/gstcontroller.c:
7555         (gst_controlled_property_new):
7556         * libs/gst/controller/gstcontrollerprivate.h:
7557         * libs/gst/controller/gstinterpolation.c:
7558         (gst_controlled_property_find_control_point_node),
7559         (interpolate_none_get), (interpolate_none_get_enum_value_array),
7560         (interpolate_none_get_string_value_array),
7561         (interpolate_trigger_get),
7562         (interpolate_trigger_get_enum_value_array),
7563         (interpolate_trigger_get_string_value_array):
7564         Protect against values larger or smaller than the minimum or maximum
7565         allowed value for the property when using values that can be compared.
7566
7567         Optimize trigger interpolator a bit by taking the last requested value
7568         into account instead of always looping through the complete list.
7569
7570         Fix coding style a bit, everywhere else we use "return foo" instead
7571         of "return (foo)".
7572         
7573         * tests/check/libs/controller.c: (GST_START_TEST),
7574         (gst_controller_suite):
7575         Add unit test for the protection against too large or too small
7576         values.
7577
7578 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
7579
7580         * docs/random/slomo/controller.txt:
7581         Add some thoughts about the future of the controller.
7582
7583 2007-06-08  Wim Taymans  <wim@fluendo.com>
7584
7585         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7586         Don't overflow in retimestamping code.
7587
7588 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
7589
7590         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7591         Use gst_util_guint64_to_gdouble for conversions.
7592         * win32/common/libgstreamer.def:
7593         Add new exported functions.
7594
7595 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
7596
7597         * gst/gstutils.c:
7598           Small docs addition.
7599
7600 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7601
7602         * README:
7603           Remove that test line again.
7604
7605 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7606
7607         * README:
7608           Test commit mail sending.
7609
7610 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7611
7612         * configure.ac:
7613           Fix typo and test commit mail sending.
7614
7615 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7616
7617         * tests/examples/controller/audio-example.c:
7618           Improve comment and test commit mail sending.
7619
7620 2007-06-07  Wim Taymans  <wim@fluendo.com>
7621
7622         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7623         (gst_bin_remove_func), (gst_bin_element_set_state),
7624         (bin_handle_async_start), (bin_handle_async_done),
7625         (gst_bin_handle_message_func):
7626         Add helper function to find messages.
7627         Generate the async-done messages together with the state change
7628         messages.
7629         Small cleanups in handling toplevel bins.
7630
7631 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7632
7633         * libs/gst/base/gstdataqueue.c:
7634         * libs/gst/base/gstdataqueue.h:
7635         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7636         (gst_multi_queue_item_new), (gst_multi_queue_chain),
7637         (gst_multi_queue_sink_event):
7638         * tests/check/elements/multiqueue.c: (multiqueue_suite):
7639           Fix multiqueue leaking buffers and events when downstream or the
7640           queue are flushing. Make refcounting assumptions explicit and
7641           document them (shouldn't break existing code that uses it other than
7642           maybe leak miniobjects, but that already happens anyway). Add unit
7643           test for the most common flushing case. Fixes #423700.
7644           
7645 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
7646
7647         * libs/gst/controller/gstcontroller.c:
7648         Clarify docs: The get_all, get_value_array(s) functions
7649         don't modify the GObject properties.
7650
7651 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
7652
7653         * libs/gst/controller/gstcontroller.c:
7654         (gst_controlled_property_set_interpolation_mode),
7655         (gst_controlled_property_prepend_default),
7656         (gst_controlled_property_new), (gst_controller_set_unlocked),
7657         (gst_controller_set), (gst_controller_set_from_list),
7658         (gst_controller_unset), (gst_controller_unset_all):
7659         * libs/gst/controller/gstcontrollerprivate.h:
7660         * libs/gst/controller/gstinterpolation.c:
7661         Factor out the 'set' logic into gst_controller_set_unlocked for the
7662         gst_controller_set and gst_controller_set_from_list functions.
7663
7664         To make life of the interpolators easier always add a control point
7665         at timestamp zero with the default value.
7666
7667         In the linear interpolator make things more obvious by better variable
7668         naming (slope).
7669
7670         Implement cubic interpolation mode (by using a natural cubic spline)
7671         and map the quadratic interpolation mode to this too (as quadratic
7672         doesn't make much sense, see discussion on the list).
7673
7674         * tests/check/libs/controller.c: (GST_START_TEST),
7675         (gst_controller_suite):
7676         Add unit test for the cubic interpolation mode and check everywhere
7677         if the interpolation mode could be set as expected.
7678
7679 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7680
7681         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
7682           Don't use GLib-2.10 functions, we still depend on
7683           GLib-how-old-is-it-again-2.8.
7684
7685 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7686
7687         * docs/gst/gstreamer-sections.txt:
7688         * gst/Makefile.am:
7689         * gst/gst.c:
7690         * gst/gst.h:
7691         * gst/gstparamspecs.c: (_gst_param_fraction_init),
7692         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
7693         (_gst_param_fraction_values_cmp),
7694         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
7695         * gst/gstparamspecs.h:
7696         * gst/gstvalue.c:
7697         * tests/check/Makefile.am:
7698         * tests/check/gst/.cvsignore:
7699         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
7700         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
7701         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
7702         (GST_START_TEST), (gst_param_spec_suite):
7703           API: add GstParamSpecFraction, so elements can have fraction
7704           properties without lots of painful string parsing (#444648).
7705
7706 2007-06-05  Wim Taymans  <wim@fluendo.com>
7707
7708         * gst/gstobject.c: (gst_object_class_init):
7709         Fix signal signature.
7710
7711         * gst/gstsegment.c:
7712         Add small clarification in the api docs.
7713
7714         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
7715         States are protected with object lock.
7716
7717 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7718
7719         * AUTHORS:
7720         I should probably be listed as an author by now.
7721
7722         * docs/random/release:
7723         Update the release doc
7724
7725 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
7726
7727         * gst/gstvalue.c:
7728           Make docs for gst_value_compare() mention return enums that
7729           actually exist.
7730
7731 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7732
7733         * configure.ac:
7734           Back to CVS
7735
7736 === release 0.10.13 ===
7737
7738 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
7739
7740         * configure.ac:
7741           releasing 0.10.13, "With or without you"
7742
7743 2007-05-25  Wim Taymans  <wim@fluendo.com>
7744
7745         * gst/gstbin.c: (bin_handle_async_done):
7746         Make sure that the child bin stops after completing the async state
7747         change so that the parent can continue the state change to PLAYING.
7748         Fixes #441159.
7749
7750 2007-05-25  Wim Taymans  <wim@fluendo.com>
7751
7752         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7753         (unref_data), (gst_collect_pads_remove_pad),
7754         (gst_collect_pads_check_pads):
7755         Use additional refcounting to avoid crashes when dynamically adding and
7756         removing pads. Fixes #420206.
7757
7758 2007-05-24  Wim Taymans  <wim@fluendo.com>
7759
7760         * tools/gst-launch.c: (event_loop):
7761         When buffering goes from a two digit to a single digit number, make sure
7762         to remove the old second digit by writing a blank over it.
7763
7764 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7765
7766         * libs/gst/base/gstdataqueue.c:
7767           Eliminate tabs and trailing comma in enum list; fix some typos.
7768
7769 2007-05-24  Wim Taymans  <wim@fluendo.com>
7770
7771         * tests/check/gst/gstbin.c: (GST_START_TEST):
7772         Allow refcount of 3 and 4 because some state thread might still be busy
7773         with it.
7774
7775 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7776
7777         * plugins/elements/Makefile.am:
7778         * plugins/elements/gstmultiqueue.h:
7779         * plugins/elements/gstqueue.h:
7780           These are not installed headers, no need for padding.
7781
7782 2007-05-24  Wim Taymans  <wim@fluendo.com>
7783
7784         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7785         (gst_bin_continue_func):
7786         Enable latency for next release.
7787         Restore STATE_LOCK around recalc_state that was left out during the
7788         rewrite and could result in racy behaviour when _get_state and
7789         recalc_state are run concurrently. See #440463.
7790
7791 2007-05-23  Wim Taymans  <wim@fluendo.com>
7792
7793         * tests/check/gst/gstsystemclock.c: (store_callback),
7794         (GST_START_TEST):
7795         Improve test_async_order to also work when both timers are already
7796         expired when we get scheduled to check it.
7797
7798 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7799
7800         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
7801         (gst_bin_set_property), (gst_bin_get_property),
7802         (gst_bin_remove_func), (gst_bin_handle_message_func):
7803         * gst/gstbin.h:
7804           'private' is a c++ keyword, let's not use that in header files,
7805           otherwise c++ compilers will throw a tantrum.
7806
7807 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7808
7809         * plugins/elements/gstelements.c:
7810         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
7811         (gst_file_sink_get_current_offset):
7812         * plugins/indexers/gstindexers.c: (plugin_init):
7813           Use #ifdef for HAVE_XYZ for consistency.
7814
7815         * tests/check/Makefile.am:
7816         * tests/check/elements/.cvsignore:
7817         * tests/check/elements/filesink.c: (setup_filesink),
7818         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
7819           Add some unit tests for filesink.
7820
7821 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7822
7823         Patch by: Mark Nauwelaerts <manauw at skynet be>
7824
7825         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7826         (gst_file_sink_query), (gst_file_sink_do_seek),
7827         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7828         * plugins/elements/gstfilesink.h:
7829           Fix position reporting; rename data_written member to current_pos to
7830           reflect its real meaning (fixes #412648).
7831
7832 2007-05-22  Edward Hervey  <edward@fluendo.com>
7833
7834         * docs/gst/gstreamer-sections.txt:
7835         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7836         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
7837         (gst_bin_remove_func), (gst_bin_handle_message_func):
7838         * gst/gstbin.h:
7839         Add a property for bins that handle the state change of their childs.
7840         Fixes #435880
7841
7842 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
7843
7844         * libs/gst/controller/gstinterpolation.c:
7845         Use an array of the correct type when using _get_value_array with
7846         linear interpolation.
7847
7848 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
7849
7850         * gst/gstelement.c (gst_element_requires_clock,
7851           gst_element_provides_clock, gst_element_request_pad,
7852           gst_element_class_set_details, gst_element_class_set_details_simple,
7853           gst_element_default_send_event, gst_element_abort_state,
7854           gst_element_continue_state, gst_element_set_state,
7855           gst_element_set_state_func, iterator_activate_fold_with_resync):
7856         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
7857           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
7858           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
7859           gst_pad_get_range, gst_pad_pull_range):
7860         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
7861           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
7862           GstPadActivateModeFunction, GstPadChainFunction,
7863           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
7864           GstPadFixateCapsFunction, GstPadTemplate):
7865         * gst/gstpipeline.c (gst_pipeline_change_state,
7866           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
7867           gst_pipeline_set_clock, gst_pipeline_auto_clock,
7868           gst_pipeline_get_delay):
7869           Whitespace and docs fixes.
7870
7871 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7872
7873         * libs/gst/controller/gstinterpolation.c:
7874         (interpolate_trigger_get_enum_value_array),
7875         (interpolate_trigger_get_string_value_array):
7876         Add support for retrieving value arrays when using the trigger
7877         interpolation mode. 
7878
7879 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7880
7881         * libs/gst/controller/gstcontroller.c:
7882         (gst_controller_get_value_array):
7883         * libs/gst/controller/gstcontroller.h:
7884         Clarify the docs of gst_controller_get_value_array(): The array where
7885         the values should be written to must be allocated as there seems to be
7886         no way to get the size of a random GType. This doesn't change any
7887         behaviour. Also fix some typos all over the place and remove an unused,
7888         commented function that is not necessary as g_object_set() could be
7889         used instead.
7890         * tests/check/libs/controller.c: (GST_START_TEST),
7891         (gst_controller_suite):
7892         Add unit test for gst_controller_get_value_array().
7893
7894 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
7895
7896         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7897
7898         Disable part of the gst_buffer_try_new_and_alloc test, because
7899         it can happily succeed on 64-bit systems where there's more address
7900         space available.
7901
7902 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7903
7904         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7905         Add unit test for the improved caps checking from bug #421543.
7906
7907 2007-05-21  Wim Taymans  <wim@fluendo.com>
7908
7909         * docs/design/part-synchronisation.txt:
7910         Small addition.
7911
7912         * gst/gstbin.c: (gst_bin_query):
7913         * plugins/elements/gstqueue.c: (apply_segment):
7914         Improve debugging.
7915
7916         * gst/gstmessage.h:
7917         Improve docs.
7918
7919 2007-05-21  Wim Taymans  <wim@fluendo.com>
7920
7921         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7922         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
7923         (gst_pad_configure_src):
7924         Added simple version of improved caps checking. It was previously
7925         assumed that a setcaps function would check the validity of the caps but
7926         people prefer us to check caps against the template automatically. 
7927         Fixes #421543.
7928
7929 2007-05-21  Wim Taymans  <wim@fluendo.com>
7930
7931         * libs/gst/base/gstbasetransform.h:
7932         Fix macro for locking/unlocking the transform lock.
7933
7934 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7935
7936         * docs/plugins/tmpl/.cvsignore:
7937           Ignore more.
7938
7939 2007-05-18  Edward Hervey  <edward@fluendo.com>
7940
7941         * plugins/elements/gstqueue.c: (gst_queue_loop):
7942         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
7943         for the subtle art of warning a potentially blocking thread that it
7944         should check the source pad return value, and relay the information
7945         upstream.
7946
7947 2007-05-18  Edward Hervey  <edward@fluendo.com>
7948
7949         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7950         Release the queue lock !
7951
7952 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7953
7954         * docs/libs/gstreamer-libs-sections.txt:
7955         Add the two new controller functions to the appropiate places.
7956
7957 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7958
7959         reviewed by: Stefan Kost <ensonic@users.sf.net>
7960
7961         * libs/gst/controller/gstcontroller.c:
7962         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
7963         (_gst_controller_get_property), (_gst_controller_set_property),
7964         (_gst_controller_init), (_gst_controller_class_init):
7965         * libs/gst/controller/gstcontroller.h:
7966         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
7967         (gst_object_get_control_rate), (gst_object_set_control_rate):
7968         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
7969         Add API that provides sync suggestion timestamps for elements that
7970         call gst_object_sync_values() from which those elements can subdivide
7971         their processing loop to get the best results for the controlled
7972         properties. For now it just suggests last_sync + control_rate as
7973         new timestamp but this will be improved in the future.
7974
7975         While doing that change the control-rate property to a GstClockTime
7976         from guint and change it's meaning from samples to nanoseconds as
7977         the GstController doesn't know anything about sampling rate. Strictly
7978         speaking this breaks ABI but as the control-rate property didn't do
7979         anything in the past and as such couldn't be used this should be no
7980         problem.        
7981
7982 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7983
7984         reviewed by: Stefan Kost <ensonic@users.sf.net>
7985
7986         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7987         (gst_controller_unset_all):
7988         * libs/gst/controller/gstcontrollerprivate.h:
7989         * libs/gst/controller/gstinterpolation.c:
7990         (gst_controlled_property_find_control_point_node):
7991         Save last synced value from the list to continue searching from there
7992         in future syncs. This speeds everything up a bit.
7993         
7994 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7995
7996         reviewed by: Stefan Kost <ensonic@users.sf.net>
7997
7998         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
7999         (gst_control_point_find), (gst_controlled_property_new),
8000         (gst_control_point_free), (gst_controlled_property_free),
8001         (gst_controller_set), (gst_controller_set_from_list),
8002         (gst_controller_unset), (gst_controller_unset_all),
8003         (gst_controller_sync_values):
8004         * libs/gst/controller/gstcontroller.h:
8005         * libs/gst/controller/gstcontrollerprivate.h:
8006         * libs/gst/controller/gstinterpolation.c:
8007         (gst_controlled_property_find_control_point_node),
8008         (interpolate_none_get), (interpolate_trigger_get):
8009         Add a new private GstControlPoint struct which "inherits" from
8010         GstTimedValue to allow different interpolators to store internal
8011         values next to each control point. From the outside everything is
8012         still a GstControlPoint so we don't loose binary compatibility.
8013         Also fixup all the GValue handling to not leak GValues or list nodes.
8014         * tests/check/libs/controller.c: (GST_START_TEST):
8015         Free the list nodes and GValues in the controller_misc test.
8016
8017 2007-05-17  Edward Hervey  <edward@fluendo.com>
8018
8019         * gst/gstsegment.c:
8020         Small doc fix.
8021
8022 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8023
8024         * gst/gstplugin.c: (gst_plugin_load_file):
8025           If we fail to load a plugin because of unresolved symbols or missing
8026           libraries and spew a warning to stderr, we may just as well mention
8027           which plugin it was that failed to load.
8028
8029 2007-05-13  David Schleef  <ds@schleef.org>
8030
8031         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8032           handles the case when ENABLE_GTK_DOC is false, and installs
8033           the prebuilt documentation.  So gtk-doc subdirs are 
8034           unconditionally enabled.  Fixes: #349099.
8035
8036 2007-05-13  David Schleef  <ds@schleef.org>
8037
8038         * gst/gstutils.h: Reword some documentation.
8039
8040 2007-05-12  David Schleef  <ds@schleef.org>
8041
8042         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8043           do anything with the passed "module" parameter, so remove it.
8044           Allows removal of additional vestigal code.
8045
8046 2007-05-12  David Schleef  <ds@schleef.org>
8047
8048         * gst/gstplugin.c:
8049           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8050           Switch to using g_stat() because it's more portable.
8051
8052 2007-05-12  David Schleef  <ds@schleef.org>
8053
8054         * gst/gst.c:
8055           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8056           parsing for embedded systems.
8057         * gst/gstelementfactory.c:
8058           Allow gst_element_register() to be called with plugin==NULL.
8059           Did nobody notice that static elements were broken?
8060
8061 2007-05-12  Wim Taymans  <wim@fluendo.com>
8062
8063         * tools/gst-launch.c: (event_loop):
8064         Give more interesting info when buffering starts and stops.
8065         Fix case where buffering starts but we fail to update the buffering flag
8066         because the target state is not PLAYING.
8067
8068 2007-05-12  Wim Taymans  <wim@fluendo.com>
8069
8070         * plugins/elements/gstqueue.c: (gst_queue_init),
8071         (gst_queue_finalize), (update_time_level), (apply_segment),
8072         (apply_buffer), (gst_queue_locked_flush),
8073         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8074         (gst_queue_handle_sink_event), (gst_queue_chain),
8075         (gst_queue_push_one), (gst_queue_loop):
8076         * plugins/elements/gstqueue.h:
8077         Refactor an cleanup queue a bit.
8078         Do better time level calculations that also work when the srcpad is not
8079         yet running.
8080         Remove some unneeded debug lines.
8081
8082         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8083         Added testcase for time level measurement.
8084         Try to make some stuff more racefree.
8085
8086 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8087
8088         * gst/gsturi.c: (gst_element_make_from_uri):
8089           Don't leak plugin feature.
8090
8091         * tests/check/Makefile.am:
8092         * tests/check/gst/.cvsignore:
8093         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8094           Add brain-dead unit test.
8095
8096 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8097
8098         Patch by: Jeroen Wouters <woutersj at gmail com>
8099
8100         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8101           Treat protocol strings in a case-insensitive way (#437563).
8102
8103 2007-05-11  Michael Smith <msmith@fluendo.com>
8104
8105         * gst/gstplugin.c: (gst_plugin_load_file):
8106         * gst/gstregistry.c: (gst_registry_scan_path_level):
8107           Don't print a g_warning for any failure to load a shared object.
8108           Instead, push this down into gstplugin.c, and warn _only_ if we
8109           failed to open the module (i.e. failure to link).
8110           Avoids warnings on normal, working, non-plugin .so files.
8111
8112 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8113
8114         * gst/gstplugin.c (gst_plugin_load_file):
8115         * gst/gstregistry.c (GST_CAT_DEFAULT,
8116           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8117           Print a g_warning if there was an error when loading a plugins during
8118           registry scan. The shuld help beginners starting with gst-plugin
8119           template.
8120
8121 2007-05-10  Wim Taymans  <wim@fluendo.com>
8122
8123         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8124         (update_time_level), (gst_queue_locked_flush),
8125         (gst_queue_handle_sink_event), (gst_queue_chain),
8126         (gst_queue_push_one), (gst_queue_loop):
8127         * plugins/elements/gstqueue.h:
8128         Be smarter when calculating the current amount of data in the queue by
8129         measuring the difference between start and end timestamps (in running
8130         time) inside the queue. Fixes #432876.
8131         API: GstQueue::pushing to notify elements that we are pushing data again
8132         since the running signal is rather broken for this purpose.
8133
8134 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8135
8136         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8137           gst_queue_base_init, gst_queue_init):
8138           use GST_BOILERPLATE
8139
8140 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8141
8142         * win32/common/libgstreamer.def:
8143         Add new exported functions.
8144         * win32/vs6/grammar.dsp:
8145         Use grammar pre-generated files.
8146
8147 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8148
8149         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8150
8151         * gst/Makefile.am:
8152         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8153         * gst/gstparse.h:
8154         * gst/gstutils.c: (gst_parse_bin_from_description):
8155         * gst/gstutils.h:
8156           Maintain API and ABI when --disable-parse is used. Now that
8157           we have an appropriate error code, we can just return NULL and the
8158           appropriate error when gst_parse_launch() is used despite it having
8159           been disabled (#342564).
8160
8161         * tests/check/Makefile.am:
8162         * tests/check/pipelines/.cvsignore:
8163         * tests/check/pipelines/parse-disabled.c:
8164           Make sure these functions exist and return NULL plus a GError when
8165           --disable-parse is used.
8166
8167 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8168
8169         * tests/benchmarks/complexity.c: (main):
8170         * tests/benchmarks/mass-elements.c: (main):
8171           Set a good example and don't leak messages.
8172
8173 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8174
8175         * docs/gst/Makefile.am:
8176         * docs/libs/Makefile.am:
8177           Correct fixxrefs options.
8178
8179         * docs/plugins/Makefile.am:
8180         * docs/plugins/gstreamer-plugins-docs.sgml:
8181         * docs/plugins/gstreamer-plugins-sections.txt:
8182         * plugins/elements/Makefile.am:
8183         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8184         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8185           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8186           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8187           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8188           _GstCapsFilterClass, trans_class):
8189         * plugins/elements/gstelements.c (name, rank, type, _elements):
8190         * plugins/elements/gstidentity.c
8191           (gst_identity_check_imperfect_timestamp,
8192           gst_identity_check_imperfect_offset):
8193           Document capsfilter and add doc-blurb to identity.
8194
8195 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8196
8197         * libs/gst/controller/gstcontroller.c:
8198         (gst_controlled_property_set_interpolation_mode):
8199         * libs/gst/controller/gstinterpolation.c:
8200           Don't crash if someone tries to set an interpolation mode that
8201           is invalid or that isn't supported yet. Fixes #422295.
8202
8203         * tests/check/libs/controller.c: (GST_START_TEST),
8204         (gst_controller_suite):
8205           Add a test case for the above.
8206
8207 2007-05-03  Edward Hervey  <edward@fluendo.com>
8208
8209         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8210         Properly set the last_stop position on GstSegment. This will only happen
8211         if there is a buffer to push out.
8212
8213 2007-05-03  Wim Taymans  <wim@fluendo.com>
8214
8215         * libs/gst/base/gstbasetransform.c:
8216         (gst_base_transform_buffer_alloc):
8217         always_in_place does not mean that the sink and source caps are the
8218         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8219
8220 2007-05-03  Wim Taymans  <wim@fluendo.com>
8221
8222         * docs/libs/gstreamer-libs-sections.txt:
8223         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8224         (gst_base_src_default_query), (gst_base_src_get_range):
8225         * libs/gst/base/gstbasesrc.h:
8226         API: gst_base_src_query_latency(). Added method so that subclasses can
8227         easily get the latency values of the base source class.
8228
8229 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8230
8231         * tools/gst-inspect.c (print_implementation_info):
8232         Remove 0.8 cruft.
8233
8234 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8235
8236         * tools/Makefile.am:
8237         * tools/gst-launch.1.in:
8238           Don't create a customised man page based on the host architecture,
8239           describe the default registry path generically. That way the man
8240           page is the same for all architectures and packagers have one
8241           multilib issue less to deal with. Fixes #434926.
8242
8243 2007-05-02  Wim Taymans  <wim@fluendo.com>
8244
8245         * gst/gstpad.c:
8246         Fix documentation as spotted by rg on IRC. 
8247
8248 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8249
8250         * gst/gstutils.c:
8251           Improve docs for gst_element_{link,unlink}.
8252
8253 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8254
8255         * docs/design/part-events.txt:
8256         * docs/design/part-overview.txt:
8257         * gst/gstevent.c:
8258         * gst/gsturi.c:
8259         * gst/gsturi.h:
8260         * libs/gst/base/gstbasesink.c:
8261           Typo fixes; minor docs addition.
8262
8263 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8264
8265         * docs/gst/gstreamer-sections.txt:
8266         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8267         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8268         * gst/gsturi.h:
8269         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8270         or src that supports a given URI protocol exists.
8271
8272 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8273
8274         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8275         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8276         Set the location to NULL if "file://" is set as URI. Otherwise
8277         some random previous URI would still be set if "file://" is
8278         set on an already used filesink/filesrc.
8279
8280 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8281
8282         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8283         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8284         Special case the "file://" URI as as this is used by some
8285         applications to test with gst_element_make_from_uri if there's
8286         an element that supports the URI protocol.
8287         Also move the g_path_is_absolute() check for the location part
8288         of the URI to also check this for "file://localhost/bla" URIs.
8289
8290 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8291
8292         * docs/gst/gstreamer-sections.txt:
8293         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8294         * gst/gstbuffer.h:
8295         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8296         (gst_buffer_suite):
8297           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8298
8299 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8300
8301         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8302         (gst_registry_binary_load_pad_template),
8303         (gst_registry_binary_load_plugin),
8304         (gst_registry_binary_read_cache):
8305         * gst/gstregistrybinary.h:
8306           Implement no-mmap alternative for registry reading. Do code cleanups.
8307           Add more comments about avoiding strdups for all text data. Comments
8308           welcome.
8309
8310 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8311
8312         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8313           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8314           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8315           Comment structs and reformat to fix the build (that stuff should go
8316           into a priv. header).
8317
8318 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8319
8320         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8321         (gst_registry_binary_load_feature):
8322         * gst/gstregistrybinary.h:
8323           Refactor so that we can implement multiple features. Add support for
8324           TypeFindFactory features.
8325
8326 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8327
8328         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8329
8330         * configure.ac:
8331           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8332
8333 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8334
8335         * gst/gstbin.c: (gst_bin_element_set_state),
8336         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8337         (bin_handle_async_done), (gst_bin_handle_message_func):
8338           Fix build with --gst-disable-gst-debug
8339
8340 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8341
8342         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8343           Make sure streaming has finished before calling the ::stop() vfunc,
8344           since that vfunc might clear state which is being used in the
8345           streaming thread. This fixes a race that caused crashes in
8346           audioresample when shutting down a pipeline (#420106).
8347
8348 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8349
8350         * docs/gst/gstreamer-sections.txt:
8351           That was one byte missing.
8352
8353 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8354
8355         * configure.ac:
8356         * docs/gst/gstreamer-sections.txt:
8357         * gst/Makefile.am:
8358         * gst/gstconfig.h.in:
8359         * gst/gstobject.c: (gst_object_class_init),
8360         (gst_signal_object_class_init):
8361         * gst/gstobject.h:
8362           2nd attempt to have a xml-less build as a joined effort of #413123
8363           and #421480.
8364
8365 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8366
8367         * docs/design/draft-tagreading.txt:
8368           Added open issues/thoughts to draft.
8369
8370 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8371
8372         * gst/parse/grammar.tab.pre.c:
8373         * gst/parse/grammar.tab.pre.h:
8374         * gst/parse/lex._gst_parse_yy.pre.c:
8375         Update the prebuild parser sources.
8376
8377 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8378
8379         * gst/parse/Makefile.am:
8380         And now fix the building of the flex sources. Now everything should
8381         work as expected.
8382
8383 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8384
8385         * gst/parse/Makefile.am:
8386         Now hopefully fix the build failures by setting proper rule
8387         dependencies and moving instead of copying.
8388
8389 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8390
8391         * tests/benchmarks/complexity.gnuplot:
8392         * tests/benchmarks/complexity.scm:
8393         * tests/benchmarks/mass-elements.gnuplot:
8394         * tests/benchmarks/mass-elements.scm:
8395           Total licensification.
8396
8397 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8398
8399         * gst/parse/Makefile.am:
8400           Fix the build by correcting the rule that gave wrong files to flex.
8401
8402 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8403
8404         * tests/benchmarks/complexity.c:
8405         * tests/benchmarks/mass-elements.c:
8406           Change licence to LGPL as granted by Benjamin and Andy.
8407
8408 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8409
8410         * gst/parse/Makefile.am:
8411         Add correct grammar.tab.h dependency if compiling without new enough
8412         flex. Fixes #431150.
8413
8414 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8415
8416         * gst/parse/Makefile.am:
8417         Fix typo and use outdated sources if the flex/bison sources are newer
8418         than the pregenerated ones but flex is too old. Print a warning in
8419         that case. This should fix the build on the build bot.
8420
8421 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8422
8423         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8424         * gst/parse/Makefile.am:
8425         * gst/parse/grammar.y:
8426         * gst/parse/parse.l:
8427         Make the parser reentrant and recursively callable. This requires flex
8428         >= 2.5.31, for older versions pregenerated sources are used as we
8429         can't bump the build dependency. Finally fixes #349180.
8430
8431         * gst/gstparse.c: (gst_parse_launch):
8432         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8433         now anyway.
8434
8435         * docs/gst/Makefile.am:
8436         * docs/gst/Makefile.am:
8437         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8438         (__gst_parse_strfree), (__gst_parse_link_new),
8439         (__gst_parse_link_free), (__gst_parse_chain_new),
8440         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8441         (gst_parse_element_set), (gst_parse_free_link),
8442         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8443         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8444         (_gst_parse_launch):
8445         * gst/parse/grammar.tab.pre.h:
8446         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8447         (yy_get_previous_state), (yy_try_NUL_trans), (input),
8448         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8449         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8450         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8451         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8452         (_gst_parse_yypop_buffer_state),
8453         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8454         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8455         (yy_fatal_error), (_gst_parse_yyget_extra),
8456         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8457         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8458         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8459         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8460         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8461         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8462         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8463         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8464         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8465         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8466         (_gst_parse_yyfree):
8467         If the installed flex version is too old use pre-generated parser
8468         sources. These pre-generated parser sources are always updated when
8469         the actual flex/bison sources change but require everybody who wants
8470         to change something in the parser to have flex >= 2.5.31 installed.
8471
8472 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8473
8474         * common/m4/gst-gettext.m4:
8475         * gst/gst-i18n-lib.h:
8476           Make --disable-nls to work
8477
8478 2007-04-17  Wim Taymans  <wim@fluendo.com>
8479
8480         * gst/gstconfig.h.in:
8481         Revert previous change that broke the build.
8482
8483 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
8484
8485         * configure.ac:
8486         * gst/Makefile.am:
8487         * gst/gstconfig.h.in:
8488           Drop libxml2 dependency when building with 
8489           --enable-binary-registry --disable-loadsave
8490
8491 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
8492
8493         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8494         (gst_registry_binary_read_cache):
8495         * gst/gstregistrybinary.h:
8496           Remove unnecessary <sys/mman.h> include which broke the win32 build
8497           with MingW; move includes from header file to .c file, even if the
8498           header file isn't installed; use g_strerror() where UTF-8 strings
8499           are expected, such as in GST_DEBUG messages.
8500
8501 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8502
8503         * docs/libs/gstreamer-libs-sections.txt:
8504         Remove bogus addition for API I didn't end up keeping.
8505
8506         * libs/gst/base/gstbasesrc.h:
8507         Mention Since: 0.10.13 in the documentation.
8508
8509         Add the API keyword to the previous ChangeLog entry.
8510
8511 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8512
8513         * docs/libs/gstreamer-libs-sections.txt:
8514         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8515         (gst_base_src_default_prepare_seek_segment),
8516         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8517         * libs/gst/base/gstbasesrc.h:
8518         Allow basesrc derived classes to execute seeks in other formats
8519         by providing a prepare_seek_segment vmethod. Sub-classes can choose
8520         to prepare the GstSegment in any format that their perform_seek method
8521         will be able to understand. The default implementation provides the
8522         old behaviour of attempting to convert the seek offsets to the 
8523         configured native format.
8524
8525         API: basesrc::prepare_seek_segment vmethod.
8526
8527 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8528
8529         * gst/gstelement.c: (gst_element_get_state_func):
8530         Don't output the same debug statement twice.
8531
8532         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8533         (gst_adapter_peek), (gst_adapter_take_buffer):
8534         Optimise the case where we have buffers at the head of the queue that
8535         can be joined quickly (because they're contiguous sub-buffers) by
8536         merging them together rather than copying data out into new memory.
8537
8538         * gst/parse/grammar.y:
8539         * tests/check/pipelines/parse-launch.c:
8540         Fix a leak in an error path for parse_launch, and add a check 
8541         for it to the testsuite.
8542
8543 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8544
8545         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8546           Don't deadlock when releasing a pad - gst_pad_set_active may try
8547           and take the multiqueue lock too.
8548
8549 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8550
8551         * gst/gsterror.c: (_gst_core_errors_init):
8552         * gst/gsterror.h:
8553           API: add GST_CORE_ERROR_DISABLED (#392804).
8554
8555 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8556
8557         * docs/faq/gst-uninstalled:
8558           don't get empty paths on the PATH variables
8559         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8560           Don't format for the uncommon terminal width of 84 characters.
8561
8562 2007-04-06  Wim Taymans  <wim@fluendo.com>
8563
8564         * gst/gstpipeline.c: (reset_stream_time),
8565         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8566         Only try to select a different pipeline clock when we went back to
8567         PAUSED and not when we merely got flushed.
8568
8569 2007-04-05  Michael Smith  <msmith@fluendo.com>
8570
8571         * tools/gst-launch.1.in:
8572           fractions are better supported in gstreamer than ractions, so
8573           suggest using those.
8574
8575 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8576
8577         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8578
8579         * po/LINGUAS:
8580         * po/da.po:
8581           Added Danish translation.
8582
8583 2007-04-05  Wim Taymans  <wim@fluendo.com>
8584
8585         * libs/gst/base/gstbasesink.c:
8586         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8587         Fix leak caused when refusing newsegment after EOS.
8588
8589         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8590         (gst_fake_sink_init), (gst_fake_sink_set_property),
8591         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8592         (gst_fake_sink_render), (gst_fake_sink_change_state):
8593         * plugins/elements/gstfakesink.h:
8594         Add num-buffers property to make the element generate EOS after a
8595         configurable amount of buffers.
8596         API: fakesink::num-buffers property.
8597
8598         * tests/check/elements/fakesink.c: (GST_START_TEST),
8599         (fakesink_suite):
8600         Fix GstBus leak in test.
8601         Test for fakesink num-buffers.
8602
8603 2007-04-05  Wim Taymans  <wim@fluendo.com>
8604
8605         * libs/gst/base/gstbasesink.c:
8606         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8607         (gst_base_sink_change_state):
8608         Don't accept anything after an EOS, return UNEXPECTED instead.
8609
8610         * tests/check/elements/fakesink.c: (GST_START_TEST),
8611         (fakesink_suite):
8612         Unit test for new EOS behaviour.
8613
8614 2007-04-05  Wim Taymans  <wim@fluendo.com>
8615
8616         * gst/gstelement.c: (gst_element_get_request_pad):
8617         Make padtemplates also work when they don't contain %s or %d.
8618
8619 2007-04-05  Wim Taymans  <wim@fluendo.com>
8620
8621         * docs/gst/gstreamer-sections.txt:
8622         * gst/gstclock.c: (gst_clock_adjust_unlocked),
8623         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8624         * gst/gstclock.h:
8625         Improve _adjust_unlocked() so that it overflows less.
8626         Add gst_clock_unadjust_unlocked to convert from external time to
8627         internal time based on calibration.
8628         Add some more debug.
8629         API: GstClock::gst_clock_unadjust_unlocked()
8630
8631 2007-04-03  Wim Taymans  <wim@fluendo.com>
8632
8633         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8634
8635         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8636         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8637         when releasing sink pad. Fixes #425400.
8638
8639 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
8640
8641         * docs/random/ensonic/dynlink.txt:
8642           More work on proposal for new core api.
8643
8644         * docs/libs/gstreamer-libs-sections.txt:
8645         * libs/gst/base/gstbasetransform.h:
8646           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
8647           
8648         * libs/gst/controller/gstcontroller.c:
8649         (on_object_controlled_property_changed),
8650         (gst_controller_sync_values),
8651         (gst_controller_set_interpolation_mode):
8652         * libs/gst/controller/gstcontroller.h:
8653           Less verbose logging add docs for unimplemented parts and correctly
8654           return when using unavailable parts.
8655
8656 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
8657
8658         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
8659         Move all the debug to the CLOCK category, and associate it with
8660         the clock object.
8661
8662 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
8663
8664         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
8665         Make take_buffer a bit quicker by removing redundant checks
8666         caused by calling gst_adapter_take.
8667
8668 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
8669
8670         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
8671           Don't leak GCond.
8672
8673         * tests/check/Makefile.am:
8674         * tests/check/elements/.cvsignore:
8675         * tests/check/elements/multiqueue.c: (setup_multiqueue),
8676         (GST_START_TEST), (multiqueue_suite):
8677           Add some dead simple unit tests for the 'multiqueue' element
8678           (some bits don't work yet and are disabled for now).
8679
8680 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
8681
8682         * gst/gstelement.c: (gst_element_get_request_pad),
8683         (gst_element_class_get_request_pad_template):
8684           Make gst_element_get_request_pad() create request pads only for
8685           request pad templates and not for, say, sometimes pad templates.
8686
8687 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
8688
8689         * docs/design/draft-klass.txt:
8690           Add example that needs more thinking.
8691         
8692         * docs/design/draft-missing-plugins.txt:
8693           More thoughts about wrapper plugins.
8694         
8695         * docs/random/ensonic/embedded.txt:
8696         * docs/random/ensonic/profiling.txt:
8697           More design work.
8698
8699 2007-03-25  Wim Taymans  <wim@fluendo.com>
8700
8701         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
8702         (gst_base_src_loop):
8703         Only push the segment events in the PLAYING state for live sources.
8704
8705 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
8706
8707         * gst/gstpipeline.c: (gst_pipeline_change_state):
8708         Modify the clock distribution path in PAUSED->PLAYING so that we 
8709         never attempt to choose a new clock unless we're actually leaving
8710         the PAUSED state for the first time. This prevents choosing a
8711         different clock when the state_change gets called for a 2nd time due
8712         to some element doing an async state change.
8713
8714 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
8715
8716         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
8717         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
8718         (gst_pad_chain_unchecked), (gst_pad_push):
8719         Revert last commit. This needs some more thoughts.
8720
8721 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
8722
8723         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
8724         (gst_pad_chain_unchecked), (gst_pad_push):
8725         Check in set_caps if the caps are compatible with the pad and remove
8726         two functions that are redundant now. Fixes #421543.
8727
8728 2007-03-22  Wim Taymans  <wim@fluendo.com>
8729
8730         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
8731         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
8732         Unref some more to make valgrind happy.
8733
8734 2007-03-22  Wim Taymans  <wim@fluendo.com>
8735
8736         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
8737         (gst_system_clock_id_wait_jitter),
8738         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8739         Fix anoying regression that survived a few releases. When adding an
8740         async entry while blocking on a sync entry, the sync entry will unblock
8741         but still be busy, so it should continue to wait instead of returning
8742         _BUSY to the app.
8743         Add some comments here and there.
8744
8745         * tests/check/gst/gstsystemclock.c: (mixed_thread),
8746         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
8747         Add testcase for this.
8748
8749 2007-03-22  Wim Taymans  <wim@fluendo.com>
8750
8751         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8752         Handle errors from the clock sync better, only UNSCHEDULED indicates a
8753         WRONG_STATE and can silently pause the task. All other cases should
8754         error out.
8755
8756 2007-03-22  Wim Taymans  <wim@fluendo.com>
8757
8758         Patch by: Ville Syrjala <syrjala at sci dot fi>
8759
8760         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
8761         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
8762         Improve debugging.
8763
8764 2007-03-21  Michael Smith  <msmith@fluendo.com>
8765
8766         * docs/pwg/advanced-types.xml:
8767           Fix some errors in the typefinding docs pointed out on irc.
8768
8769 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
8770
8771         * libs/gst/base/gstbasesrc.c:
8772         Clarify FIXME comment in the face of having added unlock_stop()
8773
8774 2007-03-21  Wim Taymans  <wim@fluendo.com>
8775
8776         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
8777         Prepare for release where we warn against possible app breakage in the
8778         case of live pipelines along with an env var to enable/disable live
8779         preroll mode (GST_COMPAT=[no-]live-preroll).
8780
8781 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8782
8783         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
8784         So we should use correct constants for checking for None offset.
8785
8786 2007-03-20  Wim Taymans  <wim@fluendo.com>
8787
8788         * docs/design/part-block.txt:
8789         Mention the fact that the newly switched element should be set to at
8790         least PAUSED.
8791
8792 2007-03-20  Wim Taymans  <wim@fluendo.com>
8793
8794         * gst/gst.c:
8795         Fix compilation with registry disabled as spotted by Saur.
8796
8797 2007-03-20  Wim Taymans  <wim@fluendo.com>
8798
8799         Patch by: Olivier Crete <tester at tester dot ca>
8800
8801         * gst/gstelement.c: (gst_element_sync_state_with_parent):
8802         Look at the pending state too when syncing the element state to the
8803         parent. Fixes #420133.
8804
8805 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
8806
8807         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8808         (gst_base_sink_change_state):
8809         * libs/gst/base/gstbasesink.h:
8810         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8811         (gst_base_src_default_event), (gst_base_src_unlock_stop),
8812         (gst_base_src_deactivate):
8813         * libs/gst/base/gstbasesrc.h:
8814         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
8815         for sub-classes to correctly clear any state they set trying to
8816         unlock, such as clearing out unlock commands from a command fd.
8817         API: basesrc::unlock_stop
8818         API: basesink::unlock_stop
8819
8820         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
8821         (gst_fd_sink_render), (gst_fd_sink_unlock),
8822         (gst_fd_sink_unlock_stop):
8823         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
8824         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
8825         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
8826
8827         Implement unlock_stop in fdsrc and fdsink.
8828         Implement seeking in fdsrc when a seekable fd is passed, as in
8829         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
8830
8831 2007-03-19  Wim Taymans  <wim@fluendo.com>
8832
8833         Patch by: Evan Nemerson <evan at coeus dash group dot com>
8834
8835         * gst/gstelement.c: (gst_element_class_init):
8836         Fix pad-added and pad-removed signal signatures so that the pad type is
8837         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
8838
8839 2007-03-19  Wim Taymans  <wim@fluendo.com>
8840
8841         * docs/gst/gstreamer-sections.txt:
8842         Add new element field and method.
8843
8844         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8845         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
8846         (gst_bin_recalc_state), (gst_bin_get_state_func),
8847         (gst_bin_element_set_state), (gst_bin_change_state_func),
8848         (gst_bin_continue_func), (bin_bus_handler),
8849         (bin_push_state_continue), (bin_handle_async_start),
8850         (bin_handle_async_done), (gst_bin_handle_message_func):
8851         Make async state changes a bit smarter by using new ASYNC_START and
8852         ASYNC_DONE messages. This reduces the number of times we run the state
8853         recalculation thread.
8854         Don't change state of element with a pending ASYNC_START message.
8855         Deprecate STATE_DIRTY messages.
8856         
8857         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
8858         (gst_element_get_state_func), (gst_element_continue_state),
8859         (gst_element_lost_state), (gst_element_set_state_func),
8860         (gst_element_change_state):
8861         * gst/gstelement.h:
8862         Keep the state that was last set by the app in a new element field.
8863         Don't allow state changes when handling an element event.
8864         Post ASYNC_START and ASYNC_DONE messages.
8865         Change lost_state so that we go to PAUSED and wait for the parent to set
8866         us to PLAYING again (so latency calculation can be performed)
8867         Export gst_element_change_state() method so that subclasses can use it.
8868         API: gst_element_change_state()
8869         API: GST_STATE_TARGET
8870
8871         * gst/gstpipeline.c: (gst_pipeline_class_init),
8872         (reset_stream_time), (gst_pipeline_change_state),
8873         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
8874         Using the new ASYNC_START message we can reset the base_time when
8875         needed. This can then be used to implement base_time redistribution in
8876         flushing seeks so that we can remove the explicit seek handling.
8877         Perform latency query and configuration when going to PLAYING.
8878
8879         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8880         (gst_base_sink_query), (gst_base_sink_change_state):
8881         Post new ASYNC_START/ASYNC_DONE messages.
8882
8883         * tests/check/generic/sinks.c: (GST_START_TEST):
8884         Fix test because the bin will not set the async element to PLAYING right
8885         away.
8886
8887         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
8888         Make the message check a little stronger.
8889         Handle ASYNC messages.
8890
8891         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
8892         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
8893         Expect ASYNC_DONE messages.
8894
8895 2007-03-19  Wim Taymans  <wim@fluendo.com>
8896
8897         * docs/gst/gstreamer-sections.txt:
8898         * gst/gstmessage.c: (gst_message_new_async_start),
8899         (gst_message_new_async_done), (gst_message_parse_info),
8900         (gst_message_parse_async_start):
8901         * gst/gstmessage.h:
8902         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
8903         support.
8904
8905 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8906
8907         * tools/gst-inspect.c:
8908         (print_plugin_automatic_install_info_codecs):
8909           Now that we don't check for the 'Codec' keyword any longer in the
8910           klass, we shouldn't spew a warning if the klass isn't a decoder or
8911           encoder (since it might be a Source/Network, for example).
8912
8913 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8914
8915         * tools/gst-inspect.c:
8916         (print_plugin_automatic_install_info_codecs):
8917           Don't require decoder/demuxer/depayloader elements or
8918           encoder/muxer/paylader elements to have 'Codec' as part of their
8919           factory class string when introspecting a plugin's capabilities.
8920           draft-klass.txt mentions that it might be removed in future, and
8921           flump3dec doesn't have it as part of its class string, so chances
8922           are others might also not have it.
8923
8924 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8925
8926         * po/af.po:
8927         * po/az.po:
8928         * po/bg.po:
8929         * po/ca.po:
8930         * po/cs.po:
8931         * po/de.po:
8932         * po/en_GB.po:
8933         * po/fr.po:
8934         * po/it.po:
8935         * po/nb.po:
8936         * po/nl.po:
8937         * po/ru.po:
8938         * po/sq.po:
8939         * po/sr.po:
8940         * po/sv.po:
8941         * po/tr.po:
8942         * po/uk.po:
8943         * po/vi.po:
8944         * po/zh_CN.po:
8945         * po/zh_TW.po:
8946           Update translations from translation project
8947
8948 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
8949
8950         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
8951         (gst_child_proxy_set_property):
8952           Invert precondition check to be alike the ones in the mimiced gobject
8953           api.
8954
8955 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
8956
8957         * docs/design/draft-tagreading.txt:
8958         * docs/random/ensonic/audiobaseclasses.txt:
8959           Do some Architect work.
8960
8961         * gst/gstobject.c: (gst_object_set_name):
8962           Add a WARNING.
8963
8964         * gst/gstpad.c:
8965           Add docs that point from gst_pad_get_range to gst_pad_pull_range
8966
8967 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
8968
8969         * gst/gstsystemclock.c: (gst_system_clock_init),
8970         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
8971         Defer starting the async system clock thread until the first async
8972         wait is scheduled. Fixes #414986.
8973
8974 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8975
8976         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
8977         (gst_single_queue_free):
8978           Fix small leak (free GstSingleQueue structure too, not only contents).
8979
8980 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
8981
8982         * gst/gstbin.c:(gst_bin_add):
8983         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
8984         * win32/common/libgstbase.def:
8985         * win32/common/libgstreamer.def:
8986         Add new exported functions.
8987
8988 2007-03-09  Wim Taymans  <wim@fluendo.com>
8989
8990         * docs/plugins/gstreamer-plugins-sections.txt:
8991         Fix GstTee docs.
8992
8993 2007-03-09  Wim Taymans  <wim@fluendo.com>
8994
8995         * docs/gst/gstreamer-sections.txt:
8996         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
8997         * gst/gstbuffer.h:
8998         Add metadata copy functions. Fixes #393099.
8999         API: gst_buffer_copy_metadata()
9000
9001         * gst/gstutils.c: (gst_buffer_stamp):
9002         * libs/gst/base/gstbasetransform.c:
9003         (gst_base_transform_prepare_output_buffer):
9004         Use new metadata copy functions.
9005
9006 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9007
9008         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9009         (gst_identity_init), (gst_identity_check_perfect),
9010         (gst_identity_check_imperfect_timestamp),
9011         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9012         (gst_identity_set_property), (gst_identity_get_property):
9013         * plugins/elements/gstidentity.h:
9014         Separate out check-imperfect-timestamp and check-imperfect-offset.
9015         Put back check-perfect as it was to keep compatibility.
9016
9017 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9018
9019         * gst/gstelement.c: (gst_element_dispose):
9020         There's no need to warn if VOID_PENDING is not NONE here, as
9021         long as the state is NULL it's ok, and that's checked immediately
9022         above.
9023
9024 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9025
9026         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9027         Fix check for perfect stream to ignore buffers with -1 
9028         offsets/offset ends when checking data contiguity.
9029
9030 2007-03-08  Wim Taymans  <wim@fluendo.com>
9031
9032         * tools/gst-launch.c: (event_loop):
9033         Print INFO messages.
9034
9035 2007-03-08  Wim Taymans  <wim@fluendo.com>
9036
9037         * libs/gst/base/gstbasetransform.c:
9038         (gst_base_transform_sink_eventfunc),
9039         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9040         (gst_base_transform_activate):
9041         * libs/gst/base/gstbasetransform.h:
9042         Add support for dropping buffers with custom GstFlowReturn.
9043         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9044         buffers or dropped buffers.
9045
9046         * docs/libs/gstreamer-libs-sections.txt:
9047         docs for new custom return code.
9048
9049         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9050         Use drop support in base class to implement drop-probability.
9051
9052 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9053
9054         * gst/gst.c: (load_plugin_func):
9055         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9056         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9057         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9058           Remove newlines at end of debug log strings.
9059
9060 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9061
9062         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9063         Only post bus message at max, once per buffer received.
9064
9065 2007-03-07  Wim Taymans  <wim@fluendo.com>
9066
9067         * docs/design/Makefile.am:
9068         * docs/design/part-synchronisation.txt:
9069         Add doc about synchronisation
9070
9071         * docs/design/draft-latency.txt:
9072         * docs/design/part-TODO.txt:
9073         * docs/design/part-clocks.txt:
9074         * docs/design/part-events.txt:
9075         * docs/design/part-gstbus.txt:
9076         * docs/design/part-gstpipeline.txt:
9077         * docs/design/part-live-source.txt:
9078         * docs/design/part-messages.txt:
9079         * docs/design/part-overview.txt:
9080         * docs/design/part-streams.txt:
9081         * docs/design/part-trickmodes.txt:
9082         Documentation updates.
9083
9084 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9085
9086         * gstreamer.doap:
9087         Update the doap file.
9088
9089 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9090
9091         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9092         Rename non-perfect to imperfect for Mike and for the sanctity of the
9093         language.
9094         Also make sure bus message gets emitted for data-incontiguities.
9095
9096 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9097
9098         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9099         (gst_identity_start):
9100         * plugins/elements/gstidentity.h:
9101         Emit bus message if check-perfect is true and we encounter a
9102         non-perfect stream between 2 consecutive buffers.
9103         Fixes #415394.
9104
9105 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9106
9107         * configure.ac:
9108         Back to CVS
9109
9110 === release 0.10.12 ===
9111
9112 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9113
9114         * configure.ac:
9115           releasing 0.10.12, "Inevitable Demise"
9116
9117 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9118
9119         * configure.ac:
9120          Version 0.10.11.2 (0.10.12 pre-release)
9121          Bump libtool versioning.
9122
9123 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9124
9125         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9126           Log flow-names and not numbers.
9127
9128 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * configure.ac:
9131           Convert to new AG_GST style.
9132
9133 2007-02-28  Wim Taymans  <wim@fluendo.com>
9134
9135         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9136         Don't unref query twice.
9137
9138 2007-02-28  Wim Taymans  <wim@fluendo.com>
9139
9140         * gst/gstvalue.c: (gst_value_transform_object_string),
9141         (_gst_value_initialize):
9142         Implement GstObject -> string transform so we print object names
9143         when serializing GValues containing GstObjects.
9144
9145 2007-02-28  Wim Taymans  <wim@fluendo.com>
9146
9147         * docs/gst/gstreamer-sections.txt:
9148         Add new stuff to docs.
9149
9150 2007-02-28  Wim Taymans  <wim@fluendo.com>
9151
9152         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9153         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9154         (gst_base_sink_change_state):
9155         Improve latency query code.
9156         Don't leak latency events.
9157
9158         * tests/check/gst/gstbin.c: (GST_START_TEST):
9159         Improve debugging.
9160
9161 2007-02-28  Wim Taymans  <wim@fluendo.com>
9162
9163         * gst/gstelement.c: (gst_element_message_full),
9164         (gst_element_get_state_func):
9165         * gst/gstelement.h:
9166         Improve docs a little. Added Since: for new macro.
9167
9168         * gst/gstobject.c: (gst_object_sink):
9169         * gst/gstpipeline.c: (gst_pipeline_change_state),
9170         (gst_pipeline_set_new_stream_time):
9171         * gst/gstpipeline.h:
9172         Improve debugging and docs.
9173
9174         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9175         Improve debugging.
9176
9177 2007-02-28  Wim Taymans  <wim@fluendo.com>
9178
9179         * gst/gstelement.c: (gst_element_message_full),
9180         (gst_element_set_locked_state), (gst_element_get_state_func),
9181         (gst_element_change_state):
9182         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9183         Documentation updates.
9184         Small code cleanups.
9185
9186         * gst/gstmessage.c: (gst_message_new_info),
9187         (gst_message_parse_info):
9188         * gst/gstmessage.h:
9189         API: gst_message_new_info()
9190         API: gst_message_parse_info()
9191         Add INFO message create and parse code.
9192
9193 2007-02-28  Wim Taymans  <wim@fluendo.com>
9194
9195         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9196         (bin_query_latency_done):
9197         Also report the live parameter of a latency query.
9198
9199 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9202           Copy the current generic/states example from -base and adapt so
9203           we can use the exact same code everywhere.
9204           Check a STATES_IGNORE_ELEMENTS env var which can be used
9205           to ignore certain element factories for this test, which is
9206           what is being done in -base
9207         * tests/check/Makefile.am:
9208           Mention this environment variable.
9209
9210 2007-02-27  Wim Taymans  <wim@fluendo.com>
9211
9212         * docs/gst/gstreamer-sections.txt:
9213         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9214         (gst_bus_timed_pop), (gst_bus_pop):
9215         * gst/gstbus.h:
9216         API: gst_bus_timed_pop()
9217         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9218         message to arrive on the bus.
9219
9220         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9221         (gst_bus_suite):
9222         Two unit tests for new _timed_pop() function.
9223
9224 2007-02-23  Wim Taymans  <wim@fluendo.com>
9225
9226         * gst/gstpipeline.c: (gst_pipeline_change_state),
9227         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9228         Don't ref a NULL clock in _provide_clock_func().
9229         Don't allow an INVALID delay.
9230         Don't try to calculate base_time with an invalid start_time.
9231         Also distribute and notify a NULL clock when it was selected.
9232
9233         * tools/gst-launch.c: (event_loop):
9234         Don't crash when a NULL clock was selected in the pipeline.
9235
9236 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9237
9238         * docs/design/Makefile.am:
9239         * docs/design/draft-missing-plugins.txt:
9240         * docs/random/draft-missing-plugins.txt:
9241           Some small updates: update plugin system identifier prefix
9242           ('gstreamer.net' to 'gstreamer'), mention our new install
9243           API in libgstbaseutils rather than libgimme-codec, add
9244           reference to the online docs.
9245
9246 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9247
9248         * win32/common/config.h:
9249           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9250           use moap cl ci to only check in what is mentioned in the ChangeLog.
9251
9252 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9253
9254         * docs/gst/gstreamer-sections.txt:
9255         * gst/gstelement.h:
9256           Fix up documentation to link to the correct GstGError section.
9257           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9258
9259 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9260
9261         * tools/gst-launch.c: (event_loop):
9262           Make sure that we actually show the important message part of a
9263           warning message.
9264           No need to check if the gerror is not NULL to free; first of all
9265           g_free accepts NULL; and second the default error handler would
9266           segfault if gerror was NULL.
9267
9268 2007-02-21  Wim Taymans  <wim@fluendo.com>
9269
9270         * docs/gst/gstreamer-sections.txt:
9271         Removed docs as well.
9272
9273 2007-02-21  Wim Taymans  <wim@fluendo.com>
9274
9275         * gst/gstmessage.c: (gst_message_parse_duration):
9276         * gst/gstmessage.h:
9277         Remove new messages for release.
9278
9279 2007-02-20  Wim Taymans  <wim@fluendo.com>
9280
9281         * docs/design/part-gstghostpad.txt:
9282         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9283         (gst_ghost_pad_new_full):
9284         Make the ghostpad a parent of the internal pad again for better backward
9285         compatibility. Don't write code that relies on this however.
9286
9287         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9288         (gst_pad_link_check_hierarchy):
9289         Require that parents should be GstElements in the hierarchy check.
9290
9291 2007-02-20  Wim Taymans  <wim@fluendo.com>
9292
9293         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9294         (gst_bin_change_state_func), (bin_query_min_max_init),
9295         (bin_query_latency_fold), (bin_query_latency_done),
9296         (gst_bin_query):
9297         Improve debug info.
9298         Implement latency query.
9299
9300 2007-02-20  Wim Taymans  <wim@fluendo.com>
9301
9302         * docs/design/part-gstghostpad.txt:
9303         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9304         (gst_ghost_pad_internal_do_activate_push),
9305         (gst_ghost_pad_internal_do_activate_pull),
9306         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9307         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9308         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9309         Do not set the internal pad as a parent anymore so we can avoid
9310         hierarchy linking errors when the ghostpad has no parent yet. This also
9311         fixes failed activation because of unlinked internal pads, which in
9312         turn fixes the impossible case where you have to activate a pad before
9313         you can add it to a running element.
9314         Also fix the docs.
9315
9316         * gst/gstpad.c: (pre_activate), (post_activate),
9317         (gst_pad_set_active), (gst_pad_activate_pull),
9318         (gst_pad_activate_push), (gst_pad_check_pull_range):
9319         Add some more debug info.
9320         Mark activation mode in pre_activate so that we don't try to activate in
9321         endless loops. Fixes #385084.
9322
9323 2007-02-19  Wim Taymans  <wim@fluendo.com>
9324
9325         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9326         (gst_base_transform_check_get_range):
9327         Implement a checkgetrange function instead of relying on the default
9328         core behaviour that assumes we can operate in pull mode if we have a
9329         getrange function. First step at fixing #385084.
9330
9331 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9332
9333         * gst/gstchildproxy.h:
9334         * libs/gst/base/gstbasesink.h:
9335         * libs/gst/base/gstbasesrc.h:
9336         * libs/gst/base/gstbasetransform.h:
9337         More docs coverage and some ChangeLog surgery (add missing names)
9338
9339 2007-02-15  Wim Taymans  <wim@fluendo.com>
9340
9341         * docs/design/part-TODO.txt:
9342         * docs/design/part-activation.txt:
9343         * docs/design/part-block.txt:
9344         * docs/design/part-buffering.txt:
9345         * docs/design/part-clocks.txt:
9346         * docs/design/part-element-source.txt:
9347         * docs/design/part-events.txt:
9348         * docs/design/part-gstbin.txt:
9349         * docs/design/part-gstbus.txt:
9350         * docs/design/part-gstpipeline.txt:
9351         * docs/design/part-live-source.txt:
9352         * docs/design/part-messages.txt:
9353         * docs/design/part-overview.txt:
9354         * docs/design/part-qos.txt:
9355         * docs/design/part-query.txt:
9356         * docs/design/part-states.txt:
9357         * docs/design/part-trickmodes.txt:
9358         Some doc updates. Start renaming from stream_time to running_time where
9359         it was used wrongly.
9360
9361 2007-02-15  Wim Taymans  <wim@fluendo.com>
9362
9363         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9364         Answer LATENCY query.
9365
9366 2007-02-15  Wim Taymans  <wim@fluendo.com>
9367
9368         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9369         (GST_START_TEST):
9370         Improve debugging.
9371
9372 2007-02-15  Wim Taymans  <wim@fluendo.com>
9373
9374         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9375         (gst_pad_dispatcher):
9376         Improve debugging of default pad dispatcher and query functions.
9377
9378 2007-02-15  Wim Taymans  <wim@fluendo.com>
9379
9380         * docs/gst/gstreamer-sections.txt:
9381         Remove old unused method.
9382
9383 2007-02-13  Wim Taymans  <wim@fluendo.com>
9384
9385         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9386         Fix check
9387
9388 2007-02-13  Wim Taymans  <wim@fluendo.com>
9389
9390         * docs/design/part-seeking.txt:
9391         Some small update.
9392
9393         * gst/gstsegment.c: (gst_segment_set_seek):
9394         Revert old bogus change that should make seeking work again.
9395
9396 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9397
9398         * docs/random/ensonic/dynlink.txt:
9399         * docs/random/ensonic/interfaces.txt:
9400         * docs/random/ensonic/receipies.txt:
9401           Possible dynamic reconnection api, plus some type fixes the other two
9402           docs.
9403
9404 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9405
9406         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9407         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9408         Also check for an absolute path following file:// in the filesrc
9409         element. Remove redundant check and call g_path_is_absolute() on the
9410         unescaped location.
9411
9412 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9413
9414         * docs/design/draft-klass.txt:
9415           Add existing category analysis.
9416           
9417         * gst/gstcaps.c:
9418           Fix doc example, framerate is a fraction.
9419
9420 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9421
9422         * configure.ac:
9423         * docs/gst/Makefile.am:
9424         * docs/gst/gstreamer-sections.txt:
9425         * docs/libs/Makefile.am:
9426           Erm, forgot a bunch of --extra-dir.
9427
9428 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9429
9430         * configure.ac:
9431         * docs/gst/Makefile.am:
9432         * docs/libs/Makefile.am:
9433         * docs/plugins/Makefile.am:
9434           Add crossreferences to glib/gobject docs.
9435
9436 2007-02-12  Wim Taymans  <wim@fluendo.com>
9437
9438         * docs/design/draft-latency.txt:
9439         Small update.
9440
9441         * docs/libs/gstreamer-libs-sections.txt:
9442         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9443         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9444         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9445         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9446         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9447         (gst_base_sink_get_position), (gst_base_sink_query),
9448         (gst_base_sink_change_state):
9449         * libs/gst/base/gstbasesink.h:
9450         API: gst_base_sink_query_latency() to let subclasses query the upstream
9451         latency.
9452         API: gst_base_sink_get_latency() to let subclasses query the configured
9453         latency in the sink.
9454         Implement query and set latency.
9455         Update some docs.
9456         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9457         don't continue preroll when we are flushing. Fixes #405284.
9458
9459         * tests/check/pipelines/stress.c: (change_state_timeout),
9460         (quit_timeout), (GST_START_TEST), (stress_suite):
9461         Test for #405284.
9462
9463 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9464
9465         Patch by: René Stadler <mail at renestadler de>
9466
9467         * docs/gst/gstreamer-sections.txt:
9468         * gst/gsttaglist.c: (_gst_tag_initialize):
9469         * gst/gsttaglist.h:
9470           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9471
9472 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9473
9474         * docs/libs/Makefile.am:
9475           Fix path to core docs.
9476
9477         * gst/gstbin.c: (gst_bin_get_by_interface),
9478         (gst_bin_iterate_all_by_interface):
9479           Refix docs by also renaming 'interface' to 'iface' in implementation.
9480
9481         * docs/gst/gstreamer-sections.txt:
9482         * gst/gstcaps.c:
9483         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9484         * gst/gstchildproxy.h:
9485         * gst/gstelementfactory.c:
9486         * gst/gstpadtemplate.h:
9487         * libs/gst/controller/gstcontroller.c:
9488         (gst_controlled_property_new):
9489           Document more.
9490
9491 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
9492
9493         * gst/gstbin.h:(gst_bin_get_by_interface),
9494         (gst_bin_iterate_all_by_interface):
9495         Replace interface parameter name by iface as interface is 
9496         a reserved keyword in Visual Studio for C++ projects so it removes
9497         a build error for application developpers using VS.
9498         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9499         Fix a bug on Windows in uri format check. Now the prefix checked
9500         is file:// and next we check if the path after file:// is absolute.
9501         * win32/common/libgstbase.def:
9502         * win32/common/libgstdataprotocol.def:
9503         * win32/common/libgstgstreamer.def:
9504         Add new exported functions.
9505
9506 2007-02-09  Andy Wingo  <wingo@pobox.com>
9507
9508         * tests/check/pipelines/simple-launch-lines.c
9509         (simple_launch_lines_suite, test_tee): Disable tee test until I
9510         have time to fix it :-(
9511
9512         * tests/check/Makefile.am (noinst_HEADERS): 
9513         * tests/check/libs/libsabi.c: 
9514         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9515         * tests/check/gst/gstabi.c: 
9516         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9517
9518         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9519         tests for push and pull tee behavior.
9520
9521         * plugins/elements/gsttee.h: 
9522         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9523         mark as deprecated as well as unimplemented. It was a crack idea.
9524         Add support for tee operating in pull mode, off by default.
9525
9526         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9527         normal-case logs down to LOG, raise errors to WARNING.
9528         (gst_registry_xml_read_cache): Don't log before calling a function
9529         that logs.
9530
9531         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9532         exit (registry finalize).
9533         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9534         DEBUG log when we emit signals that people don't even have the
9535         chance to connect to.
9536         (gst_registry_scan_path_level): Less logging in the normal case.
9537
9538 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9539
9540         Patch by: Michal Benes <michal dot benes at itonis dot tv>
9541
9542         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9543         Correctly generate EOS for non-seekable files. We don't have a total
9544         length for them and would get an unexpected end of file if we only
9545         special-cased for regular files. (Fixes: #404569)
9546
9547 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9548
9549         * tests/check/elements/filesrc.c: (GST_START_TEST),
9550         (filesrc_suite):
9551         Add unit test for the GstURIHandler interface in filesrc. This also
9552         tests the newly added file://localhost/foo/bar support.
9553
9554 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9555
9556         * gst/gstelementfactory.h:
9557           The klass string is not a hierarchy. Add reference to the design doc
9558           for more information and common types.
9559
9560 2007-02-02  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/gstquery.c: (gst_query_new_latency):
9563         Remove old structure field.
9564
9565 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
9566
9567         * tools/gst-launch.1.in:
9568           Give example for network streaming (#351998)
9569
9570 2007-02-02  Wim Taymans  <wim@fluendo.com>
9571
9572         * docs/gst/gstreamer-sections.txt:
9573         Add docs for new methods.
9574
9575         * gst/gstevent.c: (gst_event_new_latency),
9576         (gst_event_parse_latency):
9577         * gst/gstevent.h:
9578         Add new LATENCY event to configure latency in a pipeline.
9579         API: gst_event_new_latency
9580         API: gst_event_parse_latency
9581
9582         * gst/gstmessage.c: (gst_message_new_buffering),
9583         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9584         (gst_message_new_latency), (gst_message_parse_buffering),
9585         (gst_message_parse_lost_preroll):
9586         * gst/gstmessage.h:
9587         Added messages used in draft-latency.
9588         API: gst_message_new_lost_preroll
9589         API: gst_message_parse_lost_preroll
9590         API: gst_message_new_prerolled
9591         API: gst_message_new_latency
9592
9593         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9594         (gst_query_parse_latency):
9595         * gst/gstquery.h:
9596         Implemented new latency query as in design doc.
9597         API: gst_query_new_latency
9598         API: gst_query_set_latency
9599         API: gst_query_parse_latency
9600
9601 2007-02-02  Wim Taymans  <wim@fluendo.com>
9602
9603         * docs/design/draft-latency.txt:
9604         Slight redesign to allow for dynamic latency adjustments.
9605
9606         * docs/design/part-negotiation.txt:
9607         Fix some typos.
9608
9609 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
9610
9611         reviewed by: Wim Taymans <wim@fluendo.com>
9612
9613         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9614         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9615         Allow file://localhost/foo/bar URLs and correctly fail for every other
9616         hostname that one sets. This was gnomevfssrc is linked for those if
9617         installed as it can handle it (#403172)
9618
9619 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9620
9621         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9622
9623         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9624         (unref_data), (gst_collect_pads_add_pad_full):
9625         * libs/gst/base/gstcollectpads.h:
9626         Don't put the previously added destroy notify in the GstCollectData
9627         struct as all it's padding is already used and we don't want to break
9628         ABI. Instead put in the pad's GObject data for now. This should be
9629         cleaned up for 0.11 (#402393).
9630
9631 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9632
9633         reviewed by: Wim Taymans <wim@fluendo.com>
9634
9635         * docs/libs/gstreamer-libs-sections.txt:
9636         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9637         (unref_data), (gst_collect_pads_add_pad),
9638         (gst_collect_pads_add_pad_full):
9639         * libs/gst/base/gstcollectpads.h:
9640         API: Add function to specify a destroy notification for custom
9641         GstCollectData when adding new pads in GstCollectPads (#402393).
9642
9643 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
9644
9645         * po/sv.po:
9646           Update Swedish translation (#378255).
9647
9648 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
9649
9650         * docs/design/draft-klass.txt:
9651           Fix the previous change, this is a list of categories and not a hierarchy.
9652
9653 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
9654
9655         * docs/design/draft-klass.txt:
9656           Add info about how to get a list of used classes.
9657
9658 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
9659
9660         * plugins/elements/gsttypefindelement.c:
9661         (gst_type_find_element_chain_do_typefinding),
9662         (gst_type_find_element_change_state):
9663           Don't leak found caps in chain function (no idea why that never
9664           showed up as a leak anywhere).
9665
9666 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
9667
9668         * gst/gstplugin.h:
9669           Fix and expand GstPluginDesc API docs.
9670
9671 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
9672
9673         * gst/gstcaps.c:
9674         * gst/gstelementfactory.c:
9675         * gst/gstpadtemplate.h:
9676           api doc fixes
9677
9678         * libs/gst/controller/gstcontroller.c:
9679         (gst_controlled_property_new):
9680         * tests/examples/controller/audio-example.c:
9681           comment fixes
9682
9683 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
9684
9685         * configure.ac:
9686           comment about refining the xml deps
9687
9688         * docs/manuals.mak:
9689           comments about moving away from jade for docs
9690         
9691         * gst/gst.c:
9692           recommit the ifdefs to use the binary registry
9693         
9694         * gst/gstbin.c: (gst_bin_change_state_func):
9695           this break is obsolete
9696
9697         * gst/gstelementfactory.h:
9698           better GST_ELEMENT_DETAILS docs, add comment about translation
9699
9700         * gst/gstinfo.h:
9701           remove eol slash
9702
9703         * gst/gstobject.c: (gst_signal_object_get_type):
9704           add G_UNLIKELY as usual
9705
9706         * gst/gstpad.c: (gst_pad_event_default):
9707           add fall trhu comment
9708
9709         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9710         (gst_registry_binary_initialize_magic),
9711         (gst_registry_binary_save_string),
9712         (gst_registry_binary_save_pad_template),
9713         (gst_registry_binary_save_feature),
9714         (gst_registry_binary_save_plugin),
9715         (gst_registry_binary_write_cache),
9716         (gst_registry_binary_check_magic),
9717         (gst_registry_binary_load_pad_template),
9718         (gst_registry_binary_load_feature),
9719         (gst_registry_binary_load_plugin),
9720         (gst_registry_binary_read_cache):
9721           comment typo and formatting
9722
9723         * gst/gstutils.c: (gst_element_state_get_name),
9724         (gst_element_state_change_return_get_name):
9725           remove obsolete breaks
9726
9727         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9728           add FIXME 0.11 and remove cpp comment
9729
9730 2007-01-29  Edward Hervey  <edward@fluendo.com>
9731
9732         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9733         Fix print statement in an even more portable way.
9734
9735 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
9736
9737         * docs/gst/gstreamer-sections.txt:
9738         * gst/gstutils.h:
9739           API: add GST_ROUND_DOWN_* macros (#401781).
9740
9741 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
9742
9743         * docs/gst/gstreamer.types.in:
9744         * gst/gstregistry.c: (gst_registry_class_init):
9745           Document registry signals and make gtk-doc pick them up (#401381).
9746
9747 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9748
9749         * docs/pwg/building-testapp.xml:
9750           Add some audioconverts and audioresample to the pipeline, and some
9751           more comments and error handling.
9752
9753 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9754
9755         * docs/manual/manual.xml:
9756         * docs/pwg/pwg.xml:
9757           Fix typo (#400987).
9758
9759 2007-01-26  Wim Taymans  <wim@fluendo.com>
9760
9761         * gst/gstcaps.c: (gst_static_caps_get):
9762         Init caps flags too.
9763
9764 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
9765
9766         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
9767
9768         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9769         If not using mmap'ed files try to seek to the end instead of the
9770         start to determine whether we can seek at all. This fixes the case
9771         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
9772         seeks for everything afterwards fail. Fixes #400656
9773
9774 2007-01-25  Wim Taymans  <wim@fluendo.com>
9775
9776         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
9777         Add some refcount debugging.
9778         Make gst_static_caps_get threadsafe, which is needed when autoplugging
9779         in multiple streaming threads.
9780
9781 2007-01-25  Wim Taymans  <wim@fluendo.com>
9782
9783         Patch by: David Schleef <ds at schleef dot org>
9784
9785         * docs/libs/gstreamer-libs-sections.txt:
9786         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
9787         * libs/gst/base/gstadapter.h:
9788         API: gst_adapter_copy() that can reduce the amount of memcpy when
9789         getting data from the adapter. Fixes #388201.
9790
9791 2007-01-25  Edward Hervey  <edward@fluendo.com>
9792
9793         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9794         In print statements, "%x" is for guint. Fixes build on macosx.
9795
9796 2007-01-24  Edward Hervey  <edward@fluendo.com>
9797
9798         * plugins/elements/gstmultiqueue.c:
9799         (gst_multi_queue_loop):
9800         Small fix.
9801         (single_queue_overrun_cb), (single_queue_underrun_cb),
9802         (single_queue_check_full), (gst_single_queue_new):
9803         Implement single queue growth system.
9804         This uses the extra-size properties, and will grow single queues by
9805         that much if one goes full whereas there are others empty. This is
9806         called extra-mode in the code.
9807         When a single queue's levels go back below the initial max-size
9808         limits, it is no longer in extra-mode. This is to ensure we don't
9809         consume too much memory.
9810         Fixes #399875
9811
9812 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
9813
9814         * gst/gst.c: (gst_init_get_option_group):
9815           Make warning about late g_thread_init() calls a bit more explicit,
9816           so that it's more obvious to application developers what they need
9817           to do if a user files a bug against their application.
9818
9819 2007-01-22  Edward Hervey  <edward@fluendo.com>
9820
9821         * plugins/elements/gstmultiqueue.c:
9822         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
9823         Remove previous hack of unsetting the flushing flag for the source pad
9824         instead of activating it. Instead, fix the source pad activate function
9825         so that it no longer depends on having a parent set or not.
9826
9827 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
9828
9829         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
9830
9831         * docs/manual/basics-bus.xml:
9832           Fix example code, gst_element_unref() doesn't exist any longer.
9833
9834 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
9835
9836         Patch by: Mark Nauwelaerts <manauw at skynet be>
9837
9838         * gst/gstpad.c:
9839           Fix two docs typoes (#399094).
9840
9841 2007-01-19  Edward Hervey  <edward@fluendo.com>
9842
9843         * docs/faq/gst-uninstalled:
9844         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
9845         depending on libgstbaseutils can work in uninstalled environment.
9846
9847 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
9848
9849         * gst/gsttaglist.h:
9850         * gst/gsttagsetter.c:
9851         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
9852         statement for new tag.
9853
9854 2007-01-17  Edward Hervey  <edward@fluendo.com>
9855
9856         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
9857         When dynamically creating single queues, activate sinkpad before adding
9858         it.
9859         We should be doing the same thing for the source pad, but we can't
9860         since it would call a method which needs the parent to be set in order
9861         to work propertly. Instead of activating the source pad, we just unset
9862         the flushing flag, which is the minimal requirement for adding a pad
9863         to an element in a state greater than READY.
9864
9865 2007-01-17  Edward Hervey  <edward@fluendo.com>
9866
9867         * docs/faq/gst-uninstalled:
9868         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
9869         Mac OS X.
9870
9871 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
9872
9873         * tests/check/gst/gstabi.c:
9874         * tests/check/gst/struct_hppa.h:
9875         * tests/check/libs/libsabi.c:
9876         * tests/check/libs/struct_hppa.h:
9877           Add ABI structs for HPPA (see #393796).
9878
9879 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
9880
9881         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9882           Actually write ABI structs to the file specified in the GST_ABI
9883           environment variable, as the message we print claims we would.
9884
9885 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9886
9887         * tests/check/gst/gsttask.c:
9888           Fix header comment.
9889
9890 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9891
9892         * gst/gsttaglist.c: (_gst_tag_initialize):
9893           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
9894           previous two entries.
9895
9896 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9897
9898         * docs/gst/gstreamer-sections.txt:
9899         * gst/gsttaglist.c: (_gst_tag_initialize):
9900         * gst/gsttaglist.h:
9901           Add tag support for beat-per-minute.
9902
9903 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9904
9905         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9906         (gst_registry_binary_initialize_magic),
9907         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
9908         (gst_registry_binary_save_pad_template),
9909         (gst_registry_binary_save_feature),
9910         (gst_registry_binary_save_plugin),
9911         (gst_registry_binary_write_cache),
9912         (gst_registry_binary_check_magic),
9913         (gst_registry_binary_load_pad_template),
9914         (gst_registry_binary_load_feature),
9915         (gst_registry_binary_load_plugin),
9916         (gst_registry_binary_read_cache):
9917         * gst/gstregistrybinary.h:
9918           Use glib types, cleanup comments, impement interfaces and uri-types.
9919
9920 2007-01-13  Andy Wingo  <wingo@pobox.com>
9921
9922         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
9923         getrange() to return buffers with other caps, while we fix
9924         demuxers and typefind, or otherwise change part-negotiation.txt.
9925
9926 2007-01-12  Andy Wingo  <wingo@pobox.com>
9927
9928         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
9929         Factor start/stop into this private function instead of partially
9930         in activate functions and partially in the change_state function.
9931         Fixes setup before the element has changed from READY->PAUSED, as
9932         is the case in pull-mode pipelines.
9933         (gst_base_transform_sink_activate_push)
9934         (gst_base_transform_src_activate_pull): Refactor to use
9935         gst_base_transform_activate().
9936         (gst_base_transform_change_state): Removed, not needed any more.
9937
9938         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9939         Truncate before fixating.
9940         
9941         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9942         Don't set_caps() if the result of fixating is ANY, as it's not
9943         supported, and not necessary in the case of a link with no
9944         template caps on either side. Fixes tests/check/libs/basesrc in
9945         some pull-mode tests.
9946
9947         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
9948         (gst_base_transform_init, gst_base_transform_sink_activate_push)
9949         (gst_base_transform_src_activate_pull): 
9950         Track the activation mode.
9951         (gst_base_transform_setcaps): In pull mode, when activating the
9952         src pad, after activating the sink pad, activate the sink pad's
9953         peer, as discussed in part-negotiation.txt.
9954
9955         * libs/gst/base/gstbasesrc.h: 
9956         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
9957         vmethod, as in basesink.
9958
9959         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
9960
9961         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
9962         mode, first proxy the setcaps to the peer pad.
9963         (gst_base_sink_pad_fixate): Add a fixate function that calls the
9964         new fixate vmethod.
9965         (gst_base_sink_default_activate_pull): Rename from
9966         gst_base_sink_activate_pull.
9967         (gst_base_sink_negotiate_pull): New function, performs negotiation
9968         in pull mode before calling ::activate_pull().
9969         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
9970         vmethod instead of the default implementation. I have no idea how
9971         this worked before. Negotiate before calling activate_pull.
9972
9973         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
9974         sink pads in pull mode. In addition to being correct, fixes
9975         filesrc ! decodebin ! identity ! fakesink.
9976         (gst_pad_get_range, gst_pad_pull_range): Don't call
9977         gst_pad_set_caps() if the caps changes; instead error out with
9978         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
9979
9980 2007-01-12  Andy Wingo  <wingo@pobox.com>
9981
9982         * docs/design/part-negotiation.txt: Update with more policy.
9983
9984 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9985
9986         * libs/gst/check/gstbufferstraw.h:
9987         * libs/gst/check/gstcheck.h:
9988           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
9989           belongs.
9990
9991 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9992
9993         * tests/check/Makefile.am:
9994         * tests/check/gst/.cvsignore:
9995         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
9996         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
9997         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
9998         (GST_START_TEST), (gst_tag_setter_suite):
9999           Add minimal unit test for beforementioned GstTagSetter bug.
10000
10001 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10002
10003         Patch by: René Stadler <mail at renestadler dot de>
10004
10005         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10006           gst_tag_list_merge() returns a new list, so it's not the best idea
10007           to ingore its return value. Effectively meant that tags could only
10008           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10009           Also add function guard to require a non-NULL taglist as input (has
10010           always been so due to gst_tag_list_copy(), just making it explicit).
10011
10012 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10013
10014         * docs/random/draft-missing-plugins.txt:
10015           Some additions: mention new API that is supposed to be used at the
10016           various stages; short blob about new gst-inspect introspection
10017           option; mention potential future problem with plugins that have
10018           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10019
10020 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10021
10022         * tools/gst-inspect.c:
10023         (print_plugin_automatic_install_info_codecs),
10024         (print_plugin_automatic_install_info_protocols),
10025         (print_plugin_automatic_install_info), (main):
10026         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10027         introspect plugin files and get machine-parsable output that corresponds
10028         to the last bit of the missing-plugin installer string (small gotcha:
10029         doesn't take into account ranks).
10030
10031 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10032
10033         * configure.ac:
10034         * docs/gst/gstreamer-sections.txt:
10035         * gst/Makefile.am:
10036         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10037         (gst_registry_lookup_locked):
10038         * gst/gstregistry.h:
10039         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10040         (gst_registry_binary_initialize_magic),
10041         (gst_registry_binary_save_string),
10042         (gst_registry_binary_save_pad_template),
10043         (gst_registry_binary_save_feature),
10044         (gst_registry_binary_save_plugin),
10045         (gst_registry_binary_write_cache),
10046         (gst_registry_binary_check_magic),
10047         (gst_registry_binary_load_pad_template),
10048         (gst_registry_binary_load_feature),
10049         (gst_registry_binary_load_plugin),
10050         (gst_registry_binary_read_cache):
10051         * gst/gstregistrybinary.h:
10052         * gst/gstregistryxml.c: (load_feature),
10053         (gst_registry_xml_read_cache):
10054           commit binary registry (disabled by default, see #359653)
10055
10056 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10057
10058         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10059           Fix 'make check' too.
10060
10061 2007-01-10  Andy Wingo  <wingo@pobox.com>
10062
10063         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10064         notes.
10065         
10066         * docs/design/part-negotiation.txt: Update with, um, one way that
10067         pull-mode negotiation might work?
10068
10069         * gst/gstpad.h: 
10070         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10071         that the pad must be a src pad; makes sense to call it the other
10072         way in pull mode, and the logic is symmetric anyway.
10073
10074 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10075
10076         * plugins/elements/gstfilesink.c:
10077           Include <stdio.h> for fseeko().
10078
10079 2007-01-10  Wim Taymans  <wim@fluendo.com>
10080
10081         * gst/gstevent.c:
10082         * gst/gstevent.h:
10083         Reserve LATENCY event.
10084
10085 2007-01-09  Wim Taymans  <wim@fluendo.com>
10086
10087         * docs/design/draft-latency.txt:
10088         Updates.
10089
10090 2007-01-09  Wim Taymans  <wim@fluendo.com>
10091
10092         * docs/design/draft-latency.txt:
10093         Updates.
10094
10095         * gst/gstelement.h:
10096         * gst/gststructure.c:
10097         * gst/gsttrace.c:
10098         Small typo fixes.
10099
10100 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10101
10102         * tests/check/.cvsignore:
10103           Ignore test-registry.xml as well.
10104
10105 2007-01-09  Wim Taymans  <wim@fluendo.com>
10106
10107         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10108         unref data at the end when we are done with the pad.
10109
10110 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10111
10112         * docs/gst/gstreamer-sections.txt:
10113         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10114         (init_post), (gst_deinit), (gst_update_registry):
10115         * gst/gst.h:
10116           API: add gst_update_registry() (#391296).
10117
10118         * tests/check/Makefile.am:
10119         * tests/check/gst/gstregistry.c:
10120         * tests/check/gst/.cvsignore:
10121           Simple unit test for the above.
10122
10123 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10124
10125         * gst/gstregistry.c: (gst_registry_scan_path_level):
10126           Plugin extension on HP-UX is .sl, add that to the list of approved
10127           plugin extensions (see #393796).
10128
10129         * tests/check/gst/gstpad.c: (GST_START_TEST):
10130           ulong => gulong. Fixes compilation with HP-UX compiler.
10131
10132         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10133           Fix compilation if valgrind headers are not available.
10134
10135 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10136
10137         * win32/common/libgstreamer.def: 
10138           Add new exported function.
10139         * win32/vs6/libgstbase.dsp: 
10140           Add gstdataqueue.c to the build.
10141         * win32/vs6/libgstcoreelements.dsp:
10142           Add gstmultiqueue.c to the build.
10143         
10144 2007-01-06  Andy Wingo  <wingo@pobox.com>
10145
10146         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10147         activate_pull(), providing for a way to specialize the process of
10148         spawning a thread to pull on the sink pad. There is a default
10149         implementation.
10150
10151         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10152         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10153         (gst_base_sink_init): Renamed pad activation functions (inserting
10154         "_pad" in their names). Refactor to use the new activate_pull
10155         vmethod, as appropriate.
10156         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10157         default activate_pull function to start a task pulling from the
10158         sink pad, as before.
10159
10160         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10161         on the pads if necessary, as in push()/chain(). Update docs.
10162         Shouldn't affect existing pull() usage as it is currently only
10163         being used on buffers without caps.
10164
10165 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10166
10167         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10168         (init_pre):
10169           Call g_thread_init() first thing in gst_init() / gst_check_init().
10170           When initialisation is done via gst_init_get_option_group() and
10171           GOption parsing, issue a warning if the GLib thread system has not
10172           been initialised yet by the time gst_init_get_option_group() is
10173           called, as it's quite likely other GLib functions such as
10174           g_option_context_new() have been called already then, and
10175           g_thread_init() must be called before any other GLib function. The
10176           application in question must be fixed in that case, since memory
10177           corruption might happen otherwise.
10178           We issue the warning because even if the GLib folks decide to work
10179           around the problem on their end in future, this is still an issue
10180           with all GLib versions >= 2.10.0, so we should warn until we depend
10181           on a GLib version we know to be safe.
10182           Update documentation as well.
10183           Closes bug #391278.
10184
10185 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10186
10187         * tools/gst-inspect.c: (main):
10188         * tools/gst-launch.c: (main):
10189         * tools/gst-typefind.c: (main):
10190         * tools/gst-xmlinspect.c: (main):
10191           Call g_thread_init() really really early, before any other GLib
10192           function (see #342564 and recent discussion on gtk-devel-list).
10193
10194 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10195
10196         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10197
10198         * gst/gst_private.h:
10199         * gst/gstconfig.h.in:
10200         * gst/gstinfo.h:
10201           On win32, all the __declspec stuff for symbol exporting is
10202           apparently only needed with MSVC, but doesn't work with MingW.
10203           Fixes compilation with MingW and #391909.
10204
10205 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10206
10207         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10208           Change some GST_ERROR_OBJECT that aren't really errors to
10209           GST_WARNING_OBJECT in order to reduce terminal spam.
10210
10211 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10212
10213         * tests/check/Makefile.am:
10214           disable test again, as there seem to be still race problems
10215
10216 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10217
10218         * tests/check/Makefile.am:
10219         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10220         (GST_START_TEST), (queue_suite):
10221           enable queue test again, add tests for the leaky behaviour
10222
10223 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10224
10225         * configure.ac:
10226         * tests/examples/Makefile.am:
10227           Compile adapter test/example only if the required headers are
10228           available (fixes #391915).
10229
10230 2007-01-01  David Schleef  <ds@schleef.org>
10231
10232         * gst/gstplugin.c:
10233           Restore the previous signal handler for SIGSEGV instead of
10234           setting to default, since we may have stolen it away from
10235           someone.  (i.e., Mono)
10236
10237 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10238
10239         * docs/random/draft-missing-plugins.txt:
10240           Some small additions and clarifications.
10241
10242 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10243
10244         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10245           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10246           since that can lead to random memory corruptions and crashes
10247           (may or may not be related to #383244, #386711, and #386711).
10248
10249 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10250
10251         * tests/check/.cvsignore:
10252         * tests/check/Makefile.am:
10253           sync .cvsignome and CLEANFILES
10254
10255 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10256
10257         * tests/check/Makefile.am:
10258           fix distcheck
10259
10260 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10261
10262         * docs/design/part-states.txt:
10263           two tiny additional comments
10264         
10265         * gst/gststructure.c:
10266           doc fixing
10267
10268         * tests/check/Makefile.am:
10269         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10270         (GST_START_TEST):
10271           disable test for now, unless it gets fixed
10272
10273 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10274
10275         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10276         (GST_START_TEST):
10277           fix race in underrun test
10278
10279 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10280
10281         * tests/check/elements/.cvsignore:
10282           ignore more
10283
10284         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10285         (GST_START_TEST):
10286           try to narrow test failure
10287
10288 2006-12-21  David Schleef  <ds@schleef.org>
10289
10290         * plugins/elements/gstfakesrc.c:
10291           Use g_random_int_range(), since it produces better random
10292           numbers in a range than almost-correct floating point code.
10293
10294 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10295
10296         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10297         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10298         (gst_check_teardown_sink_pad):
10299           do not automatically (de)activate pads
10300
10301         * tests/check/Makefile.am:
10302         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10303         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10304           add new, yet simple tests for queue
10305
10306         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10307         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10308         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10309         (GST_START_TEST):
10310         * tests/check/elements/identity.c: (cleanup_identity):
10311           consistent pad (de)activation
10312
10313 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10314
10315         Patch by: Sebastian Dröge  <slomo ubuntu com>
10316
10317         * libs/gst/base/gstcollectpads.c:
10318           Fix two doc typos (#387866).
10319
10320 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10321
10322         * docs/manual/advanced-dparams.xml:
10323           Fix typo (g_object_control_properties() doesn't exist).
10324
10325 2006-12-19  Edward Hervey  <edward@fluendo.com>
10326
10327         * gst/gstsegment.c: (gst_segment_set_seek):
10328         Fine tune the cases where the segment start/stop values are really
10329         updated.
10330         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10331         Add tests for the return values of gst_segment_set_seek().
10332
10333 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10334
10335         * gst/gst.c:
10336           Docs typo fix.
10337
10338         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10339         (gst_queue_init):
10340           Fix incorrect documentation and flesh it out a bit more.
10341           Set default values for the max properties on the GParamSpec as well,
10342           so it shows up correctly in gst-inspect.
10343
10344 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10345
10346         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10347           Correct docs of queue, add more detail and crosslink it more.
10348
10349 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10350
10351         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10352           Print additional debug info when the stream isn't perfectly
10353           timestamped; don't try to use invalid durations.
10354
10355 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10356
10357         * docs/design/Makefile.am:
10358           Dist new design docs.
10359
10360 2006-12-16  Wim Taymans  <wim@fluendo.com>
10361
10362         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10363
10364         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10365         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10366         (gst_collect_pads_stop), (gst_collect_pads_event),
10367         (gst_collect_pads_chain):
10368         * libs/gst/base/gstcollectpads.h:
10369         Add refcounting to the collectpads data so we can track when it's safe
10370         to free the data. Fixes #383382.
10371
10372 2006-12-15  Wim Taymans  <wim@fluendo.com>
10373
10374         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10375         (gst_collect_pads_remove_pad):
10376         Automatically activate/deactivate pads when they are added to a
10377         started/stoped collectpads.
10378
10379 2006-12-15  Wim Taymans  <wim@fluendo.com>
10380
10381         * gst/gstelement.c: (gst_element_add_pad):
10382         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10383         * gst/gstpad.c: (gst_pad_init):
10384         Set pads to FLUSHING when they are created. Check, warn and fix when a
10385         demuxer adds an inactive pad to itself when running. Fixes #339326.
10386
10387 2006-12-15  Wim Taymans  <wim@fluendo.com>
10388
10389         * gst/gstelement.c: (gst_element_class_init),
10390         (gst_element_default_send_event), (gst_element_send_event),
10391         (gst_element_default_query), (gst_element_query):
10392         Expose default element send_event and query handling as vmethods that
10393         subclasses can chain up to.
10394
10395 2006-12-15  Wim Taymans  <wim@fluendo.com>
10396
10397         * gst/gstelement.c: (gst_element_set_state_func):
10398         Small documentation fixes.
10399
10400 2006-12-15  Wim Taymans  <wim@fluendo.com>
10401
10402         * docs/design/draft-latency.txt:
10403         Checked in draft for handling latency in pipelines.
10404
10405 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * Makefile.am:
10408         * gstreamer.doap:
10409         * gstreamer.spec.in:
10410           adding .doap file
10411
10412 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10413
10414         * gst/gst.c: (init_pre), (init_post):
10415           init_pre() and init_post() might be called via our GOptionGroup or
10416           from gst_init(), and we should skip both of them if we've already
10417           been initialised, otherwise we will init some things twice or add
10418           two default log functions.
10419
10420 2006-12-13  Edward Hervey  <edward@fluendo.com>
10421
10422         * docs/manual/basics-bus.xml:
10423         No, gst_main_loop does not exist. Its g_main_loop.
10424         Discovered by somebody who abused the copy-paste technique of coding :)
10425
10426 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10427
10428         * gst/gstghostpad.c:
10429           Log ghostpad debug stuff to the GST_PADS category as well rather
10430           than just to the default category.
10431
10432 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10433
10434         * configure.ac:
10435         * gst/gst.c: (init_pre):
10436           Add some basic system details such as OS and architecture
10437           to the debug output if possible, courtesy of uname().
10438
10439 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10440
10441         * docs/gst/running.xml:
10442           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10443           environment variables.
10444
10445 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10446
10447         * tests/check/gst/gstbin.c: (GST_START_TEST):
10448         It is acceptable to have a refcount of 2 or 3 at this point in the
10449         test, because the pipeline might be just posting its state_change
10450         message. The next line then waits for that message to appear using
10451         bus_poll, so that should be fine too.
10452
10453 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10454
10455         * gst/gst.c: (ensure_current_registry_forking):
10456         Ignore EINTR when reading from the child registry pipe.
10457         Explicitly ignore the return value from close, since it makes no
10458         difference.
10459
10460         * gst/gstminiobject.c: (gst_mini_object_ref),
10461         (gst_mini_object_unref):
10462         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10463
10464         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10465         When removing cached plugins, remove their features too, so they're
10466         not visible after they've disappeared.
10467
10468         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10469         In the unlikely case that we are linking pads with no parents, don't
10470         crash trying to get the non-existent parent bin.
10471
10472         * gst/parse/grammar.y:
10473         Output debug in the PIPELINE category
10474
10475 2005-03-08  Wim Taymans  <wim@fluendo.com>
10476
10477         Patch by: René Stadler <mail at renestadler dot de>
10478
10479         * gst/gstclock.c: (gst_clock_new_periodic_id):
10480         Reject invalid clock times for interval of periodic ids.
10481         Fixes ##383506.
10482
10483 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10484
10485         * gst/gstelementfactory.c: (gst_element_factory_create):
10486         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10487         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10488         * tools/gst-inspect.c: (print_element_info):
10489         Fix refcounting of gst_plugin_feature_load to match the docs. 
10490         Fixes: #380129
10491
10492 2006-12-07  Wim Taymans  <wim@fluendo.com>
10493
10494         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10495         (gst_base_sink_get_position):
10496         Improve debugging of events.
10497
10498 2006-12-07  Wim Taymans  <wim@fluendo.com>
10499
10500         Patch by: René Stadler <mail at renestadler dot de>
10501
10502         * gst/gstclock.c: (gst_clock_id_wait):
10503         Make period ids add the interval to the origial requested time instead
10504         of the possibly updated time which can be wrong when there are multiple
10505         waiters for the same id. Fixes #382592.
10506
10507         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10508         (gst_system_clock_id_wait_jitter_unlocked),
10509         (gst_system_clock_id_wait_jitter):
10510         Fix restart in the async notify thread when an async entry is added to
10511         the front of the list. Fixes #381492. 
10512
10513         * tests/check/gst/gstsystemclock.c: (store_callback),
10514         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10515         Added test for multiple async waits.
10516         Added test for async wait order.
10517
10518 2006-12-07  Wim Taymans  <wim@fluendo.com>
10519
10520         * gst/gstbin.c: (gst_bin_query):
10521         Add some more docs about the POSITION query.
10522
10523 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10524
10525         * configure.ac:
10526         Bump version nano - back to CVS.
10527
10528 === release 0.10.11 ===
10529
10530 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
10531
10532         * configure.ac:
10533           releasing 0.10.11, "Love never runs on time"
10534
10535 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
10536
10537         * win32/common/libgstbase.def:
10538         * win32/common/libgstreamer.def:
10539         * win32/vs8/libgstbase.vcproj:
10540         * win32/vs8/libgstcoreelements.vcproj:
10541         * win32/vs8/libgstreamer.vcproj:
10542         Fix compilation on win32 under VS8
10543         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10544         Partially fixes #381175
10545
10546 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10547
10548         * gst/gstvalue.c: (gst_value_compare_fraction):
10549         If someone is foolish enough to compare 2 fractions with denominator =
10550         0, return UNORDERED rather than aborting.
10551
10552 2006-11-28  Edward Hervey  <edward@fluendo.com>
10553
10554         * libs/gst/base/Makefile.am:
10555         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10556         (gst_data_queue_base_init), (gst_data_queue_class_init),
10557         (gst_data_queue_init), (gst_data_queue_new),
10558         (gst_data_queue_cleanup), (gst_data_queue_finalize),
10559         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10560         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10561         (gst_data_queue_is_empty), (gst_data_queue_is_full),
10562         (gst_data_queue_set_flushing), (gst_data_queue_push),
10563         (gst_data_queue_pop), (gst_data_queue_drop_head),
10564         (gst_data_queue_set_property), (gst_data_queue_get_property):
10565         * libs/gst/base/gstdataqueue.h:
10566         New GstDataQueue object for threadsafe queueing. Most useful for
10567         elements that need some queueing functionnality.
10568         * docs/libs/gstreamer-libs-docs.sgml:
10569         * docs/libs/gstreamer-libs-sections.txt:
10570         Insert documentation for GstDataQueue
10571         * plugins/elements/Makefile.am:
10572         * plugins/elements/gstelements.c:
10573         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10574         (gst_multi_queue_class_init), (gst_multi_queue_init),
10575         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10576         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10577         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10578         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10579         (gst_multi_queue_loop), (gst_multi_queue_chain),
10580         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10581         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10582         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10583         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10584         (wake_up_next_non_linked), (compute_next_non_linked),
10585         (single_queue_overrun_cb), (single_queue_underrun_cb),
10586         (single_queue_check_full), (gst_single_queue_new):
10587         * plugins/elements/gstmultiqueue.h:
10588         New multiqueue element, using GstDataQueue. Used for queuing multiple
10589         streams.
10590         Closes #344639 and #347785
10591
10592 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
10593
10594         * docs/pwg/advanced-types.xml:
10595           add more missing type details
10596
10597         * tools/gst-run.c: (main):
10598           remove unused variable
10599
10600 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
10601
10602         * docs/libs/Makefile.am:
10603         * docs/libs/gstreamer-libs.types:
10604           add types of base classes to enable gobject specific stuff in the docs
10605
10606         * docs/random/ensonic/embedded.txt:
10607           more ideas about isolating platform specific things
10608
10609 2006-11-20  Wim Taymans  <wim@fluendo.com>
10610
10611         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10612
10613         * libs/gst/check/gstcheck.h:
10614         Fix compilation and running against 0.9.4. Fixes #377332.
10615
10616 2006-11-20  Wim Taymans  <wim@fluendo.com>
10617
10618         * gst/gstsegment.c: (gst_segment_set_seek),
10619         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10620         (gst_segment_to_running_time):
10621         Fix boundary checking in to_running_time() and to_stream_time().
10622         Fixes #377183.
10623
10624         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10625         stream and running time can now be calculated for the complete
10626         clipped segment.
10627
10628 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
10629
10630         * gst/gstpad.c: (gst_pad_push_event):
10631           Can't access event structure after giving away ownership of
10632           the event.
10633
10634 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * docs/random/ensonic/embedded.txt:
10637         * docs/random/ensonic/profiling.txt:
10638         * docs/random/ensonic/receipies.txt:
10639           more thinking
10640
10641 2006-11-13  Wim Taymans  <wim@fluendo.com>
10642
10643         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10644
10645         * gst/gstpad.c:
10646         Fix documentation for gst_pad_dispatcher. Fixes #374475.
10647
10648 2006-11-13  Wim Taymans  <wim@fluendo.com>
10649
10650         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
10651
10652         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10653         Store new length in segment duration so we don't keep on calling the
10654         potentially expensize get_size() call. Fixes #370865.
10655
10656 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
10657
10658         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
10659
10660         * win32/common/libgstreamer.def:
10661           Add two missing symbols (#366492).
10662
10663 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
10664
10665         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
10666         (gst_adapter_take_buffer):
10667         Fix format string to use all its arguments.
10668         Remove useless >= check on a guint
10669
10670 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10671
10672         * tests/examples/adapter/.cvsignore:
10673         Ignore build file as commanded by the build-bot
10674
10675 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10676
10677         * tests/examples/adapter/Makefile.am:
10678         * tests/examples/adapter/adapter_test.c: (run_test_take),
10679         (run_test_take_buffer), (run_tests), (main):
10680
10681         Add new files from the previous commit
10682
10683 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
10684
10685         * Makefile.am:
10686         * configure.ac:
10687         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
10688         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
10689         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
10690         * libs/gst/base/gstadapter.h:
10691         * tests/check/libs/adapter.c: (create_and_fill_adapter),
10692         (GST_START_TEST), (gst_adapter_suite):
10693         * tests/examples/Makefile.am:
10694         Do some optimisation work in GstAdapter to avoid copies in more cases.
10695         It could still do slightly better by merging buffers when
10696         gst_buffer_is_span_fast is true, but is already faster. 
10697
10698         Also, avoid traversing a single-linked list to append each incoming 
10699         buffer inside the adapter.
10700
10701         Add simple test app that times the adapter behaviour in different
10702         situations, and extend the unit test to check that bytes enter and
10703         exit the adapter in their original order.
10704
10705 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10706
10707         * docs/random/draft-missing-plugins.txt:
10708           Update: use element message instead of adding a new message
10709           type to the core; don't provide GStreamer API to initiate the
10710           plugin download, just provide API to compose the strings needed
10711           and let an external libgimmestuff handle the rest.
10712
10713 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
10714
10715         * tools/gst-inspect.c: (print_element_properties_info):
10716         Print a string instead of 'unknown type' for GValueArray properties
10717
10718 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
10719
10720         * docs/random/draft-missing-plugins.txt:
10721         More small fixes.
10722
10723 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10724
10725         * tests/examples/typefind/typefind.c: (type_found), (main):
10726           Make typefind element example work again (#371894); add a
10727           license header.
10728
10729 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10730
10731         * docs/random/draft-missing-plugins.txt:
10732           Commit initial draft about how to deal with missing plugins,
10733           needs work (API too).
10734
10735 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
10736
10737         * docs/pwg/advanced-types.xml:
10738           documents the new caps elements (see #363118)
10739
10740 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10741
10742         * gst/gstplugin.c: (gst_plugin_load_file):
10743         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
10744         (gst_file_src_map_region), (gst_file_src_start):
10745         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
10746         (gst_file_index_commit):
10747           Use g_strerror() instead of strerror() - we want UTF-8.
10748
10749 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10750
10751         Patch by: Peter Kjellerstedt <pkj at axis com>
10752
10753         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10754           Another printf fix (#371493).
10755
10756 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10757
10758         * tests/check/gst/gsttag.c:
10759           relicence (okay with author=company)
10760
10761 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10762
10763         * gst/gstpad.c: (gst_pad_event_default_dispatch),
10764         (gst_pad_push_event):
10765           Enhance debug and improve docs
10766         
10767         * gst/gsturi.c:
10768           Fix docs
10769
10770 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10771
10772         * docs/random/ensonic/distributed.txt:
10773         * docs/random/ensonic/profiling.txt:
10774           more ideas
10775
10776 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10777
10778         * docs/gst/gstreamer-sections.txt:
10779           add new API and fix the build
10780           
10781         * gst/gstbin.c: (gst_bin_recalc_state):
10782         * gst/gstelement.c: (gst_element_message_full),
10783         (gst_element_get_state_func), (gst_element_set_state_func):
10784           use new API and improve logging
10785         
10786         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10787         * gst/gstutils.h:
10788           API: add function to get StateChangereturn names to improve logs 
10789
10790 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10791
10792         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10793           I'm considering shooting the next person to put strerror stuff
10794           in the translateable part of the message.
10795
10796 2006-11-03  Wim Taymans  <wim@fluendo.com>
10797
10798         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10799         Get the type and printf conversion specifiers right.
10800
10801 2006-11-03  Wim Taymans  <wim@fluendo.com>
10802
10803         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10804
10805         * gst/gstpad.c: (gst_pad_init), (pre_activate),
10806         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
10807         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
10808         Some small cleanups. Improve debugging.
10809         * gst/gstpad.h:
10810         Signal all waiting threads with a broadcast instead of just one.
10811         Fixes #369942.
10812
10813 2006-11-03  Wim Taymans  <wim@fluendo.com>
10814
10815         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
10816         (gst_fd_src_create):
10817         Add some debugging. 
10818         Only update fd when it's different from the old.
10819
10820 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
10823           Printf fixes for PPC/OSX, take two (#369366).
10824
10825 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10826
10827         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
10828
10829         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10830         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10831         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
10832           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
10833           don't cast to long long for portability reasons, but use
10834           GLib's types instead.
10835
10836 2006-10-30  Michael Smith  <msmith@fluendo.com>
10837
10838         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10839           Get the arguments to lseek() the right way around.
10840           Fixes 367677.
10841
10842 2006-10-30  Wim Taymans  <wim@fluendo.com>
10843
10844         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
10845
10846         * gst/gstinfo.h:
10847         _declspec should be __declspec (two underscores, not one). Fixes 366572.
10848
10849 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10850
10851         Patch by: Kjartan Maraas  <kmaraas at gnome org>
10852
10853         * docs/design/part-MT-refcounting.txt:
10854         * docs/random/wtay/capsnego2-docs:
10855         * gst/gstclock.c:
10856         * gst/gstxml.c:
10857           Typo fixes (#366212).
10858
10859 2006-10-28  Wim Taymans  <wim@fluendo.com>
10860
10861         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10862
10863         * gst/gst.c:
10864         * win32/common/libgstbase.def:
10865         * win32/common/libgstreamer.def:
10866         * win32/vs8/libgstbase.vcproj:
10867         * win32/vs8/libgstcontroller.vcproj:
10868         Add needed entries in .def files.
10869         Use HAVE_UNISTD_H.
10870         Rearrange def files in vs8 solutions. Fixes #366286.
10871
10872 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10873
10874         * win32/common/gstconfig.h:
10875           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
10876           hand-made win32 gstconfig.h. Fixes #366321.
10877
10878 2006-10-27  Wim Taymans  <wim@fluendo.com>
10879
10880         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
10881         (gst_ghost_pad_new_full):
10882         Make acceptcaps return TRUE when we don't have a target, just like
10883         setcaps does.
10884
10885 2006-10-27  Wim Taymans  <wim@fluendo.com>
10886
10887         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10888         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
10889
10890 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
10891
10892         * gst/gststructure.c: (gst_structure_id_set_value):
10893           If someone tries to set a non-UTF8 string field on a structure,
10894           don't just print a warning, but also ignore the request and do
10895           not change/add that field to the structure.
10896
10897         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10898           Test for the above.
10899
10900 2006-10-25  David Schleef  <ds@schleef.org>
10901
10902         * gst/gstinfo.c:
10903           g_hash_table_insert() needs a cast to a non-const pointer duh.
10904
10905 2006-10-25  David Schleef  <ds@schleef.org>
10906
10907         * gst/gstinfo.c:
10908         * gst/gstinfo.h:
10909           Change name parameter of _gst_debug_register_funcptr to const
10910           to reflect the constness of its use in the function as well
10911           as to quiet a gcc warning.
10912
10913 2006-10-25  Edward Hervey  <edward@fluendo.com>
10914
10915         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10916         Don't push the buffer if it's empty.
10917         Closes #363095
10918
10919 2006-10-24  Wim Taymans  <wim@fluendo.com>
10920
10921         * gst/gstevent.h:
10922         Add small comment.
10923
10924         * libs/gst/base/gstbasetransform.c:
10925         (gst_base_transform_sink_eventfunc):
10926         Debug segment values *after* updating them as this is more
10927         interesting.
10928
10929 2006-10-23  Wim Taymans  <wim@fluendo.com>
10930
10931         * docs/design/part-events.txt:
10932         Update some docs.
10933
10934         * docs/design/part-block.txt:
10935         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10936         (gst_pad_push_event):
10937         Revert BLOCKING patch, it tries to be smart without really having a
10938         clear idea what or how. So, now we discard all FLUSHING events again on
10939         a blocking pad. Should fix gnonlin again.
10940
10941 2006-10-23  Wim Taymans  <wim@fluendo.com>
10942
10943         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10944
10945         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10946         (gst_base_src_start), (gst_base_src_activate_push):
10947         Make sure size is always initialized. Fixes #364388.
10948
10949 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
10950
10951         * docs/random/ensonic/distributed.txt:
10952           add some ideas about doing distributed processing
10953
10954         * docs/random/ensonic/profiling.txt:
10955           get_rusage look promising
10956
10957 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10958
10959         * docs/manual/basics-helloworld.xml:
10960           Add a cast in example to fix compile warning
10961
10962 2006-10-18  Wim Taymans  <wim@fluendo.com>
10963
10964         * gst/gstsegment.c: (gst_segment_set_last_stop),
10965         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10966         Relax arg checking again, -1 is allowed.
10967
10968 2006-10-18  Wim Taymans  <wim@fluendo.com>
10969
10970         * gst/gstsegment.c: (gst_segment_set_last_stop),
10971         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10972         _set_last_stop() must be with a value != -1
10973         A _TYPE_SET to -1 means seek to 0.
10974         Calc last_stop correctly for negative rates.
10975         Make sure we work with positive durations when updating a segment.
10976
10977 2006-10-18  Wim Taymans  <wim@fluendo.com>
10978
10979         * docs/design/part-live-source.txt:
10980         * gst/gstclock.h:
10981         Small docs fixes.
10982
10983 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
10984
10985         * gst/gstbuffer.h:
10986           Add an explicit cast to GstBuffer** to keep old code that added an
10987           explicit cast to GstMiniObject** for gst_mini_object_replace()
10988           compiling without warning.
10989
10990 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10991
10992         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
10993           check for validity of dates
10994
10995 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10996
10997         * docs/gst/gstreamer-sections.txt:
10998           Forgot this one, makes gtk-doc shut up.
10999
11000 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11001
11002         Patch by: Peter Kjellerstedt <pkj at axis com>
11003
11004         * gst/gstobject.h:
11005           Don't define xmlNodePtr to gpointer if the core was built with
11006           --disable-loadsave and --disable-registry, this will break
11007           applications that want to use libxml2 but are buildling against a
11008           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11009           instead so we don't have to mess with the libxml2 namespace
11010           (#361675).
11011
11012 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11013
11014         * gst/gstbuffer.h:
11015           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11016           type-punned pointer warnings.
11017
11018 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11019
11020         * gst/gstelement.h:
11021           Add casts to the correct return type to state <=> state transition
11022           macros.
11023
11024 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11025
11026         * docs/design/part-live-source.txt:
11027           describe howto handle latency
11028         
11029         * docs/random/ensonic/profiling.txt:
11030           more ideas
11031
11032         * tools/gst-plot-timeline.py:
11033           fix log parsing for solaris, remove unused function
11034
11035 2006-10-16  Wim Taymans  <wim@fluendo.com>
11036
11037         * docs/design/part-trickmodes.txt:
11038         * gst/gstevent.c:
11039         Update some docs regarding reverse playback.
11040
11041 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11042
11043         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11044
11045         * win32/vs8/grammar.vcproj:
11046           Error out with a warning if glib-genmarshal.exe is not in path,
11047           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11048
11049 2006-10-13  Wim Taymans  <wim@fluendo.com>
11050
11051         * gst/gstsegment.c: (gst_segment_set_seek):
11052         When seeking to stop -1, set last_stop (current position) to the
11053         duration of the segment.
11054
11055 2006-10-13  Wim Taymans  <wim@fluendo.com>
11056
11057         * gst/gstelement.h:
11058         Clarify _NO_PREROLL a bit more.
11059
11060         * gst/gstevent.c:
11061         Fix docs.
11062
11063         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11064         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11065         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11066         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11067         due to wrong locking order. Fixes #361769.
11068         Remove some redundant/misplaced checks in pad_block.
11069
11070         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11071         For negative rates, count backwards from the duration.
11072
11073 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11074
11075         * gst/gsterror.c: (_gst_library_errors_init):
11076           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11077           up with something better).
11078
11079 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11080
11081         * win32/vs6/libgstreamer.dsp:
11082         * win32/vs7/libgstreamer.vcproj:
11083         * win32/vs8/libgstreamer.vcproj:
11084           Don't reference glib-compat.c which is currently not used and not
11085           disted; add gstquark.c which was recently added. Fixes #361730.
11086
11087 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11088
11089         * win32/common/libgstbase.def:
11090         * win32/common/libgstcontroller.def:
11091         * win32/common/libgstreamer.def:
11092           Add gst_caps_merge() and a bunch of other recently-added functions.
11093           Fixes #361732.
11094
11095 2006-10-11  Wim Taymans  <wim@fluendo.com>
11096
11097         * docs/plugins/gstreamer-plugins.args:
11098         * docs/plugins/inspect/plugin-coreelements.xml:
11099         * docs/plugins/inspect/plugin-coreindexers.xml:
11100         Update element args.
11101
11102         * gst/gstsystemclock.c:
11103         Small comment update.
11104
11105         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11106         (gst_tee_request_new_pad), (gst_tee_release_pad),
11107         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11108         (gst_tee_sink_activate_pull):
11109         * plugins/elements/gsttee.h:
11110         Some tee loving:
11111         Add default property defines.
11112         Implement release pad function.
11113         Give properties better blubs etc.
11114         Activate pads before adding them to a running tee.
11115         Do simple buffer_alloc on the first requested pad.
11116         Post error when activation fails.
11117
11118 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11119
11120         * gst/gst.c: (ensure_current_registry_forking):
11121           Check return value of write() to make compiler happy.
11122
11123 2006-10-11  Wim Taymans  <wim@fluendo.com>
11124
11125         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11126
11127         * plugins/elements/gstqueue.c: (gst_queue_chain):
11128         Recheck queue filledness after signalling the overrun when we're about
11129         to leak downstream because we released the lock when emitting the signal
11130         and the queue could be empty again. Fixes #352345.
11131
11132 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11133
11134         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11135           Fix refcounting here too, just like we did for _new_valist() a few
11136           days ago (#357180) (thanks to René Stadler). Also remove all those
11137           'Since: 0.9' from the gtk-doc blobs.
11138
11139         * tests/check/libs/controller.c: (controller_refcount_new_list),
11140         (gst_controller_suite):
11141           Unit test for the above.
11142
11143 2006-10-10  Wim Taymans  <wim@fluendo.com>
11144
11145         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11146
11147         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11148         (gst_pad_save_thyself):
11149         Update some docs.
11150         Write pad direction in XML output. Fixes #345496.
11151
11152 2006-10-10  Wim Taymans  <wim@fluendo.com>
11153
11154         Patch by: René Stadler <mail at renestadler dot de>
11155
11156         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11157         (gst_controller_new_list), (_gst_controller_dispose),
11158         (_gst_controller_finalize), (_gst_controller_class_init):
11159         Take ref to controlled object so that it cannot disappear. 
11160         Fixes #357432.
11161
11162 2006-10-10  Wim Taymans  <wim@fluendo.com>
11163
11164         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11165         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11166         (gst_check_teardown_sink_pad):
11167         Activate/deactivate pads in setup/teardown respectively.
11168
11169 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11170
11171         Patch by: Josep Torra Valles <josep@fluendo.com>
11172
11173         * gst/Makefile.am:
11174         Cast values when making gstenumtypes.h.  This pacifies Forte
11175         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11176         in the enumeration.
11177
11178 2006-10-09  Wim Taymans  <wim@fluendo.com>
11179
11180         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11181         Rename some more @cur to @start to fix docs. 
11182
11183         * gst/gstsegment.c: (gst_segment_set_seek):
11184         Fix typo.
11185         time and start must always stay in sync as defined in design doc.
11186
11187         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11188         Rename param to fix docs.
11189
11190         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11191         Check that start and time are in sync.
11192
11193         * tests/check/pipelines/parse-launch.c:
11194         (gst_parse_test_element_change_state):
11195         Activate pad before adding to the element.
11196
11197 2006-10-09  Wim Taymans  <wim@fluendo.com>
11198
11199         * docs/design/part-qos.txt:
11200         Fix typo.
11201
11202         * gst/gstevent.c:
11203         * gst/gstevent.h:
11204         Update seek event docs regarding negative rates.
11205         Rename @cur to @start. 
11206
11207         * gst/gstsegment.c: (gst_segment_set_seek):
11208         * gst/gstsegment.h:
11209         Update set_seek docs regarding negative rates.
11210         Correctly update last_stop to @stop when dealing with negative
11211         rates.
11212         Rename @cur to @start. 
11213
11214         * tests/check/gst/gstpad.c: (GST_START_TEST):
11215         Activate pads before trying to use them.
11216
11217         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11218         (gst_segment_suite):
11219         Add simple check for segments and negative rates.
11220
11221 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11222
11223         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11224         * gst/gsttaglist.h:
11225         * docs/gst/gstreamer-sections.txt:
11226           API: add gst_tag_list_is_empty() (#360467).
11227
11228         * tests/check/gst/gsttag.c: (GST_START_TEST):
11229           And a test case.
11230
11231 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11232
11233         * gst/gstmessage.h:
11234         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11235         a value that doesn't fit on enumeration.
11236
11237 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11238
11239         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11240         Remove local debugging system and use Gstreamer's instead.
11241
11242 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11243
11244         Patch by: Josep Torra Valles <josep@fluendo.com>
11245
11246         * common/m4/gst-error.m4:
11247         Disable warning of statement not reached on Forte.
11248         * gst/gstmessage.h:
11249         Fix warning on Forte (value doesn't fit on enumeration).
11250         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11251         Fix warning on Forte (value doesn't fit on enumeration).
11252         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11253         DEBUG macro says it takes minimum of 2 args and so Forte
11254         complains about the use with just 1 arg.
11255         * plugins/elements/gstfdsink.c:
11256         * plugins/elements/gstfdsrc.c:
11257         * plugins/elements/gstfilesink.c:
11258         * plugins/elements/gstfilesrc.c:
11259         Use correct return type for the uri handler implementations.
11260
11261         All these fix warnings in Forte.  Fixes bug #360860.
11262
11263 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11264
11265         * gst/gstelement.h:
11266           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11267           format string, so don't use G_GNUC_PRINTF for those versions.
11268
11269 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11270
11271         * gst/gsttaglist.c: (gst_is_tag_list):
11272         * gst/gsttaglist.h:
11273           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11274
11275         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11276           Small test for the above.
11277
11278 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11279
11280         * gst/gsttaglist.h:
11281           Less tabs, more spaces.
11282
11283 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11284
11285         * gst/gstinfo.h:
11286           Those two function declarations do actually belong there, revert
11287           commit from yesterday that turned them intro macros.
11288
11289 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11290
11291         Patch by: Josep Torra Valles <josep@fluendo.com>
11292
11293         * gst/gst.c: (gst_init_get_option_group):
11294         Fix empty declaration and type mismatch.
11295         * gst/gstbin.c: (gst_bin_change_state_func):
11296         Fix type mismatch.
11297         * gst/gstelement.c: (gst_element_continue_state),
11298         (gst_element_set_state_func), (gst_element_change_state),
11299         (gst_element_change_state_func):
11300         Fix type mismatches.
11301         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11302         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11303         Cast as appropriate.
11304         * gst/gstobject.c: (gst_class_signal_connect):
11305         Cast as appropriate.  The function pointer parameter really
11306         has the wrong type but would break API if we change it.
11307         * gst/gstquery.c:
11308         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11309         order of including string.h.
11310         * gst/gstutils.c: (gst_element_state_get_name):
11311         Remove unreachable line.
11312         * gst/gstxml.c: (gst_xml_parse_doc):
11313         Fix type mismatch.
11314         All these caught by Forte.
11315
11316 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11317
11318         Patch by: Josep Torra Valles <josep@fluendo.com>
11319
11320         * common/m4/gst-error.m4:
11321         Fixed bug #360151.
11322         We need to disable warnings on Forte for empty declarations
11323         due to gst-indent adding ;s to lines that just use macros
11324         where the macro actually doesn't need a ; at end to end
11325         statement.
11326
11327 2006-10-06  Wim Taymans  <wim@fluendo.com>
11328
11329         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11330         (gst_file_sink_close_file), (gst_file_sink_event),
11331         (gst_file_sink_render):
11332         Add some FIXME for the NEWSEGMENT handling.
11333
11334 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11335
11336         * gst/parse/grammar.y:
11337         Remove static function gst_parse_element_lock as all it does
11338         is return.  Looks like cruft from 0.8.
11339
11340 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11341
11342         Patch by: Josep Torra Valles <josep@fluendo.com>
11343
11344         * common/m4/gst-error.m4:
11345         * configure.ac:
11346         * libs/gst/net/Makefile.am:
11347         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11348         libresolv.
11349
11350 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11351
11352         * gst/gstpad.c: (pre_activate):
11353         * gst/gstregistry.c: (gst_registry_scan_path_level):
11354         * gst/gstregistryxml.c: (load_plugin):
11355         * libs/gst/controller/gstcontroller.c:
11356         (gst_controlled_property_set_interpolation_mode):
11357         * libs/gst/dataprotocol/dataprotocol.c:
11358         (gst_dp_packet_from_event_1_0):
11359         * libs/gst/net/gstnetclientclock.c:
11360         (gst_net_client_clock_observe_times):
11361         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11362           Printf fixes.
11363
11364 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11365
11366         * configure.ac:
11367         * docs/gst/gstreamer-sections.txt:
11368         * gst/gstconfig.h.in:
11369         * gst/gstelement.h:
11370         * gst/gstinfo.h:
11371           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11372           whether we can use G_GNUC_PRINTF in other header files and at
11373           least check the printf format/arguments of debug messages and
11374           GST_ELEMENT_ERROR messages when the printf extension is not
11375           being used.
11376           Replace more tabs with spaces in gstinfo.h and remove two spurious
11377           function declarations in GST_DISABLE_DEBUG part with macros.
11378
11379 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11380
11381         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11382           More docs for the sync-message signal (mention that it is not
11383           emitted by default); log message structures of messages posted on
11384           the bus as well.
11385
11386 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11387
11388         * gst/gst.c: (ensure_current_registry_forking):
11389         Use a pipe pair to receive status results from the forked child, and
11390         ignore the result from waitpid. Fixes #355499
11391
11392 2006-10-02  Wim Taymans  <wim@fluendo.com>
11393
11394         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11395         (gst_ghost_pad_suite):
11396         Fix leak in check.
11397
11398 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11399
11400         * gst/gstpad.c:
11401           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11402
11403 2006-10-02  Edward Hervey  <edward@fluendo.com>
11404
11405         * docs/design/part-block.txt:
11406         Further explain the use of flushing on blocked pads.
11407         * docs/gst/gstreamer-sections.txt:
11408         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11409         (gst_pad_push_event):
11410         * gst/gstpad.h:
11411         Added new GstPadFlag : GST_PAD_BLOCKING.
11412         Adds the notion of pads really blocking, which enables to properly
11413         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11414         Fixes #358999
11415         API: gst_pad_is_blocking()
11416         API: GST_PAD_IS_BLOCKING() macro
11417         API: GST_PAD_BLOCKING GstPadFlag
11418         
11419 2006-10-02  Wim Taymans  <wim@fluendo.com>
11420
11421         Patch by: mrcgran <mrc.gran at gmail dot com>
11422
11423         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11424         Filter the proxied caps against the padtemplate if we have one.
11425
11426         * gst/gstquery.c: (gst_query_new_segment):
11427         Add include for gstinfo.h so that compilation with
11428         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11429
11430 2006-10-02  Wim Taymans  <wim@fluendo.com>
11431
11432         Patch by: Alessandro Decina  <alessandro at nnva org>
11433
11434         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11435         (gst_file_sink_set_location), (gst_file_sink_open_file),
11436         (gst_file_sink_close_file), (gst_file_sink_event),
11437         (gst_file_sink_render):
11438         Set file to NULL when closing filesink so that we can set a new filename
11439         in READY. Fixes #358613.
11440
11441 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11442
11443         Patch by: Alessandro Decina  <alessandro at nnva org>
11444
11445         * gst/gstevent.c: (_gst_event_copy):
11446           Fix gst_mini_object_make_writable() and gst_event_copy() for events
11447           with event structures by setting the parent refcount address of the
11448           copied structure to the address of the refcount member of the newly
11449           copied event rather than the address of the refcount member of the
11450           original event. Fixes #358737.
11451
11452         * tests/check/gst/gstevent.c: (GST_START_TEST):
11453           Unit test for the above.
11454
11455 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
11456
11457         * docs/design/Makefile.am:
11458           Dist some more files.
11459
11460 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11461
11462         * tests/check/libs/controller.c: (GST_START_TEST),
11463         (gst_controller_suite):
11464           Add test for the previous fix; add some more tests
11465           for correct refcounting behaviour; fix a few leaks
11466           in test cases; call gst_controller_init() at start
11467           of all tests.
11468
11469 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11470
11471         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11472         (gst_controller_set_from_list):
11473           Don't g_return_val_if_fail() on timed values with invalid timestamps
11474           inside a critical section without unlocking the mutex. Spotted by
11475           René Stadler. (#357617)
11476           Also, fix up refcounting properly: when returning an existing
11477           controller, we should increase the reference only once and not
11478           once per property and when trying to control a property again
11479           we should also increase the refcount.
11480
11481 2006-09-29  Wim Taymans  <wim@fluendo.com>
11482
11483         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11484         * libs/gst/net/gstnettimeprovider.c:
11485         (gst_net_time_provider_thread):
11486         Stop reading commands when EOF as well.
11487
11488         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11489         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11490         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11491         Unify description of the dump property.
11492
11493 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11494
11495         * tests/examples/manual/.cvsignore:
11496         OK, so it's actually cvsignore that needs changing. Stop laughing.
11497
11498 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11499
11500         * tests/examples/manual/Makefile.am:
11501         Gah, declare vars *before* using them
11502
11503 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11504
11505         * gst/gst.c: (init_pre), (scan_and_update_registry),
11506         (ensure_current_registry_nonforking),
11507         (ensure_current_registry_forking), (ensure_current_registry),
11508         (init_post), (gst_debug_help), (gst_deinit):
11509         * gst/gst_private.h:
11510         * gst/gstregistry.c: (gst_registry_finalize),
11511         (gst_registry_remove_features_for_plugin_unlocked),
11512         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11513         (gst_registry_scan_path),
11514         (_priv_gst_registry_remove_cache_plugins),
11515         (_priv_gst_registry_cleanup):
11516         * gst/gstregistry.h:
11517         Re-commit the registry changes, along with an extra fix:
11518           When a cached plugin is encountered at a different file path,
11519           update the stored path in the registry cache so that the parent
11520           process knows where it actually is now when it re-reads the registry
11521           cache. Fixes the thing that broke distcheck with the previous commit.
11522
11523         * tests/check/Makefile.am:
11524         Clean up files named 'core' too when running make clean.
11525
11526         * tests/examples/manual/Makefile.am:
11527         Set up a registry path for running these tests, and clean it properly
11528         for distcheck.
11529
11530 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11531
11532         * configure.ac:
11533         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11534         want gmodule-no-export-2.0.pc instead so that we don't drag in
11535         --export-dynamic on every project that links to GStreamer.
11536
11537         Also, make our export regex only match the start of symbols, rather 
11538         than any symbol that contains '_gst' somewhere.
11539
11540         * libs/gst/check/Makefile.am:
11541         The libgstcheck we build does however need export-dynamic, as it
11542         produces some symbols that don't match our _gst... style regex.
11543         Fixes: #318031
11544
11545 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11546
11547         * gst/gst.c: (init_pre), (scan_and_update_registry),
11548         (ensure_current_registry_nonforking),
11549         (ensure_current_registry_forking), (ensure_current_registry),
11550         (init_post), (gst_debug_help), (gst_deinit):
11551         * gst/gst_private.h:
11552         * gst/gstregistry.c: (gst_registry_finalize),
11553         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11554         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11555         (_gst_registry_cleanup):
11556         * gst/gstregistry.h:
11557           Revert previous change until I figure out why it breaks distcheck.
11558
11559 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11560
11561         * gst/gst.c: (init_pre), (scan_and_update_registry),
11562         (ensure_current_registry_nonforking),
11563         (ensure_current_registry_forking), (ensure_current_registry),
11564         (init_post), (gst_debug_help), (gst_deinit):
11565
11566           Make init_pre and init_post take the full complement of GOptionFunc
11567           args so they can return useful GErrors. Make the registry updating
11568           functions do so.
11569
11570           Call _priv_gst_registry_remove_cache_plugins after scanning files to
11571           ensure that the registry we're about to write out doesn't contain
11572           stale information about old-deleted plugin files.
11573
11574           Make _priv_gst_registry_remove_cache_plugins return a boolean so
11575           that deletion of plugin files is considered a registry change.
11576
11577         * gst/gst_private.h:
11578         * gst/gstregistry.c: (gst_registry_finalize),
11579         (gst_registry_remove_features_for_plugin_unlocked),
11580         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11581         (gst_registry_scan_path),
11582         (_priv_gst_registry_remove_cache_plugins),
11583         (_priv_gst_registry_cleanup):
11584         * gst/gstregistry.h:
11585         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11586         by adding _priv prefix, so that they won't appear in the global
11587         symbol table. They still do atm though because of #318031. Move the
11588         prototypes to gst_private.h
11589
11590         When removing a plugin, remove all features for that plugin too. 
11591         Fixes #340878.
11592
11593 2006-09-27  Wim Taymans  <wim@fluendo.com>
11594
11595         * docs/random/moving-plugins:
11596         Make it clear that the "compiled-in descriptions" really mean
11597         the element details.
11598
11599         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11600         (gst_base_sink_wait_preroll):
11601         Update docs.
11602
11603         * docs/libs/gstreamer-libs-sections.txt:
11604         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11605         (gst_base_src_get_range), (gst_base_src_activate_push):
11606         * libs/gst/base/gstbasesrc.h:
11607         Added function to block while waiting for PLAYING, this function
11608         is used by live sources that block on the clock.
11609         API: gst_base_src_wait_playing()
11610
11611 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11612
11613         Patch by: Peter Kjellerstedt <pkj at axis com>
11614
11615         * Makefile.am:
11616           gst-element-check.m4 is generated and should therefore be
11617           copied from the build dir rather than the source dir (#357593).
11618           'make distcheck' hasn't noticed this because we were disting
11619           the file as well, so stop doing that.
11620
11621 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11622
11623         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11624           Add some tests for gst_caps_intersect().
11625
11626         * tools/gst-launch.c: (event_loop):
11627           Print all buffering percentages we get, even the 100% one.
11628
11629 2006-09-26  Wim Taymans  <wim@fluendo.com>
11630
11631         * tools/gst-inspect.c: (print_element_properties_info),
11632         (print_signal_info):
11633         Fix printing of flags to match the look of enums.
11634
11635 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11636
11637         * gst/gstelementfactory.c:
11638           Fix typo in docs blurb.
11639
11640 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11641
11642         * gst/gsturi.c: (search_by_entry):
11643           Don't assert/crash here if a uri handler doesn't return any
11644           supported protocols. The list of protocols could be generated
11645           dynamically at runtime or at plugin registration, and an error
11646           in the underlying library shouldn't be fatal (#353301).
11647
11648 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11649
11650         * gst/gstinfo.c:
11651           Fix warning if HAVE_PRINTF_EXTENSION is undefined
11652           (spotted by Peter Kjellerstedt).
11653
11654 2006-09-23  Wim Taymans  <wim@fluendo.com>
11655
11656         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
11657
11658         * libs/gst/base/gstbasesrc.c:
11659         (gst_base_src_default_check_get_range), (gst_base_src_start),
11660         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11661         (gst_base_src_change_state):
11662         Match _start/_stop calls in the activate functions. Remove redundant
11663         _stop call from the state change function. Fixes #356910.
11664         Turn failure DEBUG into ERROR. 
11665
11666 2006-09-22  Wim Taymans  <wim@fluendo.com>
11667
11668         * docs/design/part-buffering.txt:
11669         * gst/gstmessage.c: (gst_message_new_buffering),
11670         (gst_message_parse_buffering):
11671         Update docs about buffering.
11672
11673         * docs/design/part-trickmodes.txt:
11674         Fix typo.
11675
11676 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
11677
11678         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11679         (gst_controller_new_list):
11680           Ref instances when returning them again (fixes #357180)
11681
11682 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11683
11684         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
11685           Don't forget to release proxy lock when there's an error.
11686
11687 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
11688
11689         * gst/gstcaps.h:
11690           Add extra initialisers for Caps things, to fix some plugin warnings
11691           when using -Wextra
11692
11693 2006-09-18  Wim Taymans  <wim@fluendo.com>
11694
11695         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11696           Also set template on the internal pad so that a getcaps from the 
11697           target pad returns the template caps.
11698
11699 2006-09-18  Wim Taymans  <wim@fluendo.com>
11700
11701         * gst/gstelement.c: (gst_element_post_message),
11702         (gst_element_dispose):
11703         Use _DEBUG_OBJECT some more.
11704
11705         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11706         Avoid typechecks.
11707
11708         * tools/gst-launch.c: (main):
11709         If the toplevel element is not a GstPipeline, it must be put in a
11710         pipeline so that a bus and clock is selected.
11711
11712 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
11713
11714         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
11715           JITTER, RATE, and LATENCY query should be handled by the
11716           default case and not by the CONVERT query code.
11717
11718 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
11719
11720         * gst/gstformat.c: (gst_format_register):
11721           Fix locking order (must take lock before using n_values).
11722
11723         * gst/gstvalue.c: (gst_value_serialize_enum),
11724         (gst_value_deserialize_enum_iter_cmp),
11725         (gst_value_deserialize_enum):
11726           Fix serialisation/deserialisation of custom registered GstFormats.
11727
11728         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11729           Unit test for custom format serialisation/deserialisation.
11730
11731 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
11732
11733         * docs/pwg/building-boiler.xml:
11734         * plugins/elements/gstcapsfilter.c:
11735         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
11736         section.
11737
11738 2006-09-16  Edward Hervey  <edward@fluendo.com>
11739
11740         * libs/gst/base/gstbasetransform.c:
11741         (gst_base_transform_buffer_alloc):
11742         Check if requested caps are the same as the sinks caps IF
11743         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
11744         is FALSE.
11745         This fixes the renegotiation issues stated in #352827.
11746
11747 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * configure.ac:
11750         * docs/manual/advanced-autoplugging.xml:
11751         * tests/examples/Makefile.am:
11752         * tests/examples/manual/.cvsignore:
11753         * tests/examples/manual/Makefile.am:
11754         * tests/examples/manual/extract.pl:
11755           Extract the manual examples again like we used to do.
11756           Fix one of them.
11757
11758 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11759
11760         * win32/common/config.h:
11761           update for version
11762
11763 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
11764
11765         * gst/gsterror.c:
11766           Documents how to receive errors.
11767
11768 2006-09-15  Wim Taymans  <wim@fluendo.com>
11769
11770         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
11771         (event_loop), (main):
11772         Added some comments here and there.
11773         Post an application message when an interrupt is caught instead of doing
11774         an uncontrolled state change.
11775         Clean up the event loop.
11776         Handle buffering messages, pause/resume the pipeline.
11777         Make shutdown because of an interrupt more reliable.
11778
11779 2006-09-15  Wim Taymans  <wim@fluendo.com>
11780
11781         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11782         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
11783         (gst_base_sink_preroll_object):
11784         Make sure that our internal state is correct when we commit our state
11785         asynchronously. This solves a race where a state change to PLAYING
11786         could cause the sink to remain blocked in preroll in some situations.
11787
11788 2006-09-15  Wim Taymans  <wim@fluendo.com>
11789
11790         * tools/gst-inspect.c: (print_element_properties_info),
11791         (print_signal_info):
11792         List flags as hex so it's easier to deal with.
11793
11794 2006-09-15  Wim Taymans  <wim@fluendo.com>
11795
11796         * docs/libs/gstreamer-libs-sections.txt:
11797         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
11798         (gst_base_sink_do_sync):
11799         * libs/gst/base/gstbasesink.h:
11800         Expose logic to wait for preroll so that subclasses such as audiosink
11801         can also use this method.
11802         API: gst_base_sink_wait_preroll()
11803
11804 2006-09-15  Wim Taymans  <wim@fluendo.com>
11805
11806         * gst/gstobject.c: (gst_object_set_parent):
11807         * gst/gstpipeline.c: (do_pipeline_seek):
11808         Small cleanups in docs and code.
11809
11810         * gst/gstsegment.c: (gst_segment_clip):
11811         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11812         if stop == start and start is in the segment, no clipping should be
11813         done. Also add a test for this.
11814
11815 2006-09-15  Wim Taymans  <wim@fluendo.com>
11816
11817         * docs/design/part-buffering.txt:
11818         * docs/gst/gstreamer-sections.txt:
11819         * gst/gstmessage.c: (gst_message_new_buffering),
11820         (gst_message_parse_buffering):
11821         * gst/gstmessage.h:
11822         Added methods to create and parse BUFFERING messages.
11823         Added preliminary docs about buffering.
11824         API: gst_message_new_buffering
11825         API: gst_message_parse_buffering
11826
11827 2006-09-06  Wim Taymans  <wim@fluendo.com>
11828
11829         * gst/gstbin.c:
11830         Update documentation.
11831
11832         * gst/gstelement.c: (gst_element_class_init),
11833         (gst_element_release_request_pad), (gst_element_set_clock),
11834         (gst_element_get_index), (gst_element_add_pad),
11835         (gst_element_remove_pad), (gst_element_get_random_pad),
11836         (gst_element_send_event), (gst_element_get_query_types),
11837         (gst_element_query), (gst_element_post_message),
11838         (gst_element_message_full), (gst_element_continue_state),
11839         (gst_element_lost_state), (gst_element_save_thyself),
11840         (gst_element_restore_thyself):
11841         Documentation updates.
11842         Rename last bit of the new-pad -> pad-added signal rename.
11843         Fix the case where an element query would only work if the source
11844         pad was linked.
11845         Avoid some useless type checking in message handling.
11846
11847         * gst/gstevent.c:
11848         * gst/gstevent.h:
11849         * gst/gstutils.c:
11850         Documentation updates.
11851
11852 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11853
11854         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11855           add an INFO line for when we actually update the fd
11856
11857 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11858
11859         * configure.ac:
11860           back to TRUNK
11861
11862 === release 0.10.10 ===
11863
11864 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
11865
11866         * configure.ac:
11867           releasing 0.10.10, "Pais"
11868
11869 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
11870
11871         * docs/manual/advanced-position.xml:
11872           Fix typo in sample code.
11873
11874 2006-09-05  Wim Taymans  <wim@fluendo.com>
11875
11876         * libs/gst/net/gstnetclientclock.c: (inet_aton),
11877         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11878         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
11879         * libs/gst/net/gstnetclientclock.h:
11880         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11881         * libs/gst/net/gstnettimepacket.h:
11882         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
11883         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
11884         (gst_net_time_provider_thread), (gst_net_time_provider_new):
11885         * libs/gst/net/gstnettimeprovider.h:
11886         Make stuff compile on windows. Fixes #345295.
11887
11888 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11889
11890         * gst/gst.c: (ensure_current_registry_forking):
11891           Print better details when child was terminated by signal.
11892
11893 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11894
11895         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
11896           Print a warning rather than g_assert() if a plugin feature
11897           is a URI handler but returns no protocols (#353976).
11898
11899 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
11900
11901         * docs/random/moving-plugins:
11902         Fix two typos.         
11903
11904 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11905
11906         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
11907           Fix locking order, handle NULL function values properly.
11908
11909         * gst/gstinfo.h:
11910           Fix docs.
11911
11912         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
11913           Initialise variable before using it and fix debug statement to
11914           print the address of the function rather than the address of the
11915           variable on the stack holding the address of the function.
11916
11917 2006-09-01  Wim Taymans  <wim@fluendo.com>
11918
11919         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
11920         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
11921         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11922         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
11923         (gst_ghost_pad_parent_unset),
11924         (gst_ghost_pad_internal_do_activate_push),
11925         (gst_ghost_pad_internal_do_activate_pull),
11926         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11927         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11928         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11929         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
11930         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
11931         (gst_ghost_pad_new_no_target_from_template),
11932         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11933         More cleanups.
11934         Avoid needless typechecking in macros.
11935         Since the internal pad is always present and never changes, there is
11936         no need to locking or ref when retrieving it.
11937         Improve debugging a bit.
11938         Handle link errors when setting the target. Fixes #341029.
11939
11940 2006-09-01  Wim Taymans  <wim@fluendo.com>
11941
11942         * docs/libs/gstreamer-libs-sections.txt:
11943         * docs/plugins/gstreamer-plugins-sections.txt:
11944         Fix docs some more.
11945
11946         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11947         (gst_collect_pads_event):
11948         * libs/gst/base/gstcollectpads.h:
11949         Documentation updates.
11950         Free queued buffer when removing a pad.
11951
11952 2006-08-31  Michael Smith  <msmith@fluendo.com>
11953
11954         * gst/gstutils.c: (gst_element_link_pads),
11955         (gst_element_link_pads_filtered):
11956           Ensure that we set a capsfilter to NULL if we failed to link it
11957           when doing filtered linking, to avoid criticals.
11958
11959           No need to check for unreffing srcpad, which is explicly NULLed
11960           above (a trivial code cleanup).
11961
11962 2006-08-31  Wim Taymans  <wim@fluendo.com>
11963
11964         * docs/design/part-gstghostpad.txt:
11965         Update ascii art in documentation.
11966
11967         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
11968         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
11969         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11970         (gst_ghost_pad_internal_do_activate_push),
11971         (gst_ghost_pad_internal_do_activate_pull),
11972         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11973         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11974         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
11975         (gst_ghost_pad_set_target):
11976         Small cleanups and leak fixes.
11977         Remove some checks now that the internal pad is never NULL.
11978         Fix the case where linking pads without a target would create nasty
11979         criticals. Fixes #341029.
11980         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
11981         value of _set_target().
11982
11983         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11984         (gst_ghost_pad_suite):
11985         Some more tests for creating and linking untargeted ghostpads.
11986
11987 2006-08-31  Edward Hervey  <edward@fluendo.com>
11988
11989         * docs/gst/gstreamer-sections.txt:
11990         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
11991         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11992         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
11993         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
11994         (gst_ghost_pad_new_from_template),
11995         (gst_ghost_pad_new_no_target_from_template):
11996         * gst/gstghostpad.h:
11997         Refactored *_new() functions.
11998         Templates are now used as a g_object_new() parameter.
11999         Use template in _do_getcaps() if we don't have a target.
12000         Small documentation cleanups.
12001         Added two new constructors:
12002         gst_ghost_pad_new_from_template()
12003         gst_ghost_pad_new_no_target_from_template()
12004         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12005         (gst_ghost_pad_suite):
12006         Added tests for new ghostpad instanciation functions.
12007
12008         API additions: gst_ghost_pad_new_from_template,
12009         gst_ghost_pad_new_no_target_from_template
12010
12011 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12012
12013         * docs/random/ensonic/profiling.txt:
12014           Ideas about qos profiling.
12015
12016 2006-08-29  Wim Taymans  <wim@fluendo.com>
12017
12018         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12019         Code cleanups.
12020         Fix memleak.
12021
12022 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12023
12024         * gst/gstxml.c:
12025           Improve and detypofy docs.
12026
12027         * tests/check/Makefile.am:
12028         * tests/check/gst/.cvsignore:
12029         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12030           Add a basic test suite for GstXML.
12031
12032 2006-08-29  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/gstelement.c: (activate_pads), (clear_caps),
12035         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12036         Clear the pad caps when the element shut down all of the pads and
12037         is not streaming data that could modify the caps. 
12038         Fixes #352958.
12039
12040 2006-08-28  Michael Smith  <msmith@fluendo.com>
12041
12042         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12043           Revert previous change; I misunderstood single-segment mode.
12044
12045 2006-08-28  Michael Smith  <msmith@fluendo.com>
12046
12047         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12048           Unset DISCONT on buffers when using single-segment mode.
12049
12050 2006-08-28  Wim Taymans  <wim@fluendo.com>
12051
12052         * gst/gstcaps.c: (gst_caps_merge_structure):
12053         * gst/gstcaps.h:
12054         Fix docs and indentation again.
12055
12056         * tests/check/gst/gstquery.c: (GST_START_TEST):
12057         Fix leak in tests and add some more tests.
12058
12059 2006-08-28  Edward Hervey  <edward@fluendo.com>
12060
12061         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12062         Inform GstSegment of the last stop position in order for the current
12063         segment to have a proper duration if it doesn't have a specific stop
12064         position from which a duration could be calculated.
12065         This bug was noticeable when a non-flushing, non-update new segment was
12066         followed by another segment (all buffers from the new segment were being
12067         dropped).
12068
12069 2006-08-28  Wim Taymans  <wim@fluendo.com>
12070
12071         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12072         Small comment update.
12073
12074         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12075         (gst_identity_transform_ip):
12076         Drop-probability is broken, mention this in the code with a 
12077         FIXME and also in the property description.
12078         Make silent also be silent about the drop messages.
12079
12080 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12081
12082         * docs/manual/appendix-win32.xml:
12083           Remove mention of popt, we don't depend on that any
12084           longer (#353136). Add some comments pointing out that
12085           this section is slightly outdated.
12086
12087 2006-08-28  Wim Taymans  <wim@fluendo.com>
12088
12089         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12090
12091         * gst/gstquery.c: (gst_query_new_segment):
12092         * tests/check/gst/gstquery.c: (GST_START_TEST):
12093         Initialize variables when creating a new segment query.
12094         Fixes #353121.
12095
12096 2006-08-28  Wim Taymans  <wim@fluendo.com>
12097
12098         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12099
12100         * gst/gstelement.c: (gst_element_get_bus):
12101         * tests/check/gst/gstelement.c: (GST_START_TEST):
12102         Check for NULL before _reffing the bus. Fixes #353122.
12103
12104 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12105
12106         * docs/manual/basics-bus.xml:
12107           Docs update: fix wrong callback return value explanation; add
12108           some lines about the implicit relationship between main loop
12109           and main context; remove duplicate main loop variable declaration.
12110
12111 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12112
12113         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12114           Don't leak caps in unit test; add a few more simple
12115           checks. 
12116
12117 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12118
12119         * docs/gst/gstreamer-sections.txt:
12120         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12121         (gst_caps_structure_is_subset), (gst_caps_merge),
12122         (gst_caps_merge_structure):
12123         * gst/gstcaps.h:
12124         * libs/gst/base/gstbasetransform.c:
12125         (gst_base_transform_transform_caps):
12126         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12127           implement caps merging (fixes #352580)
12128
12129 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12130
12131         * tools/Makefile.am:
12132         * tools/gst-plot-timeline.py:
12133           add debug-log plotting developer tool (#340674)
12134
12135 2006-08-23  Wim Taymans  <wim@fluendo.com>
12136
12137         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12138         (gst_pad_stop_task):
12139         Improve debugging for task functions.
12140
12141         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12142         (gst_task_start), (gst_task_pause), (gst_task_join):
12143         Make sure that the task function started and finished after a 
12144         join(). 
12145         Don't try to push the task function on the threadpool multiple
12146         times.
12147         Improve the g_warning message with some useful suggestions
12148         about how to fix the problem. 
12149
12150 2006-08-23  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12153         Handle RESYNC correctly in _proxy_getcaps.
12154
12155 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12156
12157         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12158         (gst_xml_parse_memory), (gst_xml_get_element):
12159           Chain up to parent class in dispose function and also
12160           unref the elements in the toplevel_elements GList.
12161           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12162           Always return a reference in gst_xml_get_element() rather
12163           than only sometimes.
12164
12165         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12166           Don't leak GstXml object.
12167
12168 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12169
12170         * docs/gst/gstreamer-sections.txt:
12171         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12172         (gst_caps_merge):
12173         * gst/gstcaps.h:
12174         * libs/gst/base/gstbasetransform.c:
12175         (gst_base_transform_transform_caps):
12176           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12177           in a better way
12178
12179 2006-08-21  Edward Hervey  <edward@fluendo.com>
12180
12181         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12182         Implement GObject::dispose virtual method in GstXML so we can free the
12183         top_elements GList.
12184
12185 2006-08-21  Wim Taymans  <wim@fluendo.com>
12186
12187         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12188         (gst_buffer_create_sub):
12189         Copy duration/offset_end/caps when creating a subbuffer of the
12190         complete parent.
12191         Make the subbuffer read-only when we make the metadata writable for
12192         now. Fixes #351768.
12193
12194         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12195         Added check for metadata copy when creating subbuffers.
12196
12197 2006-08-21  Edward Hervey  <edward@fluendo.com>
12198
12199         * libs/gst/base/gstbasetransform.c:
12200         (gst_base_transform_buffer_alloc):
12201         Only call downstream buffer_alloc if transform element is passthrough
12202         or always_in_place. Closes #350449.
12203
12204 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12205
12206         * ChangeLog:
12207           ChangeLog surgery to add comments to previous changes
12208
12209 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12210
12211         * gst/gst.c:
12212           Add comments
12213
12214         * gst/gstpad.c: (gst_pad_set_active):
12215           Be more verbose in the log
12216
12217         * libs/gst/base/gstbasetransform.c:
12218         (gst_base_transform_transform_caps):
12219           Simplify caps to get rid of duplicates, fixes #345444
12220
12221 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12222
12223         * gst/gstvalue.c:
12224         * gst/gstvalue.h:
12225           Use these optimizations only internally.
12226
12227 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12228
12229         * gst/gstvalue.c: (gst_value_compare_list),
12230         (gst_value_compare_fraction_range),
12231         (gst_value_intersect_fraction_fraction_range),
12232         (gst_value_intersect_fraction_range_fraction_range),
12233         (gst_value_subtract_fraction_fraction_range),
12234         (gst_value_subtract_fraction_range_fraction_range),
12235         (gst_value_get_compare_func), (gst_value_compare),
12236         (gst_value_compare_with_func):
12237         * gst/gstvalue.h:
12238           Saves the expensive lookup of the compare function in many cases
12239          (#345444)
12240
12241 2006-08-18  Edward Hervey  <edward@fluendo.com>
12242
12243         * tests/check/gst/gstinfo.c: (gst_info_suite):
12244         Disable test that require gstdebug if it wasn't built in core.
12245
12246 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12247
12248         * docs/random/ensonic/logging.txt:
12249           update ideas
12250           
12251         * gst/gstinfo.c: (gst_debug_log_default):
12252           reorder fields, save some columns, add optional color codes for log
12253           levels
12254
12255 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12256
12257         * docs/random/ensonic/logging.txt:
12258           add ideas about making the logs a bit more useful
12259
12260 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12261
12262         * docs/pwg/advanced-events.xml:
12263         * docs/pwg/titlepage.xml:
12264           Update for 0.10 API (#340627). Add myself
12265           to authors list.
12266
12267 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12268
12269         * docs/libs/gstreamer-libs-docs.sgml:
12270         * docs/libs/gstreamer-libs-sections.txt:
12271         * libs/gst/check/gstbufferstraw.c:
12272           Make gstcheck stuff show up in docs (still needs to
12273           be documented properly though).
12274
12275 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12276
12277         * docs/gst/gstreamer-sections.txt:
12278         * gst/Makefile.am:
12279         * gst/gst.c: (init_post):
12280         * gst/gst_private.h:
12281         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12282         * gst/gstquark.h:
12283         * gst/gstquery.c: (gst_query_new_position),
12284         (gst_query_set_position), (gst_query_parse_position),
12285         (gst_query_new_duration), (gst_query_set_duration),
12286         (gst_query_parse_duration), (gst_query_new_convert),
12287         (gst_query_set_convert), (gst_query_parse_convert),
12288         (gst_query_new_segment), (gst_query_set_segment),
12289         (gst_query_parse_segment), (gst_query_new_seeking),
12290         (gst_query_set_seeking), (gst_query_parse_seeking):
12291         Add internal helpers for pre-registering quarks from static strings
12292         and using the quark values directly instead of looking them up when
12293         creating and parsing queries. Can be used for event construction too.
12294         Closes #350432.
12295
12296 2006-08-16  Wim Taymans  <wim@fluendo.com>
12297
12298         * gst/gstbin.c:
12299         Fix bogus docs.
12300
12301 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12302
12303         * gst/gstutils.c: (gst_util_set_value_from_string):
12304           Fix memleak (#351502).
12305
12306         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12307           Add unit test for most of gst_util_set_value_from_string()
12308           (not that one would want to encourage use of this function).
12309
12310 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12311
12312         * libs/gst/check/gstcheck.h:
12313           Use const gchar * variables in fail_unless_equals_string
12314           macro to avoid compiler warnings (and don't use tabs for
12315           indenting).
12316
12317 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12318
12319         * tools/gst-launch.c: (print_tag):
12320           More space on the left for the tag names, to cater
12321           for the 'extended comment' tag (not touching the
12322           string for the first line since it's translated).
12323
12324 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12325
12326         * libs/gst/check/gstcheck.h:
12327           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12328           print something when they fail.
12329
12330 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12331
12332         * docs/gst/gstreamer-sections.txt:
12333         * gst/gsttaglist.c: (_gst_tag_initialize):
12334         * gst/gsttaglist.h:
12335           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12336           Also change merge function for GST_TAG_COMMENT to
12337           use_first.
12338
12339 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12340
12341         * gst/gstinfo.c: (gst_debug_print_object):
12342           Make GST_PTR_FORMAT print messages as well.
12343
12344         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12345         (GST_START_TEST), (gst_info_suite):
12346           More tests.
12347
12348 2006-08-14  Edward Hervey  <edward@fluendo.com>
12349
12350         * gst/gstelementfactory.c: (gst_element_register):
12351         If the GstElementClass doesn't have a GstElementDetails with all fields
12352         filled up correctly (longname, description AND author), then error out
12353         nicely instead of crashing.
12354
12355 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12356
12357         * gst/gststructure.c:
12358           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12359
12360         * gst/gstvalue.h:
12361           Expand on the difference between arrays and lists as we use them.
12362           
12363 2006-08-14  Wim Taymans  <wim@fluendo.com>
12364
12365         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12366         If the parent state change function failed, don't assume we can safely
12367         stop the source, this will be done when the pads are deactivated.
12368
12369 2006-08-14  Wim Taymans  <wim@fluendo.com>
12370
12371         * gst/gstbuffer.c:
12372         * gst/gsttask.c: (gst_task_join):
12373         Small doc updates.
12374
12375         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12376         (gst_pad_stop_task):
12377         When pad (de)activation failed for some reason, restore the old
12378         activation mode and set the pad to flushing instead of assuming the
12379         pad is deactivated.
12380         If the _task_join() failed, reinstall the task on the pad so that it can
12381         be stopped later and return an error.
12382
12383 2006-08-11  Andy Wingo  <wingo@pobox.com>
12384
12385         * configure.ac:
12386         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12387         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12388         is only for users of API that don't want to see deprecated
12389         functions in the headers; people that want to compile out
12390         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12391         CFLAGS. Fixes the build of multifdsink, or will soon..
12392
12393 2006-08-11  Wim Taymans  <wim@fluendo.com>
12394
12395         * docs/gst/gstreamer-sections.txt:
12396         Add GstClockClass vmethod docs.
12397
12398         * gst/gstcaps.h:
12399         Mark #endif with comment for associated #if
12400
12401         * gst/gstclock.c: (gst_clock_id_wait):
12402         * gst/gstclock.h:
12403         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12404         most clock implementations.
12405         Document vmethods.
12406         Flesh out docs about resolution methods.
12407         API: GstClockClass::wait_jitter
12408
12409         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12410         (gst_system_clock_async_thread),
12411         (gst_system_clock_id_wait_jitter_unlocked),
12412         (gst_system_clock_id_wait_jitter):
12413         Use base class wait_jitter variant for improved performance
12414         due to less clock polling.
12415
12416 2006-08-11  Edward Hervey  <edward@fluendo.com>
12417
12418         * gst/gst.c: (gst_init_check), (init_post):
12419         Set gst as being initialized before scanning/updating the registry,
12420         since there might be my python plugin loader that calls gst_init() and
12421         we don't want to loop back in.
12422         Closes #350879
12423
12424 2006-08-11  Wim Taymans  <wim@fluendo.com>
12425
12426         * docs/design/part-qos.txt:
12427         Bring docs in line with the code. Mostly the sign of the jitter was
12428         wrong in the docs. Fixes #349943.
12429
12430         * gst/gstclock.c:
12431         Fix the docs for the jitter.
12432
12433         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12434         (gst_event_parse_tag), (gst_event_new_buffer_size),
12435         (gst_event_parse_buffer_size), (gst_event_parse_qos),
12436         (gst_event_new_seek), (gst_event_parse_seek),
12437         (gst_event_new_navigation):
12438         Make sure the GstStructure has no parent when creating custom
12439         events.
12440         Add some more argument checking so that we avoid 0.0 rates.
12441         Flesh out the docs for the QoS event some more.
12442
12443 2006-08-11  Wim Taymans  <wim@fluendo.com>
12444
12445         * docs/gst/gstreamer-sections.txt:
12446         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12447         (ensure_current_registry_forking), (ensure_current_registry),
12448         (parse_one_option), (parse_goption_arg), (gst_deinit),
12449         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12450         * gst/gst.h:
12451         Doc updates.
12452         Added API and command line option to disable registry forking in
12453         addition to the environment variable.
12454         Constify some static arrays.
12455         Added some more debug.
12456         Don't deinit twice.
12457         API: gst_registry_fork_is_enabled()
12458         API: gst_registry_fork_set_enabled()
12459         API: --gst-disable-registry-fork command line option
12460         Fixes #348918.
12461
12462 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12463
12464         * gst/gst.c: (gst_init):
12465           Fix typo in error message.
12466
12467 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12468
12469         * libs/gst/controller/gstcontroller.h:
12470           fix ABI size-correction
12471
12472         * tests/check/libs/gdp.c: (gst_dp_suite):
12473           make tests that use deprecated API conditional
12474
12475 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12476
12477         * docs/libs/gstreamer-libs-sections.txt:
12478         * libs/gst/controller/gstcontroller.c:
12479         (_gst_controller_get_property), (_gst_controller_set_property),
12480         (_gst_controller_init), (_gst_controller_class_init):
12481         * libs/gst/controller/gstcontroller.h:
12482         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12483         (gst_object_set_control_rate):
12484           API: add gst_object_{s,g}et_control_rate(), add private data section,
12485           fix docs
12486
12487         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12488         * libs/gst/dataprotocol/dataprotocol.h:
12489           add deprecation guards to make gtk-doc happy and allow disabling cruft
12490
12491 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12492
12493         * tests/check/Makefile.am:
12494         * tests/check/gst/.cvsignore:
12495           Let's enable the new unit test as well.
12496
12497 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12498
12499         * configure.ac:
12500         * docs/gst/gstreamer-sections.txt:
12501         * gst/gstconfig.h.in:
12502         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12503         (_gst_info_printf_extension_ptr),
12504         (_gst_info_printf_extension_segment):
12505           API: add GST_SEGMENT_FORMAT, which is a printf extension we
12506           register that lets us easily dump GstSegments into debug
12507           logs (#350419).
12508
12509         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12510         (info_segment_format_printf_extension), (gst_info_suite):
12511           Add simple unit test that logs a bunch of different segments (not
12512           valgrinded at the moment because of leaks in
12513           gst_debug_add_log_function).
12514
12515 2006-08-09  Edward Hervey  <edward@fluendo.com>
12516
12517         * libs/gst/base/gstbasetransform.c:
12518         (gst_base_transform_buffer_alloc):
12519         Even if we can't figure out the proper format to request downstream,
12520         call buffer_alloc() downstream with the input parameters without setting
12521         the caps on the srcpad. This will force negotiation in the chain
12522         function.
12523         Closes #350449
12524
12525 2006-08-08  Edward Hervey  <edward@fluendo.com>
12526
12527         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12528         Unlinking from a pad without a target is now a perfectly valid case
12529         which should NOT raise an assertion.
12530         This case would happen if a linked ghostpad its target set to NULL after
12531         it was previously linked.
12532
12533 2006-08-08  Edward Hervey  <edward@fluendo.com>
12534
12535         * tests/check/libs/gdp.c:
12536         Also comment out the test (see below).
12537
12538 2006-08-08  Edward Hervey  <edward@fluendo.com>
12539
12540         * tests/check/libs/gdp.c: (gst_dp_suite):
12541         Use the architecture information from config.h and not gcc macros
12542         in order to properly disable a test that fails on PPC64.
12543
12544 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
12545
12546         * gst/gstelement.c: (gst_element_remove_pad):
12547           Don't crash printing the warning if the pad has no parent.
12548
12549 2006-08-02  Wim Taymans  <wim@fluendo.com>
12550
12551         * libs/gst/dataprotocol/dataprotocol.c:
12552         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12553         (gst_dp_crc), (gst_dp_header_payload_length),
12554         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12555         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12556         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12557         (gst_dp_event_from_packet), (gst_dp_validate_header),
12558         (gst_dp_validate_payload):
12559         Make debug category static
12560         Constify the crc table.
12561         Do some more arg checking in public functions.
12562         Fix some docs and do some small cleanups.
12563
12564         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12565         Add some more checks to see if GDP deals with bogus input.
12566
12567 2006-07-31  Wim Taymans  <wim@fluendo.com>
12568
12569         * gst/gstvalue.c: (gst_value_compare_list):
12570         Fix GstValueList comparison code. Fixes #347293.
12571
12572         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12573         Check to test GstValueList comparison.
12574
12575 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12576
12577         * gst/gstelementfactory.c: (gst_element_factory_create):
12578         Remove unnecessary ref/unref pair
12579
12580         * gst/parse/grammar.y:
12581         Make sure to free the parse buffer on all code paths.
12582         Move a g_free up to the error handler where it's easier to see.
12583
12584         * tests/check/gst/gstevent.c: (test_event):
12585         Extending timeout for downstream travelling events to 10 seconds to
12586         hopefully avoid intermittent failure on the buildbots.
12587
12588         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12589         Don't manually set the state of the src element - it will happen as a
12590         natural consequence of the pipeline changing state, and that way it
12591         will do it in the right order too.
12592
12593 2006-07-31  Wim Taymans  <wim@fluendo.com>
12594
12595         * libs/gst/base/gstbasetransform.c:
12596         (gst_base_transform_buffer_alloc):
12597         Use OBJECT_LOCK and refcounting to get the pad caps in the
12598         buffer_alloc function because the caps could change while we are
12599         busy with them. Fixes #349105
12600
12601 2006-07-31  Wim Taymans  <wim@fluendo.com>
12602
12603         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12604         Protect _PAD_CAPS with OBJECT_LOCK.
12605
12606 2006-07-31  Wim Taymans  <wim@fluendo.com>
12607
12608         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12609         (gst_pad_get_property), (gst_pad_activate_pull),
12610         (gst_pad_activate_push), (gst_pad_set_blocked_async),
12611         (gst_pad_set_activate_function),
12612         (gst_pad_set_activatepull_function),
12613         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12614         (gst_pad_set_getrange_function),
12615         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12616         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12617         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12618         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12619         (gst_pad_set_acceptcaps_function),
12620         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12621         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12622         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12623         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12624         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12625         (gst_pad_configure_sink), (gst_pad_configure_src),
12626         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12627         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12628         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12629         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12630         (gst_pad_send_event):
12631         Use _DEBUG_OBJECT when it makes sense.
12632         Protect GST_PAD_CAPS with the OBJECT_LOCK.
12633         Small cleanups and code reflows.
12634         Avoid caps refcounting in _accept_caps.
12635         Refactor alloc_buffer so that the code performed on the peer is in a
12636         separate function. Also if the pad does not implement a buffer alloc
12637         function, we should still check if the pad is flushing before falling
12638         back to the default allocator.
12639
12640 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12641
12642         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12643         Make all uses of identity and fakesink have silent=true to avoid
12644         serialising every passing data structure, which is breaking tests
12645         on FC4 for some unknown reason.
12646
12647 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
12648
12649         * gst/parse/Makefile.am:
12650         * gst/parse/grammar.y:
12651         * gst/parse/parse.l:
12652           Reverted previous patch as it required to bump the flex dependency to
12653           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
12654
12655 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
12656
12657         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
12658
12659         * gst/parse/Makefile.am:
12660         * gst/parse/grammar.y:
12661         * gst/parse/parse.l:
12662           push & pop the state of the lexer for reentrant use case
12663           Fixes #349180
12664
12665 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
12666
12667         * libs/gst/base/gstbasesrc.h:
12668           Note in the docs that the ::newsegment vfunc is not actually used by
12669           GstBaseSrc.
12670
12671 2006-07-28  Wim Taymans  <wim@fluendo.com>
12672
12673         * libs/gst/base/gstcollectpads.c:
12674         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
12675         (gst_collect_pads_clear), (gst_collect_pads_flush),
12676         (gst_collect_pads_event), (gst_collect_pads_chain):
12677         When flushing a pad, also clear the queued buffer so that we don't
12678         accidentally use it when we shouldn't.
12679         Fix leaks by inreffing incomming buffer.
12680         Flush out queued buffers in case of errors.
12681         Fixes #347452.
12682
12683 2006-07-28  Wim Taymans  <wim@fluendo.com>
12684
12685         * docs/random/phonon-gst:
12686         Random notes about a Phonon backend.
12687
12688 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12689
12690         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12691         Extra debug output
12692         * tests/check/libs/gdp.c: (gst_dp_suite):
12693         Take a whack at fixing the ppc compile using a different define to
12694         disable the broken test.
12695
12696         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12697         Remove excess g_print()
12698
12699 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
12700
12701         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12702         Oops, meant to uncomment this line too to dampen the noise a bit.
12703
12704 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
12705
12706         * gst/parse/grammar.y:
12707         * gst/parse/parse.l:
12708         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12709         (GST_START_TEST), (parse_suite):
12710         Fix some of the leaks exposed by extending the parse-launch testsuite,
12711         and move the 3 I can't figure out into a separate test that won't run
12712         the pipelines unless the appropriate line is uncommented.
12713
12714 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12715
12716         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12717           Requesting 0 bytes before the end of the file should result in
12718           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
12719           unit test.
12720
12721 2006-07-27  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
12724         Fix useless assert, a uint is always positive.
12725
12726         * gst/gststructure.c: (gst_structure_nth_field_name),
12727         (gst_structure_foreach), (gst_structure_map_in_place):
12728         Check input arguments for public functions to avoid obvious crashes.
12729
12730         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
12731         * plugins/elements/gstfakesink.h:
12732         Do less useless typechecking.
12733
12734 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12735
12736         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12737           Do not use mmap() by default since there are a number of error
12738           conditions that we would like to handle in a non-fatal way that
12739           will result in a SIGBUS if we use mmap(). Examples: external
12740           devices (USB harddrive, portable music player) being unplugged
12741           while in use; file on mounted CD/DVD that can't be read because
12742           the medium is partly damaged. Fixes #348455 and #348475.
12743
12744 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12745
12746         * gst/gstquery.h:
12747         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
12748         rates are a gdouble
12749
12750 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
12751
12752         * gst/gstregistry.c:
12753           Move big documentation comment into class section header, so that it
12754           appears in the API docs.
12755
12756 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12757
12758         * docs/gst/gstreamer-sections.txt:
12759         Oops. Commit the docs additions too for new API.
12760         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
12761
12762 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12763
12764         * gst/gststructure.c: (gst_structure_id_set),
12765         (gst_structure_id_set_valist):
12766         * gst/gststructure.h:
12767         Add API for setting values into structures without performing
12768         a quark lookup, if the appropriate quark is already known.
12769
12770         API: gst_structure_id_set
12771         API: gst_structure_id_set_valist
12772
12773         * gst/parse/grammar.y:
12774         * gst/parse/parse.l:
12775         Remove some dead code shown by the coverage information.
12776         Don't throw a critical g_warning when encountering a syntax error,
12777         just warn and let the normal error path handle it.
12778
12779         * plugins/elements/gstelements.c:
12780         Bump the rank of filesink up to PRIMARY so that it is preferred over
12781         gnomevfssink for file:// sink uri's
12782
12783         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12784         (GST_START_TEST), (run_delayed_test),
12785         (gst_parse_test_element_base_init),
12786         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
12787         (gst_parse_test_element_change_state),
12788         (gst_register_parse_element), (parse_suite):
12789         Beef up the tests for parse syntax to check that more error cases
12790         fail as they are supposed to. Increases the test coverage a bit.
12791
12792 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
12793
12794         * docs/manual/basics-elements.xml:
12795           Fix gst_element_link() example.
12796
12797         * gst/gstutils.c:
12798           Mention in API docs that one should usually gst_bin_add()
12799           elements to a bin or pipeline before doing the linking.
12800           
12801 2006-07-26  Wim Taymans  <wim@fluendo.com>
12802
12803         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
12804         (gst_subbuffer_get_type), (gst_buffer_create_sub):
12805         Avoid function call for known types by keeping the buffer and
12806         subbuffer GType global.
12807
12808         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12809         Random silly optimisations in read() path.
12810
12811 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12812
12813         * tools/gst-launch.c: (main):
12814           If the top-level of the parse is a normal bin, it doesn't do the
12815           right logic to run as a top-level element, so place it inside a
12816           pipeline.
12817
12818 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
12819
12820         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
12821           Remove superfluous g_object_notify() calls, GObject does
12822           that for us automatically.
12823
12824 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
12825
12826         * gst/gstinfo.h:
12827           on Win32, use dllspec to export the debug category symbols
12828
12829 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
12830
12831         * gst/gsttaglist.c: (_gst_tag_initialize):
12832           Allow more than one GST_TAG_IMAGE per taglist.
12833
12834 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12835
12836         * gst/gstminiobject.c:
12837           update docs
12838         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
12839         (gst_fd_src_create):
12840           log recurring events at LOG level
12841           add more debug for when the fd gets set
12842
12843 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12844
12845         * gst/gstparse.c: (gst_parse_launch):
12846           Also remove reentrance checks if flex is MT safe (#348179)
12847          Fix my empty ChangeLog entry below
12848
12849 2006-07-21  Andy Wingo  <wingo@pobox.com>
12850
12851         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
12852
12853         * libs/gst/check/Makefile.am
12854         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
12855         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
12856         * libs/gst/check/gstbufferstraw.h:
12857         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
12858         functions, thus proving I am still a GStreamer haxor. OK I wrote
12859         them a long time ago, but anyways.
12860
12861 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12862
12863         * configure.ac:
12864         * gst/gstparse.c: (gst_parse_launch):
12865           Check for flex version and omit mutex if we have a MT save flex
12866           (fixes #348179)
12867
12868 2006-07-21  Wim Taymans  <wim@fluendo.com>
12869
12870         * gst/gstparse.c: (gst_parse_launch):
12871         Protect recursive calls to _parse with a recursive mutex
12872         and busy flag.
12873
12874 2006-07-21  Wim Taymans  <wim@fluendo.com>
12875
12876         * tests/check/gst/gstpad.c: (GST_START_TEST):
12877         Fix leak in test.
12878
12879 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
12880
12881         * gst/gstparse.c: (gst_parse_launch):
12882           Do not hang on recursive usage of gst_parse_launch()
12883
12884 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12885
12886         * gst/gsttaglist.c:
12887           Add some more docs, comments and FIXME 0.11s here and there
12888           and also fix some typos.
12889
12890 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12891
12892         * gst/gstsegment.h:
12893           Convert tabs to spaces for better readability. 
12894
12895 2006-07-20  Edward Hervey  <edward@fluendo.com>
12896
12897         * tests/check/libs/gdp.c: (gst_dp_suite):
12898         the test_buffer test fails at line 140 on ppc64 at the following
12899         check:
12900         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
12901                 GST_BUFFER_FLAG_IN_CAPS),
12902                 "GST_BUFFER_IN_CAPS flag should have been copied !");
12903         See bug #348114 for more details.
12904
12905 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
12906
12907         * docs/pwg/advanced-scheduling.xml:
12908         * gst/gstpad.c:
12909           Fix typos (#348000).
12910
12911 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
12912
12913         * docs/pwg/intro-basics.xml:
12914           Fix wrong links (#347927).
12915
12916 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
12917
12918         * gst/gstregistry.h:
12919         * gst/gstregistryxml.c: (load_feature),
12920         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
12921         * win32/common/config.h:
12922           make --disable-index work (#342564)
12923
12924 2006-07-18  Wim Taymans  <wim@fluendo.com>
12925
12926         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12927
12928         * gst/Makefile.am:
12929         * gst/gsttrace.h:
12930         The attached patch adds two missing defines to gsttrace.h when tracing
12931         is disabled.  It also corrects one existing define.
12932         Fixes #347756.
12933
12934 2006-07-17  Wim Taymans  <wim@fluendo.com>
12935
12936         * docs/gst/gstreamer-sections.txt:
12937         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
12938         * gst/gst.h:
12939         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
12940         Add two functions to check and change the SIGSEGV behaviour
12941         when loading plugins.
12942         Don't mess with the SIGSEGV handler when we were told not to.
12943         Fixes #347794.
12944         API: gst_segtrap_is_enabled
12945         API: gst_segtrap_set_enabled
12946
12947 2006-07-14  Wim Taymans  <wim@fluendo.com>
12948
12949         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12950         * tests/check/elements/filesrc.c: (GST_START_TEST):
12951         Revert fix for regression in #347408 after release.
12952
12953 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
12954
12955         Patch by: Antoine Tremblay <hexa00 at gmail com>
12956
12957         * gst/gstutils.c: (gst_element_unlink):
12958           Free iterator when done (#347311).
12959
12960         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12961           And add a test case for this.
12962
12963 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
12964
12965         * configure.ac:
12966         Bump nano back to CVS
12967
12968 === release 0.10.9 ===
12969
12970 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
12971
12972         * configure.ac:
12973           releasing 0.10.9, "On the road again"
12974
12975 2006-07-13  Wim Taymans  <wim@fluendo.com>
12976
12977         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12978         * tests/check/elements/filesrc.c: (GST_START_TEST):
12979         Revert pull-0 fix for release. Disable check. Fixes #347408.
12980
12981 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12982
12983         * libs/gst/dataprotocol/dataprotocol.c:
12984         (gst_dp_event_from_packet_1_0):
12985           Fixes #347337: failure to deserialize event packets with
12986           empty payload (only event type)
12987
12988 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12989
12990         * gst/Makefile.am:
12991           do not install a .c file in the header directory
12992
12993 2006-07-13  Edward Hervey  <edward@fluendo.com>
12994
12995         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12996         GhostPad no longer implicitely use the padtemplates of the targets.
12997         Fixes #347384
12998
12999 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13000
13001         * gst/gstvalue.c: (gst_value_compare_list),
13002         (gst_value_compare_array), (_gst_value_initialize):
13003         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13004         Make GstValueArray comparison be order dependent as designed.
13005         Add checks for value lists and value array comparisons.
13006         Fixes #347221
13007
13008 2006-07-11  Edward Hervey  <edward@fluendo.com>
13009
13010         * gst/gstbin.c: (activate_pads),
13011         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13012         (gst_bin_change_state_func):
13013         (de)activate src pads before calling state_change on the childs.
13014         This is to avoid the case where a src ghostpad is blocked (holding the
13015         stream lock), which would block the deactivation of the ghostpad's
13016         target pad.
13017         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13018         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13019         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13020         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13021         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13022         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13023         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13024         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13025         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13026         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13027         (gst_ghost_pad_class_init),
13028         (gst_ghost_pad_internal_do_activate_push),
13029         (gst_ghost_pad_internal_do_activate_pull),
13030         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13031         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13032         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13033         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13034         GhostPads now create their internal GstProxyPad at creation (and not
13035         when they're linked, as it was being done previously).
13036         The internal and target pads are linked straight away.
13037         The data will also travel through the other pad in order to make
13038         pad blocking and probes non-hackish (the probe/block now really happens
13039         on the GhostPad and not on the target).
13040         * gst/gstpad.c: (gst_pad_set_blocked_async),
13041         (gst_pad_link_prepare), (gst_pad_push_event):
13042         Remove previous ghostpad cruft.
13043         * gst/gstutils.c: (gst_pad_add_data_probe),
13044         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13045         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13046         (gst_pad_remove_buffer_probe):
13047         Remove previous ghost pad cruft.
13048         Added more detailed debug statements.
13049         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13050         Fix the testsuite for refcounting changes.
13051         The comments about who has references were correct, but the refcount
13052         being checked wasn't the same (!?!).
13053
13054         Fixes #341029
13055
13056 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13057
13058         * docs/gst/gstreamer-sections.txt:
13059         * gst/gstconfig.h.in:
13060         More docs for configuration options, add docs to gtk-doc.
13061
13062 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13063
13064         * gst/Makefile.am:
13065         * gst/gstconfig.h.in:
13066         * win32/common/config.h:
13067         Fix build when disabling tracing (fixes #344016). Also start to document
13068         the defines that disable the sub-systems.
13069
13070 2006-07-10  Edward Hervey  <edward@fluendo.com>
13071
13072         * gst/gst.c: (ensure_current_registry_forking):
13073         let's make valgrind happy...
13074
13075 2006-07-09  Wim Taymans  <wim@fluendo.com>
13076
13077         * gst/gstelement.c: (activate_pads),
13078         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13079         Better pad activation code: Reset the collect value too on resync.
13080         Add some comments.
13081
13082 2006-07-09  Wim Taymans  <wim@fluendo.com>
13083
13084         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13085         (gst_pad_activate_push):
13086         Use some more macros where it makes sense.
13087         Allow pad mode switching instead of asserting. When a pad
13088         is activated in one mode and we activate it in another, 
13089         deactivate it first before activating it in a different mode.
13090         Fixes #329198.
13091
13092 2006-07-08  Andy Wingo  <wingo@pobox.com>
13093
13094         * tools/gst-launch.c (main): Handle err == NULL.
13095
13096         * gst/gst.c (init_post, ensure_current_registry)
13097         (ensure_current_registry_forking)
13098         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13099         factoring out the registry scanning into separate functions. Don't
13100         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13101         Better environment var name/interface suggestions accepted.
13102
13103 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13104
13105         * gst/gstobject.c: (gst_object_set_name_default),
13106         (gst_object_set_name):
13107           Random micro-optimisation: don't use a hash table
13108           with strings as keys and the usual strdup/strcmp
13109           involved, but rather just use the GQuark of the
13110           type name as key, since it needs to be looked up
13111           anyway to get the type name string.
13112
13113         * tests/check/gst/gstobject.c: (GST_START_TEST):
13114           Fix various leaks.
13115
13116 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13117
13118         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13119         (gst_bin_iterate_all_by_interface):
13120           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13121           GTypes are gulongs and thus the top 4 bytes might be cut
13122           off on some platforms when doing GPOINTER_TO_INT, leading
13123           to invalid GTypes and bad things happening (see RH bug #179654).
13124           Also add a check to make sure the type passed in is really
13125           an interface type.
13126
13127 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13128
13129         * .cvsignore:
13130           Ignore more.
13131
13132 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13133
13134         * Makefile.am:
13135         * configure.ac:
13136         * gst-element-check.m4:
13137         * gst-element-check.m4.in:
13138           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13139           instead of the unversioned gst-inspect (#324176, #168659).
13140
13141 2006-07-06  Wim Taymans  <wim@fluendo.com>
13142
13143         * gst/gstmessage.h:
13144         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13145         warnings.
13146
13147 2006-07-06  Wim Taymans  <wim@fluendo.com>
13148
13149         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13150         (gst_base_src_wait), (gst_base_src_update_length),
13151         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13152         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13153         (gst_base_src_loop), (gst_base_src_start),
13154         (gst_base_src_activate_pull):
13155         Update docs.
13156         blocksize == 0 now means the default blocksize when working in push
13157         based mode.
13158         Remove some pointless asserts in _wait function.
13159         Fix offset/length calculations and EOS handling. We can now pull 0
13160         bytes as well, which is allowed.
13161         use _check_get_range() to decide if we can operate in _pull based
13162         mode.
13163         Fix refcounting leak when check_get_range function was not 
13164         implemented.
13165         API GstBaseSrc::blocksize range can be 0 too now (default)
13166
13167         * tests/check/elements/filesrc.c: (GST_START_TEST),
13168         (filesrc_suite):
13169         Added check to test _get_range() behaviour.
13170
13171 2006-07-06  Wim Taymans  <wim@fluendo.com>
13172
13173         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13174         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13175         (gst_pad_pull_range):
13176         * gst/gstpad.h:
13177         Lots of comments and docs added to the pad functions.
13178         Flesh out the expected behaviour of the get_range() functions.
13179
13180 2006-07-06  Wim Taymans  <wim@fluendo.com>
13181
13182         * gst/gstbus.h:
13183         * gst/gstclock.h:
13184         * gst/gstevent.h:
13185         * gst/gstiterator.h:
13186         * gst/gstpad.h:
13187         * gst/gstplugin.h:
13188         * gst/gsttask.h:
13189         Remove comma at end of enumerator list. 
13190
13191 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13192
13193         * win32/common/libgstbase.def:
13194         * win32/common/libgstdataprotocol.def:
13195         * win32/common/libsgtreamer.def:
13196         Add new exported functions.
13197
13198 2006-07-05  Wim Taymans  <wim@fluendo.com>
13199
13200         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13201         Add some more docs here and there.
13202
13203 2006-07-05  Wim Taymans  <wim@fluendo.com>
13204
13205         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13206         (gst_base_sink_loop), (gst_base_sink_get_position):
13207         When operating in pull mode update the offset so that we
13208         read sequentially.
13209
13210 2006-07-05  Wim Taymans  <wim@fluendo.com>
13211
13212         * gst/gstregistryxml.c: (read_string):
13213         Avoid strdup. (will happen in libxml, but hey!)
13214
13215         * gst/gsturi.c:
13216         Add some more docs.
13217
13218 2006-07-05  Wim Taymans  <wim@fluendo.com>
13219
13220         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13221         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13222         (gst_buffer_suite):
13223         No point in checking if the size of the subbuffer > 0, the
13224         code handles it correclty as demonstrated by unit test.
13225         Also add a unit test for the zero sized _new_and_alloc and
13226         _copy. Fixes #346663.
13227
13228 2006-07-05  Wim Taymans  <wim@fluendo.com>
13229
13230         * libs/gst/base/gstbasetransform.c:
13231         (gst_base_transform_prepare_output_buffer),
13232         (gst_base_transform_buffer_alloc),
13233         (gst_base_transform_handle_buffer):
13234         Make sure the buffer we pass to transform_ip has a refcount of
13235         1 and thus is writable. Fixes #343196
13236
13237 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13238
13239         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13240         (gst_file_src_init), (gst_file_src_set_property),
13241         (gst_file_src_get_property), (gst_file_src_map_region):
13242         * plugins/elements/gstfilesrc.h:
13243         Add "sequential" property, off by default, to use madvise and hint
13244         to the kernel that sequential access is desired.
13245         Touch all retrieved pages by default to ensure they are pulled
13246         into memory. (Closes #345720)
13247
13248 2006-07-03  Wim Taymans  <wim@fluendo.com>
13249
13250         * docs/design/part-block.txt:
13251         * docs/design/part-dynamic.txt:
13252         Small docs updates.
13253
13254 2006-07-03  Wim Taymans  <wim@fluendo.com>
13255
13256         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13257         (gst_caps_unref), (gst_static_caps_get),
13258         (gst_caps_append_structure):
13259         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13260         Use GSlice when the glib we build against is >= 2.10
13261
13262 2006-07-03  Wim Taymans  <wim@fluendo.com>
13263
13264         * gst/gstelement.c: (gst_element_pads_activate):
13265         Small cleanup in pad activation code.
13266
13267 2006-07-03  Wim Taymans  <wim@fluendo.com>
13268
13269         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13270
13271         * gst/gst-i18n-app.h:
13272         * gst/gst-i18n-lib.h:
13273         * tools/gst-inspect.c: (print_signal_info):
13274         The attached patch will make the inclusion of gettext.h unconditional in
13275         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13276         libintl.h in tools/gst-inspect.c.
13277         This allows use of --disable-nls again and fixes #344642.
13278
13279 2006-07-03  Edward Hervey  <edward@fluendo.com>
13280
13281         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13282         Implement pad blocking on events according to part-block.txt.
13283         More comments on behaviour.
13284         * tests/check/gst/gstevent.c: (test_event):
13285         Send event to peer pad of blocked pad (else it will block).
13286
13287 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13288
13289         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13290         (gst_check_run_suite):
13291           if we get the wrong message, give us the types as string
13292         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13293           Fix a translatable
13294         * tests/check/elements/filesrc.c: (GST_START_TEST):
13295           add a test for trying to open a non-existing file
13296
13297 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13298
13299         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13300           add a test for adding self
13301
13302 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13303
13304         * libs/gst/check/gstcheck.h:
13305           add some assert_ as alias for fail_unless_*
13306         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13307           increase test coverage
13308
13309 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13310
13311         * Makefile.am:
13312           include lcov.mak for lcov coverage generation
13313         * tools/Makefile.am:
13314           add to CLEANFILES
13315
13316 2006-07-02  Edward Hervey  <edward@fluendo.com>
13317
13318         * tests/check/elements/.cvsignore:
13319         moaping
13320
13321 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13322
13323         * configure.ac:
13324           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13325         * tests/check/Makefile.am:
13326           clean up gcov files
13327
13328 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13329
13330         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13331           remove gst_caps_simplify; it was not declared and not used
13332           and deprecated in 0.8
13333
13334 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13335
13336         * docs/faq/gst-uninstalled:
13337           don't put empty paths on PYTHONPATH
13338         * docs/gst/gstreamer-sections.txt:
13339           remove some symbols that are not there
13340
13341 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13342
13343         * gst/gstcaps.c: (gst_caps_compare_structures):
13344           whitespace fixes
13345         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13346         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13347           add more tests
13348
13349 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13350
13351         * libs/gst/dataprotocol/Makefile.am:
13352           build dataprotocol test by linking to the lib, instead of
13353           compiling the source, so we get coverage
13354         * tests/check/Makefile.am:
13355         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13356         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13357           add a test for filesrc
13358
13359 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13360
13361         * tests/check/gst/gststructure.c: (GST_START_TEST),
13362         (gst_structure_suite):
13363           Push coverage from 59.04% to 70.00%
13364
13365 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13366
13367         * tests/check/Makefile.am:
13368           gst-inspect every element; this makes sure that we also get
13369           coverage on element's get/set functions
13370
13371 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13372
13373         * configure.ac:
13374           set CFLAGS and friends to -O0 if gcov is being used
13375           add GCOV LIBS
13376         * gst/Makefile.am:
13377         * libs/gst/base/Makefile.am:
13378         * libs/gst/check/Makefile.am:
13379         * libs/gst/controller/Makefile.am:
13380         * libs/gst/dataprotocol/Makefile.am:
13381         * libs/gst/net/Makefile.am:
13382         * plugins/elements/Makefile.am:
13383         * plugins/indexers/Makefile.am:
13384           add makefile rules to generate gcov data and clean up
13385         * tests/check/Makefile.am:
13386           add a coverage target that generates an html overview
13387           of coverage data
13388
13389 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13390
13391         * tests/check/elements/fakesink.c:
13392         * tests/check/elements/fakesrc.c:
13393         * tests/check/elements/fdsrc.c:
13394         * tests/check/elements/identity.c:
13395         * tests/check/generic/sinks.c: (gst_sinks_suite):
13396         * tests/check/generic/states.c:
13397         * tests/check/gst/gst.c:
13398         * tests/check/gst/gstabi.c:
13399         * tests/check/gst/gstbin.c:
13400         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13401         * tests/check/gst/gstbus.c: (gst_bus_suite):
13402         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13403         * tests/check/gst/gstelement.c:
13404         * tests/check/gst/gstevent.c: (gst_event_suite):
13405         * tests/check/gst/gstghostpad.c:
13406         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13407         * tests/check/gst/gstmessage.c: (gst_message_suite):
13408         * tests/check/gst/gstminiobject.c:
13409         * tests/check/gst/gstobject.c:
13410         * tests/check/gst/gstpad.c:
13411         * tests/check/gst/gstpipeline.c:
13412         * tests/check/gst/gstplugin.c:
13413         * tests/check/gst/gstquery.c: (gst_query_suite):
13414         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13415         * tests/check/gst/gststructure.c:
13416         * tests/check/gst/gstsystemclock.c:
13417         * tests/check/gst/gsttag.c:
13418         * tests/check/gst/gsttask.c: (gst_task_suite):
13419         * tests/check/gst/gstutils.c:
13420         * tests/check/gst/gstvalue.c:
13421         * tests/check/libs/adapter.c:
13422         * tests/check/libs/basesrc.c:
13423         * tests/check/libs/collectpads.c:
13424         * tests/check/libs/controller.c:
13425         * tests/check/libs/gdp.c: (gst_dp_suite):
13426         * tests/check/libs/gstnetclientclock.c:
13427         * tests/check/libs/gstnettimeprovider.c:
13428         * tests/check/libs/libsabi.c: (libsabi_suite):
13429         * tests/check/libs/typefindhelper.c:
13430         * tests/check/pipelines/cleanup.c:
13431         * tests/check/pipelines/parse-launch.c:
13432         * tests/check/pipelines/simple-launch-lines.c:
13433         * tests/check/pipelines/stress.c: (stress_suite):
13434           use the new macro
13435
13436 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13437
13438         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13439         * libs/gst/check/gstcheck.h:
13440           create a macro and function so that the simple unit test
13441           case can be just one macro to create main()
13442
13443 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
13444
13445         * gst/gstbin.c: (gst_bin_restore_thyself):
13446         * gst/gstxml.c: (gst_xml_make_element):
13447           Fix deserialisation from XML. Set parent manually
13448           instead of using gst_bin_add(), since gst_bin_add()
13449           will unlink all pads of the element being added.
13450           Fixes #341667.
13451
13452 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
13453
13454         Patch by: Peter Kjellerstedt <pkj at axis com>
13455
13456         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13457           Fix missing g_strdup() and double free when using the
13458           --gst-plugin-load command line option (#346097).
13459
13460 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13461
13462         * gst/gstinfo.c:
13463           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13464
13465         * libs/gst/net/gstnetclientclock.c:
13466         * libs/gst/net/gstnettimeprovider.c:
13467           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13468
13469 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13470
13471         * docs/manual/advanced-dataaccess.xml:
13472           Fix buffer probe example compilation in
13473           ADM (#345708).
13474         
13475 2006-06-22  Edward Hervey  <edward@fluendo.com>
13476
13477         * gst/gstelement.c: (gst_element_pads_activate):
13478         We need to deactivate src pads first and then sink pads.
13479         The reason is the src pads might be blocking while holding the streaming
13480         lock, so we need to deactivate them first so that deactivating the sink
13481         pads doesn't block (since it will require the streaming lock).
13482
13483 2006-06-22  Wim Taymans  <wim@fluendo.com>
13484
13485         * libs/gst/base/gstbasetransform.c:
13486         (gst_base_transform_buffer_alloc):
13487         Forgot to remove two unneeded unrefs.
13488         Simplify a check _is_equal allready checks the obvious case.
13489
13490 2006-06-22  Wim Taymans  <wim@fluendo.com>
13491
13492         * docs/design/part-block.txt:
13493         Some docs about what pad_block should do.
13494
13495 2006-06-22  Wim Taymans  <wim@fluendo.com>
13496
13497         * gst/gstcaps.c: (gst_caps_replace):
13498         Fix crasher when passed NULL. Doc clarification.
13499         Optimize for the trivial case.
13500
13501         * gst/gstpipeline.c: (gst_pipeline_change_state):
13502         Small cleanups.
13503
13504         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13505         Small documentation cleanup.
13506
13507         * libs/gst/base/gstbasetransform.c:
13508         (gst_base_transform_buffer_alloc):
13509         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13510         is what we need and it avoids a whole lot of redundant 
13511         refcount operations.
13512
13513 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
13514
13515         Patch by: Philip Jägenstedt  <philip at lysator liu se>
13516
13517         * docs/manual/advanced-dataaccess.xml:
13518           Fix 'Embedding static elements' section to use
13519           GST_PLUGIN_DEFINE_STATIC (#345607).
13520
13521 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13522
13523         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13524           Attempt to 'fix' spuriously failing test case: it seems like the
13525           timeout of half a second is simply too small when the system is under
13526           load otherwise, and the timeout doesn't really seem to serve any
13527           particular purpose here. Give the pipeline a few seconds to preroll
13528           first, and then give it another half a second to go from PAUSED to
13529           PLAYING and marshal the message into the main thread.
13530
13531 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13532
13533         * tools/gst-feedback-m.m:
13534           Don't only use unversioned tools, try versioned tools as well
13535           (#345086).
13536
13537 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13538
13539         * gst/gstbus.c: (gst_bus_class_init):
13540           Fix some typos, make docs more explicit.
13541
13542 2006-06-20  Wim Taymans  <wim@fluendo.com>
13543
13544         * tests/check/gst/gstghostpad.c: (block_callback),
13545         (GST_START_TEST), (gst_ghost_pad_suite):
13546         Added some more ghostpad tests, mainly blocking
13547         and probes.
13548
13549 2006-06-16  Wim Taymans  <wim@fluendo.com>
13550
13551         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13552         (gst_file_sink_close_file), (gst_file_sink_do_seek),
13553         (gst_file_sink_event), (gst_file_sink_render):
13554         * plugins/elements/gstfilesink.h:
13555         Check if we can seek in the file instead of assuming
13556         we always can. Post an error when we are asked to seek in a
13557         non-seekable file (like a fifo). Fixes #343312.
13558         Some cleanups.
13559
13560 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13561
13562         * tools/gst-launch.1.in:
13563           Un-garble (fourcc) bit in filtered caps section.
13564
13565 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13566
13567         * docs/manual/advanced-autoplugging.xml:
13568         * docs/manual/basics-helloworld.xml:
13569         * docs/manual/highlevel-components.xml:
13570           Don't leak bus reference in sample code.
13571
13572 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
13573
13574         * autogen.sh:
13575           Add default for new --enable-plugin-docs switch.
13576
13577         * configure.ac:
13578           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13579           Fixes #344039.
13580
13581         * docs/Makefile.am:
13582           Use new ENABLE_PLUGIN_DOCS conditional.
13583
13584 2006-06-14  Wim Taymans  <wim@fluendo.com>
13585
13586         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13587         Make it clear with a FIXME and a real define what the #if 0
13588         previously disabled.
13589
13590 2006-06-14  Wim Taymans  <wim@fluendo.com>
13591
13592         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13593         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13594         * libs/gst/base/gstbasetransform.c:
13595         (gst_base_transform_sink_eventfunc):
13596         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13597         Don't randomly and silently reset a segment when the format 
13598         changes as this is a bug somewhere upstream. Fixes #330379.
13599
13600 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
13601
13602         Patch by: Wouter Paesen  <wouter at kangaroot net>
13603
13604         * libs/gst/controller/gstcontroller.c:
13605         (gst_controlled_property_new):
13606           Fix controlling of float properties (#344849).
13607
13608         * tests/check/libs/controller.c:
13609         (gst_test_mono_source_get_property),
13610         (gst_test_mono_source_set_property),
13611         (gst_test_mono_source_class_init), (GST_START_TEST):
13612           While we're at it, add some float stuff to unit test.
13613
13614 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13615
13616         * docs/README:
13617         * docs/images/gdp-header.svg:
13618           add a gdp image
13619         * docs/libs/Makefile.am:
13620         * docs/libs/gdp-header.png:
13621         * libs/gst/dataprotocol/dataprotocol.c:
13622           add it to the API docs
13623         * docs/manual/intro-motivation.xml:
13624           fix typo
13625
13626 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13627
13628         * gst/gst.c: (scan_and_update_registry), (init_post):
13629           If the fork()'ed child process can't write the updated registry cache
13630           file to disk for some reason, make it exit with a failure exit code,
13631           so that the parent can then re-scan the plugins itself and update the
13632           registry structures in memory and work with that (rather than failing
13633           when creating elements because seemingly no plugins are available).
13634           Refactor registry scanning code into separate function for this and
13635           also separate fork() and non-fork() code paths. Fixes #344748.
13636
13637 2006-06-13  Wim Taymans  <wim@fluendo.com>
13638
13639         * docs/manual/advanced-dataaccess.xml:
13640         Fix wrong PluginDesc. Fixes #344755.
13641
13642 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13643
13644         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13645           Fix silly bug that prevented us from creating
13646           ~/.gstreamer-0.10 and writing the registry in one
13647           go (the first call to g_mkstemp() would overwrite the
13648           placeholder in the template string, so the second call
13649           to g_mkstemp() after creating the missing directory
13650           would then error out with 'invalid argument').
13651
13652 2006-06-13  Edward Hervey  <edward@fluendo.com>
13653
13654         * gst/gst.c: (init_post):
13655         Free string.
13656
13657 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13658
13659         * gst/glib-compat-private.h:
13660         * gst/glib-compat.c:
13661         * gst/glib-compat.h:
13662         * gst/gstvalue.c: (gst_value_serialize_flags):
13663           remove GLib 2.6 compatibility code
13664
13665 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
13666
13667         * gst/parse/Makefile.am:
13668           Fix build with 'make -j N' even more (#340016).
13669
13670 2006-06-12  Wim Taymans  <wim@fluendo.com>
13671
13672         * docs/gst/gstreamer-sections.txt:
13673         Fix docs.
13674
13675 2006-06-12  Wim Taymans  <wim@fluendo.com>
13676
13677         * gst/gstsegment.c: (gst_segment_set_duration),
13678         (gst_segment_set_last_stop), (gst_segment_set_seek),
13679         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
13680         (gst_segment_to_running_time), (gst_segment_clip):
13681         Use G_UNLIKELY to help the compiler a bit.
13682
13683 2006-06-12  Wim Taymans  <wim@fluendo.com>
13684
13685         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13686
13687         * gst/gstevent.c: (gst_event_get_type):
13688         * gst/gstmessage.c:
13689         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13690         (gst_pad_push):
13691         constify quark registration strings. Fixes #344115
13692         Avoid unneeded type checking is _pad_push() by internally
13693         calling gst_pad_chain_unchecked().
13694
13695 2006-06-12  Wim Taymans  <wim@fluendo.com>
13696
13697         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
13698         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
13699         (gst_subbuffer_finalize), (gst_buffer_create_sub),
13700         (gst_buffer_is_span_fast), (gst_buffer_span):
13701         Init _type for consistency.
13702         Use _FLAGS macro to avoid type check.
13703         Avoid unneeded type checks in subbufer code.
13704
13705 2006-06-12  Wim Taymans  <wim@fluendo.com>
13706
13707         * gst/gst.c: (gst_debug_help):
13708         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
13709         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
13710         (gst_plugin_feature_list_free):
13711         * gst/gstregistry.c: (gst_registry_add_plugin),
13712         (gst_registry_add_feature), (gst_registry_plugin_filter),
13713         (gst_registry_feature_filter), (gst_registry_find_plugin),
13714         (gst_registry_find_feature), (gst_registry_get_plugin_list),
13715         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
13716         * gst/gstregistryxml.c: (load_feature),
13717         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
13718         * gst/gstminiobject.c: (gst_mini_object_unref),
13719         (gst_mini_object_replace), (gst_value_mini_object_free),
13720         (gst_value_mini_object_copy):
13721         Use _CAST macros to avoid unneeded type checking.
13722         Added some more G_UNLIKELY.
13723
13724 2006-06-12  Wim Taymans  <wim@fluendo.com>
13725
13726         * gst/gstbuffer.h:
13727         Avoid unneeded type checking.
13728         API: GST_BUFFER_IS_DISCONT
13729
13730         * gst/gstminiobject.h:
13731         Avoid type check in flag accessor.
13732
13733         * gst/gstelementfactory.h:
13734         * gst/gstplugin.h:
13735         * gst/gstpluginfeature.h:
13736         Add _CAST macros.
13737         API: GST_ELEMENT_FACTORY_CAST
13738         API: GST_PLUGIN_CAST
13739         API: GST_PLUGIN_FEATURE_CAST
13740
13741 2006-06-12  Wim Taymans  <wim@fluendo.com>
13742
13743         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
13744         (gst_object_unref):
13745         Add G_UNLIKELY in type registration.
13746         Avoid type check in _ref/_unref since that is also
13747         done in glib.
13748
13749 2006-06-12  Wim Taymans  <wim@fluendo.com>
13750
13751         * gst/gsterror.c: (gst_g_error_get_type):
13752         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
13753         (gst_static_pad_template_get_type):
13754         * gst/gsttaglist.c: (gst_tag_list_get_type):
13755         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
13756         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
13757         * gst/gsturi.c: (gst_uri_handler_get_type):
13758         * gst/gstvalue.c: (gst_date_get_type):
13759         * gst/gstxml.c: (gst_xml_get_type):
13760         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
13761         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13762         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
13763         Add G_UNLIKELY in type registration.
13764
13765 2006-06-12  Wim Taymans  <wim@fluendo.com>
13766
13767         * tools/gst-inspect.c: (print_signal_info):
13768         Properly print enum values.
13769
13770 2006-06-12  Wim Taymans  <wim@fluendo.com>
13771
13772         * gst/gstinfo.c: (gst_debug_set_active),
13773         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
13774         * gst/gstinfo.h:
13775         Add some G_[UN]LIKELY.
13776         Maintain __gst_debug_min to avoid formatting the arguments of
13777         debug messages that will be dropped anyway to avoid a lot of 
13778         overhead from the debugging system.
13779
13780 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13781
13782         * po/POTFILES.in:
13783         * po/POTFILES.skip:
13784           add missing files containing translatable strings, tell intltool about
13785           one exception
13786
13787 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13788
13789         * tests/check/libs/.cvsignore:
13790         add test-binary to ignore list
13791
13792 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13793
13794         * docs/libs/gstreamer-libs-docs.sgml:
13795         reorder (put dp into a chapter) and indent
13796
13797 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * configure.ac:
13800           back to HEAD
13801
13802 === release 0.10.8 ===
13803
13804 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
13805
13806         * configure.ac:
13807           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
13808
13809 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13810
13811         * gst/gst.c: (init_post):
13812           move pid declaration to declaration block
13813
13814 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * gst/gst.c: (init_post):
13817           use _exit() instead of exit() in our forked child; this ensures
13818           that none of the registered exit handlers from whatever is using
13819           GStreamer get executed.  This fixes gnome-mixer-applet failing
13820           to load, because ORBit would shut down.
13821           Spotted by: Edward Hervey  <edward@fluendo.com>
13822           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
13823           Fixes #344474
13824
13825 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13826
13827         * configure.ac:
13828           back to TRUNK
13829
13830 === release 0.10.7 ===
13831
13832 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
13833
13834         * configure.ac:
13835           releasing 0.10.7, "Soepeke, ik zie ou"
13836
13837 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13838
13839         * configure.ac:
13840         * po/af.po:
13841         * po/az.po:
13842         * po/bg.po:
13843         * po/ca.po:
13844         * po/cs.po:
13845         * po/de.po:
13846         * po/en_GB.po:
13847         * po/fr.po:
13848         * po/it.po:
13849         * po/nb.po:
13850         * po/nl.po:
13851         * po/ru.po:
13852         * po/sq.po:
13853         * po/sr.po:
13854         * po/sv.po:
13855         * po/tr.po:
13856         * po/uk.po:
13857         * po/vi.po:
13858         * po/zh_CN.po:
13859         * po/zh_TW.po:
13860         * win32/common/config.h:
13861           0.10.6.2 prerelease
13862
13863 2006-06-07  Wim Taymans  <wim@fluendo.com>
13864
13865         * gst/gstindex.c: (gst_index_gtype_resolver):
13866         * tools/gst-xmlinspect.c: (print_plugin_info):
13867         Fix leak spotted by coverity checker. Fixes #343827
13868         Fix another other leak found by paolo borelli.
13869
13870 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13871
13872         * libs/gst/dataprotocol/dataprotocol.c:
13873         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13874         (gst_dp_version_get_type), (gst_dp_init),
13875         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
13876         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
13877         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
13878         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
13879         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
13880         (gst_dp_packetizer_free):
13881         * libs/gst/dataprotocol/dataprotocol.h:
13882           API: add a GstDPPacketizer object, and create/free functions
13883           API: add GstDPVersion enum
13884           Add 1.0 event function that uses the string serialization
13885           Serialize more useful buffer flags
13886           Fixes #343988
13887
13888 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13889
13890         * tests/check/Makefile.am:
13891         * tests/check/gst/gstabi.c:
13892         * tests/check/gst/struct_ppc64.h:
13893         * tests/check/libs/libsabi.c:
13894         * tests/check/libs/struct_ppc64.h:
13895           add ppc64 structure sizes
13896
13897 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * tests/check/Makefile.am:
13900         * tests/check/gst/gstabi.c:
13901         * tests/check/gst/struct_x86_64.h:
13902         * tests/check/libs/libsabi.c:
13903         * tests/check/libs/struct_x86_64.h:
13904           generate and add structure size lists for x86_64
13905
13906 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13907
13908         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
13909         * libs/gst/check/gstcheck.h:
13910           factor out the method from tests that checks size of structures,
13911           and add code to generate the header containing these sizes
13912         * tests/check/gst/gstabi.c: (GST_START_TEST):
13913         * tests/check/gst/struct_i386.h:
13914         * tests/check/libs/libsabi.c: (GST_START_TEST):
13915         * tests/check/libs/struct_i386.h:
13916           use it
13917
13918 2006-06-06  Michael Smith  <msmith@fluendo.com>
13919
13920         * gst/gstsegment.h:
13921           Don't use c++-style comments, fixes #343929
13922
13923 2006-06-05  Edward Hervey  <edward@fluendo.com>
13924
13925         * gst/gst.c:
13926         plugin_paths is not used if we build without registry support.
13927
13928         * gst/gstsegment.c: (gst_segment_copy): 
13929         _copy() was always returning NULL...
13930
13931 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13932
13933         * libs/gst/dataprotocol/dataprotocol.c:
13934         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13935         (gst_dp_packet_from_event):
13936           factor out CRC code
13937
13938 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13939
13940         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
13941           make sure we unset caps
13942
13943 2006-06-02  Michael Smith  <msmith@fluendo.com>
13944
13945         * libs/gst/check/gstcheck.c: (gst_check_init),
13946         (gst_check_chain_func):
13947         * libs/gst/check/gstcheck.h:
13948           Add a cond/mutex to the check support lib, signal this whenever we
13949           add to the buffers list. This will allow tests to not busy-wait on
13950           the buffer-list.
13951
13952 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13953
13954         * libs/gst/dataprotocol/dataprotocol.c:
13955         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13956         (gst_dp_packet_from_event):
13957           factor out some common header init code
13958
13959 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13960
13961         * docs/libs/gstreamer-libs-sections.txt:
13962         * docs/libs/tmpl/gstdataprotocol.sgml:
13963         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
13964         * libs/gst/dataprotocol/dataprotocol.h:
13965           API: make gst_dp_crc() public
13966
13967 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13968
13969         * plugins/indexers/gstindexers.c: (plugin_init):
13970         conditionally register fileindexer (fixes #343598)
13971
13972 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13973
13974         * gst/gsttagsetter.h:
13975         Can't cast ifaces to a class
13976
13977         * libs/gst/net/gstnetclientclock.h:
13978         * libs/gst/net/gstnettimeprovider.h:
13979         * plugins/elements/gstfakesink.h:
13980         * plugins/elements/gstfakesrc.h:
13981         * plugins/elements/gstfdsink.h:
13982         * plugins/elements/gstfdsrc.h:
13983         * plugins/elements/gstfilesink.h:
13984         * plugins/elements/gstfilesrc.h:
13985         * plugins/elements/gstidentity.h:
13986         * plugins/elements/gstqueue.h:
13987         * plugins/elements/gsttee.h:
13988         * plugins/indexers/gstfileindex.c:
13989         * plugins/indexers/gstmemindex.c:
13990         * tests/old/examples/plugins/example.h:
13991         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
13992
13993 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13994
13995         * libs/gst/dataprotocol/dataprotocol.c:
13996         (gst_dp_header_from_buffer):
13997           make sure we zero the whole ABI-compatible area
13998
13999 2006-06-01  Wim Taymans  <wim@fluendo.com>
14000
14001         Patch by: Alessandro Decina <alessandro at nnva dot org>
14002
14003         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14004         Make sure the EOS flag is cleared from pads after a flush
14005         or stop. Fixes #343538.
14006
14007         * tests/check/libs/collectpads.c: (GST_START_TEST),
14008         (gst_collect_pads_suite):
14009         Added test for collectpads reusage after EOS.
14010
14011 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14012
14013         * gst/gst.c:
14014          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14015         * win32/common/libgstbase.def:
14016          export gst_collect_pads_set_flushing
14017         * win32/common/libgstreamer.def:
14018          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14019          gst_value_fraction_multiply
14020         * win32/vs6/gst_inspect.dsp:
14021          add a link to intl.lib
14022
14023 2006-05-30  Wim Taymans  <wim@fluendo.com>
14024
14025         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14026         (gst_collect_pads_chain):
14027         Handle the case where a pad is removed from the collection
14028         that could cause the other pads to become collectable.
14029
14030 2006-05-30  Wim Taymans  <wim@fluendo.com>
14031
14032         * gst/gstelement.c:
14033         Clarify the use of _release_request_pad() and
14034         _get_request_pad() a bit better.
14035
14036         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14037         (gst_adapter_take_buffer):
14038         Fix some doc and comment typos.
14039
14040 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14041
14042         * docs/gst/gstreamer-sections.txt:
14043         * docs/libs/gstreamer-libs-sections.txt:
14044           add declared symbols
14045
14046 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14047
14048         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14049         Add debug that can be enabled using a #define at the top of the file,
14050         for dumping stats about how late/early we were when waking up from
14051         waiting on the clock.
14052
14053 2006-05-30  Wim Taymans  <wim@fluendo.com>
14054
14055         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14056         When rebuilding the pad list, don't leak the previous list.
14057
14058 2006-05-30  Wim Taymans  <wim@fluendo.com>
14059
14060         Patch by: Lutz Mueller <lutz at topfrose dot de>
14061
14062         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14063         (gst_base_src_get_query_types), (gst_base_src_update_length):
14064         Publish supported query types.
14065         Update last_stop field in get_range mode so the position
14066         query works. Fixes #342321.
14067
14068 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14069
14070         * docs/gst/gstreamer-sections.txt:
14071         * gst/gsttaglist.c: (_gst_tag_initialize):
14072         * gst/gsttaglist.h:
14073           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14074
14075 2006-05-30  Wim Taymans  <wim@fluendo.com>
14076
14077         Patch by: Alessandro Decina <alessandro at nnva dot org>
14078
14079         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14080         Unlock mutex when removing an unknown pad.
14081         Fixes #343334.
14082
14083         * tests/check/Makefile.am:
14084         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14085         (push_event), (setup), (teardown), (GST_START_TEST),
14086         (gst_collect_pads_suite), (main):
14087         Added collecpads check, disabled for now as check crashes for
14088         some reason.
14089
14090 2006-05-29  Wim Taymans  <wim@fluendo.com>
14091
14092         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14093         Don't leak pads lists.
14094
14095 2006-05-29  Wim Taymans  <wim@fluendo.com>
14096
14097         * docs/libs/gstreamer-libs-sections.txt:
14098         * libs/gst/base/gstcollectpads.c:
14099         (gst_collect_pads_set_flushing_unlocked),
14100         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14101         (gst_collect_pads_stop):
14102         * libs/gst/base/gstcollectpads.h:
14103         API: gst_collect_pads_set_flushing()
14104         Added api to set the pads to flushing, useful for seeking
14105         code in elements using collectpads.
14106         Clear segment when receiving a flush.
14107
14108 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14109
14110         * gst/gst.c: (add_path_func), (init_post):
14111           Don't scan registry paths passed via --gst-plugin-path immediately
14112           (will crash, because absolutely nothing is set up and no types are
14113           registered etc.); do this later in init_post(). Fixes #343057.
14114
14115 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14116
14117         * gst/gst.c: (init_post):
14118           if we have fork, fork while reading/rebuilding the registry
14119           so the parent doesn't take the hit of having all plugins loaded
14120           in memory.  Fixes #342777.
14121         * configure.ac:
14122           Check if we have fork()
14123         * win32/common/config.h.in:
14124           no fork() on win32
14125
14126 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14127
14128         * plugins/elements/gstelements.c:
14129         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14130         (gst_file_src_init), (gst_file_src_set_property),
14131         (gst_file_src_get_property), (gst_file_src_start):
14132         * plugins/elements/gstfilesrc.h:
14133           API: GstFileSrc::use-mmap
14134
14135         Add a use-mmap property to enable easier testing of all code paths.
14136         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14137         in the absence of gnomevfssrc. (Closes #340501)
14138
14139 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14140
14141         * tools/gst-inspect.c:
14142         Add missing include, removes warning of ngettext not being defined on
14143         some arches.
14144
14145 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14146
14147         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14148         Handle NULL input and output pointers silently as a failed conversion,
14149         rather than g_warnings.
14150
14151 2006-05-25  Wim Taymans  <wim@fluendo.com>
14152
14153         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14154         Initialize variable before using. Fixes #342820.
14155
14156 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14157
14158         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14159           Fix off-by-one bug that would only allow peeks of N-1 bytes
14160           from the start even if the buffer to typefind on contains
14161           in fact N bytes of data (makes vorbis typefinding from a
14162           vorbis identification header buffer work).
14163
14164         * tests/check/Makefile.am:
14165         * tests/check/libs/.cvsignore:
14166         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14167         (gst_typefindhelper_suite), (main), (foobar_typefind),
14168         (plugin_init):
14169           Add very basic unit test for gst_type_find_helper_for_buffer()
14170           that checks for the problem fixed above.
14171
14172 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14173
14174         * tools/gst-inspect.c: (print_interfaces),
14175         (print_element_properties_info), (print_element_list), (main):
14176           add more translatable strings
14177
14178 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14179
14180         Patch by: Julien Moutte  <julien at moutte net>
14181
14182         * docs/gst/gstreamer-sections.txt:
14183           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14184           
14185         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14186         (gst_fake_sink_preroll):
14187         * plugins/elements/gstfakesink.h:
14188           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14189
14190 2006-05-23  Wim Taymans  <wim@fluendo.com>
14191
14192         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14193         * gst/gstpad.h:
14194         Added _CUSTOM error and success GstFlowReturn that can be
14195         used be elements internally. 
14196         Added macro to check for SUCCESS flowreturns.
14197         API: GST_FLOW_CUSTOM_SUCCESS
14198         API: GST_FLOW_CUSTOM_ERROR
14199         API: GST_FLOW_IS_SUCCESS
14200
14201         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14202         Added check for GstFlowReturn sanity.
14203
14204 2006-05-23  Wim Taymans  <wim@fluendo.com>
14205
14206         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14207
14208         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14209         (gst_collect_pads_event):
14210         clear/reset segment info in FLUSH_STOP.
14211         Fixes #336929.
14212
14213 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14214
14215         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14216         (gst_collect_pads_check_collected):
14217         Flush queued buffer on _stop(), fixes playing again (#342454)
14218
14219 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14220
14221         * tests/check/gst/gststructure.c: (GST_START_TEST),
14222         (gst_structure_suite):
14223           add a test for a complete structure
14224
14225 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14226
14227         * docs/faq/developing.xml:
14228         * docs/faq/faq.xml:
14229         * docs/faq/troubleshooting.xml:
14230         * docs/faq/using.xml:
14231           Some minor FAQ updates that won't change the fact that
14232           our FAQ is badly structured, full of information hardly
14233           anyone new to GStreamer needs to know and lacking lots
14234           of information people constantly ask for.
14235           
14236 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14237
14238         * gst/gstpad.c: (gst_pad_set_caps):
14239           Short-circuit gst_pad_set_caps if setting the existing
14240           caps pointer again, and avoid printing debug and 
14241           reffing/unreffing the caps.
14242
14243         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14244           There's actually no need to set the caps before pushing -
14245           the acceptcaps method will handle it anyway.
14246
14247 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14248
14249         * docs/gst/gstreamer-sections.txt:
14250         * win32/common/libgstreamer.def:
14251         * gst/gstutils.c: (gst_element_seek_simple):
14252         * gst/gstutils.h:
14253           API: add gst_element_seek_simple() (#342238).
14254
14255 2006-05-18  Edward Hervey  <edward@fluendo.com>
14256
14257         * gst/gsttypefind.c: (gst_type_find_get_type):
14258         * gst/gsttypefind.h:
14259         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14260         registered for GstTypeFind pointers. This allows wrapping the structure
14261         in bindings (i.e. gst-python).
14262
14263 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14264
14265         * gst/gsttagsetter.c:
14266           Docs additions and fixes (see #339918).
14267
14268 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14269
14270         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14271         The caps intersection algorithm can produce multiple copies of the
14272         caps. Until that is fixed, we need to simplify the result to be
14273         sure whether the allowed caps are fixed or not.
14274
14275         * plugins/elements/gstqueue.c: (gst_queue_init),
14276         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14277         (gst_queue_push_one):
14278         Proxied buffer alloc should not set the caps on the source pad.
14279         When pushing buffers, we always accept the caps change that triggers.
14280         This prevents negotiation errors caused by caps changing mid-stream 
14281         and then being refused on our source pad (because upstream is now
14282         refusing those caps).
14283
14284 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14285
14286         * tests/examples/helloworld/helloworld.c: (main):
14287           Must plug audioconvert and audioresample between decoder
14288           and audio sink.
14289
14290 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14291
14292         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14293         (load_feature), (load_plugin):
14294         Allow empty strings for some of the plugin fields so we don't 
14295         drop valid plugin entries that were written out correctly
14296         (Fixes #341479)
14297
14298 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14299         
14300         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14301           Use g_remove and g_rename instead of remove and rename that don't 
14302           handle utf8 characters. rename was failing for users who had specific
14303           characters in their name then the registry was built at each 
14304           gstreamer init.
14305         * win32/vs6/gst_inspect.dsp:
14306         * win32/vs6/gst_launch.dsp:
14307         * win32/vs6/libgstbase.dsp:
14308         * win32/vs6/libgstcoreelements.dsp:
14309         * win32/vs6/libgstreamer.dsp:
14310           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14311           build of libgstreamer and clean unused libraries in projects link 
14312           settings.
14313
14314 2006-05-17  Edward Hervey  <edward@fluendo.com>
14315
14316         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14317         The queue is not responsible for pushing an EOS when receiving a fatal
14318         flow error. It's up to the real element driving the pipeline to do that.
14319
14320 2006-05-16  Edward Hervey  <edward@fluendo.com>
14321
14322         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14323         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14324         buffer returned a fatal error. It should just send an EOS and stop
14325         its task.
14326         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14327         when pushing buffers on the queue and will be able to handle the event.
14328
14329 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14330
14331         * docs/manual/basics-bins.xml:
14332         * docs/manual/basics-init.xml:
14333           Fix typos and minor errors in sample code (#341856).
14334
14335 2006-05-16  Wim Taymans  <wim@fluendo.com>
14336
14337         * docs/design/part-qos.txt:
14338         Fix indexes in formulas to make more sense.
14339
14340 2006-05-15  Wim Taymans  <wim@fluendo.com>
14341
14342         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14343         Don't report POSITION based on clock time if sync is
14344         disabled in a sink.
14345
14346 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14347
14348         * gst/gstobject.h:
14349           Add cast to make compiler happy - refcount variable was a gint
14350           in GstObject but is a guint in GObject and g_atomic_int_get()
14351           wants a gint *.
14352
14353 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14354
14355         * gst/parse/Makefile.am:
14356           chain commands using &&, which also makes parallel make work
14357
14358 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14359
14360         * docs/gst/gstreamer-sections.txt:
14361         * gst/gstevent.c:
14362         * gst/gstevent.h:
14363         * gst/gstmessage.h:
14364           Minor docs fixes.
14365
14366 === release 0.10.6 ===
14367
14368 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14369
14370         * configure.ac:
14371           releasing 0.10.6, "Take the cannoli"
14372
14373 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14374
14375         * tools/gst-launch.c: (print_tag):
14376           Fix use of uninitialized variable in the hypothetical
14377           case that some broken plugin creates a GST_TAG_IMAGE
14378           tag containing a NULL buffer (#341667).
14379
14380 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14381
14382         * tools/gst-launch.c: (print_tag):
14383           Print something more intelligible for image tags when
14384           using the -t switch (#341556).
14385
14386 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14387
14388         * Makefile.am:
14389           updates for win32
14390         * configure.ac:
14391           define GST_MAJORMINOR so we have it available in win32/common/config.h
14392           Possibly remove it from our Makefile.am files later
14393         * win32/common/config.h:
14394         * win32/common/config.h.in:
14395           added GST_MAJORMINOR
14396         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14397         * win32/common/gstversion.h:
14398           updated
14399
14400 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14401
14402         * win32/MANIFEST:
14403           Update win32 files listing.
14404         * win32/common/gstversion.h:
14405           Add GST_MAJORMINOR definition.
14406         * win32/common/libgstreamer.def:
14407           Add new exported functions.
14408           
14409 2006-05-12  Michael Smith  <msmith@fluendo.com>
14410
14411         * gst/gstplugin.c: (gst_plugin_load_file):
14412           If an so file has no plugin entry point, unload the module.
14413
14414 2006-05-11  Wim Taymans  <wim@fluendo.com>
14415
14416         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14417         (gst_queue_set_property):
14418         Don't forget to signal the _chain or _loop function 
14419         when the queue size or thresholds change since that might
14420         cause them to make progres again.
14421
14422 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14423
14424         * gst/gstclock.c: (gst_clock_class_init):
14425         * gst/gstindex.c: (gst_index_class_init):
14426         * gst/gstobject.c: (gst_object_class_init):
14427         * gst/gstpad.c: (gst_pad_class_init):
14428         * gst/gstpipeline.c: (gst_pipeline_class_init):
14429         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14430         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14431         * libs/gst/base/gstbasetransform.c:
14432         (gst_base_transform_class_init):
14433         * libs/gst/net/gstnetclientclock.c:
14434         (gst_net_client_clock_class_init):
14435         * libs/gst/net/gstnettimeprovider.c:
14436         (gst_net_time_provider_class_init):
14437         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14438         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14439         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14440         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14441         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14442         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14443         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14444         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14445         * plugins/elements/gsttee.c: (gst_tee_class_init):
14446         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14447         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14448           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14449
14450 2006-05-11  Wim Taymans  <wim@fluendo.com>
14451
14452         * gst/gstbuffer.c: (_gst_buffer_initialize):
14453         Register subbufer along with the buffer type so that
14454         it does not accidentally gets registered from N
14455         different streaming threads in a non threadsafe way.
14456
14457 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14458
14459         * gst/gstbuffer.h:
14460         * gst/gstevent.h:
14461         * gst/gstmessage.h:
14462           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14463           gst_event_ref() and gst_message_ref() functions again
14464           (ugly hack, please do fix if there's a better way besides
14465           overrides.txt, which doesn't seem to work).
14466
14467 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14468
14469         * libs/gst/check/gstcheck.h:
14470           add an assert for setting state to avoid lots of repetitive code
14471           in the future
14472
14473 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14474
14475         * gst/gstvalue.c: (gst_value_serialize_flags):
14476           fix a leak if no flags are set
14477         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14478           fix leak in tests
14479
14480 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14481
14482         * docs/manual/basics-pads.xml:
14483           Expand a bit on caps and filtered links and update
14484           examples that were still using the no longer existing
14485           gst_pad_link_filtered() (#338206).
14486
14487 2006-05-10  Wim Taymans  <wim@fluendo.com>
14488
14489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14490         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14491         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14492         (gst_collect_pads_stop):
14493         * libs/gst/base/gstcollectpads.h:
14494         No need to call _stop in _finalize.
14495         Iterate the main pad list in _finalize.
14496         Added some more debug.
14497         Free lists and data in the right order.
14498         Also free data whem doing _remove_pad when stopped for
14499         backward compatibility protect ::started with PAD_LOCK as
14500         well.
14501
14502 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14503
14504         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14505         (gst_structure_parse_value):
14506           add some comments
14507           rename a method so that it actually says what it does better
14508
14509 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14510
14511         * gst/gstevent.c: (_gst_event_initialize):
14512         * gst/gstformat.c: (_gst_format_initialize):
14513           make sure some essential types used by events are registered
14514           as part of gst_init()
14515         * gst/gstvalue.c: (gst_value_serialize_flags):
14516           if no flags are set, serialize them to a value that represents NONE
14517           so that deserializing them works
14518         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14519           add tests for serialization and deserialization of flags
14520
14521 2006-05-10  Wim Taymans  <wim@fluendo.com>
14522
14523         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14524         (gst_collect_pads_collect_range), (gst_collect_pads_available),
14525         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14526         (gst_collect_pads_event), (gst_collect_pads_chain):
14527         Update docs.
14528         Better debug info.
14529         Catch and return errors from the collect function
14530         Refuse data on eos pads.
14531
14532 2006-05-10  Edward Hervey  <edward@fluendo.com>
14533
14534         * gst/gstinterface.h:
14535         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14536         GInterface type checking.
14537         They were previously using non-defined macros.
14538
14539 2006-05-09  Wim Taymans  <wim@fluendo.com>
14540
14541         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14542         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14543         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14544         (gst_collect_pads_start), (gst_collect_pads_stop),
14545         (gst_collect_pads_peek), (gst_collect_pads_pop),
14546         (gst_collect_pads_available), (gst_collect_pads_read),
14547         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14548         (gst_collect_pads_is_collected), (gst_collect_pads_event),
14549         (gst_collect_pads_chain):
14550         * libs/gst/base/gstcollectpads.h:
14551         Clean up the mess that is collectpads, add comments and
14552         FIXMEs where needed.
14553         Maintain a separate pad list so we can add pads while
14554         collecting the other ones. For this we need a new separate 
14555         lock (see comics).
14556         Fix memory leak in finalize.
14557         Refactor some weird code to set/unset pad flushing flags, mark
14558         with comments.
14559         Don't crash in _available, _read, _flush when we're EOS.
14560
14561         * tests/check/libs/.cvsignore:
14562         Ignore adapter check binary.
14563
14564 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14565
14566         * gst/gstindex.c: (gst_index_resolver_get_type):
14567         * plugins/elements/gstfakesink.c:
14568         (gst_fake_sink_state_error_get_type):
14569         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14570         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
14571         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14572           Const-ify GEnumValue arrays.
14573
14574 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14575
14576         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14577           Add test case for flags + gst_buffer_make_metadata_writable().
14578
14579 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14580
14581         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14582           gst_buffer_make_metadata_writable() should maintain the
14583           buffer flags (those that make sense at least) (see #340859).
14584
14585 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14586
14587         * tools/gst-inspect.c:
14588         * tools/gst-launch.c:
14589         * tools/gst-typefind.c:
14590         * tools/gst-xmlinspect.c:
14591         * tools/tools.h:
14592           Fix up includes: need to include stdlib.h in tools.h for exit().
14593
14594 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14595
14596         * gst/gsttaglist.c: (_gst_tag_initialize):
14597         * gst/gsttaglist.h:
14598           API: add GST_TAG_IMAGE tag (#340721).
14599
14600 2006-05-08  Wim Taymans  <wim@fluendo.com>
14601
14602         * gst/gstquery.c:
14603         Added some docs for the segment query.
14604
14605 2006-05-08  Wim Taymans  <wim@fluendo.com>
14606
14607         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14608         (gst_base_src_loop), (gst_base_src_change_state):
14609         Always push non-flushing serialized events in the streaming 
14610         thread.
14611
14612 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14613
14614         * gst/gsterror.c: (_gst_stream_errors_init):
14615           Add a missing error string.
14616
14617 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
14618
14619         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14620         Add applied_rate to the debug
14621
14622         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14623         Copy applied_rate into the outgoing NEWSEGMENT event
14624
14625 2006-05-08  Wim Taymans  <wim@fluendo.com>
14626
14627         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14628
14629         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14630         (gst_base_sink_change_state):
14631         call ::unlock before taking the PREROLL_LOCK so we can safely
14632         handle elements that lock in ::render.
14633         Fixes #340174.
14634
14635 2006-05-08  Edward Hervey  <edward@fluendo.com>
14636
14637         * autogen.sh: (CONFIGURE_DEF_OPT): 
14638         Darwin's libtoolize is in fact called glibtoolize.
14639         Adding glibtoolize to the list of accepted names for libtoolize.
14640
14641 2006-05-08  Wim Taymans  <wim@fluendo.com>
14642
14643         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14644         Unify error handling, don't post an error message
14645         when a push() returns EOS but perform our normal EOS
14646         handling code. Fixes #340772.
14647
14648 2006-05-08  Wim Taymans  <wim@fluendo.com>
14649
14650         * docs/design/part-overview.txt:
14651         Make upsteam/downstream concepts more clear.
14652         Give an example of serialized/non-serialized events.
14653
14654         * docs/design/part-events.txt:
14655         * docs/design/part-streams.txt:
14656         Mention applied_rate.
14657
14658         * docs/design/part-trickmodes.txt:
14659         Mention applied rate, flesh out some more use cases.
14660
14661         * gst/gstevent.c: (gst_event_new_new_segment),
14662         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
14663         (gst_event_parse_new_segment_full), (gst_event_new_tag),
14664         (gst_event_parse_tag), (gst_event_new_buffer_size),
14665         (gst_event_parse_buffer_size), (gst_event_new_qos),
14666         (gst_event_parse_qos), (gst_event_parse_seek),
14667         (gst_event_new_navigation):
14668         * gst/gstevent.h:
14669         Add applied_rate field to NEWSEGMENT event.
14670         API: gst_event_new_new_segment_full()
14671         API: gst_event_parse_new_segment_full()
14672
14673         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
14674         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
14675         (gst_segment_to_stream_time), (gst_segment_to_running_time):
14676         * gst/gstsegment.h:
14677         Add applied_rate to GstSegment structure.
14678         Make calculation of stream_time and running_time more correct
14679         wrt rate/applied_rate.
14680         Add some more docs.
14681         API: GstSegment::applied_rate field
14682         API: gst_segment_set_newsegment_full();
14683
14684         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14685         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
14686         * libs/gst/base/gstbasetransform.c:
14687         (gst_base_transform_sink_eventfunc),
14688         (gst_base_transform_handle_buffer):
14689         Parse and use applied_rate in the GstSegment field.
14690
14691         * tests/check/gst/gstevent.c: (GST_START_TEST):
14692         Add check for applied_rate field.
14693
14694         * tests/check/gst/gstsegment.c: (GST_START_TEST),
14695         (gstsegments_suite):
14696         Add more checks for various GstSegment operations.
14697
14698 2006-05-08  Wim Taymans  <wim@fluendo.com>
14699
14700         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14701         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
14702         (gst_base_sink_get_position), (gst_base_sink_change_state):
14703         Store the sync time of the buffer end position separatly in a
14704         new variable eos_rtime so we can properly sync the EOS event.
14705         Fixes #340697.
14706         Fix the docs for gst_base_sink_set_qos_enabled().
14707         Don't set segment start to invalid value when we receive a 
14708         non TIME newsegment.
14709         get closer to handling position reporting for negative rates 
14710         correctly.
14711
14712 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
14713
14714         * gst/gstcaps.c:
14715         Docs about how to print caps for debug purposes.
14716
14717         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
14718         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
14719
14720 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
14721
14722         * gst/gstelement.c:
14723           use full enum names and preprend a '%' in docs strings to make recent 
14724           gtk-doc turn that into a link
14725
14726 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14727
14728         * docs/manual/basics-bins.xml:
14729         * docs/manual/basics-bus.xml:
14730         * docs/manual/basics-pads.xml:
14731           Some typo fixes, some additions, some clarifications. 
14732
14733 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14734
14735         * tools/gst-inspect.c: (main):
14736         * tools/gst-launch.c: (main):
14737         * tools/gst-run.c: (main):
14738         * tools/gst-typefind.c: (main):
14739         * tools/gst-xmlinspect.c: (main):
14740           Use the string passed to g_option_context_new() for
14741           what it's intended for - the program name is already
14742           printed elsewhere.
14743
14744 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14745
14746         * tools/Makefile.am:
14747         * tools/gst-inspect.c: (main):
14748         * tools/gst-launch.c: (main):
14749         * tools/gst-xmlinspect.c: (main):
14750         * tools/tools.h:
14751           Add back --version command line option (#340460).
14752
14753         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
14754           Add --version option and use GOption for argument parsing; refactor a
14755           bit; accept directories as arguments and recurse into them; lastly,
14756           print a decent error message when things go wrong.
14757
14758 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14759
14760         * docs/manual/basics-bins.xml:
14761         Don't mention GstThread (#340611)
14762         * docs/manual/basics-elements.xml:
14763         Update link to GObject tutorial (#340607)
14764         
14765 2006-05-05  Wim Taymans  <wim@fluendo.com>
14766
14767         * gst/gstbuffer.h:
14768         * gst/gstminiobject.c:
14769         Add note about refcounting and miniobject/buffer writeability
14770         to docs. Fixes #340604
14771
14772         * gst/gstelementfactory.h:
14773         Added some explanation about @klass.
14774
14775 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14776
14777         * docs/manual/intro-motivation.xml:
14778         * docs/manual/manual.xml:
14779         Avoid CORBA & Bonobo references (#340598)
14780
14781 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14782
14783         * docs/manual/basics-bus.xml:
14784         * docs/manual/basics-pads.xml:
14785         Fix up some inaccuracies and omissions (#340609)
14786         
14787 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14788
14789         * gst/gstghostpad.c:
14790           Small typo in docs (#340625)
14791
14792 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14793
14794         * gst/parse/Makefile.am:
14795           Make 'make -j' proof (see #340698).
14796
14797 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14798
14799         * configure.ac:
14800           Require GLib-2.8 here as well.
14801
14802 2006-05-05  Wim Taymans  <wim@fluendo.com>
14803
14804         * gst/glib-compat.c:
14805         * gst/gst.c: (init_pre):
14806         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14807         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
14808         (gst_object_dispatch_properties_changed):
14809         * gst/gstobject.h:
14810         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14811         * gst/gststructure.c: (gst_structure_set_valist):
14812         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14813         Remove pre glib2.8 compatibility, fixes #340508
14814
14815 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14816
14817         * gst/gsttaglist.h:
14818           Mention type of tags in doc blurbs.
14819
14820 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
14821
14822         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14823         (gst_pad_configure_src), (gst_pad_push):
14824         Restore acceptcaps checking behaviour now that good plugins have
14825         been released.
14826
14827 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14828
14829         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
14830
14831         * gst/gst.c:
14832         * gst/gstbus.c:
14833         * gst/gstclock.c:
14834         * gst/gstevent.c:
14835         * gst/gstformat.c:
14836         * gst/gstmessage.c:
14837         * gst/gstparse.c:
14838         * gst/gstquery.c:
14839         * gst/gstutils.c:
14840         * gst/parse/Makefile.am:
14841         * libs/gst/base/gstadapter.c:
14842         * libs/gst/base/gstbasesrc.c:
14843         * libs/gst/base/gstpushsrc.c:
14844         * libs/gst/base/gsttypefindhelper.c:
14845         * plugins/elements/gstfakesrc.c:
14846         * plugins/elements/gstidentity.c:
14847           Make sure gstprivate.h and/or config.h are
14848           always included first, otherwise some of our
14849           defines (like _FILE_OFFSET_BITS) might be
14850           redefined in the system headers. Fixes build
14851           on opensolaris (#340016).
14852
14853 2006-05-04  Wim Taymans  <wim@fluendo.com>
14854
14855         * docs/libs/gstreamer-libs-sections.txt:
14856         API: addition: gst_adapter_take_buffer()
14857         
14858         * libs/gst/base/gstadapter.c: (gst_adapter_push),
14859         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
14860         (gst_adapter_available_fast):
14861         * libs/gst/base/gstadapter.h:
14862         Prepare for optimizing the hell out of this hugely inefficient
14863         piece of code. 
14864         Added gst_adapter_take_buffer() so we can at least start thinking
14865         about subbuffering and merging.
14866         Added some comments.
14867
14868         * tests/check/Makefile.am:
14869         * tests/check/libs/adapter.c: (GST_START_TEST),
14870         (gst_adapter_suite), (main):
14871         Added GstAdapter check.
14872
14873 2006-05-04  Wim Taymans  <wim@fluendo.com>
14874
14875         * docs/design/part-overview.txt:
14876         Fix some typos, add blurb about buffer flags.
14877
14878 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14879
14880         * docs/libs/gstreamer-libs-sections.txt:
14881           make sure GstBaseTransformClass shows up in the docs
14882         * libs/gst/base/gstbasetransform.c:
14883         * libs/gst/base/gstbasetransform.h:
14884           move docs so gtk-doc picks it up now
14885
14886 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14887
14888         * docs/libs/gstreamer-libs-sections.txt:
14889           add missing symbols to docs
14890
14891 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14892
14893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14894           back out the newsegment handling change, see #340060 for ongoing
14895           discussion
14896
14897 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
14898
14899         * tools/gst-run.c: (get_candidates), (main):
14900           Fix wrong g_file_test() usage (see glib docs for why it doesn't
14901           work); fix typo in error message. Fixes #340079.
14902
14903 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14904
14905         * common/Makefile.am:
14906         * docs/Makefile.am:
14907         * docs/faq/Makefile.am:
14908         * docs/gst/Makefile.am:
14909         * docs/libs/Makefile.am:
14910         * docs/manual/Makefile.am:
14911         * docs/plugins/Makefile.am:
14912         * docs/pwg/Makefile.am:
14913         * docs/slides/Makefile.am:
14914         * docs/upload.mak:
14915         * common/upload.mak:
14916           move upload.mak to common
14917
14918 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14919
14920         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14921           add more asserts on refcounts
14922           do more cleanup at end of tests
14923           fix test leaks showing in FC5
14924
14925 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
14926
14927         * plugins/elements/gsttypefindelement.c:
14928         (gst_type_find_element_handle_event):
14929         reverted wrong change and reflowed code to avoid others falling into
14930         this trap
14931
14932 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14933
14934         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14935           fix changelog entry about last collectpads change,
14936           add notes about proper fix
14937
14938 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14939
14940         * gst/gst.c:
14941         * gst/gstregistry.c: (gst_registry_scan_path_level),
14942         (gst_registry_scan_path):
14943         * gst/gstregistry.h:
14944           only write out registry if it has changed, fixes #338339
14945
14946 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14947
14948         * gst/gstbin.c:
14949         * gst/gstpipeline.c:
14950         * plugins/elements/gstcapsfilter.c:
14951         * plugins/elements/gstfakesink.c:
14952         * plugins/elements/gstfakesrc.c:
14953         * plugins/elements/gstfdsink.c:
14954         * plugins/elements/gstfdsrc.c:
14955         * plugins/elements/gstfilesink.c:
14956         * plugins/elements/gstfilesrc.c:
14957         * plugins/elements/gstidentity.c:
14958         * plugins/elements/gstqueue.c:
14959         * plugins/elements/gsttee.c:
14960         * plugins/elements/gsttypefindelement.c:
14961         (gst_type_find_element_handle_event):
14962           make GstElementDetails const
14963
14964 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14965
14966         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
14967         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14968         (gst_collect_pads_is_collected), (gst_collect_pads_event):
14969           more detailed debug and formatting cleanup,
14970           forward newsegments to src-pad (so that e.g. adder not eats them)
14971
14972 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14973
14974         * gst/gstutils.c: (gst_element_link_pads):
14975           cleanup double code
14976
14977 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14978
14979         * libs/gst/controller/gstcontroller.c:
14980         (gst_controller_sync_values):
14981           some little tuning
14982         * tests/check/libs/controller.c: (GST_START_TEST),
14983         (gst_controller_suite):
14984           a new test for live value handling
14985
14986 2006-04-28  Wim Taymans  <wim@fluendo.com>
14987
14988         * gst/gstutils.c: (push_and_ref):
14989         Added some more docs.
14990         Fix refcount issue whith gst_element_found_tags() helper 
14991         function. Fixes #338335
14992
14993         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14994         Added testsuite for gst_element_found_tags().
14995
14996 2006-04-28  Michael Smith  <msmith@fluendo.com>
14997
14998         * gst/gstvalue.c: (gst_value_serialize_flags):
14999           Avoid NULL dereference when trying to serialize flags containing
15000           invalid values.
15001
15002 2006-04-28  Michael Smith  <msmith@fluendo.com>
15003
15004         * plugins/elements/gsttypefindelement.c:
15005         (gst_type_find_element_handle_event):
15006           If we get EOS before any data is accumulated, don't use
15007           uninitialised local variables.
15008
15009 2006-04-28  Michael Smith  <msmith@fluendo.com>
15010
15011         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15012         (gst_dp_event_from_packet):
15013           Fixes in reading/writing events over GDP (not currently used?) - 
15014           dereferencing NULL events for unknown/invalid event types, memory
15015           leak, and change g_warning to GST_WARNING.
15016
15017 2006-04-28  Wim Taymans  <wim@fluendo.com>
15018
15019         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15020         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15021         (gst_base_sink_get_position), (gst_base_sink_change_state):
15022         When frame dropping is enabled, we should not ignore frames
15023         without a duration.
15024         Update some documentation.
15025
15026 2006-04-28  Wim Taymans  <wim@fluendo.com>
15027
15028         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15029         (gst_base_src_send_event), (gst_base_src_change_state):
15030         Documentation updates.
15031
15032 2006-04-28  Wim Taymans  <wim@fluendo.com>
15033
15034         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15035         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15036         handle EAGAIN, EINTR and short writes correctly. Also clean
15037         up some error cases, avoid a deadlock on bad file descriptors and
15038         use GST_DEBUG_OBJECT.
15039         Fixes #339843
15040
15041 2006-04-28  Wim Taymans  <wim@fluendo.com>
15042
15043         * gst/gstvalue.c: (gst_value_serialize_buffer),
15044         (gst_value_deserialize_buffer):
15045         Don't try to serialize a GValue with a NULL buffer. 
15046         Fixes #339821.
15047
15048         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15049         Added check for serialisation of NULL buffers.
15050
15051 2006-04-28  Wim Taymans  <wim@fluendo.com>
15052
15053         * gst/gstminiobject.c: (gst_value_take_mini_object):
15054         Taking a NULL miniobject is valid, fix the case where
15055         we try to unref the NULL miniobject.
15056
15057 2006-04-28  Wim Taymans  <wim@fluendo.com>
15058
15059         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15060
15061         * gst/gstbin.c: (gst_bin_handle_message_func):
15062         Update docs.
15063         Don't leak bin refcount when a state recalc is
15064         in progress and we delay another one #339808.
15065
15066 2006-04-28  Wim Taymans  <wim@fluendo.com>
15067
15068         * docs/design/part-TODO.txt:
15069         Mention QoS as an ongoing work item.
15070
15071         * docs/design/part-buffering.txt:
15072         New doc about buffering that needs to be fleshed out
15073         at some point.
15074
15075         * docs/design/part-qos.txt:
15076         More QoS policy for decoders/demuxers/transforms
15077
15078         * docs/design/part-trickmodes.txt:
15079         Small update.
15080
15081 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15082
15083         * configure.ac:
15084           back to HEAD
15085
15086 === release 0.10.5 ===
15087
15088 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15089
15090         * configure.ac:
15091           releasing 0.10.5, "Fogo"
15092
15093 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15094
15095         patch by: Wim Taymans
15096
15097         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15098         (gst_pad_configure_src), (gst_pad_push):
15099         * gst/gstpipeline.c: (gst_pipeline_init):
15100           Fix internal data flow errors.  Fixes #338711.
15101
15102 2006-04-12  Wim Taymans  <wim@fluendo.com>
15103
15104         * tests/check/gst/gstelement.c: (GST_START_TEST):
15105         Don't leak the factory.
15106
15107 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15108
15109         * configure.ac:
15110         * win32/common/config.h:
15111           prerelease
15112
15113 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15114
15115         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15116         (gst_controller_unset_all):
15117           Free allocated GstTimedValues when freeing list nodes.
15118           Should fix leaks 'make check-valgrind' complains about.
15119
15120         * win32/common/libgstcontroller.def:
15121           Add gst_controller_unset_all.
15122
15123 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15124
15125         * docs/libs/gstreamer-libs-sections.txt:
15126         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15127         (gst_controller_unset_all):
15128         * libs/gst/controller/gstcontroller.h:
15129         API: Added new method gst_controller_unset_all()
15130         fixed gst_controller_unset()
15131         * tests/check/libs/controller.c: (GST_START_TEST),
15132         (gst_controller_suite):
15133         Added two testcases for new and fixed method
15134
15135 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15136
15137         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15138           MSG_DONTWAIT is not defined on Cygwin, so work
15139           around that (fixes #317048).
15140           
15141 2006-04-11  Wim Taymans  <wim@fluendo.com>
15142
15143         * gst/gstelementfactory.c: (gst_element_register),
15144         (gst_element_factory_create), (gst_element_factory_make):
15145         Some cleanups.
15146         Fixed a FIXME.
15147         Updated docs (Fixes #131079)
15148
15149         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15150         Small cleanups.
15151
15152         * tests/check/gst/gstelement.c: (GST_START_TEST),
15153         (gst_element_suite):
15154         Added testcase for elementfactory class field.
15155
15156 2006-04-10  Wim Taymans  <wim@fluendo.com>
15157
15158         * gst/gstsegment.c:
15159         Added some more docs.
15160
15161         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15162         (gst_base_sink_reset_qos):
15163         Calculate more accurate rate values.
15164
15165 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15166
15167         * gst/gst_private.h:
15168           add a new #ifdef to use __declspec(dllimport) only for
15169           other modules and not for gstreamer core
15170         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15171           use gst_guint64_to_gdouble for conversion
15172         * win32/common/libgstreamer.def:
15173           add new exported functions
15174         * win32/vs6/gst_inspect.dsp:
15175         * win32/vs6/gst_launch.dsp:
15176         * win32/vs6/libgstbase.dsp:
15177         * win32/vs6/libgstcontroller.dsp:
15178         * win32/vs6/libgstcoreelements.dsp:
15179         * win32/vs6/libgstdataprotocol.dsp:
15180         * win32/vs6/libgstnet.dsp:
15181           update project files
15182
15183 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15184
15185         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15186         * gst/gstclock.c: (gst_clock_class_init):
15187         * gst/gstelement.c: (gst_element_class_init):
15188         * gst/gstindex.c: (gst_index_class_init):
15189         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15190         * gst/gstobject.c: (gst_object_class_init),
15191         (gst_signal_object_class_init):
15192         * gst/gstpad.c: (gst_pad_class_init):
15193         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15194         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15195         * gst/gstregistry.c: (gst_registry_class_init):
15196         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15197         * gst/gsttask.c: (gst_task_class_init):
15198         * gst/gstxml.c: (gst_xml_class_init):
15199         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15200         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15201         (gst_base_src_loop):
15202         * libs/gst/controller/gstcontroller.c:/
15203         (_gst_controller_class_init):
15204         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15205         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15206         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15207         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15208         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15209         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15210
15211 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15212
15213         * gst/gstpad.c: (gst_pad_link):
15214           Must set peer pads before calling the link function, otherwise
15215           a task started from a link function might get a flow-not-linked
15216           result when trying to push because the other thread where the
15217           linking happens hasn't had a chance to set the peers yet. This
15218           might happen for example when a queue gets linked to a downstream
15219           element, as queue starts a streaming task when its source pad
15220           gets linked. Happens in real life when playing back flac/musepack
15221           files in playbin (#332390).
15222           
15223 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15224
15225         * gst/gstindex.h:
15226         * gst/gstxml.h:
15227         * libs/gst/base/gstadapter.h:
15228         * libs/gst/base/gstbasesink.h:
15229         * libs/gst/base/gstbasesrc.h:
15230         * libs/gst/base/gstbasetransform.h:
15231         * libs/gst/base/gstcollectpads.h:
15232         * libs/gst/base/gstpushsrc.h:
15233         Fix broken GObject macros
15234
15235 2006-04-07  Wim Taymans  <wim@fluendo.com>
15236
15237         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15238         Initialize start and stop times, thanks valgrind.
15239
15240 2006-04-07  Wim Taymans  <wim@fluendo.com>
15241
15242         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15243         Be a bit nicer to badly behaving upstream elements that expect
15244         us to deal with non TIME segments and timestamps (such as fakesrc
15245         in the testsuite).
15246
15247 2006-04-07  Wim Taymans  <wim@fluendo.com>
15248
15249         * gst/gstbus.c:
15250         Small documentation clarification about the signal watch.
15251
15252         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15253         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15254         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15255         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15256         (gst_base_sink_get_position_last),
15257         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15258         Convert and store timestamps in stream time and running time, the
15259         raw timestamps are not useful, also document this better.
15260         Use different window sizes for good and bad QoS observations so
15261         we react to badness a little quicker.
15262         Keep track of the amount of rendered and dropped buffers.
15263         Send QoS timestamps in running time.
15264
15265         * libs/gst/base/gstbasetransform.c:
15266         (gst_base_transform_sink_eventfunc),
15267         (gst_base_transform_handle_buffer):
15268         Compare QoS timestamps against running time.
15269
15270 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15271
15272         * gst/gstpad.c:
15273           Typo fixes in docs.
15274
15275 2006-04-06  Michael Smith  <msmith@fluendo.com>
15276
15277         * gst/gstpad.c: (gst_pad_set_property):
15278           Use g_value_get_object() instead of g_value_dup_gst_object(),
15279           to avoid double-reffing the pad template (which we then sink,
15280           so this worked previously if (and only if) the pad template
15281           was floating.
15282
15283         * gst/gstpadtemplate.c: (gst_pad_template_init),
15284         (gst_pad_template_pad_created):
15285           Never return floating references to pad templates, create
15286           them as initially-sunken.
15287
15288           Document an extra function (and make this stop sinking our
15289           pad template, since that is now guaranteed to do nothing,
15290           since we created it sunken).
15291
15292         * gst/gstghostpad.c:
15293           Fix docs typo.
15294
15295 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15296
15297         * gst/gstinfo.c: (__gst_in_valgrind):
15298           Add some newlines.
15299
15300         * plugins/elements/gsttypefindelement.c:
15301         (gst_type_find_element_chain):
15302           Don't leak buffer caps.
15303
15304 2006-04-06  Michael Smith  <msmith@fluendo.com>
15305
15306         * gst/parse/grammar.y:
15307           Fix a leak in parse-launch for any source-or-sink named element 
15308           references used.
15309
15310         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15311           Unref the pipeline if it exists after we've failed parsing.
15312
15313 2006-04-05  Michael Smith  <msmith@fluendo.com>
15314
15315         * gst/gstpipeline.c: (gst_pipeline_init):
15316           When we create a pipeline bus, initially create it in flushing mode.
15317           Fixes leaks in at least one test, and makes a new pipeline work the
15318           same as one that has gone to READY and then back to NULL.
15319
15320         * gst/gstelement.c:
15321           Typo fix in docs.
15322
15323 2006-04-05  Michael Smith  <msmith@fluendo.com>
15324
15325         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15326           Unref a pad we reffed.
15327         * tests/check/gst/gstutils.c: (GST_START_TEST):
15328           Unref bins
15329
15330 2006-04-05  Michael Smith  <msmith@fluendo.com>
15331
15332         * gst/gstquery.c: (gst_query_set_formats),
15333         (gst_query_set_formatsv):
15334           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15335
15336 2006-04-05  Michael Smith  <msmith@fluendo.com>
15337
15338         * tests/check/generic/sinks.c: (GST_START_TEST):
15339           Fix a variety of memleaks in sinks check, which are only sometimes 
15340           shown by running the tests under valgrind (weird?).
15341
15342 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15343
15344         * docs/version.entities.in:
15345           Fix the substituted entity name after thomas' changes on the
15346           weekend.
15347
15348 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15349
15350         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15351         VALGRIND_PRINTF
15352         
15353 2006-04-05  Andy Wingo  <wingo@pobox.com>
15354
15355         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15356
15357         * libs/gst/base/gstbasetransform.c
15358         (gst_base_transform_sink_eventfunc): When resetting our segment on
15359         FLUSH_STOP, also update the flag saying we haven't seen a
15360         newsegment.
15361
15362 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15363
15364         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15365
15366         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15367         (gst_plugin_check_license):
15368           minor clean-ups: G_DEFINE_TYPE already takes care of the
15369           parent_class stuff, no need to do it twice. Mark array of
15370           license strings as constant. (#337103)
15371           
15372 2006-04-04  Michael Smith  <msmith@fluendo.com>
15373
15374         * tools/gst-inspect.c: (print_element_list):
15375           Free the right plugin list; fixes a memory leak.
15376
15377 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15378
15379         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15380
15381         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15382           Don't error out on empty buffers (#336945).
15383           
15384 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15385
15386         * docs/libs/gstreamer-libs-sections.txt:
15387         * gst/gsttaglist.c:
15388         * libs/gst/base/gstbasesink.c:
15389         * libs/gst/base/gstbasesink.h:
15390         * libs/gst/base/gstbasesrc.c:
15391         * libs/gst/base/gstbasesrc.h:
15392           Documentation updates. Make BaseSink and BaseSrc docs contain the
15393           class structure so that people can actually see the prototypes for
15394           virtual functions they're supposed to be overriding.
15395
15396 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15397
15398         * plugins/elements/gsttypefindelement.c:
15399         (gst_type_find_element_chain):
15400           More debug info; when skipping typefinding, send cached
15401           events in all cases.
15402
15403 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15404
15405         * configure.ac:
15406           use new AS_VERSION and AS_NANO macros
15407         * gst/gst-i18n-lib.h:
15408         * gst/gst.c:
15409         * gst/gsterror.c:
15410         * gst/gstversion.h.in:
15411         * win32/common/config.h:
15412         * win32/common/config.h.in:
15413           update accordingly
15414
15415 2006-03-31  Michael Smith  <msmith@fluendo.com>
15416
15417         * plugins/elements/gsttypefindelement.c:
15418         (gst_type_find_element_chain):
15419           Do not typefind content if the buffers already have caps.
15420           Neccesary for icydemux (#333657), and the right thing to do anyway.
15421
15422 2006-03-30  Wim Taymans  <wim@fluendo.com>
15423
15424         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15425         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15426         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15427         (gst_base_sink_record_qos_observation),
15428         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15429         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15430         (gst_base_sink_change_state):
15431         More QoS measurements as described in the design doc.
15432         Get rid of ringbuffer with observations, running average is
15433         more simple and equally good.
15434         Calculates valid proportion now.
15435         Added beginning of flood measurement.
15436
15437 2006-03-29  Wim Taymans  <wim@fluendo.com>
15438
15439         * docs/design/part-qos.txt:
15440         * gst/gstclock.c:
15441         Small documentation updates and additions.
15442
15443 2006-03-29  Wim Taymans  <wim@fluendo.com>
15444
15445         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15446         (gst_base_src_send_event), (gst_base_src_loop),
15447         (gst_base_src_change_state):
15448         Perform the EOS logic when we reach the segment stop position.
15449         Fix compilation on gcc4.1
15450
15451 2006-03-29  Wim Taymans  <wim@fluendo.com>
15452
15453         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15454
15455         * plugins/elements/gstqueue.c: (gst_queue_init),
15456         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15457         (gst_queue_set_property):
15458         * plugins/elements/gstqueue.h:
15459         In queue, when EOS is received, if minimum threshold > max_size -
15460         current_level, there is chance that queue blocks forever in conditional
15461         item del wait. This is because the queue is not emptied completely due
15462         to minimum threshold.  Here is another approach. Instead of setting
15463         cur_levels to max in EOS, just zero all minimum threshold levels. This
15464         should make sure that queue gives out all data. When going to READY
15465         (stop) state, just reset the original minimum threshold levels.
15466         Fixes #336336.
15467
15468 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15469
15470         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15471         (gst_type_find_element_handle_event),
15472         (gst_type_find_element_send_cached_events),
15473         (gst_type_find_element_change_state):
15474         * plugins/elements/gsttypefindelement.h:
15475           When typefinding is done in push mode, we should cache
15476           events we receive during typefinding instead of just
15477           dropping them (e.g. newsegment, custom events from
15478           dvdreadsrc etc.) and then send them out once we've
15479           determined the type of the stream (and decodebin
15480           has had a chance to plug in a decoder/demuxer).
15481           
15482 2006-03-27  Wim Taymans  <wim@fluendo.com>
15483
15484         * docs/design/part-qos.txt:
15485         First QoS ideas.
15486
15487 2006-03-27  Wim Taymans  <wim@fluendo.com>
15488
15489         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15490
15491         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15492         (gst_base_src_send_event), (gst_base_src_change_state):
15493         Handle element seek correctly when we are streaming.
15494         Fixes #326998.
15495
15496 2006-03-24  Michael Smith  <msmith@fluendo.com>
15497
15498         * docs/faq/gst-uninstalled:
15499           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15500           allow you to correctly run intalled applications built against old 
15501           core, using plugins that require updated core (e.g. running
15502           installed totem against a full uninstalled gstreamer stack)
15503
15504 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15505
15506         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15507         more debug details
15508
15509 2006-03-24  Wim Taymans  <wim@fluendo.com>
15510
15511         * docs/gst/gstreamer-sections.txt:
15512         Rearrange the order of the methods so that related methods
15513         are grouped together in sections.
15514
15515 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15516
15517         * gst/gstelement.c:
15518           Little clarification in the docs
15519
15520 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15521
15522         * docs/README:
15523         formatting fix
15524         * plugins/elements/gstidentity.c:
15525         * plugins/elements/gstqueue.c:
15526         * plugins/elements/gsttee.c:
15527         * plugins/elements/gsttypefindelement.c:
15528         GST_ELEMENT_DETAILS formatting
15529
15530 2006-03-24  Wim Taymans  <wim@fluendo.com>
15531
15532         * libs/gst/base/gstbasesink.h:
15533         Only add fields, not insert or we break ABI.
15534
15535 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15536
15537         * win32/common/libgstbase.def:
15538         * win32/common/libgstreamer.def:
15539           Update, add recently added functions.
15540
15541 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15542
15543         * docs/gst/gstreamer-sections.txt:
15544         * gst/gstutils.c: (gst_pad_query_peer_position),
15545         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15546         * gst/gstutils.h:
15547           API: add some new utility functions:
15548            - gst_pad_query_peer_position()
15549            - gst_pad_query_peer_duration()
15550            - gst_pad_query_peer_convert()
15551           
15552 2006-03-23  Wim Taymans  <wim@fluendo.com>
15553
15554         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15555         (gst_base_sink_init), (gst_base_sink_finalize),
15556         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15557         (gst_base_sink_set_property), (gst_base_sink_get_property),
15558         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15559         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15560         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15561         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15562         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15563         (gst_base_sink_preroll_object), (gst_base_sink_event),
15564         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15565         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15566         (gst_base_sink_query), (gst_base_sink_change_state):
15567         Decouple max-lateness and the fact that QoS messages are generated
15568         with a new property (qos).
15569         added API: GstBaseSink::async_play()
15570         Add vmethod so subclasses can be notified of ASYNC playing
15571         state changes.
15572         Collect timestamp start and stop to report better current
15573         position in EOS/PLAYING/PAUSED/READY/NULL.
15574         Refactor QoS/frame dropping and other measurements.
15575         API: GstBaseSrc::qos
15576         Fixes #326311
15577
15578         * libs/gst/base/gstbasesink.h:
15579         Added Private struct.
15580         API: gst_base_sink_set_qos_enabled()
15581         API: gst_base_sink_is_qos_enabled()
15582
15583 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15584
15585         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15586           If compiling against GLib-2.8 or newer, try to read the
15587           registry file using GMappedFile first before falling back
15588           to fopen() + fread() (#332151).
15589
15590 2006-03-22  Wim Taymans  <wim@fluendo.com>
15591
15592         * gst/gstinfo.c: (gst_debug_set_active),
15593         (gst_debug_category_set_threshold):
15594         Disable debugging unless explicitly activated.
15595         Fixes #335480.
15596
15597 2006-03-22  Wim Taymans  <wim@fluendo.com>
15598
15599         * gst/gstelement.c: (gst_element_set_locked_state),
15600         (gst_element_dispose):
15601         Cleanup the error case.
15602
15603         * gst/gstobject.c: (gst_object_dispose):
15604         print a critical when some object was disposed with
15605         a parent, also revive the object since it might
15606         crash the parent.
15607
15608 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
15609
15610         * tools/gst-launch.1.in:
15611           Fix another typo.
15612
15613 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15614
15615         * configure.ac:
15616         * tests/check/Makefile.am:
15617           disable some tests when we don't have a registry
15618         * tests/check/gst/gstutils.c: (gst_utils_suite):
15619           don't build the part that needs parsing
15620
15621 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15622
15623         * gst/Makefile.am
15624         * tests/examples/Makefile.am:
15625           fix --disable-parse build
15626
15627 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15628
15629         * tools/gst-feedback.1.in:
15630           Fix typo: s/feeback/feedback/ (#133494).
15631
15632 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15633
15634         * tools/Makefile.am:
15635         * tools/gst-launch.1.in:
15636           Add FILES section and correct entry about GST_REGISTRY_PATH
15637           environment variable (#133495; #133494).
15638
15639 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15640
15641         * tools/Makefile.am:
15642         * tools/gst-md5sum.1.in:
15643         * tools/gst-md5sum.c:
15644           Remove gst-md5sum and man page (the md5sink element
15645           required was removed ages ago)
15646
15647 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15648
15649         * gst/gststructure.c: (gst_structure_id_set_value):
15650           Make sure that string fields in structures/taglists
15651           contain valid UTF-8 - we don't want to pass rubbish to
15652           applications because of a buggy plugin (cp. #334167).
15653
15654 2006-03-21  Edward Hervey  <edward@fluendo.com>
15655
15656         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15657         (gst_bin_handle_message_func):
15658         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
15659         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
15660         (gst_element_set_bus_func):
15661         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
15662         * gst/gstminiobject.c: (gst_value_set_mini_object),
15663         (gst_value_take_mini_object):
15664         * gst/gstpad.c: (gst_pad_set_pad_template):
15665         * gst/gstpipeline.c: (gst_pipeline_dispose),
15666         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
15667         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
15668         (gst_collect_pads_chain):
15669         * libs/gst/net/gstnettimeprovider.c:
15670         (gst_net_time_provider_set_property):
15671         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
15672         It's in fact all issues with gst_*object_replace().
15673
15674 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15675
15676         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
15677         
15678         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15679         * pkgconfig/gstreamer-check.pc.in:
15680           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
15681
15682 2006-03-21  Edward Hervey  <edward@fluendo.com>
15683
15684         * gst/gstbuffer.h:
15685         * gst/gstevent.h:
15686         * gst/gstmessage.h:
15687         gst_[buffer|event|message]_ref() macros are replaced by a static
15688         inline functions because gcc-4.1 will about if the return value
15689         isn't used.
15690         * tests/check/gst/gstevent.c: (event_probe):
15691         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
15692
15693 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
15694
15695         * gst/gstutils.h:
15696         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
15697         the type' case. (Closes: #335195 for now). In the future, when we
15698         depend on GLib 2.10, we could also intern the type name using
15699         g_intern_static_string()
15700
15701 2006-03-20  Wim Taymans  <wim@fluendo.com>
15702
15703         * gst/gstbin.c: (gst_bin_handle_message_func),
15704         (bin_query_max_init), (bin_query_position_fold),
15705         (bin_query_position_done), (gst_bin_query):
15706         Position query should also take max of all streams.
15707
15708 2006-03-20  Wim Taymans  <wim@fluendo.com>
15709
15710         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15711         (gst_fake_src_finalize):
15712         Fix leaks in fakesrc.
15713
15714         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
15715         Fix leaks in the testcase.
15716
15717 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
15718
15719         * gst/gst_private.h:
15720           add win32 specific import decoration(__declspec(dllimport)) 
15721           for all extern GstDebugCategory * variables
15722         * win32/common/libgstbase.def:
15723         * win32/common/libgstcontroller.def:
15724         * win32/common/libgstreamer.def:
15725           Add some exports, remove empty lines
15726         * win32/common/libgstdataprotocol.def:
15727         * win32/common/libgstdataprotocol.dsp:
15728         * win32/common/libgstnet.def:
15729         * win32/common/libgstnet.dsp:
15730           new project files and exportation files added
15731         
15732 2006-03-19  Wim Taymans  <wim@fluendo.com>
15733
15734         * tests/check/libs/basesrc.c: (eos_event_counter):
15735         Use proper return value for probe.
15736
15737 2006-03-17  Wim Taymans  <wim@fluendo.com>
15738
15739         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15740         (gst_pad_push):
15741         Don't leak buffers, caps and pads on negotiation errors.
15742
15743 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
15744
15745         * docs/faq/cvs.xml:
15746         * docs/faq/dependencies.xml:
15747         * docs/faq/developing.xml:
15748         * docs/faq/faq.xml:
15749         * docs/faq/general.xml:
15750         * docs/faq/getting.xml:
15751         * docs/faq/legal.xml:
15752         * docs/faq/troubleshooting.xml:
15753         * docs/faq/using.xml:
15754         Faq review and update.
15755
15756 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
15757
15758         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15759         (gst_pad_push):
15760         Don't pound the cpu to pieces by checking get_caps when accept_caps
15761         is called with the same caps as the pad already has.
15762         Use GST_DEBUG_OBJECT when outputting caps change information.
15763
15764 2006-03-15  Wim Taymans  <wim@fluendo.com>
15765
15766         * gst/gstclock.c: (gst_clock_class_init):
15767         Fix docs.
15768
15769 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
15770
15771         * gst/gstbuffer.h:
15772         Documentation fix.
15773
15774         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
15775         (gst_pad_accept_caps), (gst_pad_configure_sink),
15776         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
15777         Make the default acceptcaps behaviour be to check the requested 
15778         caps against the gst_pad_get_caps output. 
15779
15780         Ensure that gst_pad_accept_caps is used to check caps when a pad
15781         doesn't have a setcaps function, so that pads automatically refuse 
15782         caps that they don't allow in their pad template. (Fixes #332986)
15783
15784         When a buffer with attached caps is pushed, ensure that the source 
15785         pad receives those caps even if the element didn't call
15786         gst_pad_set_caps first.
15787
15788 2006-03-15  Wim Taymans  <wim@fluendo.com>
15789
15790         * libs/gst/base/gstadapter.c:
15791         Add some docs.
15792
15793 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
15794
15795         * win32/common/libgstbase.def:
15796         * win32/common/libgstcontroller.def:
15797         * win32/common/libgstreamer.def:
15798           Add a whole bunch of missing functions (#334434).
15799
15800 2006-03-14  Wim Taymans  <wim@fluendo.com>
15801
15802         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15803         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15804         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
15805         Better debug info when we receive a segment event.
15806         Reorganize a bit so we can pass the get_times() results around.
15807         Use the segment format when calculating the running time.
15808         Don't do QoS is sync is disabled or we have no clock or the
15809         element does not want us to sync to the clock.
15810         Don't drop buffers if QoS is disabled for now.
15811
15812 2006-03-14  Wim Taymans  <wim@fluendo.com>
15813
15814         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
15815         Marked the stats property as unimplemented so people don't get
15816         wild ideas.
15817         Add debug message when regression goes wrong.
15818         Added some more docs.
15819
15820 2006-03-14  Wim Taymans  <wim@fluendo.com>
15821
15822         * gst/gstsegment.c: (gst_segment_to_stream_time):
15823         Return correct return type in case of errors.
15824
15825 2006-03-14  Wim Taymans  <wim@fluendo.com>
15826
15827         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
15828           Don't segfault on invalid formats.
15829
15830 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15831
15832         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15833           Can't use gst_segment_to_running_time() when the segment
15834           is not in GST_TIME_FORMAT (like with filesink, for example).
15835           Stops flac encoding pipelines from spewing critical warnings
15836           at EOS (#331248).
15837           
15838 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15839
15840         * gst/gstpipeline.c: (gst_pipeline_class_init):
15841           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
15842
15843         * plugins/elements/gsttypefindelement.c:
15844         (gst_type_find_element_handle_event):
15845           Don't try to typefind empty streams.
15846
15847 2006-03-14  Wim Taymans  <wim@fluendo.com>
15848
15849         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15850         (gst_base_sink_do_qos):
15851         Separate QoS calculation.
15852         Only drop buffers when lateness is bigger than the 
15853         duration of the buffer.
15854
15855 2006-03-13  Wim Taymans  <wim@fluendo.com>
15856
15857         * gst/gstpipeline.c: (gst_pipeline_set_property),
15858         (gst_pipeline_get_property), (do_pipeline_seek),
15859         (gst_pipeline_change_state), (gst_pipeline_set_delay),
15860         (gst_pipeline_get_delay):
15861         Don't deadlock when reading properties.
15862
15863 2006-03-13  Wim Taymans  <wim@fluendo.com>
15864
15865         * libs/gst/base/gstbasetransform.c:
15866         (gst_base_transform_class_init), (gst_base_transform_init),
15867         (gst_base_transform_sink_event),
15868         (gst_base_transform_sink_eventfunc),
15869         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
15870         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
15871         (gst_base_transform_set_property),
15872         (gst_base_transform_get_property),
15873         (gst_base_transform_change_state), (gst_base_transform_update_qos),
15874         (gst_base_transform_set_qos_enabled),
15875         (gst_base_transform_is_qos_enabled):
15876         * libs/gst/base/gstbasetransform.h:
15877         Make basetransform virtual method for src events too.
15878         Handle QOS in basetransform.
15879         API: gst_base_transform_update_qos()
15880         API: gst_base_transform_set_qos_enabled()
15881         API: gst_base_transform_is_qos_enabled()
15882
15883 2006-03-13  Wim Taymans  <wim@fluendo.com>
15884
15885         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15886         (gst_base_sink_do_sync):
15887         Small cleanups.
15888         Use QOS debug category.
15889
15890 2006-03-13  Wim Taymans  <wim@fluendo.com>
15891
15892         * plugins/elements/gstqueue.c:
15893         Very small doc update.
15894
15895 2006-03-13  Wim Taymans  <wim@fluendo.com>
15896
15897         * gst/gst_private.h:
15898         * gst/gstinfo.c: (_gst_debug_init):
15899         Added QOS debug category
15900
15901 2006-03-13  Wim Taymans  <wim@fluendo.com>
15902
15903         * docs/gst/gstreamer-sections.txt:
15904         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
15905         * gst/gstbin.h:
15906         * gst/gstbus.c: (gst_bus_class_init):
15907         * gst/gstbus.h:
15908         * gst/gstclock.c:
15909         * gst/gstelement.c: (gst_element_set_locked_state):
15910         * gst/gstsegment.c:
15911         Documentation updates.
15912
15913         * gst/gstpipeline.c: (gst_pipeline_get_type),
15914         (gst_pipeline_class_init), (gst_pipeline_init),
15915         (gst_pipeline_dispose), (gst_pipeline_set_property),
15916         (gst_pipeline_get_property), (do_pipeline_seek),
15917         (gst_pipeline_send_event), (gst_pipeline_change_state),
15918         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
15919         (gst_pipeline_get_delay):
15920         * gst/gstpipeline.h:
15921         Added methods for setting the delay.
15922         API: gst_pipeline_set_delay()
15923         API: gst_pipeline_get_delay()
15924         Add pipeline debug category
15925         Various cleanups.
15926         Updated docs.
15927         Don't reset stream time when seek failed.
15928
15929 2006-03-13  Wim Taymans  <wim@fluendo.com>
15930
15931         * docs/design/draft-klass.txt:
15932         * docs/design/part-clocks.txt:
15933         * docs/design/part-events.txt:
15934         * docs/design/part-gstbin.txt:
15935         * docs/design/part-gstpipeline.txt:
15936         * docs/design/part-messages.txt:
15937         * docs/design/part-negotiation.txt:
15938         * docs/design/part-overview.txt:
15939         * docs/design/part-preroll.txt:
15940         * docs/design/part-seeking.txt:
15941         * docs/design/part-states.txt:
15942         * docs/design/part-streams.txt:
15943         Documentation updates.
15944
15945 2006-03-12  Julien MOUTTE  <julien@moutte.net>
15946
15947         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
15948         us to leak strings...
15949
15950 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15951
15952         * libs/gst/net/gstnettimeprovider.c:
15953           fix docs
15954         * win32/common/config.h:
15955           update
15956
15957 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
15958
15959         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
15960
15961         * configure.ac:
15962           Don't check for libgnomeui (leftover from old examples
15963           that aren't built or disted any longer) (#334303).
15964           
15965 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
15966
15967         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
15968         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15969           Emit RESOURCE_NO_SPACE_LEFT error here as well when
15970           there's no space left on the device.
15971
15972 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
15973
15974         * gst/gstclock.h:
15975           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
15976           to cast the input to GstClockTime before comparing with
15977           another GstClockTime value.
15978
15979 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15980
15981         * configure.ac:
15982           back to trunk
15983
15984 === release 0.10.4 ===
15985
15986 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
15987
15988         * configure.ac:
15989           releasing 0.10.4, "Light"
15990
15991 2006-03-10  Michael Smith  <msmith@fluendo.com>
15992
15993         * libs/gst/dataprotocol/dataprotocol.c:
15994           Fix docs for dataprocotol to not get the return types completely
15995           wrong for a few functions.
15996
15997 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15998
15999         * docs/gst/gstreamer-sections.txt:
16000         * gst/gstpipeline.c: (gst_pipeline_class_init),
16001         (gst_pipeline_init), (gst_pipeline_set_property),
16002         (gst_pipeline_get_property), (gst_pipeline_change_state),
16003         (gst_pipeline_set_auto_flush_bus),
16004         (gst_pipeline_get_auto_flush_bus):
16005         * gst/gstpipeline.h:
16006           Add new API: gst_pipeline_set_auto_flush_bus() and
16007           gst_pipeline_get_auto_flush_bus() to disable automatic
16008           flushing of the pipeline's GstBus when going from READY
16009           to NULL state (#332045).
16010
16011 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16012
16013         * docs/gst/gstreamer-sections.txt:
16014         * gst/gsturi.c: (gst_uri_has_protocol):
16015         * gst/gsturi.h:
16016            Add new API: gst_uri_has_protocol() (#333779).
16017
16018 2006-03-09  Wim Taymans  <wim@fluendo.com>
16019
16020         * gst/gstclock.c: (gst_clock_entry_new),
16021         (gst_clock_id_compare_func), (gst_clock_id_wait),
16022         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16023         (gst_clock_init), (gst_clock_get_internal_time),
16024         (gst_clock_set_master), (do_linear_regression),
16025         (gst_clock_add_observation), (gst_clock_set_property):
16026         * gst/gstclock.h:
16027         Review docs.
16028         Small cleanups.
16029         Fix a possible segfault when the window-size is made smaller.
16030         Calculate jitter before performing the clock wait. Ideally
16031         the clock implementation should calculate jitter but we need
16032         API breakage for that.
16033
16034         * gst/gstsystemclock.c: (gst_system_clock_init):
16035         Docs review.
16036         
16037         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16038         Remove leftover else
16039
16040         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16041         (gst_systemclock_suite):
16042         Added check to test GST_CLOCK_DIFF.
16043
16044 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16045
16046         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16047         (gst_type_find_helper_get_range):
16048           If we are provided with the size, we should implement
16049           GstTypeFind::get_length, so that typefind functions who
16050           want to can actually peek at the middle of a file.
16051
16052 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16053
16054         * docs/manual/advanced-dataaccess.xml:
16055           Add some very very basic error checking.
16056
16057         * docs/pwg/appendix-checklist.xml:
16058           Some updates to the list of things to check when writing an element.
16059
16060 2006-03-08  Wim Taymans  <wim@fluendo.com>
16061
16062         * docs/design/part-element-transform.txt:
16063         Added some docs about the design of tranform elements.
16064
16065         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16066         (gst_base_src_loop), (gst_base_src_change_state):
16067         Mark buffers with the DISCONT flag.
16068
16069 2006-03-08  Michael Smith  <msmith@fluendo.com>
16070
16071         * gst/gstregistry.h:
16072         * gst/gstregistryxml.c: (gst_registry_save),
16073         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16074         (gst_registry_xml_save_pad_template),
16075         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16076         (gst_registry_xml_write_cache):
16077           Rewrite registry-saving to avoid race conditions and check for
16078           failed writes.
16079
16080 2006-03-08  Wim Taymans  <wim@fluendo.com>
16081
16082         * libs/gst/base/gstbasetransform.c:
16083         (gst_base_transform_transform_caps),
16084         (gst_base_transform_transform_size),
16085         (gst_base_transform_prepare_output_buffer),
16086         (gst_base_transform_get_unit_size),
16087         (gst_base_transform_buffer_alloc),
16088         (gst_base_transform_handle_buffer),
16089         (gst_base_transform_change_state):
16090         Cleanups, separate normal flow from errors, add sensible
16091         DEBUG lines.
16092         Don't try to renegotiate when allocating an output buffer.
16093         Also copy DISCONT buffer flag when copying a buffer.
16094         Reset the transform after we finish streaming, not during.
16095
16096 2006-03-08  Wim Taymans  <wim@fluendo.com>
16097
16098         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16099         Use last buffer timestamp in qos message.
16100
16101 2006-03-07  Wim Taymans  <wim@fluendo.com>
16102
16103         Patch by: Christophe Fergeau
16104
16105         * docs/pwg/advanced-tagging.xml:
16106         * docs/pwg/building-pads.xml:
16107           fixes #333416
16108
16109 2006-03-07  Wim Taymans  <wim@fluendo.com>
16110
16111         * docs/libs/gstreamer-libs-sections.txt:
16112         Added basesink new methods.
16113
16114         * gst/gstevent.c:
16115         * gst/gstevent.h:
16116         Docs updates. Flesh out the QoS docs.
16117
16118         * libs/gst/base/gstadapter.c:
16119         Small doc clarification about ownership and flushing.
16120
16121         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16122         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16123         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16124         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16125         * libs/gst/base/gstbasesink.h:
16126         API additions: 
16127         Added new methods to allow subclass to control max-lateness 
16128         and sync.
16129         Generate very basic QoS events based on last sync observation.
16130         Updated docs, fix typo, added some QoS blurb.
16131
16132         * libs/gst/base/gstbasesrc.c:
16133         Remove obsolete _get_state() calls from docs.
16134
16135 2006-03-07  Wim Taymans  <wim@fluendo.com>
16136
16137         * docs/libs/gstreamer-libs-sections.txt:
16138         * libs/gst/base/gstbasetransform.h:
16139         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16140         Fix docs for GstBaseSrc.
16141
16142 2006-03-07  Wim Taymans  <wim@fluendo.com>
16143
16144         * docs/gst/gstreamer-sections.txt:
16145         * gst/gstbuffer.h:
16146         * gst/gstvalue.c:
16147         * libs/gst/base/gstbasetransform.h:
16148         Small documentation fixes.
16149
16150 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16151
16152         * gst/gstvalue.c:
16153           Document thread-unsafety of gst_value_register_foo_func()
16154           when used at the same time as gst_value_foo() (#322628).
16155
16156 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16157
16158         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16159         (gst_push_src_check_get_range):
16160           Push sources don't support pull mode by default.
16161
16162 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16163
16164         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16165         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16166         (gst_base_src_default_check_get_range):
16167         * libs/gst/base/gstbasesrc.h:
16168           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16169           provide default implementation, and rename
16170           gst_base_src_check_get_range() to
16171           gst_base_src_pad_check_get_range() for clarity.
16172
16173 2006-03-06  Wim Taymans  <wim@fluendo.com>
16174
16175         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16176         Make property overridable.
16177
16178 2006-03-06  Wim Taymans  <wim@fluendo.com>
16179
16180         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16181         (gst_base_sink_init), (gst_base_sink_set_property),
16182         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16183         * libs/gst/base/gstbasesink.h:
16184         API addition: Make max-lateness a property.
16185
16186 2006-03-06  Wim Taymans  <wim@fluendo.com>
16187
16188         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16189         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16190         Don't ever draw a frame that is >10ms late.
16191
16192 2006-03-06  Michael Smith  <msmith@fluendo.com>
16193
16194         * gst/gstmessage.c: (_gst_message_copy):
16195           When copying a message, set the parent_refcount of the enclosed
16196           structure to point at the copy, not the original message.
16197
16198 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16199
16200         Patch by: Christophe Fergeau
16201
16202         * gst/gstutils.h:
16203           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16204           usable in c++ code (#333417)
16205
16206 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16207
16208         * gst/gstclock.h:
16209           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16210
16211 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16212
16213         * libs/gst/base/gstbasetransform.c:
16214         (gst_base_transform_transform_caps):
16215           Make sure caps are writable before passing them to
16216           gst_caps_append().
16217
16218 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16219
16220         * gst/gsterror.h:
16221           Fix some minor docs errors.
16222
16223 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16224
16225           Patch by: Ross Burton <ross at burtonini dot com>
16226
16227         * gst/gsterror.c: (_gst_resource_errors_init):
16228         * gst/gsterror.h:
16229           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16230
16231 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16232
16233         * gst/gst.c:
16234         Add a check and output a g_warning when GStreamer is built
16235         against GLib 2.6 but running against 2.8 or higher, and vice 
16236         versa. (Closes: #323542)
16237
16238 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16239
16240         * gst/parse/parse.l:
16241           Commit patch for parse_launch syntax from #331255. Removes 
16242           support for quoted strings and mimetypes when writing filtered 
16243           caps. See the bug report for more details - I'm pretty sure this
16244           obscure feature is not in use by _anyone_ anywhere.
16245
16246           With this simple change, the size of the gstreamer.so here 
16247           drops from 2193KB to 1565KB.
16248
16249 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16250
16251         * plugins/elements/gsttypefindelement.h:
16252         * plugins/elements/gsttypefindelement.c:
16253         (gst_type_find_element_src_event), (start_typefinding),
16254         (stop_typefinding), (gst_type_find_element_handle_event),
16255         (gst_type_find_element_chain),
16256         (gst_type_find_element_chain_do_typefinding):
16257           Use gst_type_find_helper_for_buffer() for chain-based
16258           typefinding.
16259
16260 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16261
16262         * plugins/elements/gsttypefindelement.c:
16263         (gst_type_find_element_class_init),
16264         (gst_type_find_element_set_property),
16265         (gst_type_find_element_get_property):
16266           Deprecate "maximum" property (not only was it only taken into
16267           account for typefinding in push-mode anyway, it also was never
16268           actually possible to set it in the first place because the
16269           property was registered with the numeric property ID for the
16270           "minimum" property). Register "maximum" property correctly,
16271           for the sake of future copy'n'pasters. Remove some cruft
16272           from property get/set functions.
16273
16274 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16275
16276         * plugins/elements/gsttypefindelement.c:
16277         (gst_type_find_element_activate):
16278           Use gst_type_find_helper_get_range() here, so we
16279           can honour the "minimum" property and also emit
16280           the signal with the correct probability of the found caps.
16281
16282 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16283
16284         * docs/libs/gstreamer-libs-sections.txt:
16285         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16286         (helper_find_suggest), (gst_type_find_helper_get_range),
16287         (gst_type_find_helper):
16288         * libs/gst/base/gsttypefindhelper.h:
16289           New API: gst_type_find_helper_get_range() (#333042).
16290
16291 2006-03-02  Michael Smith  <msmith@fluendo.com>
16292
16293         * gst/gstregistryxml.c: (load_feature):
16294           Asserting on a failure to read part of the registry is Not Cool.
16295           Just log a warning and return NULL (which is already handled)
16296
16297 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16298
16299         * win32/common/libgstbase.def:
16300           added export of gst_type_find_helper_for_buffer
16301         * win32/common/libgstbase.def:
16302           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16303           gst_ghost_pad_get_target
16304
16305 2006-02-28  Wim Taymans  <wim@fluendo.com>
16306
16307         * docs/design/draft-klass.txt:
16308         We use Filter now.
16309         Added Connector to mark elements that are only used to
16310         allow pipeline connections.
16311         Moved Debug to extra feature since most of them are 
16312         functionally something else.
16313
16314 2006-02-28  Wim Taymans  <wim@fluendo.com>
16315
16316         * docs/design/draft-klass.txt:
16317         Some updates and clarifications.
16318
16319 2006-02-28  Wim Taymans  <wim@fluendo.com>
16320
16321         * docs/design/draft-klass.txt:
16322         Proposal for klass field values.
16323
16324         * docs/design/part-streams.txt:
16325         Start of a doc describing stream anatomy.
16326
16327 2006-02-28  Wim Taymans  <wim@fluendo.com>
16328
16329         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16330         Help the compiler a bit with type registration.
16331         Use existing forward cod path instead of duplicating it when 
16332         handling a message.
16333         
16334         * gst/gstbus.c: (gst_bus_get_type):
16335         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16336         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16337         * gst/gstclock.c: (gst_clock_get_type):
16338         * gst/gstelement.c: (gst_element_get_type),
16339         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16340         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16341         * gst/gstminiobject.c: (gst_mini_object_get_type):
16342         * gst/gstpad.c: (gst_pad_get_type):
16343         * gst/gstsegment.c: (gst_segment_get_type):
16344         * gst/gststructure.c: (gst_structure_get_type):
16345         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16346         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16347         * gst/gstvalue.c:
16348         Help compiler with type registration.
16349
16350         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16351         Small doc update.
16352
16353 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16354
16355         * plugins/elements/gsttypefindelement.c:
16356         (gst_type_find_element_handle_event):
16357           When we get an EOS event and have not found a type yet
16358           (most likely because we had not yet accumulated
16359           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16360           type given the data we have so far. Fixes typefinding
16361           for very short streams again, most notably quicktime
16362           redirections as used on Apple's trailer site (#331701).
16363
16364 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16365
16366         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16367         (gst_type_find_helper):
16368           Try typefinding factories with the highest rank first.
16369
16370 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16371
16372         * docs/libs/gstreamer-libs-docs.sgml:
16373         * docs/libs/gstreamer-libs-sections.txt:
16374         * libs/gst/base/gsttypefindhelper.c:
16375           Add section for typefind helper and add documentation
16376           for the old and the new function.
16377
16378 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16379
16380         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16381         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16382         (gst_type_find_helper_for_buffer):
16383         * libs/gst/base/gsttypefindhelper.h:
16384           New API: gst_type_find_helper_for_buffer() (#332723).
16385           
16386 2006-02-27  Michael Smith  <msmith@fluendo.com>
16387
16388         Patch by: Loïc Minier
16389
16390         * configure.ac:
16391         * docs/Makefile.am:
16392         * docs/slides/Makefile.am:
16393           prevent CVS directories getting disted.
16394
16395 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16396
16397         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16398           Use the REFCOUNTING category for caps refcounting.
16399           
16400 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16401
16402         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16403           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16404
16405 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16406
16407         * plugins/elements/gsttypefindelement.c:
16408         (gst_type_find_element_activate):
16409           Use gst_pad_check_pull_range() before _activate_pull()
16410           to avoid unnecessary open/close (see #331690).
16411
16412 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16413
16414         * gst/gstutils.c:
16415           Docs enhancement: make it crystal clear what the
16416           gst_pad_add_*_probe() callbacks should look like.
16417
16418 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16419
16420         * libs/gst/base/gstbasesrc.c:
16421           Document how applications can stop recording from
16422           live sources (see #330996).
16423
16424 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16425
16426         * tests/check/Makefile.am:
16427         * tests/check/libs/basesrc.c: (eos_event_counter),
16428         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16429         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16430         (gst_basesrc_suite), (main):
16431           ... and add some tests for the base source EOS stuff.
16432
16433 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16434
16435         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16436           Test case originally showed the problem fixed below,
16437           but was then amended. Add checks back at the place
16438           where they used to be.
16439
16440 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16441
16442         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16443         (gst_base_src_init), (gst_base_src_loop),
16444         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16445         (gst_base_src_change_state):
16446         * libs/gst/base/gstbasesrc.h:
16447           Don't unconditionally send EOS when going from PAUSED to
16448           READY state, esp. make sure we don't send two EOS events
16449           in some cases (e.g. one when reaching EOS and one when
16450           going from PAUSED to READY). Also, we don't want to send
16451           EOS events when operating in pull mode. However, we do
16452           want to send an EOS event when shutting down a live
16453           source explicitly, for example (fixes #330996).
16454           
16455 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16456
16457         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16458           Update src->read_position after a seek when not using mmap.
16459           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16460
16461 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16462
16463         * gst/Makefile.am:
16464         * gst/gstparse.h:
16465         * gst/gstutils.c:
16466         * gst/gstutils.h:
16467         Make things work with --disable-parse as they do with 
16468         --disable-load-save - the symbols involved disappear, but the
16469         header is still installed and GST_DISABLE_PARSE is included via
16470         gstconfig.h
16471
16472 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16473
16474         * libs/gst/base/gstbasetransform.c:
16475         (gst_base_transform_change_state): Fix a stupid bug. I was 
16476         sure I compiled that.
16477
16478 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16479
16480         * gst/gstpad.c: (gst_pad_set_blocked_async):
16481         * gst/gstutils.c: (gst_pad_add_data_probe),
16482         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16483         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16484         (gst_pad_remove_buffer_probe): Make those function act on the
16485         ghostpad target when it's a ghostpad. (Closes #331727)
16486
16487 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16488
16489         * libs/gst/base/gstbasetransform.c:
16490         (gst_base_transform_change_state): Make basetransform reusable.
16491         (Closes #331898)
16492
16493 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
16494
16495         * docs/random/release:
16496         Move the current documentation of how to do a release to the top
16497         of the file.
16498
16499         * gst/gstbin.c: (gst_bin_class_init),
16500         (gst_bin_handle_message_func):
16501         Allow multiple state-recalculation threads. (Closes #328873)
16502
16503 2006-02-19  Julien MOUTTE  <julien@moutte.net>
16504
16505         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16506         * gst/gstpad.c: (gst_pad_set_event_function),
16507         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16508         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16509         2 strings. You can't use the STR_NULL macro on that.
16510
16511 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
16512
16513         * gst/gstpad.c: (gst_pad_set_event_function),
16514         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16515         (gst_pad_set_getcaps_function)
16516         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16517           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16518           So now, we can use --gst-debug-level=5 on Windows
16519         * win32/common/libgstcontroller.def:
16520           Added export of gst_controller_init
16521         * win32/vs6/libgstcontroller.dsp:
16522           Fixed Release post build configuration
16523
16524 2006-02-17  Wim Taymans  <wim@fluendo.com>
16525
16526         * tests/check/gst/gstquery.c: (GST_START_TEST):
16527         Added another check.
16528
16529 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
16530
16531         * plugins/elements/gsttypefindelement.c: (find_peek):
16532           We can do peeks at non-zero offsets, as long as they
16533           fall within the buffer we have.
16534
16535 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
16536
16537         * tests/check/Makefile.am:
16538         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16539         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16540         (parse_suite), (main):
16541           Add testsuite for parse launch syntax
16542
16543 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
16544
16545         * plugins/elements/gsttypefindelement.c:
16546         (gst_type_find_element_chain):
16547           When typefinding is unsuccessful in the chain function, don't
16548           error out immediately. Only error out with NO_CAPS_FOUND if
16549           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16550           otherwise simply wait for more data so we can try typefinding
16551           again with more data later. Also, don't attempt to typefind
16552           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16553           this should improve typefinding from network sources where the
16554           size of the first buffer can be somewhat random.
16555
16556 2006-02-14  Wim Taymans  <wim@fluendo.com>
16557
16558         * docs/gst/gstreamer-sections.txt:
16559         * gst/gstpadtemplate.c:
16560         * gst/gstpadtemplate.h:
16561         Fix padtemplate docs, fixes #328805.
16562
16563 2006-02-14  Wim Taymans  <wim@fluendo.com>
16564
16565         * tools/gst-launch.c: (main):
16566         NO_PREROLL is not an ERROR so don't send confusing messages
16567         to the user.
16568
16569 2006-02-14  Wim Taymans  <wim@fluendo.com>
16570
16571         Patch by: Torsten Schoenfeld
16572
16573         * gst/gstregistry.c: (gst_registry_get_default),
16574         (_gst_registry_cleanup):
16575         Protect default registry with lock and ref/sink it.
16576         Fixes #324818
16577
16578 2006-02-14  Wim Taymans  <wim@fluendo.com>
16579
16580         * gst/gstbuffer.c:
16581         * gst/gstquery.c: (gst_query_list_add_format),
16582         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16583         (gst_query_parse_formats_nth):
16584         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16585         Docs fixes.
16586
16587 2006-02-14  Wim Taymans  <wim@fluendo.com>
16588
16589         * docs/gst/gstreamer-sections.txt:
16590         Reworked query docs.
16591
16592         * gst/gstquery.c: (gst_query_new_formats),
16593         (gst_query_list_add_format), (gst_query_set_formats),
16594         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16595         (gst_query_parse_formats_nth):
16596         * gst/gstquery.h:
16597         Flesh out formats query, added some new methods.
16598         Fix part of #324398.
16599
16600         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16601         Added query creation tests.
16602
16603 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
16604
16605         * gst/gstpad.c: (fixate_value):
16606         Add a default fixation for fraction lists.
16607
16608 2006-02-13  Wim Taymans  <wim@fluendo.com>
16609
16610         * gst/gsttask.c: (gst_task_init), (gst_task_func),
16611         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16612         (gst_task_join):
16613         * gst/gsttask.h:
16614         Detect and warn for obvious deadlocks. fixes #320340
16615         Fix error case where lock was not released.
16616
16617         * tests/check/Makefile.am:
16618         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16619         (task_func), (gst_element_suite), (main):
16620         Add task check.
16621
16622 2006-02-13  Wim Taymans  <wim@fluendo.com>
16623
16624         * docs/gst/gstreamer-sections.txt:
16625         * gst/gstbus.c:
16626         Add new functions to docs.
16627
16628 2006-02-13  Wim Taymans  <wim@fluendo.com>
16629
16630         * docs/design/part-TODO.txt:
16631         Updated TODO list, basesrc supports seeking to non-bytes
16632         formats.
16633
16634         * docs/design/part-element-sink.txt:
16635         Update docs.
16636
16637         * gst/gstbin.c: (bin_replace_message),
16638         (gst_bin_handle_message_func):
16639         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
16640         * gst/gstevent.c: (gst_event_finalize):
16641         * gst/gstpad.c: (gst_pad_event_default_dispatch),
16642         (gst_pad_send_event):
16643         Use shiny new _TYPE_NAME macros.
16644
16645         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16646         Move debug statement up.
16647
16648         * gst/gstelement.c: (gst_element_set_locked_state):
16649         Add some debugging.
16650
16651 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
16652
16653         * docs/gst/gstreamer-sections.txt:
16654         * gst/gstmessage.h:
16655         * gst/gstquery.h:
16656           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
16657           macros (#330906). Also, document the already existing
16658           GST_QUERY_TYPE macro.
16659
16660 2006-02-13  Wim Taymans  <wim@fluendo.com>
16661
16662         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
16663         (event_probe), (GST_START_TEST):
16664         Only events up to the pipeline EOS are counted, there are
16665         some more when going to NULL currently which we don't care
16666         about for now.
16667
16668 2006-02-13  Wim Taymans  <wim@fluendo.com>
16669
16670         * gst/gstpad.c: (gst_pad_send_event):
16671         Correctly check flushing and emit probes. fixes #330125
16672
16673 2006-02-10  Andy Wingo  <wingo@pobox.com>
16674
16675         * gst/gstbus.c (gst_bus_class_init): Declare our private data
16676         structure.
16677         (gst_bus_init): Cache the location of the private data in the
16678         instance structure.
16679         (gst_bus_enable_sync_message_emission) 
16680         (gst_bus_disable_sync_message_emission): Implement new public
16681         functions.
16682         (gst_bus_post): Emit the sync-message signal if the user asked for
16683         it. Fixes #330684.
16684
16685         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
16686         location of the bus-private structure.
16687         (gst_bus_enable_sync_message_emission)
16688         (gst_bus_disable_sync_message_emission): API addition
16689
16690 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
16691
16692         Patch by: Vincent Torri
16693
16694         * docs/pwg/building-boiler.xml:
16695         PWG patch from #326800
16696
16697 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
16698
16699         * configure.ac:
16700         * docs/Makefile.am:
16701         * docs/design/Makefile.am:
16702           Dist design docs.
16703
16704 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
16705
16706         * configure.ac:
16707           back to CVS
16708
16709 === release 0.10.3 ===
16710
16711 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
16712
16713         * configure.ac:
16714           releasing 0.10.3, "Like a virgin"
16715
16716 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
16717
16718         * configure.ac:
16719           2nd prerelease of 0.10.3
16720           Bump libtool versioning.
16721
16722 2006-02-07  Andy Wingo  <wingo@pobox.com>
16723
16724         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
16725         update last_stop if we're in TIME format and the timestamp is
16726         valid.
16727
16728         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
16729         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
16730         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
16731         If we get a new newsegment with a different format, adapt
16732         accordingly.
16733
16734         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
16735         of 0. Not a problem, really.
16736
16737         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
16738         warn if sync=true.
16739
16740 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
16741
16742         * configure.ac:
16743           Prelease of 0.10.3
16744
16745 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
16746
16747         * win32/vs7:
16748           project files updated to the default vs7 configuration
16749         * win32/common/libgstbase.def:
16750         * win32/common/libgstreamer.def:
16751           added new symbols,
16752           removed empty lines,
16753           sorted all exported symbols alphabetically
16754         * win32/common/dirent.c:
16755         * win32/common/dirent.h:
16756         * win32/common/gchar.h:
16757           use windows line end.
16758           
16759 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16760
16761         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
16762           Send EOS event when stopping.
16763
16764 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16765
16766         * docs/README:
16767           Tell folks what to do if the plugin-foobar.xml file
16768           hasn't been generated for a newly-added plugin.
16769
16770 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16771
16772         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
16773         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
16774         (gst_collect_pads_start), (gst_collect_pads_stop),
16775         (gst_collect_pads_event): Collectpads now holds a reference
16776         to the GstPad that was added. Indeed we don't want to look
16777         at pads that might just go away with no warning...
16778
16779 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16780
16781         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16782         (gst_collect_pads_start), (gst_collect_pads_stop),
16783         (gst_collect_pads_event), (gst_collect_pads_chain):
16784         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
16785         Mark Nauwelaerts's patch on bug #328491.
16786
16787 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16788
16789         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
16790         (gst_utils_suite):
16791           Add some simple tests for gst_parse_bin_from_description() and
16792           gst_bin_find_unconnected_pad() (#329069).
16793
16794 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16795
16796         * tools/gst-launch.c: (event_loop), (main):
16797           Catch errors during preroll (#320084).
16798
16799 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
16800
16801         * plugins/elements/gsttypefindelement.c:
16802         (gst_type_find_element_activate):
16803           Post TYPE_NOT_FOUND error message when typefinding
16804           is unsuccessful in the activate function as well.
16805
16806 2006-02-02  Wim Taymans  <wim@fluendo.com>
16807
16808         * docs/design/part-element-sink.txt:
16809         Updated doc.
16810
16811 2006-02-02  Wim Taymans  <wim@fluendo.com>
16812
16813         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16814         (gst_base_sink_render_object),
16815         (gst_base_sink_queue_object_unlocked):
16816         Only keep track of prerollable items when we are 
16817         prerolling.
16818         Before rendering after preroll, always check if we
16819         have queued items.
16820         Added some more debugging.
16821
16822 2006-02-02  Wim Taymans  <wim@fluendo.com>
16823
16824         * gst/gstelement.c: (gst_element_continue_state),
16825         (gst_element_set_state_func), (gst_element_change_state):
16826         Fixed #326576, been running this for quite some time with
16827         no regressions at all.
16828
16829 2006-02-02  Wim Taymans  <wim@fluendo.com>
16830
16831         * common/gst.supp:
16832         Added more suppressions
16833
16834 2006-02-02  Wim Taymans  <wim@fluendo.com>
16835
16836         * docs/design/part-element-sink.txt:
16837         Updated document.
16838
16839         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16840         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
16841         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
16842         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16843         (gst_base_sink_do_sync), (gst_base_sink_render_object),
16844         (gst_base_sink_preroll_object),
16845         (gst_base_sink_queue_object_unlocked),
16846         (gst_base_sink_queue_object), (gst_base_sink_event),
16847         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
16848         (gst_base_sink_loop), (gst_base_sink_activate_pull),
16849         (gst_base_sink_get_position), (gst_base_sink_change_state):
16850         * libs/gst/base/gstbasesink.h:
16851         Totally refactored matching the design doc.
16852         Use two segments, one to clip incomming buffers and another to
16853         perform sync.
16854         Handle queueing correctly, bypass the queue when playing.
16855         Make EOS cancelable.
16856         Handle errors correctly when operating in pull based mode.
16857
16858         * tests/check/elements/fakesink.c: (GST_START_TEST),
16859         (fakesink_suite):
16860         Added new check for sinks.
16861
16862 2006-02-02  Wim Taymans  <wim@fluendo.com>
16863
16864         * gst/gstsegment.c: (gst_segment_clip):
16865         No reason to refuse to clip when start == -1
16866
16867 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
16868
16869         * docs/README:
16870         * docs/manual/intro-basics.xml:
16871         * docs/manual/intro-preface.xml:
16872         * docs/manual/manual.xml:
16873         * docs/pwg/advanced-dparams.xml:
16874         * docs/pwg/intro-basics.xml:
16875         * docs/pwg/intro-preface.xml:
16876         * docs/pwg/pwg.xml:
16877           describe dparams (controller) for plugins
16878           unify docs a little more
16879
16880 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
16881
16882         * docs/gst/gstreamer-sections.txt:
16883         * gst/gstutils.c: (element_find_unconnected_pad),
16884         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
16885         * gst/gstutils.h:
16886           Add new API: gst_parse_bin_from_description() and
16887           gst_bin_find_unconnected_pad() (#329069).
16888
16889 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
16890
16891         * docs/manual/README:
16892           uncover a nasty detail of the docs build
16893
16894 2006-01-31  Wim Taymans  <wim@fluendo.com>
16895
16896         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
16897         Don't cache duration messages if we're not going to use or
16898         free them.
16899
16900 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
16901
16902         * docs/manual/advanced-dparams.xml:
16903         * docs/pwg/advanced-dparams.xml:
16904           more dparam docs
16905         * gst/gstindex.c:
16906           fix docs
16907         * libs/gst/controller/lib.c: (gst_controller_init):
16908           init just once
16909
16910 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16911
16912         * gst/gstelement.c: (gst_element_message_full):
16913           also show file/line/func if no additional debug was given
16914
16915 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
16916         
16917         * win32/vs7/grammar.vcproj:
16918           activate copy of autogenerated files for Release mode
16919
16920 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16921         
16922         * win32/common/libgstreamer.def:
16923           export gst_value_compare
16924
16925 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
16926
16927         * plugins/elements/Makefile.am:
16928         * plugins/elements/gstelements.c:
16929         * plugins/elements/gstfdsink.c: (_do_init),
16930         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
16931         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
16932         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
16933         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
16934         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
16935         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
16936         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
16937         * plugins/elements/gstfdsink.h:
16938         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
16939
16940 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
16941
16942         * docs/manual/advanced-dparams.xml:
16943           describe controller
16944         * docs/manual/advanced-position.xml:
16945         * docs/manual/basics-init.xml:
16946         * docs/manual/manual.xml:
16947         * docs/manual/titlepage.xml:
16948         * docs/pwg/pwg.xml:
16949         * docs/pwg/titlepage.xml:
16950           cleanup xml (more to come)
16951         * libs/gst/controller/gstcontroller.c:
16952           fix typo
16953
16954 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16955         
16956         * win32/vs6/grammar.dsp:
16957           add autogen of gstmarshal.c,h for Release mode
16958                 
16959 2006-01-30  Wim Taymans  <wim@fluendo.com>
16960
16961         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16962         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
16963         (gst_base_sink_handle_object), (gst_base_sink_event),
16964         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
16965         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16966         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
16967         (gst_base_sink_deactivate), (gst_base_sink_activate),
16968         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16969         (gst_base_sink_query), (gst_base_sink_change_state):
16970         Basesink cleanups, remove some old code.
16971         Handle the case where a subclass can preroll in the render
16972         method (mostly audiosinks).
16973         Handle more events.
16974         Remove some locks around variables that are now protected
16975         with the PREROLL_LOCK (clock_id, flushing, ..).
16976         Optimize position query some more, do correct locking.
16977         Remove old code to push queue in state change, this is not
16978         needed anymore since preroll blocks on all prerollable items 
16979         now.
16980         Almost implemented as described in design doc.
16981
16982 2006-01-30  Wim Taymans  <wim@fluendo.com>
16983
16984         * tests/check/gst/gstbin.c: (GST_START_TEST):
16985         Wait for refcount to settle down before checking.
16986
16987 2006-01-30  Wim Taymans  <wim@fluendo.com>
16988
16989         * docs/design/part-element-sink.txt:
16990         Pseudo code overview of desired sink behaviour regarding
16991         preroll.
16992
16993 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16994         * win32/vs6/grammar.dsp:
16995           fix some bugs in Release mode for autogenerated files
16996                 
16997 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16998         * win32/common/libgstbase.def:
16999         * win32/common/libgstreamer.def:
17000           export some new symbols: gst_base_src_set_format,
17001           gst_iterator_next, gst_structure_set_valist
17002
17003 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17004
17005         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17006         Set pad functions unconditionally. Fixes #329105.
17007
17008 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17009         * win32/vs8:
17010           add vs8 project files created by Sergey Scobich
17011
17012 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17013
17014         * gst/gstutils.c: (gst_element_unlink_pads):
17015         Don't leak pad references.
17016
17017         * tests/check/elements/fakesink.c: (GST_START_TEST):
17018         * tests/check/generic/sinks.c: (GST_START_TEST):
17019         * tests/check/generic/states.c: (GST_START_TEST):
17020         * tests/check/gst/gstbin.c: (GST_START_TEST):
17021         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17022         * tests/check/gst/gstelement.c: (GST_START_TEST):
17023         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17024         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17025         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17026         Fix a bunch of leaks. Make generic/sinks.c
17027         use a bit less cpu by slowing the buffer rate
17028         between fakesrc and fakesink.
17029         
17030 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17031         * gst/gstcaps.c:
17032         * gst/gstelement.c: (gst_element_send_event):
17033         * gst/gstevent.c:
17034         * gst/gstinfo.c:
17035         * gst/gstiterator.c:
17036         * gst/gstiterator.h:
17037         * gst/gstpad.c: (gst_pad_send_event):
17038         * gst/gststructure.c:
17039         * gst/gsturi.c:
17040         * gst/gstutils.c:
17041         * gst/gstvalue.c:
17042         * libs/gst/base/gstadapter.c:
17043           doc fixes, to link to function, just write gst_cool_function(), don't
17044           prefix with '#'
17045
17046 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17047
17048         * plugins/elements/gsttee.c: (gst_tee_do_push),
17049         (gst_tee_handle_buffer):
17050         Always prefer an actual return value from a src
17051         pad in place of NOT_LINKED. This means we return
17052         WRONG_STATE when all src pads are WRONG_STATE
17053         instead of NOT_LINKED.
17054
17055         Lock when replacing the last message to prevent
17056         racing with the get_property method.
17057
17058         Add debug output
17059
17060 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17061
17062         * tests/check/Makefile.am:
17063         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17064         (main):
17065         Add a very simple check that should have caught the memleak I fixed
17066         last night (if not for the slice allocator hiding it)
17067
17068 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17069
17070         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17071         (gst_bin_remove_func), (gst_bin_handle_message_func),
17072         (bin_query_duration_fold), (bin_query_generic_fold):
17073         Clean up references to the clock provider when disposed or when
17074         handling a clock-lost message from it.
17075
17076         Unref sinks when performing a query via gst_iterator_fold, as the
17077         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17078
17079         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17080         (gst_clock_set_master):
17081         Drop our reference to the master clock, if any, when we are disposed.
17082
17083         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17084         Chain up in dispose. 
17085
17086 2006-01-26  Wim Taymans  <wim@fluendo.com>
17087
17088         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17089         Add some debugging.
17090
17091 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17092
17093         * plugins/elements/gsttee.c: (gst_tee_do_push),
17094         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17095         handles pad being NOT_LINKED or in WRONG_STATE.
17096
17097 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17098
17099         * win32/MANIFEST:
17100           more updating
17101
17102 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17103
17104         * win32/MANIFEST:
17105           remove obsolete entry
17106
17107 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17108
17109         * docs/gst/gstreamer-sections.txt:
17110         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17111         (gst_bin_iterate_sources), (gst_bin_send_event):
17112         * gst/gstbin.h:
17113         * gst/gstelement.c: (gst_element_send_event):
17114         * gst/gstevent.c:
17115         * gst/gstpad.c: (gst_pad_send_event):
17116           added code for downstream events, reviewed docs in gstevent.c
17117
17118 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17119
17120         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17121         We only query position using the clock in the playing state.
17122         Query peer in the other cases.
17123         * win32/common/config.h: Updates.
17124
17125 2006-01-24  Wim Taymans  <wim@fluendo.com>
17126
17127         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17128         A clock entry that is scheduled for the exact time of the
17129         clock is still in time.
17130
17131         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17132         (gst_base_sink_do_sync):
17133         Add some more debug info.
17134
17135 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17136
17137         * win32/vs7:
17138           Add new vs7 project files and solution.
17139
17140 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17141
17142         * win32/vs7:
17143           all files removed as they were out-dated.
17144
17145 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17146
17147         * docs/random/release:
17148           update notes
17149         * gst/gstbin.c: (gst_bin_init):
17150         * gst/gstbus.c: (gst_bus_new):
17151         * gst/gstbus.h:
17152         * gst/gstpipeline.c: (gst_pipeline_init):
17153           use gst_bus_new(), improve logging, fix docs
17154         * win32/common/config.h:
17155           update for cvs build
17156
17157 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17158
17159         * autogen.sh:
17160           up required version of automake to 1.7
17161
17162 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17163
17164         * win32/common/libgstreamer.def:
17165           export gst_buffer_is_metadata_writable
17166
17167 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17168
17169         * docs/gst/gstreamer-sections.txt:
17170         * gst/gstevent.h:
17171           Add gst_event_replace() (#327001)
17172
17173 2006-01-20  Wim Taymans  <wim@fluendo.com>
17174
17175         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17176         Make it actually compile too..
17177
17178 2006-01-20  Wim Taymans  <wim@fluendo.com>
17179
17180         * gst/gstcaps.c:
17181         Clarify behaviour of _is_equal() when passing NULL parameters.
17182
17183         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17184         (gst_pad_set_caps):
17185         Cleanups. Don't unref NULL caps.
17186         When setting the same caps, protect caps of the pad with
17187         proper lock.
17188         Use full functionality of _is_equal() when comparing caps.
17189
17190 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17191
17192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17193         Don't loop infinitely if there are no buffers to present. Partially
17194         fixes #327197, but collectpads is just broken for reusing elements
17195         to do multiple encodes atm.
17196
17197 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17198
17199         * tools/gst-inspect.c: (print_element_features):
17200         * tools/gst-xmlinspect.c: (main):
17201         URL_HANDLER is not a plugin feature we can search for in
17202         the registry.
17203
17204 2006-01-19  Edward Hervey  <edward@fluendo.com>
17205
17206         * gst/gstelement.c: (gst_element_pads_activate): 
17207         When activating, do src pads first, then sink pads.
17208         When de-activating, do sink pads first, then src pads.
17209
17210 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17211
17212         * docs/gst/gstreamer-sections.txt:
17213         Add gst_index_add_associationv to the docs
17214
17215 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17216
17217         * gst/gstevent.c:
17218           Fix docs typo
17219
17220         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17221         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17222           Do some refactoring. Doesn't actually change functionality,
17223           but makes landing the DRAIN event easier later.
17224
17225 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17226
17227         * docs/pwg/advanced-scheduling.xml:
17228           Update from 0.9.x to 0.10 API and make example a bit
17229           clearer.
17230
17231 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17232
17233         * docs/gst/gstreamer-sections.txt:
17234         Add gst_buffer_(is|make)_metadata_writable methods.
17235
17236 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17237
17238         * docs/design/part-sparsestreams.txt:
17239         Update sparse streams doc, hopefully for greater clarity
17240
17241 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17242
17243         * docs/design/part-events.txt:
17244         Remove mention of FILLER events.
17245         Add DRAIN event.
17246
17247         * docs/design/part-sparsestreams.txt:
17248         Write some things about using NEWSEGMENT to keep sparse streams
17249         flowing.
17250
17251 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17252
17253         * gst/gstbin.c: (gst_bin_dispose):
17254           Guard gst_object_unref call against a NULL object (dispose
17255           can theoretically be called multiple times).
17256           
17257 2006-01-18  Wim Taymans  <wim@fluendo.com>
17258
17259         * gst/gstbin.c: (gst_bin_element_set_state):
17260         * gst/gstclock.c: (gst_clock_id_wait):
17261         Added some more debug info.
17262
17263         * libs/gst/base/gstadapter.c:
17264         Added more docs.
17265
17266         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17267         (gst_base_sink_do_sync), (gst_base_sink_chain):
17268         Added some comments.
17269
17270 2006-01-18  Wim Taymans  <wim@fluendo.com>
17271
17272         * tests/check/Makefile.am:
17273         * tests/check/elements/fakesink.c: (chain_async_buffer),
17274         (chain_async), (chain_async_return), (GST_START_TEST),
17275         (fakesink_suite), (main):
17276         Added fakesink test that checks prerolling and clipping
17277         behaviour.
17278
17279         * tests/check/gst/gstutils.c: (GST_START_TEST):
17280         Make check run faster so that buildbots don't timeout.
17281
17282 2006-01-18  Wim Taymans  <wim@fluendo.com>
17283
17284         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17285         (gst_base_sink_do_sync):
17286         Some cleanups.
17287         When the sink finishes blocking on the preroll buffer, it can
17288         immediatly render it instead of rendering when the next buffer
17289         arrives.
17290
17291 2006-01-18  Wim Taymans  <wim@fluendo.com>
17292
17293         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17294         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17295         (gst_base_sink_chain):
17296         Small cleanups.
17297         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17298         Don't store _last_stop if the buffer is dropped.
17299
17300 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17301
17302         * plugins/elements/gsttypefindelement.c:
17303         (gst_type_find_element_class_init):
17304           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17305           object method handler that sets the caps on the pad and we want
17306           that to happen before we emit the signal (fixes e.g. feeding a
17307           plain text file to decodebin).
17308
17309 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17310
17311         * gst/gstplugin.c: Add MPL and Proprietary as license options
17312
17313 2006-01-18  Andy Wingo  <wingo@pobox.com>
17314
17315         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17316         symbol was exported before, it appears this was just an oversight.
17317         Fixes #168703.
17318         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17319
17320         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17321         prototype to gint. OK since this prototype was not in the header.
17322
17323 2006-01-17  Andy Wingo  <wingo@pobox.com>
17324
17325         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17326         registry while we remove plugins.
17327
17328         * tools/gst-inspect.c (print_element_info): Don't unref the
17329         factory arg, that should be the responsibility of whatever code
17330         received the ref. Fixes a double-free when called from
17331         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17332         (main): Unref the factory if we have one.
17333         (print_element_list): No change -- relies on the
17334         plugin_feature_list_free to free the list of features.
17335
17336 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17337
17338         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17339         (gst_buffer_make_metadata_writable):
17340         * gst/gstbuffer.h:
17341         * libs/gst/base/gstbasetransform.c:
17342         (gst_base_transform_prepare_output_buf):
17343         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17344         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17345           Replace gst_buffer_(make|is)_metadata_writable patch now
17346           that the release is out.
17347
17348 2006-01-17  Andy Wingo  <wingo@pobox.com>
17349
17350         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17351         in the present tense without reference to versions.
17352
17353         * gst/gstregistry.c (gst_registry_add_plugin)
17354         (gst_registry_remove_plugin, gst_registry_remove_feature)
17355         (gst_registry_find_feature, gst_registry_get_feature_list)
17356         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17357         (gst_registry_lookup, gst_registry_scan_path)
17358         (_gst_registry_remove_cache_plugins)
17359         (gst_registry_get_feature_list_by_plugin): Add argument
17360         validation.
17361
17362 === release 0.10.2 ===
17363
17364 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17365
17366         * configure.ac:
17367           releasing 0.10.2, "If man is five"
17368
17369 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17370
17371         * gst/gstbuffer.c:
17372         * gst/gstbuffer.h:
17373         * libs/gst/base/gstbasetransform.c:
17374         (gst_base_transform_prepare_output_buf):
17375         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17376         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17377           Back out patch until after the release.
17378
17379 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17380
17381         * gst/gstminiobject.c:
17382           Spelling fix in docs.
17383         * ChangeLog - remove conflict indicator
17384
17385 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17386
17387         Reviewed By: Andy Wingo
17388
17389         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17390         (gst_buffer_make_metadata_writable):
17391         * gst/gstbuffer.h:
17392           Add gst_buffer_(is|make)_metadata_writable as analogues of
17393           gst_buffer_(is|make)_writable.
17394
17395         * libs/gst/base/gstbasetransform.c:
17396         (gst_base_transform_prepare_output_buf):
17397         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17398           Use name gst_buffer_(is|make)_metadata_writable functions.
17399
17400         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17401           Test gst_buffer_(is|make)_metadata_writable
17402         
17403           (Closes: #324162)
17404
17405 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17406
17407         * docs/manual/Makefile.am:
17408           don't do parallel make
17409         * configure.ac:
17410           AC_SUBST HOST_CPU
17411         * win32/common/config.h.in:
17412           add generations for HOST_CPU and GST_MAJORMINOR
17413         * win32/common/config.h:
17414           commit generated result
17415
17416 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17417
17418         * docs/manual/appendix-integration.xml:
17419           Update GNOME integration section to use gst_init_get_option_group()
17420           instead of the old popt stuff (#322911). Also, GNOME applications
17421           should  now use gconf*sink and gconf*src instead of the old gconf
17422           helper lib we had.
17423
17424 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17425
17426
17427         * docs/gst/gstreamer-docs.sgml:
17428         * docs/gst/gstreamer-sections.txt:
17429         * docs/libs/gstreamer-libs-sections.txt:
17430           add new API entries to the docs
17431         * libs/gst/controller/Makefile.am:
17432         * libs/gst/controller/gstcontroller.c:
17433         * libs/gst/controller/gstcontroller.h:
17434         * libs/gst/controller/gstcontrollerprivate.h:
17435         * libs/gst/controller/gsthelper.c:
17436         * libs/gst/controller/gstinterpolation.c:
17437           move private structs to private header
17438         * po/README:
17439           gstreamer-0.7 -> gstreamer-0.10
17440         * tests/check/libs/struct_i386.h:
17441           remove private structs
17442
17443 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17444
17445         * plugins/indexers/Makefile.am:
17446           Fixes as part of #317048
17447
17448 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17449
17450         * plugins/indexers/Makefile.am:
17451           fix #316086 - compilation when mmap is missing
17452
17453 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
17454
17455         * libs/gst/base/gstbasesink.c:
17456           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
17457           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17458         * win32/common/config.h:
17459           added some defines GST_MAJORMINOR and HOST_CPU
17460         * win32/common/libgstbase.def:
17461         * win32/common/libgstreamer.def:
17462           added some exported functions.
17463
17464 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17465
17466         * libs/gst/controller/gstcontroller.c:
17467         (gst_controlled_property_set_interpolation_mode),
17468         (gst_controlled_property_new):
17469         * libs/gst/controller/gstcontroller.h:
17470         * libs/gst/controller/gstinterpolation.c:
17471         (interpolate_none_get_string_value_array):
17472           make G_TYPE_STRING controlable
17473
17474 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17475
17476         * tools/README:
17477         * tools/gst-feedback.1.in:
17478         * tools/gst-inspect.1.in:
17479         * tools/gst-launch.1.in:
17480         * tools/gst-md5sum.1.in:
17481         * tools/gst-typefind.1.in:
17482         * tools/gst-xmlinspect.1.in:
17483         * tools/gst-xmllaunch.1.in:
17484           cleanup man-pages, remove reference to gst-register, document env-vars
17485
17486 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
17487
17488         * gst/gstbuffer.c: (gst_buffer_span):
17489           gst_buffer_span should copy the timestamp of the first buffer
17490           if they were both originally overlapping subbuffers of the 
17491           same parent, using the same logic as the 'slow copy' case.
17492
17493 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
17494
17495         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17496           Need to awaken ALL the pads when we pop a buffer, otherwise
17497           collectpads only works when there is 2 input streams.
17498
17499 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
17500
17501         * docs/random/ensonic/media-device-daemon.txt:
17502           more ideas (dbus)
17503         * gst/gstbuffer.c:
17504           fix doc example, add clarification
17505         * tools/gst-launch.1.in:
17506           add initial info about GST_PLUGIN_PATH, needs more work
17507
17508 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
17509
17510         * docs/manual/basics-bins.xml:
17511         * docs/manual/basics-elements.xml:
17512         * docs/manual/intro-basics.xml:
17513           Some more minor docs additions and updates.
17514
17515 2006-01-11  Wim Taymans  <wim@fluendo.com>
17516
17517         * docs/manual/basics-bins.xml:
17518         * docs/manual/basics-elements.xml:
17519         Some small fixes as pointed out by Ser-ver on IRC.
17520
17521 2006-01-10  Edward Hervey  <edward@fluendo.com>
17522
17523         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17524         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17525         the single-segment mode.
17526
17527 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
17528
17529         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17530
17531         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17532         (gst_base_src_perform_seek), (gst_base_src_send_event),
17533         (gst_base_src_set_property), (gst_base_src_get_property),
17534         (gst_base_src_loop), (gst_base_src_start),
17535         (gst_base_src_activate_push):
17536         * libs/gst/base/gstbasesrc.h:
17537           Name (private) union; makes Sun's Forte compiler happy (#324900).
17538
17539 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
17540
17541         * README:
17542           gst-register is gone.
17543
17544 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17545
17546         * gst/gstvalue.c: (_gst_value_initialize):
17547           make the G_TYPE_DATE instantiation work if debug is disabled
17548
17549 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
17550
17551         * gst/gstmessage.c: (gst_message_parse_tag),
17552         (gst_message_parse_error), (gst_message_parse_warning):
17553           Don't crash when return location for error/warning debug
17554           string is NULL; add fact that return locations can be
17555           NULL to docs where appropriate.
17556
17557 2006-01-05  Wim Taymans  <wim@fluendo.com>
17558
17559         * gst/gstplugin.c: (gst_plugin_load_file):
17560         Replace strdup by g_strdup.
17561
17562 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17563
17564         * docs/pwg/advanced-types.xml:
17565           fix doc borkage
17566
17567 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17568
17569         submitted by: Abel Cheung
17570
17571         * po/LINGUAS:
17572         * po/zh_TW.po:
17573           Added Chinese (traditional) translation
17574
17575 2006-01-04  Wim Taymans  <wim@fluendo.com>
17576
17577         * docs/manual/basics-pads.xml:
17578         * docs/plugins/Makefile.am:
17579         * docs/plugins/gstreamer-plugins-docs.sgml:
17580         * docs/plugins/gstreamer-plugins-sections.txt:
17581         * docs/pwg/advanced-clock.xml:
17582         * docs/pwg/advanced-scheduling.xml:
17583         * docs/pwg/advanced-types.xml:
17584         * plugins/elements/gstfdsink.c:
17585         * plugins/elements/gstfdsrc.c:
17586         * plugins/elements/gstfdsrc.h:
17587         * plugins/elements/gstidentity.c: (gst_identity_class_init):
17588         * plugins/elements/gstidentity.h:
17589         * plugins/elements/gstqueue.h:
17590         * plugins/elements/gsttee.c:
17591         * plugins/elements/gsttee.h:
17592         * plugins/elements/gsttypefindelement.c:
17593         (gst_type_find_element_class_init):
17594         * plugins/elements/gsttypefindelement.h:
17595         Small updates to various docs.
17596         Added core plugins to docs.
17597
17598 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17599
17600         * common/gst.supp:
17601           add a suppression for liboil's uninitialized variable
17602
17603 2006-01-02  James Livingston  <jrl at ids dot org dot au>
17604
17605         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17606
17607         * gst/gstutils.h:
17608           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17609           macro, so that gcc doesn't complain if the -Wmissing-prototypes
17610           compiler switch is being used (#325429).
17611
17612 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
17613
17614         * gst/gstbin.c: (gst_bin_query):
17615           Disable duration query caching in bins until it gets
17616           fixed (see #324807).
17617
17618 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17619
17620         * tools/gst-inspect.c: (print_element_properties_info):
17621           Handle properties of POINTER and BOXED type.
17622
17623 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17624
17625         * gst/gst.c: (init_post):
17626           Init tags stuff and some other things before loading
17627           any static plugins (there may be other static plugins
17628           than just the GStreamer ones, and they may want to
17629           register their own tags or formats or whatever, and
17630           preferably without segfaulting).
17631
17632         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17633           Print at least a warning in the debug logs if we drop a
17634           query just because we don't know how to adjust the value
17635           in the particular format.
17636
17637 2005-12-24  David Schleef  <ds@schleef.org>
17638
17639         * tools/gstreamer-completion:
17640           Replacement for gst-complete written in sh and sed.  Only
17641           completes names of features, but that's 90% of what I want
17642           it for.  Properties are not available in registry.xml.  (Maybe
17643           they should be...)
17644
17645 === release 0.10.1 ===
17646
17647 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
17648
17649         * configure.ac:
17650           releasing 0.10.1, "Nollaig chridheil"
17651
17652 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
17653
17654         * docs/faq/cvs.xml:
17655           Add missing quote, should be make ERROR_CFLAGS="".
17656
17657 2005-12-20  Wim Taymans  <wim@fluendo.com>
17658
17659         * docs/design/part-trickmodes.txt:
17660         More documentation on trickmodes.
17661
17662 2005-12-20  Edward Hervey  <edward@fluendo.com>
17663
17664         * gst/gstcaps.c: (gst_static_caps_get_type):
17665         * gst/gstcaps.h:
17666           API addition: GST_TYPE_STATIC_CAPS
17667         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
17668         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
17669         * gst/gstpadtemplate.h:
17670           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
17671         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
17672         bindings.
17673
17674 2005-12-18  Wim Taymans  <wim@fluendo.com>
17675
17676         * libs/gst/base/gstadapter.c:
17677         * libs/gst/base/gstadapter.h:
17678         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17679         (gst_base_sink_get_position):
17680         * libs/gst/base/gstbasesink.h:
17681         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17682         (gst_base_src_default_query), (gst_base_src_default_do_seek),
17683         (gst_base_src_do_seek), (gst_base_src_perform_seek),
17684         (gst_base_src_send_event), (gst_base_src_update_length),
17685         (gst_base_src_get_range), (gst_base_src_loop),
17686         (gst_base_src_start):
17687         * libs/gst/base/gstbasesrc.h:
17688         * libs/gst/base/gstbasetransform.h:
17689         * libs/gst/base/gstcollectpads.h:
17690         * libs/gst/base/gstpushsrc.c:
17691         * libs/gst/base/gstpushsrc.h:
17692         * libs/gst/dataprotocol/dataprotocol.c:
17693         * libs/gst/dataprotocol/dataprotocol.h:
17694         * libs/gst/net/gstnetclientclock.h:
17695         * libs/gst/net/gstnettimeprovider.h:
17696         Documentation updates.
17697
17698 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
17699
17700         * docs/manual/basics-helloworld.xml:
17701           Remove superfluous closing bracket in helloworld example.
17702
17703 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
17704
17705         * tools/gst-launch.1.in:
17706           Update gst-launch man page; add a section with useful
17707           environment variables. Fixes #323882.
17708
17709 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
17710
17711         * gst/gst.c:
17712         * gst/gst_private.h:
17713           change some char* into char[]
17714
17715 2005-12-16  Wim Taymans  <wim@fluendo.com>
17716
17717         * gst/gstregistryxml.c: (load_feature):
17718         Cleanups.
17719         Don't use g_object_unref on GstObjects so that we avoid
17720         leaks on unsafe glibs.
17721
17722 2005-12-16  Wim Taymans  <wim@fluendo.com>
17723
17724         * gst/gstbin.c: (gst_bin_recalc_state):
17725         Small doc updates.
17726
17727 2005-12-16  Wim Taymans  <wim@fluendo.com>
17728
17729         * common/check.mak:
17730         Added make forever target for check.
17731
17732 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17733
17734         * gst/gst.c: (init_post):
17735           make the registry cache file HOST_CPU-dependent
17736
17737 2005-12-16  Andy Wingo  <wingo@pobox.com>
17738
17739         * plugins/elements/gstbufferstore.c
17740         (gst_buffer_store_cleared_func): Pay attention to g_list_append
17741         return value.
17742
17743         * tests/check/gst/gstobject.c
17744         (test_fake_object_name_threaded_unique): Pay attention to
17745         g_list_sort return value.
17746
17747 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
17748
17749         * tools/gst-feedback-m.m:
17750           Update for 0.9/0.10 (fixes #323870).
17751
17752 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
17753
17754         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
17755           Fix lcopy for mini objects, the mini object needs to be ref'ed.
17756           
17757         * tests/check/gst/gstminiobject.c: (my_foo_init),
17758         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
17759         (test_value_collection), (gst_mini_object_suite):
17760           Add test to ensure refcounts end up as expected when passing
17761           GstMiniObjects through g_object_get() and g_object_set().
17762
17763 2005-12-14  Julien MOUTTE  <julien@moutte.net>
17764
17765         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17766         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
17767         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
17768         of collectpads. This version removes a lot of races without
17769         touching API/ABI. Yay !
17770
17771 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
17772
17773         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
17774           Don't allow activation of a srcpad in pull_range if it has no
17775           getrange function.
17776           Change some debug statements to be a little clearer
17777
17778         * plugins/elements/gsttypefindelement.c:
17779         (gst_type_find_handle_src_query):
17780           Check that we have a peer before executing queries thereupon.
17781
17782         * tests/examples/metadata/read-metadata.c: (message_loop):
17783           Use gst_bus_pop instead of gst_bus_poll when we just want it to
17784           immediately return us any available message with 0 timeout.
17785
17786 2005-12-12  Michael Smith  <msmith@fluendo.com>
17787
17788         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
17789           Don't unref factories after calling them.
17790         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
17791         * plugins/elements/gsttypefindelement.c:
17792         (gst_type_find_element_chain):
17793           Free lists of factories after using them. Fixing typefinding memory
17794           leaks.
17795
17796 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17797
17798         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
17799         (gst_plugin_feature_load):
17800           more meaningful debug output
17801         * configure.ac:
17802         * tests/Makefile.am:
17803         * tests/old/examples/Makefile.am:
17804           make make distcheck happy again
17805
17806 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17807
17808         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17809           Catch the special case where we are operating chain-based,
17810           but the downstream peer pad has no chain function. Emit a
17811           custom error message in this case instead of letting the
17812           core generate one implying that this is some sort of core
17813           bug. It's not, it just means that whatever got plugged
17814           into the pipeline downstream when we announced the type
17815           can only operate pull-based, while our source can only
17816           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
17817           Error string has not been marked for translation yet, as
17818           it probably needs some more work first.
17819
17820         (gst_type_find_element_get_best_possibility):
17821           Add helper function to find the best of all available
17822           found possibilities that qualify given the min. threshold.
17823
17824         (gst_type_find_element_handle_event):
17825           Fix the case where we get an EOS while still in TYPEFIND
17826           mode (we want to chose the best of all possible types,
17827           not just the first type that happens to be in our unsorted
17828           list of possible types).
17829
17830         (gst_type_find_element_chain):
17831           Make sure we return GST_FLOW_ERROR when we errored out
17832           in stop_typefinding(); also, don't just find the best of
17833           all found type entries and then use the last examined
17834           type entry, but actually use the best entry.
17835
17836 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17837
17838         * tests/examples/typefind/typefind.c: (type_found):
17839         * tests/examples/xml/runxml.c: (xml_loaded):
17840           More gcc4 fixes and a mem leak fix.
17841
17842 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17843
17844         * tests/examples/xml/createxml.c: (object_saved):
17845           gcc 4 fixes
17846
17847 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17848
17849         * tests/Makefile.am:
17850           enable the examples even more
17851
17852 2005-12-12  Andy Wingo  <wingo@pobox.com>
17853
17854         * libs/gst/net/gstnettimeprovider.c
17855         (gst_net_time_provider_class_init, gst_net_time_provider_init)
17856         (gst_net_time_provider_set_property)
17857         (gst_net_time_provider_get_property):
17858         API addition: Export "active" as a GObject property.
17859         (gst_net_time_provider_thread): Only respond to time queries if
17860         the time provider is active.
17861
17862         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
17863         NetTimeProvider, preserving binary compat.
17864
17865 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17866
17867         * tests/examples/controller/audio-example.c: (main):
17868         * tests/examples/launch/Makefile.am:
17869           convert comments again
17870
17871 2005-12-12  Wim Taymans  <wim@fluendo.com>
17872
17873         * libs/gst/base/gstpushsrc.c:
17874         Fix typo.
17875
17876 2005-12-12  Wim Taymans  <wim@fluendo.com>
17877
17878         * docs/libs/gstreamer-libs-sections.txt:
17879         Added new symbol to docs.
17880
17881         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17882         (gst_base_src_init), (gst_base_src_set_format),
17883         (gst_base_src_default_query), (gst_base_src_query),
17884         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
17885         (gst_base_src_perform_seek), (gst_base_src_send_event),
17886         (gst_base_src_default_event), (gst_base_src_event_handler),
17887         (gst_base_src_set_property), (gst_base_src_get_property),
17888         (gst_base_src_wait), (gst_base_src_do_sync),
17889         (gst_base_src_update_length), (gst_base_src_get_range),
17890         (gst_base_src_check_get_range), (gst_base_src_loop),
17891         (gst_base_src_default_negotiate), (gst_base_src_start),
17892         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17893         (gst_base_src_change_state):
17894         * libs/gst/base/gstbasesrc.h:
17895         Implement seeking to other formats than _BYTES.
17896         Implement more seeking methods correctly.
17897         Doc updates.
17898         Added query vmethod.
17899         Added do_seek vmethod to make life easier for subclasses
17900         when seeking.
17901         API addition: gst_base_src_set_format()
17902
17903 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17904
17905         * tests/examples/Makefile.am:
17906           added that too
17907
17908 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17909
17910         * configure.ac:
17911         * docs/random/ensonic/media-device-daemon.txt:
17912         * tests/examples/controller/.cvsignore:
17913         * tests/examples/controller/Makefile.am:
17914         * tests/examples/controller/audio-example.c: (main):
17915         * tests/examples/helloworld/.cvsignore:
17916         * tests/examples/helloworld/Makefile.am:
17917         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
17918         * tests/examples/launch/.cvsignore:
17919         * tests/examples/launch/Makefile.am:
17920         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
17921         * tests/examples/metadata/.cvsignore:
17922         * tests/examples/metadata/Makefile.am:
17923         * tests/examples/metadata/read-metadata.c: (message_loop),
17924         (make_pipeline), (print_tag), (main):
17925         * tests/examples/queue/.cvsignore:
17926         * tests/examples/queue/Makefile.am:
17927         * tests/examples/queue/queue.c: (event_loop), (main):
17928         * tests/examples/typefind/.cvsignore:
17929         * tests/examples/typefind/Makefile.am:
17930         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
17931         (main):
17932         * tests/examples/xml/.cvsignore:
17933         * tests/examples/xml/Makefile.am:
17934         * tests/examples/xml/createxml.c: (object_saved), (main):
17935         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
17936         * tests/old/examples/Makefile.am:
17937         * tests/old/examples/TODO:
17938         * tests/old/examples/controller/.cvsignore:
17939         * tests/old/examples/controller/Makefile.am:
17940         * tests/old/examples/controller/audio-example.c:
17941         * tests/old/examples/helloworld/.cvsignore:
17942         * tests/old/examples/helloworld/Makefile.am:
17943         * tests/old/examples/helloworld/helloworld.c:
17944         * tests/old/examples/launch/.cvsignore:
17945         * tests/old/examples/launch/Makefile.am:
17946         * tests/old/examples/launch/mp3parselaunch.c:
17947         * tests/old/examples/launch/mp3play:
17948         * tests/old/examples/manual/Makefile.am:
17949         * tests/old/examples/metadata/Makefile.am:
17950         * tests/old/examples/metadata/read-metadata.c:
17951         * tests/old/examples/queue/.cvsignore:
17952         * tests/old/examples/queue/Makefile.am:
17953         * tests/old/examples/queue/queue.c:
17954         * tests/old/examples/typefind/.cvsignore:
17955         * tests/old/examples/typefind/Makefile.am:
17956         * tests/old/examples/typefind/typefind.c:
17957         * tests/old/examples/xml/.cvsignore:
17958         * tests/old/examples/xml/Makefile.am:
17959         * tests/old/examples/xml/createxml.c:
17960         * tests/old/examples/xml/runxml.c:
17961           applied some simple fixing to some examples
17962           re-enabled the working examples
17963
17964 2005-12-12  Wim Taymans  <wim@fluendo.com>
17965
17966         * gst/gstsegment.c: (gst_segment_init),
17967         (gst_segment_set_last_stop), (gst_segment_set_seek),
17968         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17969         (gst_segment_to_running_time):
17970         Added more documentation.
17971         Make sure the last_pos value is updated properly.
17972         Make sure to_stream_time and to_running_time don't
17973         operate on wrong values.
17974
17975         * tests/check/gst/gstsegment.c: (GST_START_TEST):
17976         Update check.
17977
17978 2005-12-12  Michael Smith  <msmith@fluendo.com>
17979
17980         * plugins/elements/gsttypefindelement.c: (free_entry),
17981         (gst_type_find_element_chain):
17982           Now that we're not leaking factories, make sure we keep references
17983           to them while we need them.
17984
17985 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17986
17987         * tests/check/gst/struct_i386.h:
17988           ifdef out the XML structs
17989
17990 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17991
17992         * gst/gstvalue.c: (gst_value_transform_double_fraction):
17993           floor is not needed, F is always positive; this obviates the
17994           need for adding -lm when building without libxml
17995
17996 2005-12-12  Wim Taymans  <wim@fluendo.com>
17997
17998         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17999         Take current playback rate into account when reporting
18000         the position.
18001
18002 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18003
18004         * docs/manual/mime-world.fig:
18005           Let's try this again, this time with a file that is
18006           actually in XFig format.
18007
18008 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18009
18010         * docs/manual/mime-world.fig:
18011           Add audioconvert element to diagram so that it
18012           matches the text and the code (fixes #319526).
18013
18014 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18015
18016         * docs/pwg/building-chainfn.xml:
18017         * docs/pwg/building-pads.xml:
18018         * docs/pwg/building-state.xml:
18019         * docs/pwg/other-source.xml:
18020           Update state change stuff for 0.10 (fixes #322969).
18021
18022 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18023
18024         * docs/manual/advanced-dataaccess.xml:
18025         * docs/manual/appendix-checklist.xml:
18026         * docs/manual/appendix-programs.xml:
18027         * docs/manual/basics-pads.xml:
18028         * docs/manual/highlevel-components.xml:
18029         * docs/manual/manual.xml:
18030           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18031           add converters in front of pipelines; remove curly
18032           brackets for threads stuff, they no longer exist; use
18033           GST_TYPE_FRACTION for framerates; update some pieces of
18034           code to 0.10, but there's plenty more to do.
18035
18036         * docs/manual/appendix-porting.xml:
18037           Expand on asynchroneous state changes; s/0.9/0.10/;
18038           mention disappearance of gst_init_get_popt_table()
18039           (fixes #322916).
18040
18041 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18042
18043         * docs/faq/using.xml:
18044           Spider no longer exists, and neither does gst-launch-ext.
18045           Update examples to use decodebin and playbin and put
18046           converters in front of sinks (fixes #323726).
18047
18048 2005-12-09  Michael Smith  <msmith@fluendo.com>
18049
18050         * plugins/elements/gsttypefindelement.c: (find_peek),
18051         (gst_type_find_element_chain):
18052           Fix leaking element factories in typefinding.
18053           Fix problem where we forgot about a probable type on non-seekable
18054           files, and thus later mis-typefound it.
18055
18056 2005-12-09  Michael Smith  <msmith@fluendo.com>
18057
18058         * common/m4/gst-makecontext.m4:
18059         * common/m4/gst-mcsc.m4:
18060         * configure.ac:
18061         * win32/common/config.h:
18062         * win32/common/config.h.in:
18063           Remove makecontext stuff; not used in 0.10 and causes problems on
18064           HPUX according to bug #322441
18065
18066 2005-12-07  Wim Taymans  <wim@fluendo.com>
18067
18068         * tests/check/Makefile.am:
18069         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18070         (main):
18071         * tests/check/libs/struct_i386.h:
18072         Added ABI check for libs
18073
18074 2005-12-07  Wim Taymans  <wim@fluendo.com>
18075
18076         * tests/check/Makefile.am:
18077         And add the struct_i386.h to dist.
18078
18079 2005-12-07  Wim Taymans  <wim@fluendo.com>
18080
18081         * tests/check/Makefile.am:
18082         * tests/check/gst/.cvsignore:
18083         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18084         (main):
18085         * tests/check/gst/struct_i386.h:
18086         Added check for ABI compatibility.
18087
18088 2005-12-07  Wim Taymans  <wim@fluendo.com>
18089
18090         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18091         (gst_fake_src_get_times), (gst_fake_src_create):
18092         Fix broken sync option, fixes #323259
18093
18094 2005-12-07  Wim Taymans  <wim@fluendo.com>
18095
18096         * gst/gstbuffer.c:
18097         Small docs update.
18098
18099         * gst/gstcaps.c: (gst_caps_is_equal):
18100         Don't assert on NULL <--> X. Fixes #323260
18101
18102         * gst/gstminiobject.c: (gst_mini_object_replace):
18103         If we're doing atomic operations, we might just as well use
18104         the proper way to get an atomic pointer.
18105
18106         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18107         Clean up debugging.
18108
18109 2005-12-07  Michael Smith  <msmith@fluendo.com>
18110
18111         * gst/parse/grammar.y:
18112           Remove handling of { } for threads.
18113
18114 2005-12-06  David Schleef  <ds@schleef.org>
18115
18116         * libs/gst/base/gstbasetransform.c: speling fix.
18117
18118 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18119
18120         * docs/libs/tmpl/gstdataprotocol.sgml:
18121         * docs/random/omega/testing/gstobject.c:
18122         * gst/gst.c:
18123         * gst/gstclock.c:
18124         * gst/gstelement.c:
18125         * gst/gstelementfactory.c:
18126         * gst/gsterror.c:
18127         * gst/gstevent.c:
18128         * gst/gstghostpad.c:
18129         * gst/gstinfo.c:
18130         * gst/gstpadtemplate.c:
18131         * gst/gstregistryxml.c:
18132         * gst/gsttaglist.c:
18133         * gst/gsttagsetter.c:
18134         * gst/gsttypefind.c:
18135         * gst/gstvalue.c:
18136         * libs/gst/base/gstbasesrc.c:
18137         * libs/gst/net/gstnetclientclock.c:
18138         * libs/gst/net/gstnettimeprovider.c:
18139         * plugins/elements/gstfakesrc.c:
18140         * plugins/elements/gstfdsrc.c:
18141         * plugins/elements/gstfilesrc.c:
18142         * plugins/elements/gstidentity.c:
18143         * plugins/elements/gstqueue.c:
18144         * plugins/elements/gsttypefindelement.c:
18145         * plugins/indexers/gstfileindex.c:
18146         * plugins/indexers/gstmemindex.c:
18147         * tests/check/gst/gsttag.c:
18148         * tests/old/examples/cutter/cutter.c:
18149         * tests/old/examples/mixer/mixer.c:
18150         * tests/old/examples/xml/runxml.c: (main):
18151         * tests/old/testsuite/caps/normalisation.c:
18152         * tests/old/testsuite/debug/global.c:
18153         * tests/old/testsuite/parse/parse1.c:
18154         * tools/gst-xmlinspect.c:
18155         * win32/common/dirent.c:
18156           expand tabs
18157
18158 === release 0.10.0 ===
18159
18160 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18161
18162         * configure.ac:
18163           releasing 0.10.0, "Maroilles"
18164
18165 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18166
18167         submitted by: Funda Wang <fundawang@linux.net.cn>
18168
18169         * po/LINGUAS:
18170         * po/zh_CN.po:
18171           added Chinese (Traditional) translation
18172
18173 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18174
18175         * docs/gst/gstreamer-sections.txt:
18176         * docs/libs/tmpl/gstdataprotocol.sgml:
18177         * docs/random/thomasvs/TODO:
18178         * gst/gstutils.c:
18179         * gst/gstutils.h:
18180           fix docs
18181
18182 2005-12-05  Andy Wingo  <wingo@pobox.com>
18183
18184         patch by: Wim Taymans <wim@fluendo.com>
18185
18186         * libs/gst/base/gstbasetransform.c
18187         (gst_base_transform_prepare_output_buf)
18188         (gst_base_transform_buffer_alloc):
18189         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18190         alloc_buffer_and_set_caps.
18191
18192         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18193         set_caps on the source pad.
18194         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18195         alloc_buffer used to do. Fixes #322874.
18196
18197         * docs/gst/gstreamer-sections.txt: 
18198         * docs/design/part-negotiation.txt: 
18199         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18200         changes.
18201
18202 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18203
18204         patch by: Sebastien Moutte
18205
18206         * win32/MANIFEST:
18207         * win32/common/config.h.in:
18208         * win32/vs6/libgstcontroller.dsp:
18209           win32 build fixes
18210
18211 2005-12-05  Wim Taymans  <wim@fluendo.com>
18212
18213         * gst/gstcaps.c: (gst_caps_is_equal):
18214         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18215         (gst_fake_src_create):
18216         Back out previous code changes, leave doc updates, file bugs 
18217         instead. 
18218
18219 2005-12-05  Wim Taymans  <wim@fluendo.com>
18220
18221         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18222         (gst_fake_src_get_times), (gst_fake_src_create):
18223         * plugins/elements/gstfakesrc.h:
18224         Fix broken sync code.
18225
18226 2005-12-05  Wim Taymans  <wim@fluendo.com>
18227
18228         * gst/gstcaps.c: (gst_caps_is_equal):
18229         Comparing NULL against !NULL yields different caps, not a
18230         failure.
18231
18232 2005-12-05  Wim Taymans  <wim@fluendo.com>
18233
18234         * gst/gstpipeline.c:
18235         Fix small typo in docs.
18236
18237 2005-12-05  Andy Wingo  <wingo@pobox.com>
18238
18239         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18240
18241         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18242         registries/plugins with a MAJORMINOR one.
18243         (plugin_desc): Rename library from gstcoreleements to
18244         staticelements. Fixes #323222.
18245
18246 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18247
18248         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18249           Change debug category to 'collectpads' from 'collect_pads'
18250           (fixes #323250).
18251
18252 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18253
18254         patch by: Sebastien Moutte
18255
18256         * libs/gst/controller/gstinterpolation.c:
18257           use convert function for uint64/double
18258         * win32/vs6/libgstcontroller.dsp:
18259           link to GLib
18260
18261 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18262
18263         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18264         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18265         * gst/gstutils.h:
18266         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18267           add tests that seem to show that the guint64/gdouble conversions
18268           are correct.
18269
18270 2005-12-02  Wim Taymans  <wim@fluendo.com>
18271
18272         * gst/gstregistry.c: (gst_registry_add_path):
18273         * gst/gstregistry.h:
18274         * gst/gstregistryxml.c:
18275         Fix docs again.
18276
18277 2005-12-02  Wim Taymans  <wim@fluendo.com>
18278
18279         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18280         (gst_util_uint64_scale_int):
18281         Small cleanup.
18282
18283         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18284         Add debug log line.
18285
18286         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18287         Add FIXME.
18288
18289 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18290
18291         * win32/MANIFEST:
18292         * win32/common/config.h:
18293         * win32/vs6/gstreamer.dsw:
18294         * win32/vs6/libgstcoreelements.dsp:
18295         * win32/vs6/libgstelements.dsp:
18296           renamed core elements plugin
18297
18298 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18299
18300         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18301         (get_candidates):
18302           do piece-wise major/minor comparison so 0.9 < 0.10
18303           also allow .exe extensions for tools
18304
18305 2005-12-02  Michael Smith  <msmith@fluendo.com>
18306
18307         * gst/gst.c:
18308           Escape a % to make gtkdoc happier; bug 322958.
18309
18310 === release 0.9.7 ===
18311
18312 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18313
18314         * configure.ac:
18315           releasing 0.9.7, "My Dog Has No Nose"
18316
18317 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18318
18319         * common/gst-xmlinspect.py:
18320         * configure.ac:
18321         * docs/libs/tmpl/gstdataprotocol.sgml:
18322         * docs/random/release:
18323         * po/af.po:
18324         * po/az.po:
18325         * po/bg.po:
18326         * po/ca.po:
18327         * po/cs.po:
18328         * po/de.po:
18329         * po/en_GB.po:
18330         * po/fr.po:
18331         * po/it.po:
18332         * po/nb.po:
18333         * po/nl.po:
18334         * po/ru.po:
18335         * po/sq.po:
18336         * po/sr.po:
18337         * po/sv.po:
18338         * po/tr.po:
18339         * po/uk.po:
18340         * po/vi.po:
18341         * win32/common/config.h:
18342         * win32/common/config.h.in:
18343         * win32/vs6/gst_inspect.dsp:
18344         * win32/vs6/gst_launch.dsp:
18345         * win32/vs6/libgstbase.dsp:
18346         * win32/vs6/libgstelements.dsp:
18347         * win32/vs6/libgstreamer.dsp:
18348         * win32/vs7/GStreamer.vcproj:
18349         * win32/vs7/gst-inspect.vcproj:
18350         * win32/vs7/gst-launch.vcproj:
18351         * win32/vs7/libgstbase.vcproj:
18352           bump GST_MAJORMINOR to 0.10
18353           reset libtool version
18354
18355 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18356
18357         * po/LINGUAS:
18358         * po/bg.po:
18359           Added Bulgarian translation by (Alexander Shopov)
18360
18361 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18362
18363         * tests/check/gst/gstplugin.c:
18364           fix test
18365
18366 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18367
18368         * common/gst-xmlinspect.py:
18369         * common/gtk-doc-plugins.mak:
18370         * configure.ac:
18371         * docs/Makefile.am:
18372         * docs/gst/Makefile.am:
18373         * docs/gst/gstreamer-docs.sgml:
18374         * docs/gst/gstreamer-sections.txt:
18375         * docs/gst/gstreamer.types:
18376         * docs/gst/gstreamer.types.in:
18377         * docs/plugins/Makefile.am:
18378         * docs/plugins/gstreamer-plugins-docs.sgml:
18379         * docs/plugins/gstreamer-plugins-sections.txt:
18380         * docs/plugins/gstreamer-plugins.types:
18381         * docs/plugins/inspect.stamp:
18382         * docs/plugins/inspect/plugin-coreelements.xml:
18383         * docs/plugins/inspect/plugin-coreindexers.xml:
18384         * docs/plugins/scanobj-build.stamp:
18385         * gstreamer.spec.in:
18386         * plugins/elements/Makefile.am:
18387         * plugins/elements/gstelements.c:
18388         * plugins/elements/gstfakesink.c:
18389         * plugins/elements/gstfakesrc.c:
18390         * plugins/elements/gstfilesink.c:
18391         * plugins/elements/gstfilesrc.c:
18392         * plugins/elements/gstqueue.c:
18393         * plugins/indexers/Makefile.am:
18394         * plugins/indexers/gstindexers.c:
18395           document core plugins in a separate document just like all the
18396           others
18397           rename these plugins to something starting with core
18398
18399 2005-12-01  Andy Wingo  <wingo@pobox.com>
18400
18401         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18402         padding here before, but it missed the commit.
18403
18404 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18405
18406         * libs/gst/controller/gstinterpolation.c:
18407           whitespace prices have crashed, we should feel free to use some now
18408           use gst_guint64_to_gdouble
18409
18410 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18411
18412         * libs/gst/controller/gstcontroller.c:
18413         * libs/gst/controller/gsthelper.c:
18414         * libs/gst/controller/gstinterpolation.c:
18415         * libs/gst/controller/lib.c:
18416           wrap config.h include
18417
18418 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18419
18420         * docs/gst/gstreamer-sections.txt:
18421           update docs
18422
18423 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18424
18425         * plugins/elements/gstelements.c:
18426         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18427         (gst_fd_sink__class_init), (gst_fd_sink__init),
18428         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18429         (gst_fd_sink__get_property):
18430         * plugins/elements/gstfdsink.h:
18431         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18432         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18433         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18434         (gst_fd_src_unlock), (gst_fd_src_set_property),
18435         (gst_fd_src_get_property), (gst_fd_src_create),
18436         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18437         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18438         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18439         (gst_fd_src_uri_handler_init):
18440         * plugins/elements/gstfdsrc.h:
18441         * plugins/elements/gstqueue.c: (gst_queue_get_type):
18442           more anal cleanup
18443
18444 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18445
18446         * docs/gst/Makefile.am:
18447         * docs/gst/gstreamer.types.in:
18448         * gst/Makefile.am:
18449           fix the docs build
18450
18451 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18452
18453         * configure.ac:
18454         * gst/Makefile.am:
18455         * gst/gst.c:
18456         * gst/gstplugin.h:
18457         * gst/gstregistry.h:
18458         * tests/benchmarks/complexity.c:
18459         * tests/benchmarks/mass-elements.c:
18460         * tests/check/Makefile.am:
18461         * tools/Makefile.am:
18462         * tools/gst-inspect.c:
18463         * tools/gst-xmlinspect.c:
18464           various fixes to make
18465           --disable-nls --disable-registry --disable-loadsave
18466           --disable-parse --disable-gst-debug
18467           work and get the core .so down to 360444 bytes after stripping
18468
18469 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18470
18471         * Makefile.am:
18472         * configure.ac:
18473           descend into tests
18474         * docs/random/thomasvs/TODO:
18475         * tests/Makefile.am:
18476         * tests/README:
18477           add a README
18478
18479 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18480
18481         * win32/GStreamer.vcproj:
18482         * win32/MANIFEST:
18483         * win32/Makefile:
18484         * win32/Makefile.inspect:
18485         * win32/Makefile.launch:
18486         * win32/Makefile.register:
18487         * win32/README.txt:
18488         * win32/gst-inspect.vcproj:
18489         * win32/gst-launch.vcproj:
18490         * win32/gst-register.vcproj:
18491         * win32/gstelements.vcproj:
18492         * win32/gstgetbits.def:
18493         * win32/gstgetbits.vcproj:
18494         * win32/gstreamer-dbg.def:
18495         * win32/gstreamer.def:
18496         * win32/libgstbase.def:
18497         * win32/libgstbase.vcproj:
18498         * win32/link_oldruntime.c:
18499         * win32/mman.c:
18500         * win32/mman.h:
18501         * win32/mman.inl:
18502         * win32/msvc71.sln:
18503           move even more stuff, win32/ is nice and clean now
18504
18505 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18506
18507         * libs/gst/control/.cvsignore:
18508         * win32/MANIFEST:
18509         * win32/config.h:
18510         * win32/dirent.c:
18511         * win32/dirent.h:
18512         * win32/gstbytestream.def:
18513         * win32/gstbytestream.vcproj:
18514         * win32/gstconfig.h:
18515         * win32/gstenumtypes.c:
18516         * win32/gstenumtypes.h:
18517         * win32/gstoptimalscheduler.vcproj:
18518         * win32/gstversion.h:
18519         * win32/gtchar.h:
18520         * win32/testsuite/bins.vcproj:
18521         * win32/testsuite/bytestream.vcproj:
18522         * win32/testsuite/caps.vcproj:
18523         * win32/testsuite/cleanup.vcproj:
18524         * win32/testsuite/clock.vcproj:
18525         * win32/testsuite/debug.vcproj:
18526         * win32/testsuite/dlopen.vcproj:
18527         * win32/testsuite/dynparams.vcproj:
18528         * win32/testsuite/elements.vcproj:
18529         * win32/testsuite/ghostpads.vcproj:
18530         * win32/testsuite/indexers.vcproj:
18531         * win32/testsuite/negotiation.vcproj:
18532         * win32/testsuite/parse.vcproj:
18533         * win32/testsuite/plugin.vcproj:
18534         * win32/testsuite/refcounting.vcproj:
18535         * win32/testsuite/schedulers.vcproj:
18536         * win32/testsuite/states.vcproj:
18537         * win32/testsuite/tags.vcproj:
18538         * win32/testsuite/threads.vcproj:
18539           remove old win32 stuff that isn't maintained and should be
18540           reorganized
18541
18542 2005-11-30  Andy Wingo  <wingo@pobox.com>
18543
18544         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18545         loading the gst.interfaces python module bork.
18546
18547         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18548         available since GLib 2.2. Fixes #318031.
18549
18550 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18551
18552         * Makefile.am:
18553         * check/.cvsignore:
18554         * check/Makefile.am:
18555         * check/elements/.cvsignore:
18556         * check/elements/fakesrc.c:
18557         * check/elements/fdsrc.c:
18558         * check/elements/identity.c:
18559         * check/generic/.cvsignore:
18560         * check/generic/states.c:
18561         * check/gst-libs/.cvsignore:
18562         * check/gst-libs/controller.c:
18563         * check/gst-libs/gdp.c:
18564         * check/gst/.cvsignore:
18565         * check/gst/capslist.h:
18566         * check/gst/gst.c:
18567         * check/gst/gstbin.c:
18568         * check/gst/gstbuffer.c:
18569         * check/gst/gstbus.c:
18570         * check/gst/gstcaps.c:
18571         * check/gst/gstelement.c:
18572         * check/gst/gstevent.c:
18573         * check/gst/gstghostpad.c:
18574         * check/gst/gstiterator.c:
18575         * check/gst/gstmessage.c:
18576         * check/gst/gstminiobject.c:
18577         * check/gst/gstobject.c:
18578         * check/gst/gstpad.c:
18579         * check/gst/gstpipeline.c:
18580         * check/gst/gstplugin.c:
18581         * check/gst/gstsegment.c:
18582         * check/gst/gststructure.c:
18583         * check/gst/gstsystemclock.c:
18584         * check/gst/gsttag.c:
18585         * check/gst/gstutils.c:
18586         * check/gst/gstvalue.c:
18587         * check/net/.cvsignore:
18588         * check/net/gstnetclientclock.c:
18589         * check/net/gstnettimeprovider.c:
18590         * check/pipelines/.cvsignore:
18591         * check/pipelines/cleanup.c:
18592         * check/pipelines/simple_launch_lines.c:
18593         * check/pipelines/stress.c:
18594         * check/states/.cvsignore:
18595         * check/states/sinks.c:
18596         * configure.ac:
18597         * examples/Makefile.am:
18598         * examples/appreader/.cvsignore:
18599         * examples/appreader/Makefile.am:
18600         * examples/appreader/appreader.c:
18601         * examples/controller/.cvsignore:
18602         * examples/controller/Makefile.am:
18603         * examples/controller/audio-example.c:
18604         * examples/cutter/.cvsignore:
18605         * examples/cutter/Makefile.am:
18606         * examples/cutter/cutter.c:
18607         * examples/cutter/cutter.h:
18608         * examples/events/Makefile.am:
18609         * examples/events/seek.c:
18610         * examples/helloworld/.cvsignore:
18611         * examples/helloworld/Makefile.am:
18612         * examples/helloworld/helloworld.c:
18613         * examples/helloworld2/.cvsignore:
18614         * examples/helloworld2/Makefile.am:
18615         * examples/helloworld2/helloworld2.c:
18616         * examples/launch/.cvsignore:
18617         * examples/launch/Makefile.am:
18618         * examples/launch/mp3parselaunch.c:
18619         * examples/launch/mp3play:
18620         * examples/manual/.cvsignore:
18621         * examples/manual/Makefile.am:
18622         * examples/manual/extract.pl:
18623         * examples/metadata/Makefile.am:
18624         * examples/metadata/read-metadata.c:
18625         * examples/mixer/.cvsignore:
18626         * examples/mixer/Makefile.am:
18627         * examples/mixer/mixer.c:
18628         * examples/mixer/mixer.h:
18629         * examples/pingpong/.cvsignore:
18630         * examples/pingpong/Makefile.am:
18631         * examples/pingpong/pingpong.c:
18632         * examples/plugins/.cvsignore:
18633         * examples/plugins/Makefile.am:
18634         * examples/plugins/example.c:
18635         * examples/plugins/example.h:
18636         * examples/pwg/.cvsignore:
18637         * examples/pwg/Makefile.am:
18638         * examples/pwg/extract.pl:
18639         * examples/queue/.cvsignore:
18640         * examples/queue/Makefile.am:
18641         * examples/queue/queue.c:
18642         * examples/queue2/.cvsignore:
18643         * examples/queue2/Makefile.am:
18644         * examples/queue2/queue2.c:
18645         * examples/queue3/.cvsignore:
18646         * examples/queue3/Makefile.am:
18647         * examples/queue3/queue3.c:
18648         * examples/queue4/.cvsignore:
18649         * examples/queue4/Makefile.am:
18650         * examples/queue4/queue4.c:
18651         * examples/retag/.cvsignore:
18652         * examples/retag/Makefile.am:
18653         * examples/retag/retag.c:
18654         * examples/retag/transcode.c:
18655         * examples/thread/.cvsignore:
18656         * examples/thread/Makefile.am:
18657         * examples/thread/thread.c:
18658         * examples/typefind/.cvsignore:
18659         * examples/typefind/Makefile.am:
18660         * examples/typefind/typefind.c:
18661         * examples/xml/.cvsignore:
18662         * examples/xml/Makefile.am:
18663         * examples/xml/createxml.c:
18664         * examples/xml/runxml.c:
18665         * tests/Makefile.am:
18666         * tests/check/Makefile.am:
18667         * testsuite/.cvsignore:
18668         * testsuite/Makefile.am:
18669         * testsuite/Rules:
18670         * testsuite/caps/.cvsignore:
18671         * testsuite/caps/Makefile.am:
18672         * testsuite/caps/app_fixate.c:
18673         * testsuite/caps/audioscale.c:
18674         * testsuite/caps/caps.c:
18675         * testsuite/caps/caps.h:
18676         * testsuite/caps/caps_strings:
18677         * testsuite/caps/compatibility.c:
18678         * testsuite/caps/deserialize.c:
18679         * testsuite/caps/enumcaps.c:
18680         * testsuite/caps/eratosthenes.c:
18681         * testsuite/caps/filtercaps.c:
18682         * testsuite/caps/fixed.c:
18683         * testsuite/caps/fraction-convert.c:
18684         * testsuite/caps/fraction-multiply-and-zero.c:
18685         * testsuite/caps/intersect2.c:
18686         * testsuite/caps/intersection.c:
18687         * testsuite/caps/normalisation.c:
18688         * testsuite/caps/random.c:
18689         * testsuite/caps/renegotiate.c:
18690         * testsuite/caps/sets.c:
18691         * testsuite/caps/simplify.c:
18692         * testsuite/caps/string-conversions.c:
18693         * testsuite/caps/structure.c:
18694         * testsuite/caps/subtract.c:
18695         * testsuite/caps/union.c:
18696         * testsuite/debug/.cvsignore:
18697         * testsuite/debug/Makefile.am:
18698         * testsuite/debug/category.c:
18699         * testsuite/debug/commandline.c:
18700         * testsuite/debug/global.c:
18701         * testsuite/debug/output.c:
18702         * testsuite/debug/printf_extension.c:
18703         * testsuite/dlopen/.cvsignore:
18704         * testsuite/dlopen/Makefile.am:
18705         * testsuite/dlopen/dlopen_gst.c:
18706         * testsuite/dlopen/loadgst.c:
18707         * testsuite/elements/.cvsignore:
18708         * testsuite/elements/Makefile.am:
18709         * testsuite/elements/gst-inspect-check.in:
18710         * testsuite/elements/struct_i386.h:
18711         * testsuite/elements/struct_size.c:
18712         * testsuite/indexers/.cvsignore:
18713         * testsuite/indexers/Makefile.am:
18714         * testsuite/indexers/cache1.c:
18715         * testsuite/indexers/indexdump.c:
18716         * testsuite/parse/.cvsignore:
18717         * testsuite/parse/Makefile.am:
18718         * testsuite/parse/parse1.c:
18719         * testsuite/parse/parse2.c:
18720         * testsuite/plugin/.cvsignore:
18721         * testsuite/plugin/Makefile.am:
18722         * testsuite/plugin/README:
18723         * testsuite/plugin/dynamic.c:
18724         * testsuite/plugin/linked.c:
18725         * testsuite/plugin/loading.c:
18726         * testsuite/plugin/registry.c:
18727         * testsuite/plugin/static.c:
18728         * testsuite/plugin/static2.c:
18729         * testsuite/plugin/testplugin.c:
18730         * testsuite/plugin/testplugin2.c:
18731         * testsuite/plugin/testplugin2_s.c:
18732         * testsuite/plugin/testplugin_s.c:
18733         * testsuite/refcounting/.cvsignore:
18734         * testsuite/refcounting/Makefile.am:
18735         * testsuite/refcounting/bin.c:
18736         * testsuite/refcounting/element.c:
18737         * testsuite/refcounting/element_pad.c:
18738         * testsuite/refcounting/mainloop.c:
18739         * testsuite/refcounting/mem.c:
18740         * testsuite/refcounting/mem.h:
18741         * testsuite/refcounting/object.c:
18742         * testsuite/refcounting/pad.c:
18743         * testsuite/refcounting/sched.c:
18744         * testsuite/refcounting/thread.c:
18745         * testsuite/states/.cvsignore:
18746         * testsuite/states/Makefile.am:
18747         * testsuite/states/bin.c:
18748         * testsuite/states/locked.c:
18749         * testsuite/states/parent.c:
18750         * testsuite/threads/.cvsignore:
18751         * testsuite/threads/159566.c:
18752         * testsuite/threads/159852.c:
18753         * testsuite/threads/Makefile.am:
18754         * testsuite/threads/queue.c:
18755         * testsuite/threads/signals.c:
18756         * testsuite/threads/staticrec.c:
18757         * testsuite/threads/thread.c:
18758         * testsuite/threads/threadb.c:
18759         * testsuite/threads/threadc.c:
18760         * testsuite/threads/threadd.c:
18761         * testsuite/threads/threade.c:
18762         * testsuite/threads/threadf.c:
18763         * testsuite/threads/threadg.c:
18764         * testsuite/threads/threadh.c:
18765         * testsuite/threads/threadi.c:
18766           move all of these under tests
18767
18768 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18769
18770         * configure.ac:
18771         * tests/Makefile.am:
18772           fix distcheck
18773
18774 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18775
18776         * docs/gst/gstreamer-sections.txt:
18777         * tests/sched/.cvsignore:
18778         * tests/sched/Makefile.am:
18779         * tests/sched/cases/(fs-fs).xml:
18780         * tests/sched/cases/(fs-i-fs).xml:
18781         * tests/sched/cases/(fs-i-i-fs).xml:
18782         * tests/sched/cases/(fs-i-q[i-fs]).xml:
18783         * tests/sched/dynamic-pipeline.c:
18784         * tests/sched/interrupt1.c:
18785         * tests/sched/interrupt2.c:
18786         * tests/sched/interrupt3.c:
18787         * tests/sched/runtestcases:
18788         * tests/sched/runxml.c:
18789         * tests/sched/sched-stress.c:
18790         * tests/sched/sort.c:
18791         * tests/sched/testcases:
18792         * tests/sched/testcases1.tc:
18793         * tests/seeking/.cvsignore:
18794         * tests/seeking/Makefile.am:
18795         * tests/seeking/seeking1.c:
18796         * tests/threadstate/.cvsignore:
18797         * tests/threadstate/Makefile.am:
18798         * tests/threadstate/test1.c:
18799         * tests/threadstate/test2.c:
18800         * tests/threadstate/threadstate1.c:
18801         * tests/threadstate/threadstate2.c:
18802         * tests/threadstate/threadstate3.c:
18803         * tests/threadstate/threadstate4.c:
18804         * tests/threadstate/threadstate5.c:
18805           remove obsolete tests
18806         * configure.ac:
18807         * tests/bench-complexity.scm:
18808         * tests/bench-mass_elements.scm:
18809         * tests/complexity.c:
18810         * tests/complexity.gnuplot:
18811         * tests/instantiate/.cvsignore:
18812         * tests/instantiate/Makefile.am:
18813         * tests/instantiate/caps.c:
18814         * tests/mass_elements.c:
18815         * tests/network-clock-utils.scm:
18816         * tests/network-clock.scm:
18817         * tests/plot-data:
18818         First pass at cleaning up tests/ dir before moving the rest
18819         Combined with CVS surgery
18820
18821 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18822
18823         * po/POTFILES.in:
18824           queue has moved, update
18825
18826 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18827
18828         * docs/gst/gstreamer-sections.txt:
18829           remove double entries from the docs
18830         * gst/gst_private.h:
18831         * gst/gstinfo.c: (_gst_debug_init):
18832           remove the THREAD debug category
18833         * gst/Makefile.am:
18834         * gst/gstqueue.c:
18835         * gst/gstqueue.h:
18836         * docs/gst/gstreamer.types:
18837         * plugins/elements/gstqueue.c: (gst_queue_get_type),
18838         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
18839           completely move queue and fix up debugging categories
18840
18841 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18842
18843         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18844           make initialization portable, using LL is not
18845
18846 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18847
18848         * win32/common/gstconfig.h:
18849           add large padding
18850
18851 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18852
18853         * win32/common/libgstreamer.def:
18854           rename symbols; sort base section
18855
18856 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18857
18858         * gst/gstclock.c: (do_linear_regression):
18859           remove crack non-portable handrolled DEBUG macro
18860
18861 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18862
18863         * docs/random/release:
18864           update notes
18865         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18866         (gst_object_flags_get_type), (register_gst_bin_flags),
18867         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18868         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18869         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18870         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
18871         (gst_caps_flags_get_type), (register_gst_clock_return),
18872         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18873         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18874         (gst_clock_flags_get_type), (register_gst_state),
18875         (gst_state_get_type), (register_gst_state_change_return),
18876         (gst_state_change_return_get_type), (register_gst_state_change),
18877         (gst_state_change_get_type), (register_gst_element_flags),
18878         (gst_element_flags_get_type), (register_gst_core_error),
18879         (gst_core_error_get_type), (register_gst_library_error),
18880         (gst_library_error_get_type), (register_gst_resource_error),
18881         (gst_resource_error_get_type), (register_gst_stream_error),
18882         (gst_stream_error_get_type), (register_gst_event_type_flags),
18883         (gst_event_type_flags_get_type), (register_gst_event_type),
18884         (gst_event_type_get_type), (register_gst_seek_type),
18885         (gst_seek_type_get_type), (register_gst_seek_flags),
18886         (gst_seek_flags_get_type), (register_gst_format),
18887         (gst_format_get_type), (register_gst_index_certainty),
18888         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18889         (gst_index_entry_type_get_type),
18890         (register_gst_index_lookup_method),
18891         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18892         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18893         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18894         (gst_index_flags_get_type), (register_gst_debug_level),
18895         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18896         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18897         (gst_iterator_result_get_type), (register_gst_iterator_item),
18898         (gst_iterator_item_get_type), (register_gst_message_type),
18899         (gst_message_type_get_type), (register_gst_mini_object_flags),
18900         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18901         (gst_pad_link_return_get_type), (register_gst_flow_return),
18902         (gst_flow_return_get_type), (register_gst_activate_mode),
18903         (gst_activate_mode_get_type), (register_gst_pad_direction),
18904         (gst_pad_direction_get_type), (register_gst_pad_flags),
18905         (gst_pad_flags_get_type), (register_gst_pad_presence),
18906         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18907         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18908         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18909         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18910         (gst_plugin_flags_get_type), (register_gst_rank),
18911         (gst_rank_get_type), (register_gst_query_type),
18912         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18913         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18914         (gst_tag_flag_get_type), (register_gst_task_state),
18915         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18916         (gst_alloc_trace_flags_get_type),
18917         (register_gst_type_find_probability),
18918         (gst_type_find_probability_get_type), (register_gst_uri_type),
18919         (gst_uri_type_get_type), (register_gst_parse_error),
18920         (gst_parse_error_get_type):
18921         * win32/common/gstenumtypes.h:
18922         * win32/common/gstversion.h:
18923           update visual studio generated files
18924
18925 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18926
18927         * win32/vs6/libgstbase.dsp:
18928         * win32/vs6/libgstelements.dsp:
18929           update project files for new locations
18930
18931 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18932
18933         * Makefile.am:
18934           remove some files
18935         * README:
18936           reinstate and update
18937         * DEVEL:
18938         * REQUIREMENTS:
18939           removed
18940         * LICENSE:
18941         * docs/random/LICENSE:
18942           moved to random
18943
18944 2005-11-30  Edward Hervey  <edward@fluendo.com>
18945
18946         * gst/gsttypefind.c: (gst_type_find_register):
18947         * gst/gsttypefind.h:
18948         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
18949         (gst_type_find_factory_dispose):
18950         * gst/gsttypefindfactory.h:
18951         Fix memory leak in GstTypeFindFactory.
18952
18953 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18954
18955         * gst/gst.c:
18956         * plugins/elements/Makefile.am:
18957         * plugins/elements/gstelements.c:
18958         * plugins/elements/gstqueue.c:
18959           move queue from core to the elements plugin
18960
18961 2005-11-29  Andy Wingo  <wingo@pobox.com>
18962
18963         * libs/gst/base/gstbasetransform.h: 
18964         * libs/gst/base/gstbasesrc.h: 
18965         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
18966
18967         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
18968         of pointers by which to pad very extensible base classes (like the
18969         ones in libs/gst/base).
18970
18971 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18972
18973         * docs/gst/gstreamer-docs.sgml:
18974         * docs/gst/gstreamer-sections.txt:
18975         * docs/libs/gstreamer-libs-docs.sgml:
18976         * docs/libs/gstreamer-libs-sections.txt:
18977           moving documentation from core to lib
18978
18979 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18980
18981         * check/Makefile.am:
18982         * configure.ac:
18983         * docs/gst/Makefile.am:
18984         * gst/Makefile.am:
18985         * gst/base/.cvsignore:
18986         * gst/base/Makefile.am:
18987         * gst/base/README:
18988         * gst/base/gstadapter.c:
18989         * gst/base/gstadapter.h:
18990         * gst/base/gstbasesink.c:
18991         * gst/base/gstbasesink.h:
18992         * gst/base/gstbasesrc.c:
18993         * gst/base/gstbasesrc.h:
18994         * gst/base/gstbasetransform.c:
18995         * gst/base/gstbasetransform.h:
18996         * gst/base/gstcollectpads.c:
18997         * gst/base/gstcollectpads.h:
18998         * gst/base/gstpushsrc.c:
18999         * gst/base/gstpushsrc.h:
19000         * gst/base/gsttypefindhelper.c:
19001         * gst/base/gsttypefindhelper.h:
19002         * gst/check/Makefile.am:
19003         * gst/check/gstcheck.c:
19004         * gst/check/gstcheck.h:
19005         * gst/net/Makefile.am:
19006         * gst/net/gstnet.h:
19007         * gst/net/gstnetclientclock.c:
19008         * gst/net/gstnetclientclock.h:
19009         * gst/net/gstnettimepacket.c:
19010         * gst/net/gstnettimepacket.h:
19011         * gst/net/gstnettimeprovider.c:
19012         * gst/net/gstnettimeprovider.h:
19013         * libs/gst/Makefile.am:
19014         * libs/gst/base/Makefile.am:
19015         * libs/gst/base/gstbasetransform.c:
19016         * libs/gst/check/Makefile.am:
19017         * plugins/elements/Makefile.am:
19018         * po/POTFILES.in:
19019           CVS surgery + support to move base, check, and net out of gst
19020           and into libs/gst
19021
19022 2005-11-29  Andy Wingo  <wingo@pobox.com>
19023
19024         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19025
19026         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19027         padding.
19028
19029         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19030
19031         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19032
19033         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19034
19035         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19036         padding; reduces object size by about 30%. We don't expect
19037         anything else to go into gstobject.
19038
19039         * gst/gstminiobject.h (struct _GstMiniObject)
19040         (struct _GstMiniObjectClass): Only one pointer of padding; the
19041         payload is only a pointer and two ints anyway. For the class there
19042         are only two methods as well.
19043         
19044         * gst/gstelement.h (struct _GstElementClass): Removed
19045         the state_changed signal callback, it is not used.
19046
19047 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19048
19049         * docs/gst/gstreamer.types:
19050           fix includes, though they are a little dinky
19051
19052 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19053
19054         * check/Makefile.am:
19055           look in the right place for elements, a lot more chance of
19056           success
19057         * gst/Makefile.am:
19058           remove indexers and elements subdirs
19059         * plugins/Makefile.am:
19060           make indexers conditional
19061
19062 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19063
19064         * Makefile.am:
19065         * configure.ac:
19066         * plugins/elements/Makefile.am:
19067         * plugins/elements/gstcapsfilter.c:
19068         * plugins/elements/gstfilesink.c:
19069         * plugins/elements/gstfilesrc.c:
19070         * plugins/elements/gstidentity.c:
19071         * plugins/indexers/Makefile.am:
19072           do CVS surgery and related build fixery to move elements
19073           and indexers in a new gstreamer/plugins directory, out of the
19074           gst/ directory
19075
19076 2005-11-29  Andy Wingo  <wingo@pobox.com>
19077
19078         * check/Makefile.am:
19079         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19080         * pkgconfig/gstreamer-net.pc.in:
19081         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19082         #322257.
19083
19084 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19085
19086         * tools/Makefile.am:
19087         * tools/gst-complete.1.in:
19088         * tools/gst-complete.c:
19089         * tools/gst-compprep.1.in:
19090         * tools/gst-compprep.c:
19091           removing -compprep and -complete
19092
19093 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19094
19095         * gst/gstevent.c: (gst_event_new_new_segment),
19096         (gst_event_parse_new_segment):
19097         * gst/gstevent.h:
19098           fix #320529 - clean up new_segment API and structure.
19099           Let's hope everyone was using the methods, and not the structure.
19100
19101 2005-11-29  Edward Hervey  <edward@fluendo.com>
19102
19103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19104         (gst_base_sink_event), (gst_base_sink_do_sync),
19105         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19106         Properly handle non GST_FORMAT_TIME segment
19107         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19108         Properly handle non GST_FORMAT_TIME segment
19109         * gst/gstsegment.c:
19110         This function is valid if the accumulator is 0 and the format
19111         is different from the requested format.
19112         
19113 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19114
19115         * docs/gst/gstreamer-sections.txt:
19116         Add gst_query_new_seeking and gst_query_parse_seeking to the
19117         docs.
19118
19119 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19120
19121         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19122           Treat a pad alloc with new caps the same as if we were not
19123           negotiated, in order to allow a changing upstream output
19124           to produce a new format of data.
19125
19126 2005-11-29  Edward Hervey  <edward@fluendo.com>
19127
19128         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19129         (gst_base_transform_event), (gst_base_transform_eventfunc):
19130         The event virtual method is now properly implemented, with a default
19131         handler
19132         Sub classes should call the parent_class event method. They should
19133         return FALSE if they had a problem handling the given event, or don't
19134         want GstBaseTransform to send that even downstream
19135         * gst/elements/gstidentity.c: (gst_identity_class_init),
19136         (gst_identity_init), (gst_identity_event),
19137         (gst_identity_transform_ip), (gst_identity_set_property),
19138         (gst_identity_get_property):
19139         * gst/elements/gstidentity.h:
19140         Added the single-segment boolean property.
19141         If set to TRUE, it will output a single segment of data, starting from
19142         0, will eat up all incoming newsegment, and modify the timestamp of the
19143         buffers accordingly
19144
19145 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19146
19147         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19148           Don't ref NULL target pad (#322751). Improve docs.
19149
19150 2005-11-29  Michael Smith  <msmith@fluendo.com>
19151
19152         * gst/gstregistryxml.c: (load_plugin):
19153           Don't crash if we failed to load a feature from a plugin. 
19154
19155 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19156
19157         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19158         (GST_START_TEST):
19159           use more check API and less GLib API
19160
19161 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19162
19163         * Makefile.am:
19164           don't run checks if we don't have check
19165         * common/check.mak:
19166           remove the registry when running make torture
19167         * docs/gst/gstreamer-sections.txt:
19168           remove second multiply
19169         * gst/gstqueue.c: (gst_queue_loop):
19170           fix a compile warning when disabling debug
19171
19172 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19173
19174         * gst/gstinfo.h:
19175         Hey! Let's print the pad name if the pointer != NULL instead
19176         of when it == NULL :-)
19177
19178 2005-11-28  Wim Taymans  <wim@fluendo.com>
19179
19180         * check/gst/gstutils.c: (GST_START_TEST):
19181         Updated check, add some scaling accuracy checking code.
19182
19183         * gst/gstutils.c: (gst_util_div128_64),
19184         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19185         (gst_util_uint64_scale_int):
19186         Fix 6 times faster division code. Optimize for common 
19187         1/1 and less common X/1 cases.
19188
19189 2005-11-28  Wim Taymans  <wim@fluendo.com>
19190
19191         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19192         More checks.
19193
19194         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19195         (do_linear_regression), (gst_clock_add_observation):
19196         Cleanups.
19197         Release lock when the clock cannot be slaved.
19198         Catch the case where the regression returned an invalid denominator.
19199
19200         * gst/gstutils.c: (gst_util_div128_64_iterate),
19201         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19202         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19203         Add protentially more performant non-iterative 128/64 divide function
19204         that unfortunatly does not work yet.
19205         Shortcut the trivial 0/X = 0 case.
19206         Remove the warnings on overflow.
19207
19208 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19209
19210         * gst/gstplugin.c: (gst_plugin_register_func):
19211           everything causing a plugin not to load should be at least a WARNING
19212
19213 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19214
19215         * docs/random/ensonic/dparams.txt:
19216           some TODOs for the next dev cycle
19217         * libs/gst/controller/gstcontroller.c:
19218         (gst_controlled_property_set_interpolation_mode),
19219         (gst_controlled_property_new):
19220         * libs/gst/controller/gstcontroller.h:
19221           use base type to assign acccessor functions
19222
19223 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19224
19225         * check/Makefile.am:
19226         Oops, that should have been top_srcdir
19227
19228 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19229
19230         * check/Makefile.am:
19231         * check/elements/fdsrc.c: (GST_START_TEST):
19232         Use a cmdline define to specify the location of a file to use for
19233         testing, to avoid breaking distcheck.
19234
19235 2005-11-28  Andy Wingo  <wingo@pobox.com>
19236
19237         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19238
19239 2005-11-28  Edward Hervey  <edward@fluendo.com>
19240
19241         * tools/gst-launch.c: (main):
19242         Clarify the output strings, makes it easier to translate.
19243         Fixes #322626
19244
19245 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19246
19247         * gst/Makefile.am:
19248           don't try and build net if we don't even have <sys/socket.h>
19249
19250 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19251
19252         * check/Makefile.am:
19253         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19254         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19255           Add tests for fdsrc seekability
19256
19257         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19258         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19259         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19260         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19261         * gst/elements/gstfdsrc.h:
19262           fdsrc should not be a 'live' source.
19263           Implement seeking on seekable fd's.
19264
19265         * gst/gstquery.c: (gst_query_new_seeking),
19266         (gst_query_parse_seeking):
19267         * gst/gstquery.h:
19268           Implement SEEKING query functions: 
19269             *_new_seeking and *_parse_seeking
19270
19271 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19272
19273         * gst/gstelement.c: (gst_element_dispose):
19274           don't loop forever
19275
19276         * gst/gstiterator.c:
19277         * gst/gststructure.c:
19278           doc fixes
19279
19280         * libs/gst/controller/gstcontroller.c:
19281         (gst_controlled_property_set_interpolation_mode):
19282         * libs/gst/controller/gstcontroller.h:
19283         * libs/gst/controller/gstinterpolation.c:
19284         (interpolate_none_get_enum_value_array):
19285           support controlling enums
19286
19287 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19288
19289         * gst/gstvalue.c:
19290           Improve documentation for gst_value_union().
19291
19292         * gst/gstvalue.h:
19293           Change return value for union, intersect and subtract functions
19294           from gint to gboolean.
19295
19296 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19297
19298         * gst/gstvalue.c: (gst_value_serialize_any_list),
19299         (gst_value_transform_any_list_string),
19300         (gst_value_deserialize_list), (gst_value_deserialize_array),
19301         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19302         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19303         (gst_value_set_fraction_range_full),
19304         (gst_value_deserialize_fraction_range),
19305         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19306         (gst_value_deserialize_boolean),
19307         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19308         (gst_value_serialize_float), (gst_value_deserialize_float),
19309         (gst_string_wrap), (gst_value_deserialize_string),
19310         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19311         (gst_value_union_int_range_int_range),
19312         (gst_value_intersect_int_range_int_range),
19313         (gst_value_intersect_double_range_double_range),
19314         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19315         (gst_value_subtract_int_range_int_range),
19316         (gst_value_subtract_double_double_range),
19317         (gst_value_subtract_double_range_double_range),
19318         (gst_value_deserialize_fraction):
19319         * gst/gstvalue.h:
19320           Use gint, gdouble and gchar in our API instead of int, double and
19321           char (and make usage in gstvalue.c more consistent).
19322
19323 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19324
19325         * check/Makefile.am:
19326         * libs/gst/controller/Makefile.am:
19327         * libs/gst/dataprotocol/Makefile.am:
19328           fix up Makefile.am and remove GST_ENABLE_NEW
19329
19330 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19331
19332         * configure.ac:
19333         * gst/Makefile.am:
19334         * gst/base/Makefile.am:
19335         * gst/check/Makefile.am:
19336         * gst/elements/Makefile.am:
19337         * gst/net/Makefile.am:
19338           update LDFLAGS use some more
19339
19340 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19341
19342         * common/m4/gst-doc.m4:
19343           Fixes #312589
19344
19345 2005-11-26  Edward Hervey  <edward@fluendo.com>
19346
19347         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19348         This shouldn't issue a g_warning since it returns NULL if it
19349         couldn't find the plugin, and all functions using this behave
19350         properly on a NULL return. Switching to a GST_WARNING.
19351
19352 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19353
19354         * gst/gstbin.c: (gst_bin_handle_message_func):
19355         Don't leak clock messages.
19356
19357 2005-11-25  Wim Taymans  <wim@fluendo.com>
19358
19359         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19360         (gst_util_uint64_scale_int):
19361         Optimisations, remove unneeded vars.
19362
19363 2005-11-25  Wim Taymans  <wim@fluendo.com>
19364
19365         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19366         Added more checks for the high precision uint64 cases.
19367
19368         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19369         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19370         Implement high precision (guint64 * guint64) / guint64.
19371
19372 2005-11-24  Wim Taymans  <wim@fluendo.com>
19373
19374         * gst/base/gstbasesrc.c: (gst_base_src_query):
19375         Fix wrong percentage query.
19376
19377         * gst/gstutils.c: (gst_util_uint64_scale),
19378         (gst_util_uint64_scale_int):
19379         Add some more common cases that can be handled 
19380         efficiently to _scale.
19381
19382 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19383
19384         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19385         (gst_mini_object_suite):
19386           don't use check calls from threads; check probably isn't
19387           threadsafe and using a lock to make it threadsafe would
19388           defeat the purpose of this check
19389         * gst/check/gstcheck.c:
19390         * gst/check/gstcheck.h:
19391           use GST_DEBUG some more
19392
19393 2005-11-24  Wim Taymans  <wim@fluendo.com>
19394
19395         * gst/gstutils.c: (gst_util_uint64_scale),
19396         (gst_util_uint64_scale_int):
19397         Chain trivial case to _scale_int.
19398
19399 2005-11-24  Wim Taymans  <wim@fluendo.com>
19400
19401         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19402         Added test for scaling.
19403
19404         * gst/gstclock.h:
19405         Small doc fix.
19406
19407         * gst/gstutils.c: (gst_util_uint64_scale_int):
19408         Implemented high precision scaling code.
19409
19410 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19411
19412         * gst/gstinfo.h:
19413           do not crash on pad==NULL
19414
19415 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19416
19417         Patch by: Stefan Kost
19418
19419         * common/gtk-doc.mak:
19420         * docs/gst/Makefile.am:
19421         * docs/libs/Makefile.am:
19422           Fix distcheck issues for the libraries docs build
19423           Closes #319599.
19424
19425 2005-11-24  Michael Smith <msmith@fluendo.com>
19426
19427         * docs/manual/basics-helloworld.xml:
19428           Fix bug #315027: memory leak in example code in docs.
19429
19430 2005-11-24  Michael Smith <msmith@fluendo.com>
19431
19432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19433           Unlock the PREROLL_LOCK in a failure case.
19434
19435 2005-11-24  Wim Taymans  <wim@fluendo.com>
19436
19437         * docs/gst/gstreamer-sections.txt:
19438         * gst/base/gstadapter.h:
19439         * gst/base/gstbasesink.h:
19440         * gst/base/gstbasesrc.h:
19441         * gst/base/gstbasetransform.h:
19442         * gst/base/gstpushsrc.h:
19443         * gst/elements/gstfakesink.h:
19444         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19445         * gst/elements/gstfakesrc.h:
19446         * gst/elements/gstfilesink.h:
19447         * gst/elements/gstfilesrc.h:
19448         * gst/gst.c:
19449         * gst/gstbin.c:
19450         * gst/gstbuffer.c: (_gst_buffer_copy):
19451         * gst/gstbus.h:
19452         * gst/gstcaps.c:
19453         * gst/gstchildproxy.c:
19454         * gst/gstclock.c:
19455         * gst/gstelement.c:
19456         * gst/gstelementfactory.c:
19457         * gst/gstelementfactory.h:
19458         * gst/gstevent.c:
19459         * gst/gstghostpad.h:
19460         * gst/gstindex.h:
19461         * gst/gstinterface.h:
19462         * gst/gstminiobject.c:
19463         * gst/gstminiobject.h:
19464         * gst/gstpad.c:
19465         * gst/gstpad.h:
19466         * gst/gstpadtemplate.h:
19467         * gst/gstpipeline.h:
19468         * gst/gstpluginfeature.h:
19469         * gst/gstquery.h:
19470         * gst/gstqueue.h:
19471         * gst/gsttaglist.c:
19472         * gst/gsttaglist.h:
19473         * gst/gsttagsetter.c:
19474         * gst/gsttagsetter.h:
19475         * gst/gsttrace.c:
19476         * gst/gsttrace.h:
19477         * gst/gsttypefind.h:
19478         * gst/gsturi.h:
19479         * gst/gstvalue.c:
19480         * gst/net/gstnetclientclock.c:
19481         * gst/net/gstnetclientclock.h:
19482         * gst/net/gstnettimepacket.c:
19483         * gst/net/gstnettimeprovider.c:
19484         * gst/net/gstnettimeprovider.h:
19485         Doc fixes.
19486
19487 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19488
19489         * configure.ac: back to HEAD
19490
19491 === release 0.9.6 ===
19492
19493 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
19494
19495         * configure.ac:
19496           releasing 0.9.6, "Always On Time"
19497
19498 2005-11-23  Wim Taymans  <wim@fluendo.com>
19499
19500         * docs/gst/gstreamer-sections.txt:
19501         * gst/glib-compat.c:
19502         * gst/gsttagsetter.c:
19503         * gst/gstvalue.c:
19504         * gst/net/gstnetclientclock.c:
19505         * gst/net/gstnettimepacket.h:
19506         Doc updates.
19507
19508 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19509
19510         * docs/faq/using.xml:
19511         * docs/libs/tmpl/gstcontrol.sgml:
19512         * docs/manual/advanced-dparams.xml:
19513         * docs/manual/appendix-checklist.xml:
19514         * docs/manual/basics-elements.xml:
19515         * docs/pwg/other-source.xml:
19516         * docs/random/moving-plugins:
19517         * gst/gstpad.c:
19518         * tools/gst-launch.1.in:
19519           remove mentions of sinesrc
19520
19521 2005-11-23  Michael Smith <msmith@fluendo.com>
19522
19523         * docs/gst/gstreamer-sections.txt:
19524           Update for new API and API changes.
19525         * gst/gstobject.h:
19526           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19527         * gst/gstvalue.c:
19528           Documentation typo fix.
19529         * gst/net/gstnettimepacket.c:
19530           Documentation fixes for arguments.
19531
19532 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
19533
19534         * gst/gststructure.c: (gst_structure_get_fraction),
19535         (gst_structure_parse_value),
19536         (gst_structure_fixate_field_nearest_fraction):
19537         * gst/gststructure.h:
19538         * gst/gstutils.c: (gst_util_uint64_scale_int):
19539         * gst/gstutils.h:
19540         * scripts/update-funcnames:
19541         API Changes. 
19542         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19543         Make gst_structure_fixate_field_nearest_fraction take a numerator
19544         and denominator argument instead of a GValue
19545         add gst_structure_get_fraction helper function.
19546
19547 2005-11-23  Wim Taymans  <wim@fluendo.com>
19548
19549         * docs/design/part-TODO.txt:
19550         Update TODO.
19551
19552         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19553         * gst/net/gstnetclientclock.h:
19554         Use parent fields for timeout and window_size.
19555
19556 2005-11-23  Andy Wingo  <wingo@pobox.com>
19557
19558         * check/net/gstnetclientclock.c (test_functioning): Adjust to
19559         rate_num/rate_denom change.
19560
19561         * gst/net/gstnetclientclock.c
19562         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19563         OBJECT_LOCK. Don't call add_observation with the lock.
19564
19565         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19566         fraction.
19567         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19568         rate fraction.
19569         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
19570         deal with rate as a fraction whose numerator and denominator are
19571         GstClockTime values.
19572         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19573         master; the other fields are protected by the SLAVE_LOCK.
19574         (do_linear_regression): Note that this must be called with the
19575         SLAVE_LOCK.
19576         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19577         OBJECT_LOCK. Call set_calibration instead of touching the
19578         variables directly.
19579         (gst_clock_set_property, gst_clock_get_property): Protect
19580         master/slave parameters with the SLAVE_LOCK.
19581
19582         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19583         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19584         note that all of the instance variables that add_observation and
19585         the set_master functions use are protected by that lock and not
19586         the OBJECT_LOCK.
19587         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19588
19589         * gst/gstclock.c (gst_clock_add_observation): No longer requires
19590         the caller to take the object lock.
19591
19592 2005-11-23  Wim Taymans  <wim@fluendo.com>
19593
19594         * gst/gsterror.c: (_gst_core_errors_init):
19595         * gst/gsterror.h:
19596         Add error for clock stuff.
19597
19598         * gst/gstpipeline.c: (gst_pipeline_change_state),
19599         (gst_pipeline_set_clock):
19600         Post clock error when clock cannot be used in a pipeline.
19601
19602 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
19603
19604         * docs/gst/gstreamer-sections.txt:
19605           make two symbols from gstinfo private for the docs
19606         * gst/base/gstcollectpads.h:
19607         * gst/gstutils.c:
19608           fix doc typos, update docs
19609
19610 2005-11-22  Wim Taymans  <wim@fluendo.com>
19611
19612         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19613         (gst_base_sink_wait), (gst_base_sink_do_sync),
19614         (gst_base_sink_handle_event):
19615         * gst/base/gstbasesink.h:
19616         No need to store the clock, the parent element class already
19617         has it.
19618
19619         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19620         Updates for clock_set returning a gboolean
19621
19622         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19623         (gst_clock_id_wait_async), (gst_clock_class_init),
19624         (gst_clock_init), (gst_clock_finalize),
19625         (gst_clock_get_internal_time), (gst_clock_get_time),
19626         (gst_clock_slave_callback), (gst_clock_set_master),
19627         (gst_clock_get_master), (do_linear_regression),
19628         (gst_clock_add_observation), (gst_clock_set_property),
19629         (gst_clock_get_property):
19630         * gst/gstclock.h:
19631         Implement master/slave. When setting a clock as a slave, a
19632         periodic timeout is scheduled to sample master and slave times.
19633         Then the slave clock is recalibrated to match offset and rate
19634         of the master clock.
19635         Update logging a bit.
19636         Add flag so that a clock can state that is cannot be slaved to
19637         another clock.
19638
19639         * gst/gstelement.c: (gst_element_set_clock):
19640         * gst/gstelement.h:
19641         The set clock returns a gboolean for when an element cannot
19642         deal with the selected clock in the pipeline. 
19643
19644         * gst/gstpipeline.c: (gst_pipeline_change_state),
19645         (gst_pipeline_set_clock):
19646         * gst/gstpipeline.h:
19647         Handle the case where the selected clock cannot be set on
19648         the pipeline.
19649
19650         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
19651         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
19652         (gst_net_client_clock_set_property),
19653         (gst_net_client_clock_get_property),
19654         (gst_net_client_clock_observe_times):
19655         * gst/net/gstnetclientclock.h:
19656         Use regression code in GstClock parent, remove duplicated
19657         functionality.
19658
19659 2005-11-22  Michael Smith <msmith@fluendo.com>
19660
19661         * gst/gstutils.c: (gst_util_clock_time_scale):
19662         * gst/gstutils.h:
19663         * docs/gst/gstreamer-sections.txt:
19664           Rename method to have extra underscore.
19665
19666 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19667
19668         * gst/elements/Makefile.am:
19669         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
19670         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19671         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19672         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
19673         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
19674         * gst/elements/gstfakesrc.h:
19675         * gst/gstqueue.c: (queue_leaky_get_type):
19676           correctly fix GEnumValues so that nick is the short lowercase
19677           dashed tag
19678         * tools/gst-inspect.c: (print_element_properties_info):
19679           also show the nick, since it's useful to use from parse_launch
19680           syntax
19681           Fixes #322139
19682
19683 2005-11-22  Michael Smith <msmith@fluendo.com>
19684
19685         * gst/gstutils.c: (gst_util_clocktime_scale):
19686         * gst/gstutils.h:
19687         * docs/gst/gstreamer-sections.txt:
19688           Add util method for scaling a clocktime by a fraction. Useful 
19689           implementation is left as an exercise for the reader.
19690
19691 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19692
19693         * gst/gstvalue.c: (gst_value_collect_fraction_range):
19694         If needed, allocate storage in the destination value during
19695         collection.
19696
19697 2005-11-22  Edward Hervey  <edward@fluendo.com>
19698
19699         * docs/gst/gstreamer-sections.txt:
19700         * gst/Makefile.am:
19701         * gst/gst.h:
19702         * gst/gsturitype.c:
19703         * gst/gsturitype.h:
19704         * gst/gstutils.c: (gst_util_set_object_arg):
19705         * tools/gst-compprep.c: (main):
19706         * tools/gst-inspect.c: (print_element_properties_info):
19707         Removed GstURI, closes bug #321061
19708
19709 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19710
19711         * check/gst/gststructure.c: (GST_START_TEST):
19712         * gst/gststructure.c: (gst_structure_parse_value):
19713           Oops, broke automatic string type parsing.
19714           Add a test to catch it in future.
19715
19716 2005-11-22  Andy Wingo  <wingo@pobox.com>
19717
19718         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
19719         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
19720         Actually rename the function implementations. Grr.
19721
19722 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19723
19724         * check/gst/capslist.h:
19725           Comment test cases
19726         * check/gst/gststructure.c: (GST_START_TEST),
19727         (gst_structure_suite):
19728           Test automatic value type detection in gst_structure_from_string.
19729         * gst/gststructure.c: (gst_structure_parse_value):
19730           Add fraction as a type we try and guess automatically in
19731           caps/structure strings.
19732
19733 2005-11-22  Andy Wingo  <wingo@pobox.com>
19734
19735         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
19736
19737         * gst/gsttagsetter.h:
19738         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
19739         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
19740         (gst_tag_setter_add_tag_valist)
19741         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
19742         _add_values, _add_valist, and _add_valist_values. Since this is an
19743         interface the function suffixes should be more explicit so
19744         language binding don't end up with element.add_valist ->
19745         gst_tag_setter_add_valist, for example. Fixes #322069.
19746
19747 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19748
19749         * check/gst/gstcaps.c: (GST_START_TEST):
19750           Extend caps string tests to check that a caps to string
19751           conversion is reversible and produces the same caps.
19752
19753         * gst/gststructure.c: (gst_structure_value_get_generic_type):
19754           Output "fraction" as the generic type fraction range, so caps
19755           serialisation and deserialisation works.
19756         * check/gst/capslist.h:
19757         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19758           Support 'MIN' and 'MAX' for deserialising fractions.
19759
19760 2005-11-22  Andy Wingo  <wingo@pobox.com>
19761
19762         * gst/gstevent.h (gst_event_new_new_segment)
19763         (gst_event_parse_new_segment, gst_event_new_buffer_size)
19764         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
19765         Renamed from *_newsegment, *_buffersize, *_notarget.
19766
19767         * scripts/update-funcnames: New script, performs the changes
19768         listed above.
19769
19770 2005-11-22  Wim Taymans  <wim@fluendo.com>
19771
19772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19773         Make sure the GstFlowReturn is returned.
19774
19775         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
19776         (gst_bus_add_signal_watch):
19777         * gst/gstbus.h:
19778         add gst_bus_add_signal_watch_full.
19779
19780         * gst/gstplugin.c: (gst_plugin_load_file):
19781         Small style cleanup.
19782
19783 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19784
19785         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
19786           Block the fakesrc srcpad when we send an event, to avoid
19787           contention on the stream_lock causing random test failures.
19788
19789 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19790
19791         * check/gst/gstvalue.c: (GST_START_TEST):
19792         * gst/gstvalue.c: (gst_value_fraction_subtract):
19793           Fix subtraction.
19794
19795 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
19796
19797         * gst/gst.h:
19798           include "gstchildproxy.h"
19799         * gst/gstchildproxy.h:
19800         * libs/gst/controller/gstcontroller.h:
19801           use G_GNUC_NULL_TERMINATED
19802
19803 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19804
19805         * check/gst/capslist.h:
19806         * check/gst/gstcaps.c: (GST_START_TEST):
19807         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19808         * gst/gststructure.c: (gst_structure_parse_range),
19809         (gst_structure_fixate_field_nearest_fraction):
19810         * gst/gststructure.h:
19811         * gst/gstvalue.c: (gst_value_init_fraction_range),
19812         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
19813         (gst_value_collect_fraction_range),
19814         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
19815         (gst_value_set_fraction_range_full),
19816         (gst_value_get_fraction_range_min),
19817         (gst_value_get_fraction_range_max),
19818         (gst_value_serialize_fraction_range),
19819         (gst_value_transform_fraction_range_string),
19820         (gst_value_compare_fraction_range),
19821         (gst_value_deserialize_fraction_range),
19822         (gst_value_intersect_fraction_fraction_range),
19823         (gst_value_intersect_fraction_range_fraction_range),
19824         (gst_value_subtract_fraction_fraction_range),
19825         (gst_value_subtract_fraction_range_fraction),
19826         (gst_value_subtract_fraction_range_fraction_range),
19827         (gst_value_collect_fraction), (gst_value_fraction_multiply),
19828         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
19829         (gst_value_transform_string_fraction), (_gst_value_initialize):
19830         * gst/gstvalue.h:
19831           Implement fraction ranges and extend GstFraction to support
19832           arithmetic subtraction, as well as deserialization from integer
19833           strings such as "100"
19834           Add a testsuite as for int and double range set operations
19835
19836 2005-11-21  Andy Wingo  <wingo@pobox.com>
19837
19838         * gst/gsttaglist.h: 
19839         * gst/gstcaps.h: 
19840         * gst/gststructure.h: Add glib-compat.h.
19841
19842 2005-11-21  Wim Taymans  <wim@fluendo.com>
19843
19844         * gst/gstbin.c: (gst_bin_change_state_func):
19845         Fix for #321595
19846
19847 2005-11-21  Wim Taymans  <wim@fluendo.com>
19848
19849         * gst/gstsegment.h:
19850         And add a nice define too.
19851
19852 2005-11-21  Wim Taymans  <wim@fluendo.com>
19853
19854         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
19855         (gst_segment_new), (gst_segment_free), (gst_segment_init),
19856         (gst_segment_set_duration), (gst_segment_set_last_stop),
19857         (gst_segment_set_seek), (gst_segment_set_newsegment),
19858         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19859         (gst_segment_clip):
19860         * gst/gstsegment.h:
19861         Make binding friendly.
19862
19863 2005-11-21  Andy Wingo  <wingo@pobox.com>
19864
19865         * gst/gsttagsetter.h: 
19866         * gst/gsttaglist.h: 
19867         * gst/gststructure.h: 
19868         * gst/gstcaps.h: 
19869         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
19870         #319940.
19871
19872         * gst/gsterror.c (_gst_core_errors_init):
19873         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
19874         category.
19875
19876         * gst/Makefile.am (gst_headers): Add glib-compat.h.
19877         (noinst_HEADERS): noinst the -private.
19878
19879 2005-11-21  Michael Smith <msmith@fluendo.com>
19880
19881         * gst/gstplugin.h:
19882         * gst/gstregistry.h:
19883           Remove unimplemented declarations for which we can see no sensible
19884           use.
19885
19886 2005-11-21  Andy Wingo  <wingo@pobox.com>
19887
19888         * gst/gst.h: Include glib-compat.h.
19889
19890         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
19891
19892         * gst/glib-compat.c: Include the public and the private header.
19893
19894         * gst/glib-compat-private.h: Copied here from glib-compat.h.
19895
19896         * gst/gstvalue.c: 
19897         * gst/gstpad.c: 
19898         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
19899
19900         * check/gst/gstevent.c (create_custom_events): Check that
19901         FLUSH_STOP is serialized.
19902
19903         * check/elements/identity.c (event_func): 
19904         * check/elements/fakesrc.c (event_func): No stream lock, the core
19905         takes it.
19906
19907         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
19908         stream lock taking, yay.
19909
19910         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
19911         ensure that core takes the stream lock.
19912
19913         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
19914         lock name change.
19915
19916         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
19917         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
19918         it already. For the flush start we do take it though so we get the
19919         right preroll state change messages.
19920
19921         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
19922         the stream lock here, the core does it for us.
19923
19924         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
19925         GST_STREAM_GET_LOCK.
19926         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
19927         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
19928         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
19929         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
19930         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
19931         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
19932
19933         * gst/gstpad.c: Update for stream lock name change.
19934
19935         * gst/base/gstbasesink.c: Update for preroll lock name change.
19936
19937 2005-11-21  Wim Taymans  <wim@fluendo.com>
19938
19939         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
19940         (gst_clock_get_master):
19941         * gst/gstclock.h:
19942         * gst/gstsystemclock.c: (gst_system_clock_init):
19943         Convert Clock flags to object flags.
19944         Added methods to manage master/slave clocks.
19945
19946 2005-11-21  Wim Taymans  <wim@fluendo.com>
19947
19948         * check/gst/gstsegment.c: (GST_START_TEST):
19949         * docs/design/part-TODO.txt:
19950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19951         (gst_base_sink_event), (gst_base_sink_do_sync),
19952         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
19953         (gst_base_sink_query), (gst_base_sink_change_state):
19954         * gst/base/gstbasesink.h:
19955         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19956         (gst_base_src_default_newsegment),
19957         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19958         (gst_base_src_get_range), (gst_base_src_loop),
19959         (gst_base_src_change_state):
19960         * gst/base/gstbasesrc.h:
19961         * gst/base/gstbasetransform.c:
19962         (gst_base_transform_prepare_output_buf),
19963         (gst_base_transform_event), (gst_base_transform_change_state):
19964         * gst/base/gstbasetransform.h:
19965         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
19966         (gst_collect_pads_event):
19967         * gst/base/gstcollectpads.h:
19968         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
19969         (gst_fake_src_create):
19970         * gst/elements/gstfakesrc.h:
19971         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19972         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19973         (gst_segment_set_last_stop), (gst_segment_set_seek),
19974         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
19975         (gst_segment_to_running_time), (gst_segment_clip):
19976         * gst/gstsegment.h:
19977         More segment updates, replace code in plugins with segment
19978         helper functions.
19979
19980 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19981
19982         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
19983         Don't ignore sscanf results
19984
19985 2005-11-21  Andy Wingo  <wingo@pobox.com>
19986
19987         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
19988
19989         * *.h:
19990         * *.c: Ran scripts/update-macros. Oh yes.
19991
19992         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
19993         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
19994         GST_GET_LOCK, etc.
19995
19996         * scripts/update-macros: New script. Run it on your files to
19997         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
19998         well.
19999
20000 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20001
20002         * docs/gst/Makefile.am:
20003         * docs/gst/gstreamer-docs.sgml:
20004         * docs/gst/gstreamer-sections.txt:
20005         * docs/gst/gstreamer.types:
20006         * gst/gstinfo.h:
20007           more docs fixes, add new api to the docs
20008
20009 2005-11-21  Andy Wingo  <wingo@pobox.com>
20010
20011         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20012         state_broadcast call.
20013
20014         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20015
20016 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20017
20018         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20019         function calls for arrays.
20020
20021 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20022
20023         * docs/random/ensonic/media-device-daemon.txt:
20024           wild idea, can this be done?
20025         * docs/gst/gstreamer-sections.txt:
20026         * gst/gsterror.h:
20027         * gst/gstfilter.c:
20028         * gst/gstfilter.h:
20029         * gst/gstplugin.h:
20030         * gst/gstpluginfeature.c:
20031         * gst/gsttrace.c:
20032         * gst/gstvalue.c:
20033         * gst/gstvalue.h:
20034           doc fixes and additions
20035
20036 2005-11-21  Andy Wingo  <wingo@pobox.com>
20037
20038         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20039         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20040         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20041         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20042         private to the basesrc implementation.
20043
20044         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20045         behalf of event function if necessary. It should no longer be
20046         necessary to take the stream lock in pad's event functions. Fixes
20047         #320299.
20048
20049 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20050         * docs/gst/gstreamer-sections.txt:
20051         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20052         (gst_structure_fixate_field_nearest_double),
20053         (gst_structure_fixate_field_boolean):
20054         * gst/gststructure.h:
20055         * win32/common/libgstreamer.def:
20056         * win32/gstreamer.def:
20057
20058         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20059         (#322027)
20060
20061 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20062
20063         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20064         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20065         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20066         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20067         (gst_fdsrc_uri_handler_init):
20068         * gst/elements/gstfdsrc.h:
20069           Port fd:// URI handler from 0.8 to fdsrc
20070
20071 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20072
20073         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20074         (gst_value_serialize_fourcc):
20075         * gst/gstvalue.h:
20076           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20077           consistent with our other format defines (#320324).
20078
20079 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20080
20081         * gst/gstvalue.c: (gst_value_is_fixed):
20082           Revert previous commit. Value lists are by definition
20083           not fixed, as they are a list of possible values.
20084
20085 2005-11-21  Andy Wingo  <wingo@pobox.com>
20086
20087         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20088         during the stable series if we need it. Fixes #319178.
20089
20090         * gst/gstevent.c (gst_event_new_filler): Removed.
20091
20092         * check/gst/gstevent.c: Update comment about filler events.
20093
20094 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20095
20096         * gst/gstvalue.c: (gst_value_is_fixed):
20097           Should handle both value arrays and value lists.
20098
20099 2005-11-21  Andy Wingo  <wingo@pobox.com>
20100
20101         patch by: Alessandro Dessina <alessandro nnva org>
20102
20103         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20104         functions to access arrays. Fixes #321962.
20105
20106 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20107
20108         * docs/gst/gstreamer.types:
20109           gst_collectpads_get_type => gst_collect_pads_get_type.
20110           
20111         * gst/base/gstbasetransform.c:
20112           Remove unused SIGNAL_HANDOFF enum.
20113
20114 2005-11-21  Andy Wingo  <wingo@pobox.com>
20115
20116         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20117         the event type (upstream, downstream, serialized). Renamed
20118         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20119         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20120         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20121
20122         * gst/gstevent.c: Update for new CUSTOM event names.
20123
20124         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20125
20126         * gst/gstevent.h:
20127         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20128         bug #319392.
20129
20130 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20131
20132         * docs/gst/gstreamer-sections.txt:
20133         * win32/common/libgstbase.def:
20134         * win32/libgstbase.def:
20135         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20136         (gst_collect_pads_class_init), (gst_collect_pads_init),
20137         (gst_collect_pads_finalize), (gst_collect_pads_new),
20138         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20139         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20140         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20141         (gst_collect_pads_start), (gst_collect_pads_stop),
20142         (gst_collect_pads_peek), (gst_collect_pads_pop),
20143         (gst_collect_pads_available), (gst_collect_pads_read),
20144         (gst_collect_pads_flush), (gst_collect_pads_event),
20145         (gst_collect_pads_chain):
20146         * gst/base/gstcollectpads.h:
20147           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20148           unimplemented functions as unimplemented. Add padding to
20149           GstCollectData. (#320766, #320423)
20150
20151 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20152
20153         * gst/gstmessage.c:
20154           Improve docs for DURATION message (usage of duration parameter)
20155           (#320113)
20156
20157 2005-11-20  Wim Taymans  <wim@fluendo.com>
20158
20159         * check/Makefile.am:
20160         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20161         (main):
20162         * gst/Makefile.am:
20163         * gst/gst.h:
20164         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20165         (gst_segment_set_seek), (gst_segment_set_newsegment),
20166         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20167         (gst_segment_clip):
20168         * gst/gstsegment.h:
20169         Added segment helper structure and methods. Not fully implemented
20170         yet.
20171         Added segment check.
20172
20173 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20174
20175         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20176           Add a deserialisation test for fractions
20177         * examples/metadata/read-metadata.c: (message_loop),
20178         (make_pipeline), (main):
20179           Fix up metadata reading sample.
20180         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20181           Debug format fix
20182         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20183           Don't try and fixate empty caps
20184         * gst/gst_private.h:
20185           Wrap in G_BEGIN_DECLS/G_END_DECLS
20186         * gst/gstvalue.c: (gst_value_collect_fraction),
20187         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20188         (gst_value_transform_string_fraction),
20189         (gst_value_compare_fraction):
20190           Add some extra guards to ensure that we don't end up 
20191           with an invalid denominator of 0 in a gstfraction and
20192           that fractions always get reduced.
20193
20194 2005-11-20  Wim Taymans  <wim@fluendo.com>
20195
20196         * docs/gst/gstreamer-sections.txt:
20197         * gst/gstbuffer.h:
20198         * gst/gstelement.c:
20199         * gst/gstformat.c:
20200         * gst/gstformat.h:
20201         * gst/gstindex.h:
20202         * gst/gstquery.c:
20203         * gst/gstquery.h:
20204         * gst/gstvalue.c:
20205         Doc fixes.
20206
20207 2005-11-20  Wim Taymans  <wim@fluendo.com>
20208
20209         * docs/design/part-TODO.txt:
20210         * gst/gstcaps.h:
20211         Make a proper enum of the flag.
20212
20213 2005-11-19  Wim Taymans  <wim@fluendo.com>
20214
20215         * docs/design/part-TODO.txt:
20216         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20217         (gst_format_to_quark), (gst_format_register):
20218         * gst/gstformat.h:
20219         * gst/gstquery.c: (_gst_query_initialize),
20220         (gst_query_type_get_name), (gst_query_type_to_quark),
20221         (gst_query_type_register):
20222         * gst/gstquery.h:
20223         Add type to quark and type to string conversions.
20224
20225 2005-11-19  Andy Wingo  <wingo@pobox.com>
20226
20227         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20228         #320097.
20229
20230 2005-11-19  Wim Taymans  <wim@fluendo.com>
20231
20232         * docs/design/part-TODO.txt:
20233         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20234         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20235         (gst_bin_handle_message_func):
20236         * gst/gstbin.h:
20237         Make message handling overridable.
20238
20239 2005-11-19  Andy Wingo  <wingo@pobox.com>
20240
20241         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20242
20243         * gst/gstclock.h:
20244         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20245         be a GstClockTime.
20246         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20247         is a GstClockTime. Fixes #321710.
20248
20249         * gst/gstclock.h (GstClock): Remove offset property. Add
20250         internal_calibration and external_calibration. Fix padding. Pad
20251         also by GstClockTime so we don't run into problems.
20252
20253         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20254         (gst_clock_get_rate_offset): Remove.
20255         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20256
20257         * gst/gstutils.h:
20258         * gst/gstutils.c (g_static_rec_cond_wait)
20259         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20260
20261         * gst/gstbin.c: Remove terrible continue_state prototype.
20262
20263         * gst/gstelement.h (gst_element_continue_state): Make public.
20264
20265         * gst/gstelement.h:
20266         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20267         by continue_state. Fixes #319389.
20268
20269         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20270         Really fixes #168438. However I don't see anywhere where the
20271         filter function is called... stupid GStreamer...
20272         
20273         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20274         don't have a dispose function, so it won't get called when the
20275         object is unreffed, but oh well!
20276
20277         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20278         allows a destroy function to be set so user_data can be freed.
20279         Fixes #168438.
20280         (gst_index_set_filter): Call gst_index_set_filter_full.
20281
20282         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20283
20284         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20285         string should produce an error, given the lack of a way to
20286         represent NULL strings. Fixes #165650.
20287         
20288         * gst/gstvalue.h: 
20289         * gst/gstvalue.c (gst_value_array_append_value) 
20290         (gst_value_array_prepend_value, gst_value_array_get_size) 
20291         (gst_value_array_get_value): New API, copied from
20292         gst_value_list_*, only operates on arrays.
20293         (gst_value_list_append_value, gst_value_list_prepend_value) 
20294         (gst_value_list_concat, gst_value_list_get_size) 
20295         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20296
20297         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20298         init_list, because it works on both.
20299         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20300         (gst_value_copy_list_or_array): Renamed from copy_list.
20301         (gst_value_free_list_or_array): Renamed from free_list.
20302         (gst_value_collect_list_or_array): Renamed from collect_list.
20303         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20304         (gst_value_list_or_array_peek_pointer): Renamed from
20305         list_peek_pointer.
20306         (_gst_value_array_value_table, _gst_value_list_value_table):
20307         Update value table functions.
20308         (gst_value_compare_list_or_array): Renamed from compare_list.
20309
20310         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20311         some constness.
20312
20313         * gst/gsttaglist.c:
20314         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20315         GstTagList*. Fixes #143472.
20316
20317         * gst/gststructure.h: Clarify what the foreach/map functions can
20318         or can't do to their arguments.
20319
20320 2005-11-18  Wim Taymans  <wim@fluendo.com>
20321
20322         * gst/gstclock.c: (gst_clock_set_calibration),
20323         (gst_clock_get_calibration):
20324         Doc and API fixes.
20325         Calibration can be set with internal time equal to current
20326         internal time too.
20327
20328 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20329
20330         * gst/gsterror.c:
20331         * gst/gsterror.h:
20332           document
20333
20334 2005-11-18  Andy Wingo  <wingo@pobox.com>
20335
20336         * configure.ac: 
20337         * pkgconfig/gstreamer-net.pc.in:
20338         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20339         * pkgconfig/Makefile.am: Add net pkgconfig files.
20340
20341 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20342
20343         * gst/gstcaps.c:
20344         * gst/gstghostpad.c:
20345         * gst/gsttrace.c:
20346         * gst/gstvalue.c:
20347         * gst/gstvalue.h:
20348           docs fixes
20349
20350 2005-11-18  Andy Wingo  <wingo@pobox.com>
20351
20352         * gst/net/gstnetclientclock.c: Turn off debugging.
20353
20354         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20355         times connverge somewhat. Can't make a real test.
20356
20357         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20358         integer arithmetic. Return the minimum of the domain, which can be
20359         set as "internal" for gst_clock_set_calibration.
20360         (gst_net_client_clock_observe_times): Call _set_calibration.
20361         (gst_net_client_clock_new): Call _set_calibration instead of
20362         rate_offset.
20363
20364         * check/net/gstnetclientclock.c (test_functioning): Use the right
20365         adjustment api.
20366
20367         * gst/gstclock.h:
20368         * gst/gstclock.c (gst_clock_get_calibration) 
20369         (gst_clock_set_calibration): New functions, obsolete the ones I
20370         added yesterday. Doh. Precision issues mean we have to extrapolate
20371         from a point in the more recent past than 1970.
20372         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20373         obsolete.
20374         (gst_clock_adjust_unlocked): Use the right calibration data.
20375
20376 2005-11-18  Edward Hervey  <edward@fluendo.com>
20377
20378         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20379         Also reset the ->current_* values in READY->PAUSED
20380
20381 2005-11-18  Andy Wingo  <wingo@pobox.com>
20382
20383         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20384         Whoops, check the right fd. Also add some debugging.
20385         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20386         (do_linear_regression): Add a crapload of debugging. Subtract off
20387         the minimum values from the input series to discard unneeded bits.
20388         Use only int arithmetic. There is still double arithmetic when
20389         calculating the intercept that needs fixing. Return boolean to
20390         indicate success; FALSE would mean the domain or range is too
20391         great. Still needs fixes.
20392
20393 2005-11-18  Wim Taymans  <wim@fluendo.com>
20394
20395         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20396         For the current position in stream time, we need to subtract
20397         accumulated time.
20398         
20399         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20400         Release lock before calling the callback function of async
20401         entries.
20402
20403 2005-11-18  Andy Wingo  <wingo@pobox.com>
20404
20405         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20406         Port goes all the way to MAXUINT16.
20407
20408         * gst/net/gstnettimeprovider.c: Make the port range the same as
20409         for the kernel: 0 assigns, otherwise ports are less than
20410         MAXUINT16.
20411
20412         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20413         port change.
20414
20415         * check/net/gstnetclientclock.c (test_functioning): Add the start
20416         of another test. 
20417
20418 2005-11-18  Wim Taymans  <wim@fluendo.com>
20419
20420         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20421         (gst_bin_remove_func), (bin_bus_handler):
20422         * gst/gstbin.h:
20423         Removing a clock provider from a bin, triggers a clock lost message
20424         so that a new clock will be selected.
20425         Adding a clock to a bin triggers a clock provider message.
20426         Make sure we reselect a clock when we received a clock lost message.
20427         Keep a reference to the element that provided the clock.
20428
20429 2005-11-18  Andy Wingo  <wingo@pobox.com>
20430
20431         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20432         the clock initially so it produces values around the base time.
20433         (gst_net_client_clock_class_init): Typo fix.
20434         (gst_net_client_clock_thread): Add note on when the socket gets
20435         closed.
20436
20437 2005-11-17  Wim Taymans  <wim@fluendo.com>
20438
20439         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20440         Free remote and local time arrays.
20441
20442 2005-11-17  Wim Taymans  <wim@fluendo.com>
20443
20444         * gst/net/gstnetclientclock.c: (do_linear_regression),
20445         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20446         Fix compilation, uninitialized vars and a forgotten continue.
20447
20448 2005-11-17  Andy Wingo  <wingo@pobox.com>
20449
20450         * check/Makefile.am (check_PROGRAMS): 
20451         * check/net/gstnetclientclock.c: Add a most minimal test for the
20452         net client clock. More to come later.
20453
20454         * gst/net/gstnet.h: 
20455         * gst/net/Makefile.am: Add netclientclock.
20456
20457         * gst/net/gstnetclientclock.h:
20458         * gst/net/gstnetclientclock.c: New files, implement an untested
20459         GstClock that takes its time from a network time provider.
20460         Implements the algorithm in network-clock.scm.
20461
20462         * tests/network-clock.scm (*window-size*): Rename from
20463         *queue-length*.
20464         * tests/network-clock.scm (network-time): 
20465         * tests/network-clock-utils.scm (q-push): Update callers.
20466
20467 2005-11-17  Wim Taymans  <wim@fluendo.com>
20468
20469         * gst/gstbin.c: (gst_bin_provide_clock_func),
20470         (gst_bin_sort_iterator_new):
20471         And unref the child too..
20472
20473 2005-11-17  Wim Taymans  <wim@fluendo.com>
20474
20475         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20476         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20477         Refactor the sort iterator so it can be used while holding the
20478         LOCK too.
20479         Make clock selection select a clock closest to the source.
20480
20481 2005-11-17  Michael Smith <msmith@fluendo.com>
20482
20483         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20484         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20485         * gst/gstclock.h:
20486           Anonymous structs are a gcc (and some other compilers) extension, so
20487           don't use them. Since this is only for ABI-compatibility, and our
20488           API/ABI freeze is over in a few days, this whole thing will only
20489           last a few days, so don't bother trying to think up a meaningful
20490           name for the struct.
20491
20492 2005-11-17  Andy Wingo  <wingo@pobox.com>
20493
20494         * gst/gstclock.h (GstClock): Add rate and offset properties,
20495         preserving ABI stability. Add rate/offset accessors. Will file bug
20496         for the freeze break.
20497
20498         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20499         and offset, trying to keep precision and avoiding
20500         underflow/overflow.
20501         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20502         functions. Make gst_clock_set_time_adjust obsolete.
20503         (gst_clock_set_time_adjust): Note that this function is obsolete.
20504         Will file bug soon.
20505
20506         * gst/base/gstbasetransform.h: Make the ABI-stability hack
20507         greppable by using GST_PADDING-1+1.
20508
20509 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
20510
20511         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20512
20513         * gst/gstmessage.c: (gst_message_parse_clock_lost):
20514           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20515
20516         * gst/gstpadtemplate.h:
20517         * gst/gstpluginfeature.h:
20518           Don't use c++ style comments in headers (#321638).
20519
20520 2005-11-16  Andy Wingo  <wingo@pobox.com>
20521
20522         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20523         buffer.
20524
20525         * check/net/gstnettimeprovider.c: Check to see that the time
20526         provider actually provides times. Works, yo!
20527
20528 2005-11-16  Wim Taymans  <wim@fluendo.com>
20529
20530         * check/Makefile.am:
20531         Enable more tests.
20532
20533         * check/elements/fakesrc.c: (GST_START_TEST):
20534         Set element to NULL before disposing it.
20535
20536 2005-11-16  Andy Wingo  <wingo@pobox.com>
20537
20538         * gst/net/Makefile.am:
20539         * gst/net/gstnet.h:
20540         * gst/net/gstnettimeprovider.c: 
20541         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20542         provider, include it from gstnet.h, and add it to the build.
20543
20544         * gst/net/gstnettimepacket.h: 
20545         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20546         sending and receiving.
20547
20548 2005-11-16  Wim Taymans  <wim@fluendo.com>
20549
20550         * check/Makefile.am:
20551         Enable valgrind check.
20552
20553         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20554         (gst_fake_src_alloc_buffer):
20555         Fix memleak.
20556
20557 2005-11-16  Wim Taymans  <wim@fluendo.com>
20558
20559         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20560         Call parent finalize too.
20561
20562 2005-11-16  Wim Taymans  <wim@fluendo.com>
20563
20564         * check/Makefile.am:
20565         Enable valgrind check that should work fine now.
20566
20567         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20568         * gst/gstqueue.c: (gst_queue_init):
20569         Fix memleaks in pad allocation.
20570
20571 2005-11-16  Andy Wingo  <wingo@pobox.com>
20572
20573         * gst/net/Makefile.am:
20574         * gst/net/gstnet.h: New part of core to hold network elements and
20575         objects. Put in core because it exposes API that applications want
20576         to use. The library is named libgstnet-tempname right now because
20577         of the existing libgstnet in gst-plugins-base. Solution is
20578         probably to rename the one in plugins-base; will file a bug for
20579         the freeze break.
20580
20581         * gst/net/gstnettimeprovider.c: 
20582         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20583         get_time call over the network.
20584
20585         * configure.ac: 
20586         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20587
20588         * check/Makefile.am:
20589         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20590         get additions shortly.
20591
20592 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20593
20594         * gst/gstpad.c: (gst_pad_new_from_static_template):
20595         * gst/gstpad.h:
20596           add gst_pad_new_from_static_template functions
20597         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20598         (gst_check_setup_sink_pad):
20599         * gst/elements/gsttee.c: (gst_tee_init):
20600           and use them
20601
20602 2005-11-16  Wim Taymans  <wim@fluendo.com>
20603
20604         * gst/gstpad.c: (gst_pad_pause_task):
20605         Removed warning, it's not really an error either.
20606
20607 2005-11-16  Wim Taymans  <wim@fluendo.com>
20608
20609         * gst/base/gstbasetransform.c:
20610         (gst_base_transform_prepare_output_buf),
20611         (gst_base_transform_event):
20612         Check if the caps are NULL, this can happen if the element
20613         is shutting down and the pad caps are set to NULL.
20614
20615 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20616
20617         * gst/elements/gsttee.c: (gst_tee_init):
20618           fix pad template leak in tee
20619
20620 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20621
20622         * gst/glib-compat.c: (g_value_dup_gst_object):
20623         * gst/glib-compat.h:
20624         * gst/gstpad.c: (gst_pad_set_property):
20625           use gst_object_ref when setting the pad template; this will
20626           trigger the pad template leaks on GLib 2.6 and the slaves
20627
20628 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20629
20630         * gst/glib-compat.c: (gst_flags_get_first_value):
20631         * gst/glib-compat.h:
20632         * gst/gstregistryxml.c:
20633           remove functions copied from GLib 2.6
20634
20635 2005-11-16  Michael Smith <msmith@fluendo.com>
20636
20637         * gst/Makefile.am:
20638           Don't link against VALGRIND_LIBS. That was always the wrong thing to
20639           do, but only breaks with newer valgrind versions. We're not a
20640           valgrind tool, we have no link-time dependencies on libcoregrind.
20641
20642 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20643
20644         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20645           some debug changes
20646         * gst/gstmessage.h:
20647           typo fixes
20648
20649 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20650
20651         * gst/base/gstbasesrc.c: (gst_base_src_init):
20652         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20653         * gst/gstqueue.c: (gst_queue_init):
20654         * gst/gstregistryxml.c: (load_feature):
20655           Revert all these unrefs, they don't even pass make check !
20656
20657 2005-11-15  Johan Dahlin  <johan@gnome.org>
20658
20659         * gst/base/gstbasesrc.c: (gst_base_src_init):
20660         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20661         * gst/gstqueue.c: (gst_queue_init): 
20662         Free pad templates, fixes a couple of leaks.
20663
20664 2005-11-15  Daniel Fischer  <dan at f3c dot com>
20665
20666         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20667
20668         * gst/gstpad.c: (gst_pad_get_property):
20669           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
20670           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
20671           (#321452)
20672
20673 2005-11-15  Wim Taymans  <wim@fluendo.com>
20674
20675         * gst/gstevent.c:
20676         Small doc update.
20677
20678 2005-11-15  Andy Wingo  <wingo@pobox.com>
20679
20680         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
20681
20682         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
20683         using GST_CLOCK_TIME_NONE to disable base time management.
20684         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
20685         time if it was NONE before.
20686         (gst_pipeline_change_state): Only munge the base time if
20687         stream_time != GST_CLOCK_TIME_NONE.
20688
20689         * check/gst/gstpipeline.c (test_base_time): Punt around the
20690         problem of the probe not being called, because that's not the
20691         issue I'm looking at. Add a check that setting stream_time to NONE
20692         disables base time management.
20693         
20694 2005-11-15  Wim Taymans  <wim@fluendo.com>
20695
20696         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20697         segment_stop == -1 at startup.
20698
20699         * gst/base/gstbasetransform.c: (gst_base_transform_event),
20700         (gst_base_transform_change_state):
20701         Init segment values at start.
20702
20703 2005-11-15  Wim Taymans  <wim@fluendo.com>
20704
20705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20706         0 segment values are 0 in any format.
20707
20708         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20709         * gst/base/gstbasetransform.h:
20710         Parse newsegment correctly in basetransform
20711
20712         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20713         Sync to clock using updated segment values.
20714
20715 2005-11-15  Andy Wingo  <wingo@pobox.com>
20716
20717         * check/gst/gstpipeline.c (test_base_time): Add check that the
20718         base time and stream time are reset correctly.
20719
20720 2005-11-15  Wim Taymans  <wim@fluendo.com>
20721
20722         * docs/design/part-TODO.txt:
20723         Some more TODO items.
20724
20725 2005-11-15  Andy Wingo  <wingo@pobox.com>
20726
20727         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
20728         error if the user selected "no clock" as the clocking method.
20729
20730         * check/gst/gstpipeline.c (test_base_time): New test for buffer
20731         timestamps with live capture.
20732
20733         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
20734         is 0 but we are a live source, timestamp the buffers using the
20735         element's clock.
20736
20737 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
20738
20739         * docs/gst/gstreamer-sections.txt:
20740         * gst/gsterror.c:
20741         * gst/gstghostpad.c:
20742         * gst/gstobject.h:
20743         * gst/gstxml.c:
20744           more section docs
20745
20746 2005-11-14  Wim Taymans  <wim@fluendo.com>
20747
20748         * common/gst.supp:
20749           add suppressions from Wim's Debian machine
20750
20751 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20752
20753         * common/gst.supp:
20754           add suppressions from Andy's AMD64 Ubuntu machine
20755
20756 2005-11-14  Andy Wingo  <wingo@pobox.com>
20757
20758         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
20759         STATE_LOCK not necessary. Fixes #311489.
20760
20761         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
20762         #305291.
20763
20764         * gst/gstindex.c (gst_index_add_object): Note in the docs that
20765         this function is not implemented.
20766
20767 2005-11-14  Julien MOUTTE  <julien@moutte.net>
20768
20769         * gst/base/gstbasetransform.c:
20770         (gst_base_transform_prepare_output_buf):
20771         Ref the source pad caps while we need them.
20772         Fixes (#321386)
20773
20774 2005-11-11  Wim Taymans  <wim@fluendo.com>
20775
20776         * docs/gst/gstreamer-sections.txt:
20777         Added some docs for GstCollectData.
20778
20779         * gst/base/gstadapter.c:
20780         Some small code example fix.
20781
20782         * gst/base/gstcollectpads.c:
20783         * gst/base/gstcollectpads.h:
20784         Document some more.
20785
20786 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20787
20788         * configure.ac: back to HEAD
20789
20790 === release 0.9.5 ===
20791
20792 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
20793
20794         * configure.ac:
20795           releasing 0.9.5, "Bike Lunch Day"
20796
20797 2005-11-11  Wim Taymans  <wim@fluendo.com>
20798
20799         * gst/gstbuffer.c: (_gst_buffer_copy):
20800         Copy more flags.
20801
20802         * gst/gstcaps.c: (gst_caps_is_equal):
20803         Fix some docs.
20804         Make _is_equal fast in the trivial cases.
20805
20806         * gst/gstminiobject.c:
20807         * gst/gstminiobject.h:
20808         More docs. Spifify .h file.
20809
20810         * gst/gstutils.c:
20811         Small doc update.
20812
20813 2005-11-11  Wim Taymans  <wim@fluendo.com>
20814
20815         * gst/base/gstbasetransform.c:
20816         (gst_base_transform_prepare_output_buf),
20817         (gst_base_transform_handle_buffer):
20818         Small cleanups.
20819         If we're processing a buffer and need to allocate an output
20820         buffer, we cannot accept a format change. If we did get a 
20821         format change, we have to alloc a buffer ourselves of the 
20822         right size.
20823
20824 2005-11-11  Wim Taymans  <wim@fluendo.com>
20825
20826         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
20827         While checking the flag for reentrancy in the gstcaps function
20828         is nice to detect recursive invocations, it also makes it 
20829         impossible to call getcaps from multiple threads, which must be
20830         possible. So, checking for recursive calls has to go.
20831
20832 2005-11-11  Michael Smith <msmith@fluendo.com>
20833
20834         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20835           Don't sync on buffers that fall partially outside our current
20836           segment. Prevents an assertion failure/abort playing some files.
20837
20838 2005-11-10  Andy Wingo  <wingo@pobox.com>
20839
20840         * check/gst/gstbin.c (test_message_state_changed_children): Style
20841         fix..
20842
20843         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
20844         gst_bus_poll with the signal watch. Ensures that poll and a signal
20845         watch see the same messages.
20846
20847         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
20848         a poll and a watch at the same time get the same messages.
20849
20850 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20851
20852         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
20853         * gst/gstcaps.c: (gst_caps_intersect):
20854           Don't call gst_caps_do_simplify - it doesn't respect order of caps
20855           and it's not needed.
20856
20857 2005-11-10  Wim Taymans  <wim@fluendo.com>
20858
20859         * docs/design/part-TODO.txt:
20860         Updated todo.
20861
20862 2005-11-10  Wim Taymans  <wim@fluendo.com>
20863
20864         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20865         * gst/base/gstbasesrc.c: (gst_base_src_wait),
20866         (gst_base_src_do_sync), (gst_base_src_get_range):
20867         Implement clock sync in base class.
20868
20869 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20870
20871         patch by: Tim-Philipp Müller <tim at centricular dot net>
20872
20873         * gst/gststructure.c: (gst_structure_parse_field),
20874         (gst_structure_from_string):
20875           Forward-port a 0.8 patch to handle escaped spaces in structure string,
20876           so that gst_parse_launch() can deal with spaces in filtered link
20877           caps (fixes #164479)
20878         * check/gst/capslist.h:
20879         * check/gst/gststructure.c: (GST_START_TEST):
20880           add unit tests for this change
20881
20882 2005-11-10  Wim Taymans  <wim@fluendo.com>
20883
20884         * docs/gst/gstreamer-sections.txt:
20885         * gst/gstelement.c:
20886         * gst/gstelement.h:
20887         Fix docs, move some STATE macros to private.
20888
20889 2005-11-10  Wim Taymans  <wim@fluendo.com>
20890
20891         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20892         Added check for bug #317341
20893
20894         * gst/gstbuffer.c:
20895         * gst/gstbuffer.h:
20896         Some more spiffifying.
20897
20898         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
20899         Call peer linkfunction if we are a source pad. Totally fixes
20900         #317341
20901
20902         * gst/gstpad.c:
20903         Update docs, source pads should call the peer linkfunction
20904         so they can atomically perform the pad link.
20905
20906 2005-11-09  Wim Taymans  <wim@fluendo.com>
20907
20908         * gst/gstbuffer.c:
20909         * gst/gstbuffer.h:
20910         Uber-spiffy-spiffify some more.
20911
20912 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
20913
20914         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
20915         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20916         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20917         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
20918         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
20919         * gst/gstpad.c: (gst_pad_init):
20920           Use GST_DEBUG_FUNCPTR() more extensively.
20921
20922 2005-11-09  Wim Taymans  <wim@fluendo.com>
20923
20924         * gst/gstobject.c: (gst_object_class_init):
20925         * gst/gstobject.h:
20926         Documentation fixes.
20927
20928 2005-11-09  Edward Hervey  <edward@fluendo.com>
20929
20930         * gst/gsttypefindfactory.c:
20931         Fix docs.
20932         
20933 2005-11-09  Edward Hervey  <edward@fluendo.com>
20934
20935         * gst/base/gsttypefindhelper.c:
20936         * gst/gsttypefind.c:
20937         * gst/gsttypefind.h:
20938         Fix docs.
20939
20940 2005-11-09  Wim Taymans  <wim@fluendo.com>
20941
20942         * gst/gstiterator.c:
20943         Fix revision data.
20944
20945         * gst/gsttask.c:
20946         * gst/gsttask.h:
20947         Fix docs.
20948
20949 2005-11-09  Wim Taymans  <wim@fluendo.com>
20950
20951         * gst/gstevent.h:
20952         * gst/gsturi.h:
20953         Fix docs.
20954
20955 2005-11-09  Wim Taymans  <wim@fluendo.com>
20956
20957         * docs/gst/gstreamer-sections.txt:
20958         Moved the message async delivery private lock and cond
20959         to the private section.
20960
20961         * gst/gstmessage.c:
20962         * gst/gstmessage.h:
20963         Fixed docs.
20964
20965 2005-11-09  Edward Hervey  <edward@fluendo.com>
20966
20967         * docs/gst/gstreamer-sections.txt:
20968         * gst/gsturi.c:
20969         * gst/gsturi.h:
20970         Document GstURIHandler
20971
20972 2005-11-09  Wim Taymans  <wim@fluendo.com>
20973
20974         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
20975         (gst_iterator_find_custom):
20976         * gst/gstiterator.h:
20977         Fix iterator docs.
20978
20979 2005-11-09  Wim Taymans  <wim@fluendo.com>
20980
20981         * gst/gstbin.h:
20982         Document another field.
20983
20984         * gst/gststructure.c:
20985         * gst/gststructure.h:
20986         Document.
20987
20988 2005-11-09  Wim Taymans  <wim@fluendo.com>
20989
20990         * gst/gstbin.h:
20991         Documented structs.
20992
20993 2005-11-09  Wim Taymans  <wim@fluendo.com>
20994
20995         * docs/gst/gstreamer-sections.txt:
20996         Added some new macros.
20997
20998         * gst/gstclock.c:
20999         * gst/gstclock.h:
21000         * gst/gstobject.h:
21001         Docs updates.
21002
21003 2005-11-09  Wim Taymans  <wim@fluendo.com>
21004
21005         * docs/design/part-TODO.txt:
21006         Some more items for the TODO
21007
21008         * gst/gstcaps.c:
21009         * gst/gstcaps.h:
21010         Document GstCaps.
21011
21012 2005-11-09  Andy Wingo  <wingo@pobox.com>
21013
21014         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21015         to work on something else now tho...
21016
21017         * gst/base/gstadapter.c: More adapter docs.
21018
21019         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21020         (gst_file_sink_stop): New functions, replace the state change
21021         handler.
21022         (gst_file_sink_class_init): Hook up the start and stop functions.
21023         (gst_file_sink_base_init): Don't set the state change handler any
21024         more. It was a bit ugly too, being set from here...
21025         (gst_file_sink_get_property, gst_file_sink_set_property):
21026         Cleanups...
21027         (gst_file_sink_set_location): More robust check that doesn't call
21028         GST_STATE. Ugggggg.
21029
21030 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21031
21032         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21033           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21034
21035 2005-11-08  Wim Taymans  <wim@fluendo.com>
21036
21037         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21038         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21039         (gst_base_sink_chain), (gst_base_sink_change_state):
21040         * gst/base/gstbasesink.h:
21041         * gst/base/gstbasesrc.h:
21042         * gst/gstelement.h:
21043         * gst/gstevent.h:
21044         Avoid excessive typechecking in macros.
21045
21046         * gst/gstminiobject.c: (gst_mini_object_get_type),
21047         (gst_mini_object_init), (gst_mini_object_new),
21048         (gst_mini_object_free):
21049         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21050         (gst_object_finalize):
21051         Remove cruft code, optimize alloc_trace.
21052
21053 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21054
21055         * docs/faq/gst-uninstalled:
21056           fix up PS1 for systems that try to reset it
21057
21058 2005-11-07  Wim Taymans  <wim@fluendo.com>
21059
21060         * gst/base/gstbasesrc.c: (gst_base_src_init),
21061         (gst_base_src_get_range):
21062         Set the segment_end to -1 initially. Fixed typefind.
21063
21064 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21065
21066         * gst/base/gstadapter.c:
21067           Debug category should be 'adapter', not 'GstAdapter'.
21068           
21069         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21070         (gst_collectpads_class_init), (gst_collectpads_init),
21071         (gst_collectpads_peek), (gst_collectpads_pop),
21072         (gst_collectpads_event), (gst_collectpads_chain):
21073           Add debug category and some debugging output. Use boilerplate
21074           macros. Remove some extraneous words from docs.
21075
21076 2005-11-05  Andy Wingo  <wingo@pobox.com>
21077
21078         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21079         macro.
21080
21081 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21082
21083         * docs/gst/gstreamer-sections.txt:
21084         * gst/gstcaps.h:
21085         * gst/gstinfo.c:
21086         * gst/gstminiobject.h:
21087         * gst/gstobject.h:
21088         * gst/gstutils.h:
21089           more docs added
21090
21091 2005-11-04  Wim Taymans  <wim@fluendo.com>
21092
21093         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21094         Small update to stop at the configured segment_end
21095         position.
21096
21097 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21098
21099         * gst/gstregistry.c:
21100         * gst/gstregistry.h:
21101           added missing docs
21102
21103 2005-11-04  Edward Hervey  <edward@fluendo.com>
21104
21105         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21106         Check if we are doing a segment seek and have arrived at the
21107         end of that segment.
21108
21109 2005-11-04  Wim Taymans  <wim@fluendo.com>
21110
21111         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21112         Don't leak a mutex unlock in case of an error.
21113
21114         * gst/gstbus.h:
21115         Doc fixes.
21116
21117 2005-11-04  Wim Taymans  <wim@fluendo.com>
21118
21119         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21120         (gst_bus_post):
21121         Get the context to wake up only once.
21122
21123 2005-11-03  Wim Taymans  <wim@fluendo.com>
21124
21125         * check/states/sinks.c: (GST_START_TEST):
21126         Uncomment fixed check.
21127
21128         * docs/design/part-TODO.txt:
21129         Updated TODO.
21130
21131         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21132         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21133         (gst_base_sink_get_position):
21134         If we are going to PLAYING, post the right pending state
21135         when we post the intermediate paused message.
21136
21137         * gst/gstelement.c: (gst_element_continue_state),
21138         (gst_element_set_state_func), (gst_element_change_state):
21139         Don't post state changes that were between the same state
21140         and were not ASYNC.
21141
21142 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21143
21144         * docs/gst/gstreamer-sections.txt:
21145         * gst/gstcaps.h:
21146         * gst/gstinfo.c:
21147         * gst/gstminiobject.h:
21148         * gst/gstobject.h:
21149         * gst/gstutils.h:
21150           more docs and doc style fixes
21151
21152 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21153
21154         * docs/gst/gstreamer-sections.txt:
21155         * gst/gstelement.c:
21156         * gst/gstminiobject.c:
21157         doc fixes
21158
21159 2005-11-03  Andy Wingo  <wingo@pobox.com>
21160
21161         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21162         state-changed messages actually have the right order and the right
21163         values.
21164
21165 2005-11-03  Wim Taymans  <wim@fluendo.com>
21166
21167         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21168         Added some more checks. Specifically the case where NO_PREROLL
21169         elements are in the pipeline.
21170
21171         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21172         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21173         (gst_base_sink_get_position):
21174         Post READY->PAUSED state change messages too.
21175         Fix bug where VOID was posted as pending state...
21176
21177         * gst/gstbin.c: (gst_bin_recalc_state):
21178         use _element_continue_state() to continue the state change.
21179
21180         * gst/gstelement.c: (gst_element_continue_state),
21181         (gst_element_commit_state), (gst_element_set_state_func),
21182         (gst_element_change_state), (gst_element_change_state_func):
21183         Lots of state change cleanups, assign the STATE_RETURN in
21184         a new continue_state() function that also propagates the
21185         last return value from a state change to the app.
21186         Update some debug statements with proper category.
21187
21188 2005-11-03  Wim Taymans  <wim@fluendo.com>
21189
21190         * docs/design/part-events.txt:
21191         * docs/design/part-gstpipeline.txt:
21192         * docs/design/part-messages.txt:
21193         * docs/design/part-overview.txt:
21194         * docs/design/part-seeking.txt:
21195         * docs/design/part-states.txt:
21196         * docs/design/part-trickmodes.txt:
21197         * docs/manual/advanced-position.xml:
21198         Small docs updates.
21199
21200         * gst/gstobject.h:
21201         People think !! is ugly, this looks better.
21202
21203         * gst/gstpad.c: (gst_pad_set_blocked_async):
21204         Remove !! since it's fixed elsewhere now.
21205
21206 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21207
21208         * gst/gstminiobject.h:
21209         * gst/gstobject.h:
21210           Add !! to _FLAG_IS_SET macros to make the result boolean.
21211
21212 2005-11-03  Edward Hervey  <edward@fluendo.com>
21213
21214         * gst/gstpad.c: (gst_pad_set_blocked_async):
21215         comparing a flag and a gboolean rarely returns coherent results...
21216         Added two characters (!!) to make that work correctly.
21217         
21218 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21219
21220         * gst/gstbus.c: (gst_bus_class_init):
21221           Fix some typos.
21222           
21223         * gst/gstqueue.c: (gst_queue_loop):
21224           Don't assume a miniobject that isn't a buffer is an
21225           event (it could be that there is a refcounting
21226           problem somewhere and the pointer is stale and
21227           refers to an already destroyed miniobject).
21228
21229 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21230
21231         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21232
21233 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21234
21235         * docs/manual/advanced-position.xml:
21236           Update seek example and explanations to current 0.9 API.
21237
21238         * gst/elements/gsttypefindelement.c:
21239         (gst_type_find_element_activate):
21240           Remove FIXME comment now that the found caps
21241           are unreffed.
21242
21243 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21244
21245         * gst/gstregistryxml.c: (load_feature):
21246           Add another GST_STR_NULL instance
21247
21248 2005-11-02  Edward Hervey  <edward@fluendo.com>
21249
21250         * gst/gstpad.c: (handle_pad_block):
21251         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21252         
21253 2005-11-02  Wim Taymans  <wim@fluendo.com>
21254
21255         * gst/gstbin.c:
21256         Fix typo in docs.
21257
21258         * gst/gstelement.c: (gst_element_commit_state):
21259         Remove unused value.
21260
21261         * gst/gstiterator.c:
21262         Mention that the returned element is reffed in the docs.
21263
21264 2005-11-02  Wim Taymans  <wim@fluendo.com>
21265
21266         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21267         (gst_pad_push), (gst_pad_push_event):
21268         Unlock blocked pads when they are flushed.
21269
21270 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21271
21272         * docs/README:
21273         * docs/gst/gstreamer-sections.txt:
21274         * gst/gstbin.c:
21275           doc updates
21276         * gst/gstregistry.c: (gst_registry_scan_path_level):
21277           fix for a nasty little missed situation where an installed plug-in
21278           which was in the cache did not get overridden by an uninstalled one
21279           which was earlier in the plugin path because the newly created plugin
21280           for the uninstalled one (not in the registry) didn't get its
21281           ->registered set to TRUE
21282
21283 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21284
21285         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21286         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21287         (gst_collectpads_is_active), (gst_collectpads_collect),
21288         (gst_collectpads_collect_range), (gst_collectpads_start),
21289         (gst_collectpads_stop), (gst_collectpads_peek),
21290         (gst_collectpads_pop), (gst_collectpads_available),
21291         (gst_collectpads_read), (gst_collectpads_flush):
21292           Guard public API with assertions.
21293         
21294         * gst/gstpad.c:
21295           Fix docs for gst_pad_set_link_function().
21296
21297 2005-11-02  Johan Dahlin  <johan@gnome.org>
21298
21299         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21300         Unref found_caps after we used it.
21301
21302 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21303
21304         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21305           Don't try to ref NULL.
21306
21307 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21308
21309         * win32/common/config.h.in:
21310           provide a GST_FUNCTION that just gives a string for now
21311
21312 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21313
21314         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21315         (gst_object_flags_get_type), (register_gst_bin_flags),
21316         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21317         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21318         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21319         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21320         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21321         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21322         (gst_clock_flags_get_type), (register_gst_state),
21323         (gst_state_get_type), (register_gst_state_change_return),
21324         (gst_state_change_return_get_type), (register_gst_state_change),
21325         (gst_state_change_get_type), (register_gst_element_flags),
21326         (gst_element_flags_get_type), (register_gst_core_error),
21327         (gst_core_error_get_type), (register_gst_library_error),
21328         (gst_library_error_get_type), (register_gst_resource_error),
21329         (gst_resource_error_get_type), (register_gst_stream_error),
21330         (gst_stream_error_get_type), (register_gst_event_type),
21331         (gst_event_type_get_type), (register_gst_seek_type),
21332         (gst_seek_type_get_type), (register_gst_seek_flags),
21333         (gst_seek_flags_get_type), (register_gst_format),
21334         (gst_format_get_type), (register_gst_index_certainty),
21335         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21336         (gst_index_entry_type_get_type),
21337         (register_gst_index_lookup_method),
21338         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21339         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21340         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21341         (gst_index_flags_get_type), (register_gst_debug_level),
21342         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21343         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21344         (gst_iterator_result_get_type), (register_gst_iterator_item),
21345         (gst_iterator_item_get_type), (register_gst_message_type),
21346         (gst_message_type_get_type), (register_gst_mini_object_flags),
21347         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21348         (gst_pad_link_return_get_type), (register_gst_flow_return),
21349         (gst_flow_return_get_type), (register_gst_activate_mode),
21350         (gst_activate_mode_get_type), (register_gst_pad_direction),
21351         (gst_pad_direction_get_type), (register_gst_pad_flags),
21352         (gst_pad_flags_get_type), (register_gst_pad_presence),
21353         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21354         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21355         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21356         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21357         (gst_plugin_flags_get_type), (register_gst_rank),
21358         (gst_rank_get_type), (register_gst_query_type),
21359         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21360         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21361         (gst_tag_flag_get_type), (register_gst_task_state),
21362         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21363         (gst_alloc_trace_flags_get_type),
21364         (register_gst_type_find_probability),
21365         (gst_type_find_probability_get_type), (register_gst_uri_type),
21366         (gst_uri_type_get_type), (register_gst_parse_error),
21367         (gst_parse_error_get_type):
21368         * win32/common/gstversion.h:
21369           update win32 copies
21370
21371 2005-11-01  Luca Ognibene  <luogni@tin.it>
21372
21373         * gst/gst.c:
21374           fix docs. popt is dead, long live GOption.
21375
21376 2005-10-31  Wim Taymans  <wim@fluendo.com>
21377
21378         * gst/gstbuffer.h:
21379         Small doc fix.
21380
21381 2005-10-31  Andy Wingo  <wingo@pobox.com>
21382
21383         * Boo!
21384
21385         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21386
21387         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21388         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21389         the possibility of deadlocks here if code calling notify() or
21390         set() has a lock that can be taken in another notify handler (ABBA
21391         with class lock and e.g. python GIL state lock).
21392
21393 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21394
21395         * gst/gstbus.c: Doc updates.
21396
21397 2005-10-28  Wim Taymans  <wim@fluendo.com>
21398
21399         * docs/design/part-TODO.txt:
21400         * gst/gstiterator.c:
21401         * gst/gstsystemclock.c:
21402         * gst/gstsystemclock.h:
21403         Doc updates.
21404
21405 2005-10-28  Edward Hervey  <edward@fluendo.com>
21406
21407         * docs/gst/gstreamer-docs.sgml:
21408         * docs/gst/gstreamer-sections.txt:
21409         the GstURIType documentation page is private, it only defines GstURIType
21410         which should be defined in the GstURIHandler page
21411         
21412 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21413
21414         * gst/gstbin.c: (gst_bin_class_init):
21415         * gst/gstbin.h:
21416         * gst/gstutils.c:
21417         Documentation updates.
21418
21419 2005-10-28  Wim Taymans  <wim@fluendo.com>
21420
21421         * docs/gst/gstreamer-sections.txt:
21422         * gst/gstclock.c:
21423         * gst/gstclock.h:
21424         Documented the clocks.
21425
21426 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21427
21428         * docs/gst/gstreamer-sections.txt:
21429           move some macros to private sections
21430         * gst/gstminiobject.c:
21431         * gst/gstminiobject.h:
21432           add descriptions provided by ds and some more
21433         * gst/gstpad.h:
21434           mark macro as to be removed
21435
21436 2005-10-28  Wim Taymans  <wim@fluendo.com>
21437
21438         * docs/design/part-TODO.txt:
21439         Add an item to TODO.
21440
21441         * gst/gstiterator.c: (gst_iterator_fold),
21442         (gst_iterator_find_custom):
21443         * gst/gstiterator.h:
21444         Add iterator docs.
21445
21446 2005-10-28  Wim Taymans  <wim@fluendo.com>
21447
21448         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21449         (gst_base_transform_init):
21450         Don't leak class.
21451
21452         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21453         An EOS event marks the queue as completely filled.
21454
21455 2005-10-27  Wim Taymans  <wim@fluendo.com>
21456
21457         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21458         (gst_base_sink_do_sync), (gst_base_sink_get_position):
21459         Some more debugging.
21460
21461         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21462         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21463         (gst_base_transform_event), (gst_base_transform_getrange),
21464         (gst_base_transform_chain):
21465         * gst/base/gstbasetransform.h:
21466         Fix debugging,
21467         Protect transform and concurrent buffer alloc with a new lock.
21468         Try not to break ABI/API.
21469
21470 2005-10-27  Wim Taymans  <wim@fluendo.com>
21471
21472         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21473         (gst_base_src_init), (gst_base_src_query),
21474         (gst_base_src_default_newsegment),
21475         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21476         (gst_base_src_send_event), (gst_base_src_event_handler),
21477         (gst_base_src_pad_get_range), (gst_base_src_loop),
21478         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21479         (gst_base_src_start), (gst_base_src_deactivate),
21480         (gst_base_src_activate_push), (gst_base_src_change_state):
21481         Move some stuff around and cleanup things.
21482
21483 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
21484
21485         * gst/base/gstbasesrc.c: (gst_base_src_query):
21486           Add missing break statements.
21487
21488 2005-10-27  Wim Taymans  <wim@fluendo.com>
21489
21490         * check/gst/gstbin.c: (GST_START_TEST):
21491         An extra refcount is taken in basesrc.
21492
21493         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21494         (gst_base_src_get_range), (gst_base_src_pad_get_range),
21495         (gst_base_src_loop):
21496         Small cleanups, check for flushing after being unlocked from the 
21497         LIVE_LOCK. take refcounts correctly (not yet everywhere).
21498         Don't send out EOS when going to READY.
21499
21500 2005-10-27  Wim Taymans  <wim@fluendo.com>
21501
21502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21503         (gst_base_sink_get_position):
21504         Some more debug.
21505
21506         * gst/gstbin.c: (message_check), (bin_replace_message),
21507         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21508         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21509         (bin_query_duration_init), (bin_query_duration_fold),
21510         (bin_query_duration_done), (bin_query_generic_fold),
21511         (gst_bin_query):
21512         * tools/gst-launch.c: (main):
21513         Remove old option.
21514
21515 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
21516
21517         * examples/controller/audio-example.c: (main):
21518         * examples/queue/queue.c: (event_loop):
21519         * gst/base/gstbasetransform.h:
21520         * gst/gstelement.c: (gst_element_send_event):
21521         * gst/gstevent.h:
21522         * gst/gstpad.c: (gst_pad_send_event):
21523           fixing examples
21524           fixing docs typos
21525           changing log priority in error situations
21526
21527 2005-10-25  Wim Taymans  <wim@fluendo.com>
21528
21529         * gst/gstbin.c: (message_check), (bin_replace_message),
21530         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21531         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21532         (bin_query_duration_init), (bin_query_duration_fold),
21533         (bin_query_duration_done), (bin_query_generic_fold),
21534         (gst_bin_query):
21535         Some doc and debug updates.
21536         Cache previously requested query DURATION for speed. invalidate
21537         cached duration if element posts a DURATION message.
21538
21539 2005-10-25  Wim Taymans  <wim@fluendo.com>
21540
21541         * docs/design/part-TODO.txt:
21542         Update TODO.
21543
21544         * gst/gstbin.c: (message_check), (bin_replace_message),
21545         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21546         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21547         (bin_query_duration_init), (bin_query_duration_fold),
21548         (bin_query_duration_done), (bin_query_generic_fold),
21549         (gst_bin_query):
21550         Handle SEGMENT_START/DONE messages correctly.
21551         More evolved query algorithm that handles duration queries
21552         correctly.
21553
21554         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21555         (gst_element_get_state_func), (gst_element_abort_state),
21556         (gst_element_commit_state), (gst_element_lost_state):
21557         Some more debugging.
21558
21559         * gst/gstmessage.h:
21560         Added doc.
21561
21562 2005-10-25  Wim Taymans  <wim@fluendo.com>
21563
21564         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21565         Don't use invalid stream_time.
21566
21567         * gst/gstevent.c: (gst_event_new_newsegment):
21568         stream_time in newsegment cannot be undefined.
21569
21570 2005-10-24  Wim Taymans  <wim@fluendo.com>
21571
21572         * gst/gstbus.c:
21573         Doc fix.
21574
21575         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21576         (gst_queue_loop):
21577         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21578
21579 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
21580
21581         * docs/libs/tmpl/gstdparam.sgml:
21582         * docs/libs/tmpl/gstdplinint.sgml:
21583         * docs/libs/tmpl/gstdpman.sgml:
21584         * docs/libs/tmpl/gstdpsmooth.sgml:
21585         * docs/libs/tmpl/gstunitconvert.sgml:
21586           these are obsolete
21587
21588 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21589
21590         * configure.ac:
21591           back to HEAD
21592
21593 === release 0.9.4 ===
21594
21595 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21596
21597         * configure.ac:
21598           releasing 0.9.4, "Tyrannosaurus Rex"
21599
21600 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
21601
21602         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21603         (gst_file_sink_get_current_offset):
21604           Use fseeko() and ftello() if available. When falling back on
21605           lseek() to get the current offset, fflush() first to make sure
21606           everything is up-to-date and we get the right offset.
21607
21608 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21609
21610         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21611         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21612         * gst/gsterror.c: (_gst_stream_errors_init):
21613         * gst/gsterror.h:
21614         * gst/gstqueue.c: (gst_queue_loop):
21615         * po/POTFILES.in:
21616           remove prematurely added error category and clean up the instances
21617
21618 2005-10-21  Wim Taymans  <wim@fluendo.com>
21619
21620         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21621         (gst_base_sink_get_position), (gst_base_sink_query),
21622         (gst_base_sink_change_state):
21623         Simply set the right flag when going to playing, that's all
21624         we need to do instead of calling a function inside the object
21625         lock (that could take the lock as well and deadlock)
21626
21627 2005-10-21  Wim Taymans  <wim@fluendo.com>
21628
21629         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21630         (gst_base_src_loop):
21631         Don't warn, the peer element knows what to do best when
21632         the seek failed, it might try something else.
21633
21634 2005-10-21  Wim Taymans  <wim@fluendo.com>
21635
21636         * gst/base/gstbasesrc.c: (gst_base_src_init),
21637         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21638         Fix seeking.
21639
21640 2005-10-21  Wim Taymans  <wim@fluendo.com>
21641
21642         * docs/design/part-segments.txt:
21643         More docs.
21644
21645         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
21646         Correctly set caps, even on the subbufer.
21647
21648 2005-10-21  Wim Taymans  <wim@fluendo.com>
21649
21650         * docs/gst/gstreamer-docs.sgml:
21651         * docs/gst/gstreamer-sections.txt:
21652         * gst/gstelement.h:
21653         * gst/gstevent.c:
21654         * gst/gstevent.h:
21655         * gst/gstmessage.h:
21656         * gst/gstpad.h:
21657         * gst/gstparse.h:
21658         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
21659         * gst/gsttask.h:
21660         * gst/gstutils.c:
21661         * gst/gstutils.h:
21662         And 2% more doc coverage.
21663
21664 2005-10-21  Andy Wingo  <wingo@pobox.com>
21665
21666         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
21667         position reporting.
21668
21669 2005-10-20  Wim Taymans  <wim@fluendo.com>
21670
21671         * gst/gsterror.c: (gst_error_get_message):
21672         * gst/gstparse.h:
21673         * gst/gstquery.h:
21674         * gst/gststructure.c:
21675         * gst/gsttrace.c:
21676         * gst/gstutils.c:
21677         More docs.
21678
21679 2005-10-20  Wim Taymans  <wim@fluendo.com>
21680
21681         * gst/gstbuffer.h:
21682         * gst/gstpad.c:
21683         * gst/gstparse.c:
21684         Another 1% more coverage.
21685
21686 2005-10-20  Wim Taymans  <wim@fluendo.com>
21687
21688         * docs/gst/gstreamer-sections.txt:
21689         * gst/gstelement.c: (gst_element_get_state_func),
21690         (gst_element_abort_state), (gst_element_commit_state),
21691         (gst_element_lost_state):
21692         * gst/gstevent.h:
21693         * gst/gstquery.c: (gst_query_set_position),
21694         (gst_query_parse_position), (gst_query_set_duration),
21695         (gst_query_parse_duration), (gst_query_new_convert):
21696         * gst/gstutils.c:
21697         Yay! 1% more docs coverage.
21698
21699 2005-10-20  Wim Taymans  <wim@fluendo.com>
21700
21701         * gst/gstpad.h:
21702         * gst/gstquery.c: (gst_query_set_position),
21703         (gst_query_parse_position), (gst_query_set_duration),
21704         (gst_query_parse_duration), (gst_query_new_convert):
21705         * gst/gstquery.h:
21706         * gst/gstutils.c: (gst_element_query_convert):
21707         * gst/gstutils.h:
21708         Docs and consistency fixes.
21709
21710 2005-10-20  Wim Taymans  <wim@fluendo.com>
21711
21712         * gst/gsttask.c:
21713         * gst/gsttask.h:
21714         More docs.
21715
21716 2005-10-20  Wim Taymans  <wim@fluendo.com>
21717
21718         * gst/gstbin.c: (message_check), (bin_replace_message),
21719         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21720         (update_degree), (gst_bin_sort_iterator_next),
21721         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
21722         Reworked the message handling a bit, cache the messages instead of
21723         only the senders. alows us to do more in the future.
21724
21725 2005-10-20  Wim Taymans  <wim@fluendo.com>
21726
21727         * docs/design/part-TODO.txt:
21728         Update TODO
21729
21730         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21731         (gst_base_sink_query):
21732         Don't use clock time to report position when in EOS.
21733
21734 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
21735
21736         * tools/gst-inspect.c: (print_interfaces),
21737         (print_element_properties_info), (print_element_info):
21738           Fix interface output with gst-inspect -a; don't print
21739           newlines after double/float properties.
21740
21741 2005-10-20  Wim Taymans  <wim@fluendo.com>
21742
21743         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21744         (gst_base_sink_query):
21745         Speed up current position calculation.
21746
21747         * gst/base/gstbasesrc.c: (gst_base_src_query),
21748         (gst_base_src_default_newsegment):
21749         Correctly set stream position in newsegment.
21750
21751         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
21752         (update_degree), (gst_bin_sort_iterator_next),
21753         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
21754         * gst/gstmessage.c: (gst_message_new_custom):
21755         Clean up debugging info
21756
21757         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21758         (gst_queue_loop), (gst_queue_handle_src_query):
21759         Pause task faster.
21760
21761 2005-10-19  Wim Taymans  <wim@fluendo.com>
21762
21763         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21764         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21765         Fix query handling again.
21766
21767 2005-10-19  Wim Taymans  <wim@fluendo.com>
21768
21769         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21770         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21771         * gst/base/gstbasesrc.c: (gst_base_src_query):
21772         * gst/elements/gstfilesink.c: (gst_file_sink_query):
21773         * gst/elements/gsttypefindelement.c:
21774         (gst_type_find_handle_src_query), (find_element_get_length),
21775         (gst_type_find_element_activate):
21776         API change fix.
21777
21778         * gst/gstquery.c: (gst_query_new_position),
21779         (gst_query_set_position), (gst_query_parse_position),
21780         (gst_query_new_duration), (gst_query_set_duration),
21781         (gst_query_parse_duration), (gst_query_set_segment),
21782         (gst_query_parse_segment):
21783         * gst/gstquery.h:
21784         Bundling query position/duration is not a good idea since duration
21785         does not change much and we don't want to recalculate it for every
21786         position query, so they are separated again..
21787         Base value in segment query is not needed.
21788
21789         * gst/gstqueue.c: (gst_queue_handle_src_query):
21790         * gst/gstutils.c: (gst_element_query_position),
21791         (gst_element_query_duration), (gst_pad_query_position),
21792         (gst_pad_query_duration):
21793         * gst/gstutils.h:
21794         Updates for query API change.
21795         Added some docs here and there.
21796
21797 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21798
21799         * check/gst/gstbin.c: (GST_START_TEST):
21800         * check/gst/gstghostpad.c: (GST_START_TEST):
21801         * check/pipelines/cleanup.c: (GST_START_TEST):
21802           wait on thread to die so we can check refcount correctly
21803
21804 2005-10-18  Wim Taymans  <wim@fluendo.com>
21805
21806         * check/pipelines/stress.c: (GST_START_TEST):
21807         Make check a little more time consuming.
21808
21809 2005-10-18  Wim Taymans  <wim@fluendo.com>
21810
21811         * check/Makefile.am:
21812         * check/pipelines/stress.c: (GST_START_TEST),
21813         (simple_launch_lines_suite), (main):
21814         Small state change torture test.
21815
21816         * docs/design/part-states.txt:
21817         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21818         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
21819         (gst_base_sink_change_state):
21820         Never take state lock from streaming thread, clean up ugly
21821         hacks. Unfortunatly core does not yet support nice ways to
21822         async commit state.
21823         
21824         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
21825         (bin_bus_handler):
21826         Start state recalc if a STATE_DIRTY message is posted, but only
21827         on the toplevel bin.
21828
21829         * gst/gstelement.c: (gst_element_sync_state_with_parent),
21830         (gst_element_get_state_func), (gst_element_abort_state),
21831         (gst_element_commit_state), (gst_element_lost_state),
21832         (gst_element_set_state_func), (gst_element_change_state):
21833         * gst/gstelement.h:
21834         State variables are now protected with the LOCK, the state
21835         lock is only used to serialize _set_state().
21836
21837 2005-10-18  Wim Taymans  <wim@fluendo.com>
21838
21839         * check/gst/gstbin.c: (GST_START_TEST):
21840         * check/gst/gstmessage.c: (GST_START_TEST):
21841         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21842         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
21843         (bin_bus_handler):
21844         * gst/gstelement.c: (gst_element_abort_state),
21845         (gst_element_commit_state), (gst_element_lost_state):
21846         * gst/gstmessage.c: (gst_message_new_state_changed),
21847         (gst_message_new_state_dirty), (gst_message_new_segment_start),
21848         (gst_message_new_segment_done), (gst_message_new_duration),
21849         (gst_message_parse_state_changed),
21850         (gst_message_parse_segment_start),
21851         (gst_message_parse_segment_done), (gst_message_parse_duration):
21852         * gst/gstmessage.h:
21853         * tools/gst-launch.c: (event_loop):
21854         Seriously, this is better than a previous commit as we only need
21855         to notify the fact that an element changed state in a streaming
21856         thread, marking the state of the parents dirty, hence the 
21857         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
21858         message.
21859
21860 2005-10-18  Wim Taymans  <wim@fluendo.com>
21861
21862         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
21863         (gst_bin_recalc_func):
21864         * gst/gstelement.c: (gst_element_set_clock),
21865         (gst_element_abort_state), (gst_element_lost_state):
21866         Cleanups, prepare for state change fixes.
21867
21868 2005-10-18  Wim Taymans  <wim@fluendo.com>
21869
21870         * gst/gstbin.h:
21871         * gst/gstelement.c: (gst_element_class_init),
21872         (gst_element_set_state), (gst_element_set_state_func):
21873         * gst/gstelement.h:
21874         Pending ABI changes.
21875         GThreadPool in GstBinClass to monitor async state changes.
21876         state_cookie in GstElement to detect concurrent gst/set state.
21877         set_state is now virtual too in case a very complicated element
21878         has to be constructed.
21879
21880 2005-10-18  Wim Taymans  <wim@fluendo.com>
21881
21882         * check/gst/gstbin.c: (GST_START_TEST):
21883         * check/gst/gstmessage.c: (GST_START_TEST):
21884         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21885         * gst/gstbin.c: (bin_bus_handler):
21886         * gst/gstelement.c: (gst_element_commit_state),
21887         (gst_element_lost_state):
21888         * gst/gstmessage.c: (gst_message_new_state_changed),
21889         (gst_message_new_segment_start), (gst_message_new_segment_done),
21890         (gst_message_new_duration), (gst_message_parse_state_changed),
21891         (gst_message_parse_segment_start),
21892         (gst_message_parse_segment_done), (gst_message_parse_duration):
21893         * gst/gstmessage.h:
21894         * tools/gst-launch.c: (event_loop):
21895         Make messages future proof.
21896         state-change gets a flag if it was a message comming from the
21897         streaming thread.
21898         segment-start/stop can also be specified in other formats.
21899         A message to notify an app that a pipeline changed playback 
21900         duration.
21901         Also fix a GstMessage leak in -launch
21902
21903 2005-10-18  Andy Wingo  <wingo@pobox.com>
21904
21905         * gst/gstelement.c (gst_element_dispose): More helpful message.
21906
21907 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21908
21909         reviewed by: <delete if not using a buddy>
21910
21911         * common/gtk-doc.mak:
21912
21913 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21914
21915         * gst/gstregistry.c: (gst_registry_scan_path_level):
21916           unref a plug-in we get that was already initialized
21917
21918 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
21919
21920         * docs/gst/gstreamer-sections.txt:
21921         * docs/libs/gstreamer-libs-sections.txt:
21922         * gst/gstelement.h:
21923           add new api entries
21924           hide internal macro
21925
21926 2005-10-17  Andy Wingo  <wingo@pobox.com>
21927
21928         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
21929         cleanup.
21930
21931         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
21932
21933         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
21934
21935         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
21936         (gst_element_get_state_func): Better debug message.
21937         (gst_element_commit_state): s/INFO/DEBUG/.
21938         (gst_element_lost_state, gst_element_change_state): 
21939
21940         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
21941         (gst_message_new_custom): s/INFO/LOG/.
21942
21943 2005-10-17  Michael Smith <msmith@fluendo.com>
21944
21945         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21946           Check if end time is valid using end time, not start time.
21947
21948 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
21949
21950         * check/gst-libs/controller.c: (GST_START_TEST),
21951         (gst_controller_suite):
21952         * libs/gst/controller/gstcontroller.c:
21953         (gst_controlled_property_set_interpolation_mode):
21954         * libs/gst/controller/gstcontroller.h:
21955         * libs/gst/controller/gstinterpolation.c:
21956         * testsuite/controller/.cvsignore:
21957         * testsuite/controller/Makefile.am:
21958         * testsuite/controller/interpolator.c:
21959           merge controller testsuites
21960           fix broken tests
21961           remove mem-chunk from docs
21962
21963 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21964
21965         * gst/gstmemchunk.c:
21966         * gst/gstmemchunk.h:
21967         * gst/gsttrashstack.c:
21968         * gst/gsttrashstack.h:
21969           out.  get out.  you're fired.  to the Attic !
21970
21971 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21972
21973         * gst/gstcaps.c: (gst_caps_intersect):
21974           fix signedness issues in a (hopefully) correct way
21975         * gst/gstelement.c: (gst_element_pads_activate):
21976           some debugging
21977         * gst/gstobject.c: (gst_object_set_parent):
21978           some debugging
21979
21980 2005-10-17  Julien MOUTTE  <julien@moutte.net>
21981
21982         * gst/gstvalue.h: Fix prototypes.
21983
21984 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21985
21986         * docs/gst/gstreamer-sections.txt:
21987         * gst/gst.c: (gst_version_string):
21988         * gst/gst.h:
21989         * gst/gstversion.h.in:
21990         * win32/common/libgstreamer.def:
21991           add gst_version_string ()
21992
21993 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21994
21995         * configure.ac:
21996           clean up further
21997         * gst/gst.c: (init_post):
21998         * win32/common/config.h.in:
21999           it's PLUGINDIR now
22000         * gst/gstcaps.c: (gst_caps_intersect):
22001           use gint64, the range could be bigger than a guint
22002
22003 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22004
22005         * gst/gstclock.h:
22006           document potential problem in 2038
22007
22008 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22009
22010         * gst/gstcaps.c: (gst_caps_intersect):
22011           Fix guint j diving under 0
22012
22013 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22014
22015         * configure.ac:
22016         * win32/common/config.h:
22017         * win32/common/config.h.in:
22018           check for process.h, declares getpid() on Windows
22019         * gst/gstinfo.c:
22020           include process.h if we have it
22021         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22022         * gst/gstmemchunk.h:
22023           fix signedness issues
22024         * win32/common/libgstreamer.def:
22025           fix get_type's
22026
22027 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22028
22029         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22030         fix. Because of unsigned ints, caps intersection was going nuts and
22031         trying to access structures with G_MAXUINT index. That fixes
22032         videotestsrc ! ffmpegcolorspace ! fakesink
22033         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22034         consistency.
22035
22036 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22037
22038         * configure.ac:
22039           use the gettext macro
22040         * gst/elements/gstelements.c:
22041         * gst/gst.c:
22042         * gst/indexers/gstindexers.c:
22043           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22044         * win32/common/config.h:
22045           updated config.h
22046         * win32/common/config.h.in:
22047           add the template to generate config.h
22048         * win32/common/gstenumtypes.c:
22049         * win32/common/gstversion.h:
22050           updated copies
22051
22052 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22053
22054         * gst/gst.c: (gst_version):
22055         * gst/gstversion.h.in:
22056           add the nano
22057
22058 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22059
22060         * gst/gstevent.h:
22061           Oops, add missing closing bracket.
22062
22063 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22064
22065         * configure.ac:
22066           use common m4's for argument checking
22067
22068 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22069
22070         * docs/gst/gstreamer-sections.txt:
22071         * gst/gstevent.h:
22072           Add GST_EVENT_TYPE_NAME() macro.
22073
22074 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22075
22076         * gst/gstinfo.c:
22077         * gst/gstpluginfeature.c:
22078         * gst/gsttask.c:
22079           privatize more symbols
22080
22081 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22082
22083         * configure.ac:
22084           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22085           everything that uses GStreamer API should have the includes
22086
22087 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22088
22089         * docs/gst/gstreamer-sections.txt:
22090         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22091         * gst/gstvalue.h:
22092           give each value a _get_type, removes the DATA exports
22093
22094 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22095
22096         * gst/gst.c:
22097         * gst/gst.h:
22098           remove _gst_registry_auto_load, not used anymore
22099         * gst/gstbin.c: (gst_bin_get_type):
22100         * gst/gstbin.h:
22101         * gst/gstelement.c: (gst_element_get_type):
22102         * gst/gstelement.h:
22103         * gst/gstobject.c: (gst_object_get_type):
22104         * gst/gstobject.h:
22105         * gst/gstpad.c: (gst_pad_get_type):
22106         * gst/gstpad.h:
22107           make _get_type functions similar, fixes data export from library
22108
22109 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22110
22111         * configure.ac:
22112           correctly make conditionals
22113         * gst/elements/Makefile.am:
22114         * gst/elements/gstelements.c:
22115           fix typo causing fdsrc not to build
22116
22117 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22118
22119         * testsuite/Makefile.am:
22120         * testsuite/bytestream/.cvsignore:
22121         * testsuite/bytestream/Makefile.am:
22122         * testsuite/bytestream/filepadsink.c:
22123         * testsuite/bytestream/gstbstest.c:
22124         * testsuite/bytestream/test1.c:
22125         * testsuite/bytestream/testfile1:
22126         * testsuite/caps/normalisation.c:
22127         * testsuite/caps/random.c: (main):
22128         * testsuite/cleanup/.cvsignore:
22129         * testsuite/cleanup/Makefile.am:
22130         * testsuite/cleanup/cleanup1.c:
22131         * testsuite/cleanup/cleanup2.c:
22132         * testsuite/cleanup/cleanup3.c:
22133         * testsuite/cleanup/cleanup4.c:
22134         * testsuite/cleanup/cleanup5.c:
22135         * testsuite/controller/interpolator.c:
22136         * testsuite/debug/printf_extension.c: (main):
22137         * testsuite/elements/tee.c:
22138         * testsuite/negotiation/.cvsignore:
22139         * testsuite/negotiation/Makefile.am:
22140         * testsuite/negotiation/pad_link.c:
22141         * testsuite/pad/Makefile.am:
22142         * testsuite/pad/chainnopull.c:
22143         * testsuite/pad/getnopush.c:
22144         * testsuite/pad/link.c:
22145         * testsuite/refcounting/sched.c: (create_pipeline):
22146         * testsuite/registry/Makefile.am:
22147         * testsuite/registry/gst-print-formats.c:
22148         * testsuite/schedulers/.cvsignore:
22149         * testsuite/schedulers/142183-2.c:
22150         * testsuite/schedulers/142183.c:
22151         * testsuite/schedulers/143777-2.c:
22152         * testsuite/schedulers/143777.c:
22153         * testsuite/schedulers/147713.c:
22154         * testsuite/schedulers/147819.c:
22155         * testsuite/schedulers/147894-2.c:
22156         * testsuite/schedulers/147894.c:
22157         * testsuite/schedulers/Makefile.am:
22158         * testsuite/schedulers/group_link.c:
22159         * testsuite/schedulers/queue_link.c:
22160         * testsuite/schedulers/relink.c:
22161         * testsuite/schedulers/unlink.c:
22162         * testsuite/schedulers/unref.c:
22163         * testsuite/schedulers/useless_iteration.c:
22164         * testsuite/states/bin.c:
22165           clean out/remove some stuff from the testsuite directories
22166
22167 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22168
22169         * configure.ac:
22170           check for some headers
22171         * gst/elements/Makefile.am:
22172         * gst/elements/gstelements.c:
22173           don't compile fdsrc without sys/socket.h
22174         * gst/indexers/Makefile.am:
22175         * gst/indexers/gstindexers.c: (plugin_init):
22176           don't compile fileindex without mmap
22177
22178 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22179
22180         * configure.ac:
22181           reorganize
22182           clean up
22183           document more
22184           remove cruft
22185         * check/Makefile.am:
22186         * docs/gst/Makefile.am:
22187         * examples/helloworld/Makefile.am:
22188         * gst/Makefile.am:
22189         * gst/base/Makefile.am:
22190         * gst/check/Makefile.am:
22191         * gst/elements/Makefile.am:
22192         * gst/indexers/Makefile.am:
22193         * gst/parse/Makefile.am:
22194         * libs/gst/controller/Makefile.am:
22195         * libs/gst/dataprotocol/Makefile.am:
22196         * examples/helloworld/helloworld.c: (event_loop):
22197           compile fixes, though it's not being compiled currently
22198
22199 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22200
22201         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22202           Add some simple tests for the new taglist date API.
22203
22204 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22205
22206         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22207         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22208           Beautify 'last-message' output: print 'none' for buffer timestamps
22209           and durations if none is set; improve alignment with next messages.
22210
22211 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22212
22213         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22214         * gst/gstpluginfeature.h:
22215         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22216         * gst/gstregistry.h:
22217         * docs/gst/gstreamer-sections.txt:
22218           Add new API to check plugin feature version requirements.
22219
22220         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22221           Some basic tests for the above.         
22222
22223 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22224
22225         * gst/gststructure.c: (gst_structure_to_string):
22226           guard against NULL printf - happens when for example
22227           a message structure with GstClock gets serialized
22228
22229 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22230
22231         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22232           Fix presumable copy'n'pasto.
22233
22234 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22235
22236         * gst/elements/gstfakesrc.h:
22237         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22238         * gst/elements/gsttypefindelement.c:
22239           fix some signedness
22240         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22241           I wonder if this could actually write +2GB files before
22242
22243 2005-10-13  Andy Wingo  <wingo@pobox.com>
22244
22245         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22246         Fix Timmeke Waymans bug.
22247         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22248         string of the proper length to gst_caps_from_string. There's a
22249         potential for, before this fix, that this could cause someone
22250         connecting over the network to cause a segfault if the payload is
22251         not NUL-terminated.
22252
22253 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22254
22255         * docs/design/draft-push-pull.txt:
22256         * docs/design/part-overview.txt:
22257         * docs/random/TODO-pre-0.9:
22258         * docs/random/old/ChangeLog.gstreamer:
22259         * gst/base/gstpushsrc.c:
22260         * gst/gstclock.c:
22261           fixed typos
22262
22263 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22264
22265         * gst/glib-compat.c: (gst_flags_get_first_value):
22266         * gst/glib-compat.h:
22267         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22268         (gst_value_compare_double), (gst_value_serialize_flags):
22269           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22270           infinite loop
22271
22272 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22273
22274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22275         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22276           fix up debugging
22277         * tools/gst-launch.c: (event_loop):
22278           print out clock nicely
22279
22280 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22281
22282         * docs/gst/gstreamer-sections.txt:
22283         * gst/gsttaglist.h:
22284         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22285         (gst_tag_list_get_date_index):
22286           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22287           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22288
22289 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22290
22291         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22292         (gst_collectpads_chain):
22293         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22294         in CollectData.
22295
22296 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22297
22298         * docs/gst/gstreamer-sections.txt:
22299         * gst/gst.c:
22300         * gst/gsterror.h:
22301         * tools/gst-inspect.c: (main):
22302         * tools/gst-launch.c: (main):
22303         * tools/gst-run.c: (main):
22304         * tools/gst-xmlinspect.c: (main):
22305           fix GOption context leaks
22306           doc fixes
22307
22308 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22309
22310         * gst/gstbus.c:
22311           use HAVE_UNISTD_H
22312         * win32/common/config.h:
22313           update config
22314         * win32/vs6/grammar.dsp:
22315         * win32/vs6/libgstelements.dsp:
22316         * win32/vs6/libgstreamer.dsp:
22317           update vs6 files
22318
22319 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22320
22321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22322         * gst/base/gstbasesrc.c: (gst_base_src_query):
22323           fix more guint64<->gdouble conversions
22324
22325 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22326
22327         * Makefile.am:
22328           add win32-update target
22329         * win32/common/gstconfig.h:
22330         * win32/common/gstenumtypes.c:
22331         * win32/common/gstenumtypes.h:
22332         * win32/common/gstversion.h:
22333           add files that visual studio can't generate
22334
22335 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22336
22337         * Makefile.am:
22338           add a win32-update target
22339         * configure.ac:
22340
22341 2005-10-12  Wim Taymans  <wim@fluendo.com>
22342
22343         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22344         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22345         * gst/gstelement.c: (gst_element_commit_state),
22346         (gst_element_set_state):
22347         Protect flags with proper lock.
22348         unref provided cached clock in dispose.
22349
22350 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22351
22352         * gst/gst.c:
22353         * gst/gstminiobject.h:
22354         * gst/gstpad.h:
22355         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22356           removed unused flags from miniobject
22357           doc fixes
22358
22359 2005-10-12  Wim Taymans  <wim@fluendo.com>
22360
22361         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22362         (gst_file_sink_event), (gst_file_sink_render):
22363         Flush before seeking.
22364
22365 2005-10-12  Andy Wingo  <wingo@pobox.com>
22366
22367         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22368         always been the case.
22369
22370 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22371
22372         * check/gst/gstbin.c: (GST_START_TEST):
22373         * docs/gst/gstreamer-sections.txt:
22374         * gst/base/gstbasesink.c: (gst_base_sink_init):
22375         * gst/base/gstbasesrc.c: (gst_base_src_init),
22376         (gst_base_src_get_range), (gst_base_src_check_get_range),
22377         (gst_base_src_start), (gst_base_src_stop):
22378         * gst/base/gstbasesrc.h:
22379         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22380         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22381         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22382         (bin_bus_handler):
22383         * gst/gstbin.h:
22384         * gst/gstbuffer.h:
22385         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22386         * gst/gstbus.h:
22387         * gst/gstelement.c: (gst_element_is_locked_state),
22388         (gst_element_set_locked_state), (gst_element_commit_state),
22389         (gst_element_set_state):
22390         * gst/gstelement.h:
22391         * gst/gstindex.c: (gst_index_init):
22392         * gst/gstindex.h:
22393         * gst/gstminiobject.h:
22394         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22395         (gst_object_set_parent):
22396         * gst/gstobject.h:
22397         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22398         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22399         * gst/gstpad.h:
22400         * gst/gstpadtemplate.h:
22401         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22402         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22403         * gst/gstpipeline.h:
22404         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22405         (gst_file_index_commit):
22406         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22407         * testsuite/pad/link.c: (gst_test_src_init),
22408         (gst_test_filter_init), (gst_test_sink_init):
22409         * testsuite/states/locked.c: (main):
22410           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22411           moved bitshift from macro to enum definition
22412
22413 2005-10-12  Wim Taymans  <wim@fluendo.com>
22414
22415         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22416         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22417         (gst_file_sink_render):
22418         Some more debugging info.
22419
22420 2005-10-12  Wim Taymans  <wim@fluendo.com>
22421
22422         * docs/design/part-states.txt:
22423         * tools/gst-launch.c: (main):
22424         Some doc updates.
22425         Revert non-intentional change.
22426
22427 2005-10-12  Wim Taymans  <wim@fluendo.com>
22428
22429         * check/gst/gstbin.c: (GST_START_TEST):
22430         * check/gst/gstelement.c: (GST_START_TEST):
22431         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22432         * check/gst/gstghostpad.c: (GST_START_TEST):
22433         * check/gst/gstpipeline.c: (GST_START_TEST):
22434         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22435         * check/states/sinks.c: (GST_START_TEST):
22436         * gst/elements/gsttypefindelement.c: (stop_typefinding):
22437         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22438         (gst_bin_remove_func), (gst_bin_get_state_func),
22439         (gst_bin_recalc_state), (gst_bin_change_state_func),
22440         (bin_bus_handler):
22441         * gst/gstelement.c: (gst_element_get_state_func),
22442         (gst_element_get_state), (gst_element_abort_state),
22443         (gst_element_commit_state), (gst_element_set_state),
22444         (gst_element_change_state), (gst_element_change_state_func):
22445         * gst/gstelement.h:
22446         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22447         (gst_pipeline_provide_clock_func):
22448         * gst/gstutils.c: (gst_element_link_pads_filtered):
22449         * tools/gst-launch.c: (main):
22450         * tools/gst-typefind.c: (main):
22451         Use GstClockTime in _get_state() instead of GTimeVal.
22452         Remove old code in gstutils.c
22453
22454 2005-10-12  Andy Wingo  <wingo@pobox.com>
22455
22456         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22457         removed.
22458
22459         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22460         there is no task. Shouldn't affect any code, as nothing in our
22461         plugins checks this return value.
22462         (gst_pad_stop_task): Also take the stream lock if the pad has no
22463         task. Docs updated.
22464
22465 2005-10-12  Wim Taymans  <wim@fluendo.com>
22466
22467         * gst/gstpad.c: (pre_activate), (post_activate),
22468         (gst_pad_activate_pull), (gst_pad_activate_push):
22469         Cleanup activation code. Reset old state if
22470         activation failed.
22471
22472 2005-10-12  Wim Taymans  <wim@fluendo.com>
22473
22474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22475         (gst_base_sink_change_state):
22476         No need to prerol after receiving EOS.
22477
22478         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22479         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22480         * gst/elements/gstidentity.c: (gst_identity_event):
22481         Print events more verbosely.
22482
22483 2005-10-12  Wim Taymans  <wim@fluendo.com>
22484
22485         * check/Makefile.am:
22486         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22487         * check/states/sinks2.c:
22488         Moved sinks2 testcode in sinks check.
22489
22490         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22491         (gst_bin_remove_func), (gst_bin_recalc_state),
22492         (gst_bin_change_state_func), (bin_bus_handler):
22493         Fix potential race condition when _get_state() iterated over an
22494         ASYNC element right before it posted a state completion.
22495
22496         * gst/gstclock.h:
22497         Do proper cast here.
22498
22499         * gst/gstevent.c: (gst_event_new_newsegment),
22500         (gst_event_parse_newsegment):
22501         A playback rate of 0.0 is not allowed.
22502
22503 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22504
22505         * win32/common/config.h:
22506         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22507         (_trewinddir), (_ttelldir), (_tseekdir):
22508         * win32/common/dirent.h:
22509         * win32/common/gtchar.h:
22510         * win32/common/libgstbase.def:
22511         * win32/common/libgstreamer.def:
22512         * win32/vs6/grammar.dsp:
22513         * win32/vs6/gst_inspect.dsp:
22514         * win32/vs6/gst_launch.dsp:
22515         * win32/vs6/gstreamer.dsw:
22516         * win32/vs6/libgstbase.dsp:
22517         * win32/vs6/libgstelements.dsp:
22518         * win32/vs6/libgstreamer.dsp:
22519           Visual Studio 6 project files, and a new common directory.
22520           Phear.
22521
22522 2005-10-11  Wim Taymans  <wim@fluendo.com>
22523
22524         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22525         (gst_base_sink_do_sync), (gst_base_sink_query),
22526         (gst_base_sink_change_state):
22527         * gst/base/gstbasesink.h:
22528         Correctly parse newsegment info.
22529
22530 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22531
22532         * gst/gst.c: (init_post):
22533           split plugin paths correctly
22534
22535 2005-10-11  Wim Taymans  <wim@fluendo.com>
22536
22537         * check/gst/gstevent.c: (GST_START_TEST):
22538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22539         (gst_base_sink_change_state):
22540         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22541         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22542         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22543         * gst/gstevent.c: (gst_event_new_newsegment),
22544         (gst_event_parse_newsegment):
22545         * gst/gstevent.h:
22546         Added extra flag to newsegment for future API freeze.
22547         Updated check and base elements.
22548
22549 2005-10-11  Julien MOUTTE  <julien@moutte.net>
22550
22551         * gst/base/gstcollectpads.c: (gst_collectpads_init),
22552         (gst_collectpads_add_pad), (gst_collectpads_pop),
22553         (gst_collectpads_event), (gst_collectpads_chain):
22554         * gst/base/gstcollectpads.h: Handle EOS correctly.
22555
22556 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22557
22558         * tools/gst-launch.c: (main):
22559           more null protecting
22560
22561 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22562
22563         * gst/gst-i18n-lib.h:
22564           check for ENABLE_NLS, not GETTEXT_PACKAGE
22565         * gst/gstregistry.c: (gst_registry_add_plugin),
22566         (gst_registry_scan_path_level),
22567         (_gst_registry_remove_cache_plugins):
22568           protect possibly NULL strings
22569         * gst/parse/types.h:
22570           config.h already included before
22571         * tools/gst-inspect.c: (main):
22572           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22573           check for ENABLE_NLS, not GETTEXT_PACKAGE
22574         * tools/gst-launch.c: (main):
22575           check for ENABLE_NLS, not GETTEXT_PACKAGE
22576
22577 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22578
22579         * configure.ac:
22580           if we don't have glib, fail before testing 2.8
22581         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22582           fix a leak, should fix plugins-base testsuite
22583
22584 2005-10-11  Andy Wingo  <wingo@pobox.com>
22585
22586         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22587         take the mode we're going to as an arg. Go head and set the mode
22588         and flushing flags now, so that if the activate function starts a
22589         thread all the flags will be in the right state.
22590         (post_activate): Renamed also. Just handle making sure streaming
22591         finishes for the deactivation case, and setting the deactivated
22592         mode.
22593         (gst_pad_set_active): Complain loudly if deactivation fails.
22594         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22595         (gst_pad_activate_push): Adapt to pre/post_activate changes,
22596         remove the terrible hack.
22597
22598 2005-10-11  Wim Taymans  <wim@fluendo.com>
22599
22600         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22601         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22602         (gst_bin_recalc_state), (gst_bin_change_state_func),
22603         (gst_bin_dispose), (bin_bus_handler):
22604         * gst/gstbin.h:
22605         Prepare to make current EOS message queue more generic.
22606         Fix some typos.
22607
22608         * gst/gstevent.c: (gst_event_new_newsegment),
22609         (gst_event_parse_newsegment):
22610         * gst/gstevent.h:
22611         Rename base to stream_time.
22612
22613         * gst/gstmessage.h:
22614         Fix typo in docs.
22615
22616 2005-10-11  Wim Taymans  <wim@fluendo.com>
22617
22618         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22619         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22620         (gst_bin_change_state_func), (bin_bus_handler):
22621         * gst/gstbin.h:
22622         Work on proper clock selection.
22623
22624 2005-10-11  Edward Hervey  <edward@fluendo.com>
22625
22626         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
22627         * libs/gst/controller/gstcontroller.h:
22628         Added GList* version of _remove_properties() in order to be able to wrap
22629         it in bindings.
22630
22631 2005-10-11  Wim Taymans  <wim@fluendo.com>
22632
22633         * docs/design/part-states.txt:
22634         Some more docs.
22635
22636         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22637         (gst_bin_change_state_func), (bin_bus_handler):
22638         Doc updates. Don't distribute the same clock over and over again.
22639
22640         * gst/gstclock.c:
22641         * gst/gstclock.h:
22642         Doc updates.
22643
22644         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
22645         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
22646         (gst_pad_send_event):
22647         * gst/gstpad.h:
22648         Make probe emission threadsafe again.
22649         Register quarks and move _get_name() from utils.
22650         Doc updates.
22651
22652         * gst/gstpipeline.c: (gst_pipeline_class_init),
22653         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22654         Only redistribute the clock of it changed.
22655
22656         * gst/gstsystemclock.h:
22657         Doc updates. 
22658
22659         * gst/gstutils.c:
22660         * gst/gstutils.h:
22661         Moved the _flow_get_name() to GstPad.
22662
22663 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22664
22665         * check/gst-libs/gdp.c: (GST_START_TEST):
22666         * check/gst/gstcaps.c: (GST_START_TEST):
22667         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
22668         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
22669         (gst_dp_packet_from_caps):
22670           fix more valgrind warnings before turning up the heat
22671
22672 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22673
22674         * gst/parse/grammar.y:
22675           some cleanup before the hacking
22676
22677 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22678
22679         * gst/base/gstbasesrc.c: (gst_base_src_query):
22680           use conversions
22681         * gst/gstutils.c: (gst_guint64_to_gdouble),
22682         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
22683         * gst/gstutils.h:
22684           externalize, basesrc uses it
22685           obviously the implementation needs testing
22686
22687 2005-10-10  Wim Taymans  <wim@fluendo.com>
22688
22689         * tests/sched/Makefile.am:
22690         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
22691         (make_pipeline3), (make_pipeline4), (print_elem), (main):
22692
22693 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22694
22695         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
22696           apparently converting from guint64 to double is not implemented
22697           on MSVC
22698
22699 2005-10-10  Wim Taymans  <wim@fluendo.com>
22700
22701         * check/Makefile.am:
22702         * check/generic/states.c: (GST_START_TEST):
22703         * check/gst/gstbin.c: (GST_START_TEST):
22704         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22705         * check/states/sinks.c: (GST_START_TEST):
22706         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
22707         (main):
22708         Check fixes, use API as stated in design docs, remove hacks.
22709
22710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22711         (gst_base_sink_change_state):
22712         Catch stopping our task while we're shutting down.
22713
22714         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
22715         (gst_bin_remove_func), (gst_bin_get_state_func),
22716         (gst_bin_recalc_state), (gst_bin_change_state_func),
22717         (bin_bus_handler):
22718         * gst/gstbin.h:
22719         * gst/gstelement.c: (gst_element_init),
22720         (gst_element_get_state_func), (gst_element_abort_state),
22721         (gst_element_commit_state), (gst_element_lost_state),
22722         (gst_element_set_state), (gst_element_change_state),
22723         (gst_element_change_state_func):
22724         * gst/gstelement.h:
22725         New state change algorithm (see #318116)
22726
22727         * gst/gstpipeline.c: (gst_pipeline_class_init),
22728         (gst_pipeline_init), (gst_pipeline_set_property),
22729         (gst_pipeline_get_property), (do_pipeline_seek),
22730         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
22731         * gst/gstpipeline.h:
22732         Remove crude state change hacks.
22733
22734         * gst/gstutils.h:
22735         Remove crude hacks.
22736
22737         * tools/gst-launch.c: (main):
22738         Fixes for state change. Needs some more work to fully use the
22739         new stuff.
22740
22741 2005-10-10  Andy Wingo  <wingo@pobox.com>
22742
22743         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
22744
22745         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
22746         this flag, but it's not even in GLib 2.6. Odd. Hack around the
22747         issue.
22748
22749 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22750
22751         * gst/gstiterator.c: (gst_iterator_new):
22752           Fix my previous commit: GTypes passed to gst_iterator_new()
22753           can be fundamental types.
22754
22755 2005-10-10  Wim Taymans  <wim@fluendo.com>
22756
22757         * gst/gstelement.c: (gst_element_iterate_pad_list),
22758         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
22759         (gst_element_iterate_sink_pads):
22760         Use src/sink pads lists for the respective iterators instead
22761         of filtering.
22762
22763 2005-10-10  Andy Wingo  <wingo@pobox.com>
22764
22765         Merged in popt removal + GOption addition patch from Ronald, bug
22766         #169772.
22767
22768         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
22769         GstElement macros around, remove popt-related symbols, add goption
22770         stuff.
22771
22772         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
22773         
22774         * docs/gst/Makefile.am:
22775         * docs/libs/Makefile.am: No POPT_CFLAGS.
22776         
22777         * examples/manual/Makefile.am:
22778         * docs/manual/basics-init.xml: Doc updates with an example.
22779         
22780         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
22781         (gst_init), (parse_one_option), (parse_goption_arg):
22782         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
22783         bit of hand merging and debugging to get the GOption stuff working
22784         tho.
22785         
22786         * tests/Makefile.am:
22787         * tools/Makefile.am:
22788         * tools/gst-inspect.c: (main):
22789         * tools/gst-launch.c: (main):
22790         * tools/gst-run.c: (main):
22791         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
22792
22793 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22794
22795         * gst/gstiterator.c: (gst_iterator_new):
22796           Add assertions to make sure passed GType is likely to really
22797           be a GType (as the compiler won't catch it if the size and
22798           GType arguments get mixed up, see #318447).
22799
22800 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
22801
22802         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22803
22804         * gst/gstbin.c: (gst_bin_iterate_sorted):
22805           Pass GType and size arguments to gst_iterator_new() in the right
22806           order (maybe we should make _new() take the GType as first argument
22807           just like _new_list()?) (#318447).
22808           
22809
22810 2005-10-10  Wim Taymans  <wim@fluendo.com>
22811
22812         * gst/gstelement.c: (gst_element_finalize):
22813         And free the GStaticRecMutex too
22814
22815 2005-10-10  Andy Wingo  <wingo@pobox.com>
22816
22817         * gst/gstelement.c (gst_element_init, gst_element_finalize):
22818         Allocate and free the mutex properly.
22819
22820         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
22821         New macros.
22822         (GstElement): The state_lock is now recursive. Rebuild your
22823         plugins, suckers. Old macros adapted.
22824
22825         * docs/gst/gstreamer-sections.txt: Doc updates.
22826
22827         * gst/gstutils.h:
22828         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
22829         (g_static_rec_cond_wait): Ported from state changes patch, while
22830         we wait on bug #317802 to be solved in a well-distributed GLib.
22831
22832         * gst/gstelement.c (gst_element_change_state_func): Renamed from
22833         gst_element_change_state, variable name changes.
22834         (gst_element_change_state): Split out of gst_element_set_state in
22835         preparation for the state change merge. Doesn't pay attention to
22836         the 'transition' argument.
22837         (gst_element_set_state): Updates, hopefully purely cosmetic.
22838         (gst_element_sync_state_with_parent): MT-safety. Ported from the
22839         state change patch.
22840         (gst_element_get_state_func): Renamed from get_state, cosmetic
22841         changes.
22842
22843 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22844
22845         * gst/elements/gstelements.c:
22846         * win32/GStreamer.vcproj:
22847         * win32/config.h:
22848         * win32/dirent.c: (_tseekdir):
22849         * win32/gst-inspect.vcproj:
22850         * win32/gst-launch.vcproj:
22851         * win32/gstconfig.h:
22852         * win32/gstelements.vcproj:
22853         * win32/gstenumtypes.c: (gst_object_flags_get_type):
22854         * win32/gstreamer.def:
22855         * win32/msvc71.sln:
22856           updates for the win32 build (patch from Sebastien Moutte)
22857
22858 2005-10-10  Andy Wingo  <wingo@pobox.com>
22859
22860         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
22861         gst_bin_get_state, cleaned up (but no logic changes).
22862         (bin_element_is_sink): Comment updates.
22863         (sink_iterator_filter): Remove needless cast.
22864         (gst_bin_iterate_sinks): Doc update.
22865         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
22866         cleaned up (but no logic changes).
22867
22868         * check/states/sinks.c (test_src_sink): Cleanups from the state
22869         change patch.
22870         (test_livesrc_sink): Sync on the state.
22871
22872         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
22873         the state change patch.
22874
22875         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
22876         change patch.
22877
22878         * check/gst/gstbin.c: Merge in some style fixes and additional
22879         checks from Wim's state change patch.
22880
22881 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22882
22883         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22884         (gst_type_find_helper):
22885           Check whether we have the requested data already in our list of
22886           cached buffers before pulling a new buffer; also make the buffer
22887           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
22888
22889 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22890
22891         * gst/gstcaps.c:
22892         * gst/gstevent.c:
22893           doc updates
22894         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22895           don't use long long, it's not portable.  Replacing with
22896           gint64 seems to work; let's hope no skeletons fall out of the closet.
22897
22898 2005-10-10  Andy Wingo  <wingo@pobox.com>
22899
22900         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
22901
22902 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
22903
22904         * docs/gst/gstreamer-sections.txt:
22905         * gst/gstevent.c:
22906         * gst/gstevent.h:
22907         * gst/gstinfo.c:
22908         * gst/gstinfo.h:
22909         * gst/gstmessage.c: (gst_message_parse_state_changed):
22910         * gst/gstpad.c:
22911         * gst/gstpad.h:
22912           more docs, fix compilation
22913
22914 2005-10-09  Philippe Khalaf <burger@speedy.org>
22915         * gst/gstmessage.c:
22916           Fixed a few forgotten variables on previous commit
22917
22918 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
22919
22920         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22921           Fix evil typefind crasher: getrange() might return a short
22922           buffer at the end of a file, but gst_type_find_peek() must
22923           either return the full data as requested or NULL, but
22924           never a short buffer.
22925
22926 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22927
22928         * gst/gstmessage.c: (gst_message_new_state_changed),
22929         (gst_message_parse_state_changed):
22930         * gst/gstmessage.h:
22931           don't use "new", it's a C++ keyword
22932
22933 2005-10-08  Wim Taymans  <wim@fluendo.com>
22934
22935         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
22936         * gst/gstelement.c: (gst_element_post_message):
22937         * gst/gstpipeline.c: (gst_pipeline_change_state):
22938         Small docs and debug updates.
22939
22940 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22941
22942         * docs/gst/gstreamer-sections.txt:
22943         * gst/gstelementfactory.c:
22944         * gst/gstevent.c:
22945         * gst/gsttaglist.c:
22946           more docs
22947
22948 2005-10-08  Wim Taymans  <wim@fluendo.com>
22949
22950         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
22951         (gst_bin_dispose), (bin_bus_handler):
22952         Fix typos, add comments.
22953         Clear EOS list when going to PAUSED from any direction and do it
22954         in a threadsafe way.
22955         Get base time in a threadsafe way too.
22956         Fix confusing debug in the change_state function.
22957         Various other small cleanups.
22958         
22959         * gst/gstelement.c: (gst_element_post_message):
22960         Fix very verbose bus posting code.
22961
22962         * gst/gstpipeline.c: (gst_pipeline_class_init),
22963         (gst_pipeline_set_property), (gst_pipeline_get_property),
22964         (gst_pipeline_change_state):
22965         Small ARG_ -> PROP_ cleanup
22966
22967 2005-10-08  Wim Taymans  <wim@fluendo.com>
22968
22969         * gst/gstbin.c: (is_eos), (bin_bus_handler):
22970         Do a less CPU demanding EOS check because we can.
22971
22972 2005-10-08  Wim Taymans  <wim@fluendo.com>
22973
22974         * libs/gst/dataprotocol/dataprotocol.c:
22975         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
22976         (gst_dp_packet_from_event):
22977         * libs/gst/dataprotocol/dataprotocol.h:
22978         * libs/gst/dataprotocol/dp-private.h:
22979         It's about time we bump the version number.
22980         Since event types don't fit in the guint8 anymore describing
22981         the payload type, make payload type 16 bits wide.
22982
22983 2005-10-08  Wim Taymans  <wim@fluendo.com>
22984
22985         * docs/design/part-TODO.txt:
22986         * docs/design/part-clocks.txt:
22987         * docs/design/part-events.txt:
22988         * docs/design/part-gstbin.txt:
22989         * docs/design/part-gstelement.txt:
22990         * docs/design/part-gstpipeline.txt:
22991         * docs/design/part-live-source.txt:
22992         * docs/design/part-messages.txt:
22993         * docs/design/part-overview.txt:
22994         * docs/design/part-states.txt:
22995         Many doc updates.
22996
22997 2005-10-08  Wim Taymans  <wim@fluendo.com>
22998
22999         * gst/gstevent.c:
23000         * gst/gstevent.h:
23001         Fix event quark registration.
23002         Add some space between events so we can insert them in the
23003         right groups.
23004
23005 2005-10-08  Wim Taymans  <wim@fluendo.com>
23006
23007         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23008         (gst_base_sink_handle_buffer):
23009         Better log message.
23010
23011         * gst/gstbus.h:
23012         * gst/gstelement.h:
23013         More docs.
23014
23015         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23016         (gst_queue_set_property), (gst_queue_get_property):
23017         * gst/gstqueue.h:
23018         Remove old unused properties.
23019
23020 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23021         * docs/gst/gstreamer-sections.txt:
23022         * gst/gstmessage.c:
23023         * gst/gstmessage.h:
23024         * gst/gstminiobject.c:
23025         * gst/gstminiobject.h:
23026         * gst/gstobject.h:
23027         * gst/gstpad.h:
23028         * gst/gstutils.h:
23029           lots of new docs and doc fixes
23030
23031 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23032
23033         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23034         * gst/gstplugin.h:
23035         * gst/gstregistry.c: (gst_registry_lookup_locked),
23036         (gst_registry_scan_path_level):
23037         * gst/gstregistryxml.c: (load_plugin):
23038           Only ever load one plugin for a given plugin basename.
23039           This ensures correct overriding of GST_PLUGIN_PATH over
23040           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23041           system installed plugins.
23042
23043 2005-10-08  Wim Taymans  <wim@fluendo.com>
23044
23045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23046         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23047         Prepare for doing QOS.
23048
23049 2005-10-08  Wim Taymans  <wim@fluendo.com>
23050
23051         * check/gst/gstbin.c: (GST_START_TEST):
23052         * check/pipelines/cleanup.c: (GST_START_TEST):
23053         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23054         Allow new clock message too.
23055
23056 2005-10-08  Wim Taymans  <wim@fluendo.com>
23057
23058         * gst/gstmessage.c: (gst_message_new_error),
23059         (gst_message_new_warning), (gst_message_new_tag),
23060         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23061         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23062         (gst_message_new_segment_start), (gst_message_new_segment_done),
23063         (gst_message_parse_state_changed),
23064         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23065         (gst_message_parse_new_clock):
23066         * gst/gstmessage.h:
23067         Also carry the clock in question.
23068
23069 2005-10-08  Wim Taymans  <wim@fluendo.com>
23070
23071         * gst/gstmessage.c: (gst_message_new_custom),
23072         (gst_message_new_eos), (gst_message_new_error),
23073         (gst_message_new_warning), (gst_message_new_tag),
23074         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23075         (gst_message_new_new_clock), (gst_message_new_segment_start),
23076         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23077         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23078         * gst/gstmessage.h:
23079         Clean up.
23080         Added clock related messages.
23081
23082         * gst/gstpipeline.c: (gst_pipeline_change_state):
23083         Post message when the clock changed.
23084
23085         * tools/gst-launch.c: (event_loop):
23086         Print new clock.
23087
23088 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23089
23090         * tools/gst-inspect.c: (print_element_properties_info):
23091           Can't pass NULL strings to g_print() on windows.
23092
23093 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23094
23095         * docs/Makefile.am:
23096         * docs/gst/Makefile.am:
23097         * docs/gst/gstreamer-docs.sgml:
23098         * docs/gst/running.xml:
23099         * docs/version.entities.in:
23100           add a chapter on running GStreamer.
23101           document GST_DEBUG and GST_PLUGIN* env vars
23102
23103 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23104
23105         * Makefile.am:
23106           remove include dir
23107         * configure.ac:
23108           remove PLUGINS_BUILDDIR stuff
23109         * gst/gst.c: (init_post):
23110           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23111         * idiottest.mak:
23112           remove, it was condescending and not needed
23113
23114 2005-10-08  Wim Taymans  <wim@fluendo.com>
23115
23116         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23117         (gst_base_sink_handle_object), (gst_base_sink_event),
23118         (gst_base_sink_wait), (gst_base_sink_handle_event),
23119         (gst_base_sink_change_state):
23120         * gst/base/gstbasesink.h:
23121         Repost EOS message while going to PLAYING if still EOS.
23122         Make sure that when receiving a FLUSH_START we don't attempt
23123         to sync on the clock anymore.
23124
23125 2005-10-08  Wim Taymans  <wim@fluendo.com>
23126
23127         * tools/gst-launch.c: (event_loop):
23128         Better message printout.
23129
23130 2005-10-08  Wim Taymans  <wim@fluendo.com>
23131
23132         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23133         (gst_bin_child_proxy_get_children_count):
23134         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23135         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23136         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23137         (gst_child_proxy_set_valist):
23138         * gst/parse/grammar.y:
23139         Make ChildProxy threadsafe and fix mem leaks.
23140
23141 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23142
23143         * gst/gst.c: (init_post):
23144           debug the GST_PLUGIN_ env vars
23145
23146 2005-10-08  Wim Taymans  <wim@fluendo.com>
23147
23148         * check/gst/gstbin.c: (GST_START_TEST):
23149         * check/gst/gstmessage.c: (GST_START_TEST):
23150         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23151         * gst/gstelement.c: (gst_element_commit_state),
23152         (gst_element_lost_state):
23153         * gst/gstmessage.c: (gst_message_new_state_changed),
23154         (gst_message_parse_state_changed):
23155         * gst/gstmessage.h:
23156         * tools/gst-launch.c: (event_loop):
23157         Added extra field to STATE_CHANGE message with the pending
23158         state, which will be different from the new state soon.
23159
23160 2005-10-08  Wim Taymans  <wim@fluendo.com>
23161
23162         * gst/gstbus.c: (gst_bus_pop):
23163         * gst/gstclock.c:
23164         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23165         Small cleanups and doc updates.
23166
23167 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23168
23169         * gst/gst.c: (init_pre):
23170         * gst/gstbin.c: (gst_bin_add_func):
23171           log distributing clocks and base time
23172         * gst/gstregistry.c: (gst_registry_add_plugin),
23173         (gst_registry_scan_path_level), (gst_registry_scan_path):
23174           clean up the debugging output a little
23175         * gst/gstutils.c: (gst_element_state_get_name):
23176           warn about a memleak (I've actually seen this be used, though
23177           it was probably a bug)
23178
23179 2005-10-07  Wim Taymans  <wim@fluendo.com>
23180
23181         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23182         (gst_base_src_init), (gst_base_src_default_newsegment),
23183         (gst_base_src_newsegment), (gst_base_src_do_seek),
23184         (gst_base_src_loop), (gst_base_src_start):
23185         * gst/base/gstbasesrc.h:
23186         Make the newsegment event customizable by subclasses.
23187
23188 2005-10-07  Wim Taymans  <wim@fluendo.com>
23189
23190         * gst/gstevent.c: (gst_event_new_buffersize),
23191         (gst_event_parse_buffersize):
23192         * gst/gstevent.h:
23193         New event for future idea.
23194
23195 2005-10-07  Andy Wingo  <wingo@pobox.com>
23196
23197         * gst/gstelement.c (gst_element_post_message): Doc update.
23198
23199         * docs/gst/gstreamer-sections.txt: Update.
23200
23201         * gst/gstmessage.c (gst_message_new_application): Made into a
23202         function like honest API calls.
23203         (gst_message_new_element): New message type.
23204
23205         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23206
23207         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23208         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23209         times.
23210
23211         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23212         NO_PREROLL from gst_element_change_state to fall through.
23213
23214 2005-10-07  Wim Taymans  <wim@fluendo.com>
23215
23216         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23217         (gst_ghost_pad_do_activate_push):
23218         Activating a ghostpad with no internal pad in push mode
23219         is ok.
23220
23221 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23222
23223         * gst/gstobject.h:
23224           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23225           Fixes compilation on Windows.
23226
23227 2005-10-07  Michael Smith <msmith@fluendo.com>
23228
23229         * tools/gst-inspect.c:
23230           Print out feature and plugin count at the end when printing out
23231           all features.
23232
23233 2005-10-04  Michael Smith <msmith@fluendo.com>
23234
23235         * gst/gsterror.c: (_gst_stream_errors_init):
23236           Add another error string used in a few existing plugins.
23237
23238         * gst/gstplugin.c:
23239         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23240         * tools/gst-inspect.c: (print_element_info):
23241           When a feature disappears from a plugin (and the feature exists in
23242           the cached registry file), things went horribly wrong. This isn't a
23243           complete fix, we should actually be removing the 'missing' features
23244           from the features list when we load the actual plugin. That's not
23245           yet implemented. 
23246
23247 2005-10-04  Johan Dahlin  <johan@gnome.org>
23248
23249         * check/gst/gstiterator.c: (GST_START_TEST):
23250         * gst/gstbin.c: (gst_bin_iterate_elements),
23251         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23252         * gst/gstelement.c: (gst_element_iterate_pads):
23253         * gst/gstformat.c: (gst_format_iterate_definitions):
23254         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23255         (gst_iterator_new_list), (gst_iterator_filter):
23256         * gst/gstiterator.h:
23257         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23258         Add a GType to GstIterator, update callsites and tests.
23259
23260 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23261
23262         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23263           give events a chance to be handled by event probes when the pad
23264           is not linked
23265
23266 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23267
23268         * gst/gstevent.c: (gst_event_type_get_name),
23269         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23270         * gst/gstevent.h:
23271           add string representations for event types
23272
23273 2005-10-06  Wim Taymans  <wim@fluendo.com>
23274
23275         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23276         Don't use NULL pointers.
23277
23278 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23279
23280         * gst/gst_private.h:
23281         * gst/gstbus.c:
23282         * gst/gstelement.c:
23283         * gst/gstinfo.c:
23284         * gst/gstpluginfeature.c:
23285           widen the debug category in output to fit the biggest one we have
23286           add a bus category and use it
23287           play with the colors
23288           fix up some categories
23289
23290 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23291
23292         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23293           add push activation of sink ghost pads.
23294           Andye, please verify
23295
23296 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23297
23298         * gst/gstutils.c: (gst_element_link_pads):
23299           fix a bug in the case where neither element has a pad
23300         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23301           add a test for that case
23302
23303 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23304
23305         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23306           emit have-data before checking for peers.  This allows
23307           for probe handlers to connect elements.  This helps autopluggers.
23308         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23309         (gst_pad_suite):
23310           add six checks, linked/unlinked with no/true/false probe
23311
23312 2005-10-04  Wim Taymans  <wim@fluendo.com>
23313
23314         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23315         (gst_fake_sink_event), (gst_fake_sink_preroll),
23316         (gst_fake_sink_render), (gst_fake_sink_change_state):
23317         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23318         (gst_fake_src_get_property), (gst_fake_src_create),
23319         (gst_fake_src_stop):
23320         * gst/elements/gstidentity.c: (gst_identity_stop):
23321         Protect last_message with lock.
23322
23323 2005-10-04  Edward Hervey  <edward@fluendo.com>
23324
23325         * gst/gstformat.h: 
23326         Added precision in the comments for GST_FORMAT_DEFAULT
23327
23328 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23329
23330         * tools/gst-launch.c: (main):
23331           Don't try to run erroneous pipelines.
23332
23333 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23334
23335         * gst/gstbus.c: We don't need this header.
23336
23337 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23338
23339         * configure.ac:
23340           back to development
23341
23342 === release 0.9.3 ===
23343
23344 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23345
23346         * README:
23347         * configure.ac:
23348           Releasing 0.9.3, "Unregistered"
23349
23350 2005-10-03  Andy Wingo  <wingo@pobox.com>
23351
23352         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23353         whereby calling a pad's activatepush() function can start a thread
23354         that starts to push or pull before the pad gets the FLUSHING flag
23355         unset. Hack around it by holding the stream lock until the flag is
23356         set. Need to replace this with a proper solution. Together with
23357         the ghost pad fixes, this fixes mp3 playing/tagreading.
23358
23359         * docs/design/part-gstghostpad.txt: Add a note about activation of
23360         proxy pads outside of ghost pads.
23361
23362         * gst/gstghostpad.c: Implement the ghost pad activation design.
23363
23364 2005-10-02  Andy Wingo  <wingo@pobox.com>
23365
23366         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23367         It is volatile, after all.
23368
23369         * docs/design/part-gstghostpad.txt: Flesh out activation with
23370         ghost pads.
23371
23372         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23373         GST_DEBUG_FUNCPTR.
23374
23375 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23376
23377         * configure.ac:
23378           Fix (unused) AM_CONDITIONAL tests.
23379
23380 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23381
23382         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23383
23384         * gst/gstutils.c: (gst_pad_query_convert):
23385           Add assertion that makes sure src_val is >=0, just like
23386           gst_query_new_convert() has. (#315895)
23387
23388 2005-09-30  Edward Hervey  <edward@fluendo.com>
23389
23390         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23391         Let's not iterate pads we're not interested in, it avoids getting 
23392         sky-high refcounts on sinkpad.
23393
23394 2005-09-30  Wim Taymans  <wim@fluendo.com>
23395
23396         * gst/gstelement.c: (gst_element_set_state),
23397         (gst_element_change_state):
23398         Small tweak, element in ASYNC remains ASYNC.
23399
23400 2005-09-30  Wim Taymans  <wim@fluendo.com>
23401
23402         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23403         Only error is an error.
23404
23405         * gst/gstbin.c: (gst_bin_change_state):
23406         Better debugging.
23407
23408         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23409         Also call pad_block in pad alloc.
23410
23411         * gst/gstutils.c: (gst_flow_get_name):
23412         Better debugging.
23413
23414 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23415
23416         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23417         (gst_base_src_get_range):
23418           Fix documentation typos. Add some more debug info.
23419
23420 2005-09-29  David Schleef  <ds@schleef.org>
23421
23422         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23423           more end-user friendly.
23424         * tools/gst-inspect.c: (main): Check if command-line argument is
23425           a file and attempt to load that file as a plugin.
23426
23427 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23428
23429         * check/gst/gstbin.c:
23430         * check/states/sinks.c:
23431           fix tests for the new warning
23432         * check/gst/gstpipeline.c:
23433           add a test for pipeline and bus interaction
23434         * gst/gstelement.c:
23435           elements should be NULL if they get disposed; add a warning if not
23436
23437 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23438
23439         * gst/gstobject.c:
23440           for 2.6 refcounting, make debug log more correct by printing
23441           the actual refcounts at the time of swap (Wim)
23442
23443 2005-09-29  Andy Wingo  <wingo@pobox.com>
23444
23445         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23446         removes signal watches previously added via
23447         gst_bus_add_signal_watch.
23448         (gst_bus_add_signal_watch): Don't return the source id, just store
23449         it on the bus if there wasn't an id already.
23450
23451         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23452         add_signal_watch and remove_signal_watch.
23453
23454 2005-09-29  Edward Hervey  <edward@fluendo.com>
23455
23456         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
23457         Better if we actually iterate the list :)
23458
23459 2005-09-29  Wim Taymans  <wim@fluendo.com>
23460
23461         * check/gst/gstbin.c: (GST_START_TEST):
23462         Change for new bus API.
23463
23464         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23465         (send_messages), (GST_START_TEST), (gstbus_suite):
23466         Change for new bus signal API.
23467
23468         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23469         (gst_bus_source_prepare), (gst_bus_source_check),
23470         (gst_bus_create_watch), (gst_bus_add_watch_full),
23471         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23472         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23473         * gst/gstbus.h:
23474         Remove support for multiple GSources operating on different
23475         message types as it is too complex and unneeded when using
23476         signals.
23477         Added support for receiving signals from the bus.
23478
23479 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23480
23481         * docs/libs/tmpl/gstdataprotocol.sgml:
23482         * docs/manual/advanced-dataaccess.xml:
23483         * gst/elements/gstcapsfilter.c:
23484         * gst/gstutils.c:
23485           rename filter-caps to caps property
23486
23487 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23488
23489         * gst/gstvalue.c: (gst_value_deserialize_fraction):
23490           More robust fraction string parsing.
23491
23492         * docs/pwg/appendix-porting.xml:
23493           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23494
23495 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23496
23497         * gst/gstcaps.c: (gst_caps_do_simplify):
23498           Thou shalt not free a structure and then continue using it
23499           in the next loop iteration.
23500
23501         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23502         (gst_caps_suite):
23503           Add test case for caps simplification.
23504
23505 2005-09-29  Wim Taymans  <wim@fluendo.com>
23506
23507         * check/gst/gstbin.c: (GST_START_TEST):
23508         Oops.
23509
23510 2005-09-29  Wim Taymans  <wim@fluendo.com>
23511
23512         * check/gst/gstbin.c: (GST_START_TEST):
23513         Add bus to bin.
23514
23515         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23516         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23517         (find_element), (gst_bin_sort_iterator_next),
23518         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23519         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23520         (gst_bin_change_state), (gst_bin_dispose):
23521         A bin does not have a bus, it gets the bus from the parent.
23522
23523         * gst/gstelement.c: (gst_element_requires_clock),
23524         (gst_element_provides_clock), (gst_element_is_indexable),
23525         (gst_element_is_locked_state), (gst_element_change_state),
23526         (gst_element_set_bus_func):
23527         Small cleanups.
23528
23529         * gst/gstpipeline.c: (gst_pipeline_class_init),
23530         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23531         The pipeline provides a bus.
23532
23533 2005-09-28  Johan Dahlin  <johan@gnome.org>
23534
23535         * gst/gstmessage.c (gst_message_parse_state_changed): Use
23536         gst_structure_get_enum instead of gst_structure_get_int
23537
23538         * gst/gststructure.c (gst_structure_get_enum): Impl.
23539
23540         * gst/gststructure.h (gst_structure_get_enum): Add
23541
23542         * docs/gst/gstreamer-sections.txt: Ditto
23543
23544         * gst/gstmessage.c (gst_message_new_state_changed): Use
23545         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23546         which does introspection.
23547         Reviewed by Christian Schaller
23548
23549 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23550
23551         * gst/gstinfo.c: (gst_debug_log_default):
23552           don't do dummy g_strdup()s
23553         * libs/gst/controller/gstcontroller.c:
23554         (on_object_controlled_property_changed),
23555         (gst_controlled_property_new), (gst_controller_new_valist),
23556         (gst_controller_new_list),
23557         (gst_controller_remove_properties_valist), (gst_controller_set),
23558         (gst_controller_get), (gst_controller_sync_values),
23559         (gst_controller_get_value_array), (_gst_controller_class_init),
23560         (gst_controller_get_type):
23561         * libs/gst/controller/gstcontroller.h:
23562         * libs/gst/controller/gstinterpolation.c:
23563         (gst_controlled_property_find_timed_value_node):
23564           convert // to /**/ comments
23565
23566 2005-09-28  Wim Taymans  <wim@fluendo.com>
23567
23568         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23569         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
23570         (gst_bus_sync_signal_handler):
23571         * gst/gstbus.h:
23572         Added async-message and sync-message signals to the bus.
23573         Added helper BusFunc to emit signals for all posted messages.
23574
23575         * gst/gstmessage.c: (gst_message_type_get_name),
23576         (gst_message_type_to_quark), (gst_message_get_type):
23577         * gst/gstmessage.h:
23578         Register quarks for message names.
23579
23580 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23581
23582         * docs/libs/gstreamer-libs-sections.txt:
23583         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23584         (gst_controller_new_list):
23585         * libs/gst/controller/gstcontroller.h:
23586           added another constructor for language bindings
23587
23588 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
23589
23590         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23591           add another check
23592         * gst/gstbus.c:
23593           add some doc
23594         * gst/gstinfo.c: (_gst_debug_init):
23595           slightly more readable color for refcount debugging
23596
23597 2005-09-28  Wim Taymans  <wim@fluendo.com>
23598
23599         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23600         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23601         (find_element), (gst_bin_sort_iterator_next),
23602         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23603         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23604         (gst_bin_change_state), (gst_bin_dispose):
23605         Small doc fixes. get_clock -> provide_clock.
23606
23607         * gst/gstelement.c: (gst_element_class_init),
23608         (gst_element_provides_clock), (gst_element_provide_clock),
23609         (gst_element_get_clock), (gst_element_commit_state),
23610         (gst_element_lost_state):
23611         * gst/gstelement.h:
23612         Make get/set_clock() symetric. Add provide_clock vmethod since
23613         that is actually what this function does.
23614
23615         * gst/gstpipeline.c: (gst_pipeline_class_init),
23616         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23617         (gst_pipeline_get_clock):
23618         get_clock -> provide_clock.
23619
23620 2005-09-28  Andy Wingo  <wingo@pobox.com>
23621
23622         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23623         lieu of real docs...
23624
23625         * gst/elements/gstfdsrc.c: Cleaned up a bit.
23626
23627 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
23628
23629         * gst/elements/gstcapsfilter.c:
23630         * gst/elements/gstfakesink.c:
23631         * gst/elements/gstfakesrc.c:
23632         * gst/elements/gstfdsink.c:
23633         * gst/elements/gstfdsrc.c:
23634         * gst/elements/gstfilesink.c:
23635         * gst/elements/gstfilesrc.c:
23636         * gst/elements/gstidentity.c:
23637         * gst/elements/gsttee.c:
23638         * gst/elements/gsttypefindelement.c:
23639           Make element details static.
23640
23641 2005-09-28  Wim Taymans  <wim@fluendo.com>
23642
23643         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23644         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23645         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23646         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23647         (gst_bin_change_state), (gst_bin_dispose):
23648         Some documentation updates.
23649         Clean up dispose handlers.
23650
23651         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
23652         * gst/gstpad.c: (gst_pad_dispose):
23653         Clean up dispose handler.
23654
23655         * gst/gstpipeline.c: (gst_pipeline_change_state):
23656         Removed spurious UNLOCK.
23657
23658 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
23659
23660         * docs/gst/gstreamer-sections.txt:
23661         * gst/base/gstbasesrc.h:
23662         * gst/gstelement.h:
23663         * gst/gstevent.h:
23664         * gst/gstobject.h:
23665         * gst/gstpad.h:
23666         * gst/gstpipeline.c:
23667         * gst/gstpipeline.h:
23668         * gst/gstutils.h:
23669         * gst/gstxml.h:
23670           added two new functions to the docs
23671                 documents all undocumented GstXXXFlags
23672                 completed some incomplete docs 
23673
23674 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23675
23676         * gst/gstbin.c: (gst_bin_dispose):
23677         * gst/gstelement.c: (gst_element_dispose):
23678           remove now useless and leaky resurrection code in dispose
23679         * gst/base/gstbasesrc.c: (gst_base_src_init):
23680         * gst/gstelementfactory.c: (gst_element_factory_create):
23681         * gst/gstobject.c: (gst_object_set_parent):
23682           add some debugging
23683
23684 2005-09-27  Wim Taymans  <wim@fluendo.com>
23685
23686         * docs/design/part-TODO.txt:
23687         Update TODO.
23688
23689         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23690         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23691         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23692         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23693         (gst_bin_change_state):
23694         * gst/gstelement.h:
23695         Remove element variable, we keep element info in the iterator now.
23696
23697 2005-09-27  Andy Wingo  <wingo@pobox.com>
23698
23699         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
23700         values.
23701
23702 2005-09-27  Wim Taymans  <wim@fluendo.com>
23703
23704         * check/gst/gstbin.c: (GST_START_TEST):
23705         Enable check that works now.
23706
23707         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23708         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
23709         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23710         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23711         (gst_bin_change_state):
23712         * gst/gstbin.h:
23713         Redid the state change algorithm using a topological sort algo.
23714         Handles all cases correctly.
23715         Exposed iterator for state change order.
23716
23717         * gst/gstelement.h:
23718         Temp storage for state changes. Need to get rid of this soon.
23719
23720 2005-09-27  Wim Taymans  <wim@fluendo.com>
23721
23722         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
23723         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
23724         (link_fold_func), (gst_pad_proxy_setcaps):
23725         Leak fixes, the fold functions need to unref the passed object and
23726         _get_parent_*() returns ref to parent.
23727
23728 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23729
23730         * check/gst/gstbuffer.c: (test_make_writable):
23731           Plug leak in test case and fix 'make check-valgrind'
23732
23733 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23734
23735         * gst/gstbuffer.c: (gst_subbuffer_init):
23736           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
23737           works correctly in all circumstances (we could have just copied
23738           the parent buffer's readonly flag, but conceptually it seems
23739           cleaner to mark all subbuffers as read-only). (based on patch
23740           by Alessandro Decina, #314710).
23741         
23742         * check/gst/gstbuffer.c: (create_read_only_buffer),
23743         (test_make_writable), (test_subbuffer_make_writable),
23744         (gst_test_suite):
23745           Add some tests for gst_buffer_make_writable().
23746
23747 2005-09-27  Wim Taymans  <wim@fluendo.com>
23748
23749         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
23750         use gst_object_has_ancestor().
23751
23752         * gst/gstobject.c: (gst_object_has_ancestor):
23753         * gst/gstobject.h:
23754         gst_object_has_ancestor() copied from gstbin.c as it is a
23755         useful function.
23756
23757         * tests/instantiate/create.c: (create_all_elements):
23758         * tests/lat.c: (handoff_src), (handoff_sink):
23759         * tests/sched/runxml.c: (main):
23760         * tests/seeking/seeking1.c: (main):
23761         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23762         (main):
23763         Fix compilation of some tests.
23764
23765 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23766
23767         * gst/gsterror.h:
23768           Remove comment. GST_TYPE_G_ERROR is here to stay,
23769           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
23770           (#316961, #300610).
23771
23772 2005-09-26  Wim Taymans  <wim@fluendo.com>
23773
23774         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23775         Added check that shows error in state change order.
23776
23777 2005-09-26  Wim Taymans  <wim@fluendo.com>
23778
23779         * gst/gstbin.c: (gst_bin_change_state):
23780         Make state change function use 3 queues again, we were
23781         adding elements in the wrong order.
23782
23783         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
23784         Some debug info,
23785
23786         * gst/gstpad.c: (gst_pad_dispose):
23787         Added some debug info first.
23788
23789 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
23790
23791         * docs/design/draft-push-pull.txt:
23792         * docs/design/part-events.txt:
23793         * docs/design/part-overview.txt:
23794         * docs/design/part-scheduling.txt:
23795           Replace all _pull_region() with _pull_range()
23796           
23797 2005-09-26  Andy Wingo  <wingo@pobox.com>
23798
23799         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
23800
23801         * check/gst-libs/controller.c: Update for controller api change.
23802
23803         * configure.ac: 
23804         * tests/Makefile.am:
23805         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
23806         over by GLib bug 118439.
23807         
23808         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
23809         routines to a function.
23810
23811         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
23812
23813         * libs/gst/controller/gsthelper.c:
23814         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
23815         (gst_object_sync_values): Renamed from sink_values. Ugh.
23816
23817         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
23818
23819         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
23820         Renamed from controller_key, as it is exported.
23821
23822         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
23823
23824 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23825
23826         * gst/Makefile.am:
23827         * gst/gst.h:
23828         * gst/gstpad.h:
23829         * gst/gstpadtemplate.h:
23830         * gst/gstquery.c:
23831         * gst/gstquery.h:
23832         * gst/gstqueryutils.c:
23833         * gst/gstqueryutils.h:
23834           remove queryutils headers after moving the two used functions
23835           to gstquery.  also fixes build problem for gstsiddec
23836
23837 2005-09-26  Michael Smith <msmith@fluendo.com>
23838
23839         * tools/gst-launch.1.in:
23840         Correct documentation in manpage of debug syntax
23841
23842 2005-09-26  Wim Taymans  <wim@fluendo.com>
23843
23844         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23845         (gst_base_src_is_seekable), (gst_base_src_change_state):
23846         Some more debugging info.
23847
23848 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23849
23850         * docs/gst/gstreamer-sections.txt:
23851         * gst/base/gstbasetransform.h:
23852         * gst/gstindex.h:
23853           added more docs
23854
23855 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23856
23857         * docs/gst/.cvsignore:
23858         * docs/gst/tmpl/.cvsignore:
23859         * docs/gst/tmpl/gstpipeline.sgml:
23860         * docs/gst/tmpl/gstplugin.sgml:
23861         * gst/gstpipeline.c:
23862         * gst/gstplugin.c:
23863         * gst/gstplugin.h:
23864           inlined the last two docs files
23865           removed the tmpl directory from cvs (no more conflicts here!)
23866
23867 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23868
23869         * docs/gst/gstreamer-sections.txt:
23870         * docs/gst/tmpl/.cvsignore:
23871         * docs/gst/tmpl/gstpad.sgml:
23872         * docs/gst/tmpl/gstpadtemplate.sgml:
23873         * gst/Makefile.am:
23874         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
23875         (gst_pad_finalize), (gst_pad_set_pad_template):
23876         * gst/gstpad.h:
23877         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
23878         (gst_pad_template_class_init), (gst_pad_template_init),
23879         (gst_pad_template_dispose), (name_is_valid),
23880         (gst_static_pad_template_get), (gst_pad_template_new),
23881         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
23882         (gst_pad_template_pad_created):
23883         * gst/gstpadtemplate.h:
23884           inlined two more docs
23885           factored gstpadtemplate out of gstpad
23886
23887 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
23888
23889         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23890         (test_children_state_change_order_semi_sink):
23891           Fix test case: we can't rely on a fixed state change order when
23892           going from READY => PAUSED because the sink might commit its 
23893           new state first when the first buffer created by the source 
23894           reaches the sink before the source has finished its change state.
23895           (Test case still fails at times, see #316856, comment 5 onwards)
23896
23897 2005-09-24  Wim Taymans  <wim@fluendo.com>
23898
23899         * docs/design/part-events.txt:
23900         * docs/design/part-gstbus.txt:
23901         * docs/design/part-gstpipeline.txt:
23902         * docs/design/part-messages.txt:
23903         * docs/design/part-overview.txt:
23904         * docs/design/part-segments.txt:
23905         * gst/gstbin.c:
23906         * gst/gstbuffer.c:
23907         * gst/gstclock.c:
23908         * gst/gstelement.c:
23909         * gst/gstevent.c:
23910         * gst/gstfilter.c:
23911         * gst/gstiterator.c:
23912         Various documentation updates.
23913
23914 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23915
23916         * gst/gstclock.h:
23917           Well, that's embarassing.  Luckily we weren't using
23918           GST_CLOCK_DIFF anywhere.
23919
23920 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23921
23922         * common/gtk-doc.mak:
23923           don't fail on building XML, FC4 slave shows a bunch of doc
23924           missing bits that I don't get
23925         * gst/gstpad.c:
23926         * gst/gstpipeline.c:
23927         * gst/gststructure.c:
23928           some doc updates
23929
23930 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23931
23932         * docs/design/part-gstbin.txt:
23933         * docs/design/part-gstbus.txt:
23934         * gst/gstbus.c:
23935           Add blurb about how the bus goes into flushing mode and
23936           drops all messages when its bin goes from READY into NULL 
23937           state.
23938
23939 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23940
23941         * docs/gst/gstreamer-sections.txt:
23942         * gst/gststructure.c: (gst_structure_get_clock_time):
23943         * gst/gststructure.h:
23944           add a method to get a GstClockTime out of a structure
23945
23946 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23947
23948         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23949         (test_children_state_change_order_semi_sink), (gst_bin_suite):
23950           Added test to check state change order in bins (can still be made
23951           to fail here under heavy disk load; bails out with 'Push on pad
23952           fakesink:sink0, but it was not activated in push mode').
23953
23954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
23955           Fix state change order when there is only a semi sink (#316856)
23956
23957         * gst/gstbus.c: (gst_bus_class_init):
23958           Use _class_peek_parent(), not _class_ref(); fix docs to say
23959           'default main context' instead of 'mainloop' where that is
23960           what's meant.
23961
23962         * gst/gstelement.c: (gst_element_commit_state),
23963         (gst_element_set_state):
23964           Fix typos in debug messages
23965
23966 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23967
23968         * docs/README:
23969         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
23970         * gst/gstpluginfeature.c:
23971         * gst/gstutils.c:
23972           various doc updates
23973         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23974           change an assert into an error until it gets fixed properly
23975
23976 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
23977
23978         * docs/gst/gstreamer-sections.txt:
23979         * docs/gst/tmpl/.cvsignore:
23980         * docs/gst/tmpl/gstelement.sgml:
23981         * docs/gst/tmpl/gstinfo.sgml:
23982         * docs/gst/tmpl/gstobject.sgml:
23983         * gst/gstelement.c:
23984         * gst/gstelement.h:
23985         * gst/gstinfo.c:
23986         * gst/gstinfo.h:
23987         * gst/gstobject.c: (gst_object_class_init):
23988         * gst/gstobject.h:
23989           inlined 3 more biiiig doc files and added some missing docs on the fly
23990
23991 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23992
23993         * check/gst/.cvsignore:
23994         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
23995         * gst/gstregistryxml.c: (load_plugin),
23996         (gst_registry_xml_save_plugin):
23997           put back source in registry.  add checks for find_plugin.
23998         * testsuite/states/bin.c: (assert_state), (empty_bin),
23999         (test_adding_one_element), (main):
24000         * testsuite/states/locked.c: (main):
24001           some compile/run fixes
24002
24003 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24004
24005         * check/gst/gstvalue.c: (GST_START_TEST):
24006           fix leaks in the test itself
24007
24008 2005-09-22  Wim Taymans  <wim@fluendo.com>
24009
24010         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24011         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24012         (gst_base_sink_query):
24013         Prepare for more accurate position reporting and query
24014         handling.
24015
24016         * gst/gstelement.c: (gst_element_send_event),
24017         (gst_element_set_state):
24018         Add some comment.
24019
24020 2005-09-22  Wim Taymans  <wim@fluendo.com>
24021
24022         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24023         (gst_query_parse_segment):
24024         * gst/gstquery.h:
24025         More documentation.
24026         Add segment query for future use.
24027
24028 2005-09-22  Wim Taymans  <wim@fluendo.com>
24029
24030         * gst/gstbin.c: (gst_bin_add_func):
24031         Some more debug info.
24032
24033         * gst/gstelement.c: (gst_element_send_event):
24034         Simplify send_event
24035
24036         * gst/gstelement.h:
24037         Don't know how flags got broken.
24038
24039         * gst/gstquery.h:
24040         Added new query.
24041
24042 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24043
24044         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24045           Add simplistic test suite for GST_TYPE_DATE serialisation and
24046           deserialisation.
24047
24048 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24049
24050         * docs/gst/gstreamer-sections.txt:
24051         * gst/gststructure.c: (gst_structure_set_valist),
24052         (gst_structure_get_date):
24053         * gst/gststructure.h:
24054         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24055         (gst_date_copy), (gst_value_compare_date),
24056         (gst_value_serialize_date), (gst_value_deserialize_date),
24057         (gst_value_transform_date_string),
24058         (gst_value_transform_string_date), (_gst_value_initialize):
24059         * gst/gstvalue.h:
24060           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24061           bunch of utility functions along with a hack that checks that
24062           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24063           is required. Part of the grand scheme in #170777.
24064
24065 2005-09-22  Andy Wingo  <wingo@pobox.com>
24066
24067         * gst/gstconfig.h.in: Psych out gtk-doc.
24068
24069         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24070
24071         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24072
24073         * tools/gst-inspect.c (print_element_list): Plug some
24074         inconsequential leaks.
24075
24076         * gst/gstregistry.c (gst_registry_get_default): Doc.
24077
24078         * check/gst/gstplugin.c: 
24079         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24080         * gst/gstelementfactory.c (gst_element_factory_create): 
24081         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24082         refcount changes.
24083
24084         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24085         (gst_plugin_feature_load): Doc, don't eat refs.
24086
24087         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24088         (gst_plugin_list_free): Doc.
24089         (gst_plugin_load_file): Doc updates.
24090
24091         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24092         accessors returning refcounted objects, return a ref.
24093
24094         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24095         accessor for caps. IDEMPOTENCE. Oh yes.
24096
24097 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24098
24099         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24100
24101         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24102         (_gst_debug_register_funcptr):
24103           Add mutex to serialise access to the hash table with
24104           the function pointer => function name string mapping;
24105           make that hash table static scope (#316809).
24106
24107         * gst/registries/.cvsignore:
24108           Remove left-over file.
24109
24110 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24111
24112         * docs/pwg/appendix-porting.xml:
24113           And something about newsegment events and caps-on-buffers to
24114           the porting guide (feel free to improve).
24115
24116 2005-09-21  Andy Wingo  <wingo@pobox.com>
24117
24118         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24119         data and event probes on the same pad.
24120         (test_buffer_probe_once): Test that removing probes from within
24121         the probe functions works.
24122
24123 2005-09-21  Andy Wingo  <wingo@pobox.com>
24124
24125         * check/gst/gstutils.c: New file.
24126         (test_buffer_probe_n_times): A simple buffer probe test. More to
24127         come, foolios.
24128
24129         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24130         have-data::buffer, not have-data.
24131         (gst_pad_add_event_probe): Likewise for have-data::event.
24132         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24133         peer' isn't quite right yet though.
24134         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24135         (gst_pad_remove_data_probe): Change to take the guint handler_id
24136         as their arg, not the function+data, which is more glib-like.
24137
24138         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24139         the signal emission to indicate if the data is a buffer or an
24140         event.
24141         (gst_pad_get_type): Initialize buffer and event quarks.
24142         (gst_pad_class_init): have-data is now a detailed signal, yes it
24143         is.
24144
24145 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24146
24147         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24148         * gst/gstutils.c: (gst_util_set_value_from_string),
24149         (gst_util_set_object_arg):
24150           Don't put functional code in g_return_if_fail() or
24151           g_return_val_if_fail() statements, otherwise things will 
24152           break when G_DISABLE_CHECKS is defined during compilation.
24153
24154 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24155
24156         * docs/gst/tmpl/.cvsignore:
24157         * docs/gst/tmpl/gstvalue.sgml:
24158         * gst/gstvalue.c:
24159         * gst/gstvalue.h:
24160           inlied another one and added  some obvious docs
24161
24162 2005-09-21  Wim Taymans  <wim@fluendo.com>
24163
24164         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24165         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24166         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24167         (gst_fdsrc_get_property), (gst_fdsrc_create):
24168         * gst/elements/gstfdsrc.h:
24169         Properly implement fdsrc. Removed signal and timeout,
24170         better implemented somewhere else.
24171
24172 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24173
24174         * docs/gst/tmpl/.cvsignore:
24175         * docs/gst/tmpl/gstimplementsinterface.sgml:
24176         * gst/gstinterface.c:
24177           inlined more docs
24178
24179 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24180
24181         * docs/gst/gstreamer-sections.txt:
24182         * docs/gst/tmpl/.cvsignore:
24183         * docs/gst/tmpl/gstenumtypes.sgml:
24184           remove obsolete doc file
24185
24186 2005-09-21  David Schleef  <ds@schleef.org>
24187
24188         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24189         little beer, fix a little leak.
24190
24191 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24192
24193         * docs/gst/gstreamer-docs.sgml:
24194         * docs/gst/gstreamer-sections.txt:
24195         * docs/gst/tmpl/.cvsignore:
24196         * gst/Makefile.am:
24197         * gst/gst.h:
24198         * gst/gstbin.c:
24199         * gst/gstelement.h:
24200         * gst/gstindex.c: (gst_index_class_init):
24201         * gst/gstindex.h:
24202         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24203         (gst_index_factory_class_init), (gst_index_factory_init),
24204         (gst_index_factory_finalize), (gst_index_factory_new),
24205         (gst_index_factory_destroy), (gst_index_factory_find),
24206         (gst_index_factory_create), (gst_index_factory_make):
24207         * gst/gstindexfactory.h:
24208         * gst/gstpluginfeature.c:
24209         * gst/gstpluginfeature.h:
24210         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24211           more docs inlined, splitted gstindex.{c,h}
24212
24213 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24214
24215         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24216           fix a leak
24217
24218 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24219
24220         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24221           Set sync to FALSE by default.
24222
24223 2005-09-20  Wim Taymans  <wim@fluendo.com>
24224
24225         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24226         (gst_base_sink_init):
24227         Make sync property settable from subclass.
24228
24229         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24230         (gst_fake_sink_change_state):
24231         Set sync to FALSE by default.
24232
24233 2005-09-20  Wim Taymans  <wim@fluendo.com>
24234
24235         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24236         * tools/gst-launch.c: (main):
24237         The timeout handler should have lower priority than the source
24238         so we don't timeout before popping a message with 0 timeout.
24239         Dump error messages after failed state change.
24240
24241 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24242
24243         * tools/gst-inspect.c: (print_element_properties_info):
24244           Fix two typos.
24245
24246 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24247
24248         * check/gst/gstevent.c:
24249         * gst/elements/gstfakesink.c:
24250         * gst/elements/gstfakesink.h:
24251           remove the sync property from fakesink.
24252           has the side effect of setting sync TRUE
24253           for fakesink, which is a change.  Anyone who knows how
24254           to fix this nicely in a GObject-y way, feel free.
24255
24256 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24257
24258         * docs/gst/gstreamer-docs.sgml:
24259           remove probe refsection
24260
24261 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24262
24263         * check/Makefile.am:
24264           disable valgrinding the controller test again
24265         * docs/gst/gstreamer-sections.txt:
24266           update for api-changes
24267
24268 2005-09-20  Wim Taymans  <wim@fluendo.com>
24269
24270         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24271         (gst_base_sink_set_property), (gst_base_sink_get_property),
24272         (gst_base_sink_do_sync):
24273         * gst/base/gstbasesink.h:
24274         Added sync property to basesink to disable clock sync.
24275
24276 2005-09-20  Andy Wingo  <wingo@pobox.com>
24277
24278         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24279         eating the caller's refcount.
24280
24281         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24282         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24283         refcount.
24284
24285         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24286         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24287         of GLib 2.8 public, so we can know which refcount to check in
24288         tests.
24289
24290         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24291         (gst_object_init): Only set the gst refcount if we're going ahead
24292         with the refcount hack.
24293
24294 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24295
24296         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24297         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24298           more leaks plumbed, added more debug-logging
24299         * gst/gstmacros.h:
24300           whitespace fix
24301
24302 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24303
24304         * gst/gstmessage.c:
24305           remove include of gstmemchunk.h
24306
24307 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24308
24309         * gst/gstclock.c: (_gst_clock_id_free):
24310           Commit from the Political Party For More Atomic CVS Commits,
24311           so that people don't waste too much of their day fishing
24312           out obvious leaks out of massive commits.
24313           Oh, and fix a pretty damn obvious leak in the memchunk
24314           removal code.
24315
24316 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24317
24318         * check/Makefile.am:
24319         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24320           plug mem-leak, re-add to valgrindable tests
24321
24322 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24323
24324         * gst/gstplugin.h:
24325           unbreak the build for those who have chronic arthritis
24326           and typing "make check" is just too taxing on the hands
24327
24328 2005-09-20  Andy Wingo  <wingo@pobox.com>
24329
24330         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24331         really want it out, you should fix plugins at the same time.
24332
24333 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24334
24335         * configure.ac:
24336         * docs/gst/gstreamer-sections.txt:
24337         * gst/gstobject.c:
24338           added missing symbols to api docs
24339           disable ref-count hack if we have glib >= 2.8
24340
24341 2005-09-19  David Schleef  <ds@schleef.org>
24342
24343         * docs/gst/Makefile.am: Ignore a few more internal headers
24344         * docs/gst/gstreamer-docs.sgml: Remove old sections
24345         * docs/gst/gstreamer-sections.txt: Remove old sections
24346         * docs/gst/tmpl/gstobject.sgml: update
24347         * docs/gst/tmpl/gstplugin.sgml: update
24348         * docs/gst/tmpl/gstpluginfeature.sgml: update
24349         * docs/random/ds/0.9-suggested-changes: update.
24350         * gst/Makefile.am: remove memchunk and trashstack, since they're
24351           not used.
24352         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24353         * gst/gst.h: don't include some headers
24354         * gst/gstchildproxy.c: add gstmarshal.h
24355         * gst/gstclock.c: Don't use memchunks
24356         * gst/gstminiobject.c: Add some docs
24357         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24358         * gst/gstobject.h: same
24359         * gst/gstplugin.c: include gstmacros.h
24360         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24361         * gst/gstquery.c: don't use memchunks
24362         * gst/gstregistry.c: rename gst_registry_deinit()
24363         * gst/gstregistry.h: same
24364
24365 2005-09-19  David Schleef  <ds@schleef.org>
24366
24367         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24368         * docs/libs/gstreamer-libs-sections.txt:
24369         * docs/libs/tmpl/gstgetbits.sgml:
24370         * docs/libs/tmpl/gstputbits.sgml:
24371
24372 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24373
24374         * win32/gstenumtypes.c:
24375         * win32/gstenumtypes.h:
24376           Update.
24377
24378 2005-09-19  Wim Taymans  <wim@fluendo.com>
24379
24380         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24381         Automatically PAUSE and RESUME a pipeline when a flushing seek
24382         is performed.
24383
24384 2005-09-19  Andy Wingo  <wingo@pobox.com>
24385
24386         * gst/gstregistry.h: Spacing fixen.
24387
24388 2005-09-19  Wim Taymans  <wim@fluendo.com>
24389
24390         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24391         Handle state change failure more correctly.
24392
24393 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24394
24395         * check/Makefile.am:
24396         * check/pipelines/cleanup.c: (run_pipeline):
24397         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24398         (GST_START_TEST):
24399           enable cleanup again after fixing the leak
24400         * docs/README:
24401           some more info on docs
24402
24403 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24404
24405         * check/Makefile.am:
24406           re-enable tests now that leaks are plugged
24407         * check/gst/gst.c:
24408         * check/gst/gstbin.c:
24409         * check/gst/gstpipeline.c:
24410           add some more tests while fixing leaks
24411         * common/check.mak:
24412           make sure binaries are uptodate when valgrinding/gdbing
24413         * gst/gst.c:
24414         * gst/gstelementfactory.c:
24415           remove a ref too many, and add a FIXME for when we get
24416           round to disposing of classes
24417         * gst/gstplugin.c:
24418           fix the refcounting when loading a plugin from a file and
24419           the code pretends that the pointer is the same even though
24420           of course it can change
24421         * gst/gstpluginfeature.c:
24422           unref plugins marked cached (a bit confusing as a name)
24423           as the docs state should be done
24424           various doc additions to explain refcounting
24425         * gst/gstregistry.c:
24426         * gst/gstregistryxml.c:
24427           debugging
24428
24429 2005-09-19  Wim Taymans  <wim@fluendo.com>
24430
24431         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24432         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24433         (send_messages), (GST_START_TEST), (gstbus_suite):
24434         * check/gst/gstpipeline.c: (GST_START_TEST):
24435         * check/pipelines/cleanup.c: (run_pipeline):
24436         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24437         (GST_START_TEST):
24438         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24439         (gst_bus_source_check), (gst_bus_source_dispatch),
24440         (gst_bus_create_watch), (gst_bus_add_watch_full),
24441         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24442         * gst/gstbus.h:
24443         * tools/gst-launch.c: (event_loop):
24444         * tools/gst-md5sum.c: (event_loop):
24445         GstBusHandler -> GstBusFunc, return value has the same meaning as
24446         any other GSource (FALSE == remove source).
24447         _add_watch() and _add_watch_full() now take a MessageType mask to
24448         only handle specific types of messages.
24449         _poll() returns the GstMessage instead of the message type to avoid
24450         race conditions.
24451         _have_pending() takes a MessageType mask now too.
24452         Added testsuite for multiple bus watches.
24453         Fix testsuites and applications for new bus API.
24454
24455 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24456
24457         * check/Makefile.am:
24458           mark a bunch of the tests as to fix until we fix them
24459
24460 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24461
24462         * common/check.mak:
24463           use GST_PLUGIN settings for valgrind tests as well, so we're
24464           valgrinding the correct thing
24465         * gst/gst.c: (init_post):
24466           plug another leak
24467
24468 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24469
24470         * gst/gst.c: (init_post), (gst_deinit):
24471         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24472         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24473         * gst/gstindex.c: (gst_index_factory_class_init),
24474         (gst_index_factory_finalize):
24475         * gst/gstobject.c: (gst_object_dispose):
24476         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24477         (gst_plugin_load_file), (gst_plugin_desc_free):
24478         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24479         (gst_plugin_feature_finalize):
24480         * gst/gstregistry.c: (gst_registry_class_init),
24481         (gst_registry_init), (gst_registry_finalize),
24482         (gst_registry_get_default), (gst_registry_deinit):
24483         * gst/gstregistry.h:
24484         * gst/gstregistryxml.c: (load_feature), (load_plugin):
24485           various cleanups and memleak plugging.  make valgrind is happy now.
24486
24487 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24488
24489         * common/check.mak:
24490           add a check-valgrind target
24491
24492 2005-09-18  David Schleef  <ds@schleef.org>
24493
24494         * tools/gst-inspect.c: Revert the GOption code.
24495
24496 2005-09-17  David Schleef  <ds@schleef.org>
24497
24498         * check/Makefile.am: Fix environment variables.
24499         * check/gst/gstplugin.c: Fix for API changes.
24500         * tools/gst-inspect.c: Fix for API changes.
24501         * tools/gst-xmlinspect.c: Fix for API changes.
24502         * gst/gstelementfactory.c:
24503         * gst/gstplugin.c:
24504         * gst/gstplugin.h:
24505         * gst/gstpluginfeature.c:
24506         * gst/gstpluginfeature.h:
24507         * gst/gstregistry.c:
24508         * gst/gstregistry.h:
24509         * gst/gstregistryxml.c:
24510         * gst/gsttypefind.c:
24511         * gst/gsttypefindfactory.c:
24512         * gst/indexers/gstfileindex.c:
24513         * gst/indexers/gstmemindex.c:
24514         * gst/schedulers/Makefile.am:
24515           Change registry to keep track of both plugins and features,
24516           removing the feature tracking from plugins themselves.
24517
24518 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
24519
24520         * check/Makefile.am:
24521         * tools/gst-register.1.in:
24522           remove gst-register
24523
24524 2005-09-15  David Schleef  <ds@schleef.org>
24525
24526         * check/gst/gstplugin.c:
24527         * gst/gstelementfactory.c:
24528         * gst/gstplugin.c:
24529         * gst/gstpluginfeature.c:
24530         * gst/gstregistry.c:
24531           Getting tired of debugging.  Disabled all the unreffing of
24532           plugins and features, which fixes the segfaults, but of
24533           course leaks like crazy.  At least playbin works.
24534
24535 2005-09-15  David Schleef  <ds@schleef.org>
24536
24537         * check/gst/gstplugin.c: (register_check_elements),
24538         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24539         More testing
24540         * gst/elements/gsttypefindelement.c: Fix refcounting.
24541         * gst/gsttypefind.c:
24542         * gst/gsttypefindfactory.c:
24543         * gst/gsttypefindfactory.h:
24544
24545 2005-09-15  David Schleef  <ds@schleef.org>
24546
24547         * gst/gstindex.c: get refcounting correct.
24548         * gst/gstregistry.c: Handle the case where a feature/plugin is
24549           not found.
24550
24551 2005-09-15  David Schleef  <ds@schleef.org>
24552
24553         * check/Makefile.am:
24554         * check/gst/gstplugin.c: Add test
24555         * gst/gstplugin.c: Fix problems noticed by testsuite
24556         * gst/gstplugin.h:
24557         * gst/gstregistry.c: 
24558         * gst/gstregistry.h:
24559
24560 2005-09-15  David Schleef  <ds@schleef.org>
24561
24562         * gst/gstplugin.c: Implement semi-decent recounting and locking
24563           in plugins and plugin features.
24564         * gst/gstplugin.h:
24565         * gst/gstpluginfeature.c:
24566         * gst/gstpluginfeature.h:
24567         * gst/gstregistry.c:
24568
24569 2005-09-15  Michael Smith <msmith@fluendo.com>
24570
24571         * gst/gstregistry.c: (gst_registry_get_feature_list):
24572           Implement this. Makes oggdemux work; decodebin still broken.
24573
24574 2005-09-14  David Schleef  <ds@schleef.org>
24575
24576         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24577           #316076)
24578         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24579         * gst/check/Makefile.am:
24580         * libs/gst/controller/Makefile.am:
24581         * libs/gst/dataprotocol/Makefile.am:
24582
24583 2005-09-14  David Schleef  <ds@schleef.org>
24584
24585         * configure.ac: Remove getbits library.  Nothing uses it, and
24586           it should be in something like liboil if someone did want
24587           to use it.
24588         * libs/gst/Makefile.am:
24589         * libs/gst/getbits/Makefile.am:
24590         * libs/gst/getbits/gbtest.c:
24591         * libs/gst/getbits/getbits.c:
24592         * libs/gst/getbits/getbits.h:
24593         * libs/gst/getbits/gstgetbits_generic.c:
24594         * libs/gst/getbits/gstgetbits_i386.s:
24595         * libs/gst/getbits/gstgetbits_inl.h:
24596
24597 2005-09-14  David Schleef  <ds@schleef.org>
24598
24599         * gst/Makefile.am: Dist glib-compat.h
24600
24601 2005-09-14  David Schleef  <ds@schleef.org>
24602
24603         * configure.ac: Remove gst/registries, since it's no longer used.
24604         * gst/registries/Makefile.am:
24605         * gst/registries/gstlibxmlregistry.c:
24606         * gst/registries/gstlibxmlregistry.h:
24607         * gst/registries/gstxmlregistry.c:
24608         * gst/registries/gstxmlregistry.h:
24609         * gst/registries/registrytest.c:
24610
24611 2005-09-14  David Schleef  <ds@schleef.org>
24612
24613         * gst/glib-compat.h:
24614         * gst/gstregistryxml.c:
24615           Convergence is near.  Seriously.
24616
24617 2005-09-14  David Schleef  <ds@schleef.org>
24618
24619         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24620         * gst/glib-compat.h:
24621           Attempt #4 to appease the buildbots.
24622
24623 2005-09-14  David Schleef  <ds@schleef.org>
24624
24625         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24626           Attempt #3.
24627
24628 2005-09-14  David Schleef  <ds@schleef.org>
24629
24630         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24631         Attempt #2.
24632
24633 2005-09-14  David Schleef  <ds@schleef.org>
24634
24635         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24636           the new functions.
24637
24638 2005-09-14  David Schleef  <ds@schleef.org>
24639
24640         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24641         * gst/glib-compat.h: Add some functions that are in newer versions
24642           of glib than we care to require.
24643         * gst/gstregistryxml.c: Use them.
24644
24645 2005-09-14  David Schleef  <ds@schleef.org>
24646
24647         * po/POTFILES.in: remove gst-register.c
24648
24649 2005-09-14  David Schleef  <ds@schleef.org>
24650
24651         * docs/gst/gstreamer-docs.sgml:
24652         * docs/gst/gstreamer-sections.txt:
24653         * docs/gst/gstreamer.types:
24654         * docs/gst/tmpl/gstelement.sgml:
24655         * docs/gst/tmpl/gstplugin.sgml:
24656         * docs/gst/tmpl/gstpluginfeature.sgml:
24657           Documentation updates for registry changes.
24658
24659 2005-09-14  David Schleef  <ds@schleef.org>
24660
24661         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
24662           because we don't require glib-2.8.
24663
24664 2005-09-14  David Schleef  <ds@schleef.org>
24665
24666         * gst/gstregistryxml.c: Added.  Essentially moved out of the
24667           registries directory.
24668
24669 2005-09-14  David Schleef  <ds@schleef.org>
24670
24671         * check/Makefile.am:
24672         * check/generic/states.c:
24673         * gst/Makefile.am:
24674         * gst/gst.c:
24675         * gst/gst.h:
24676         * gst/gst_private.h:
24677         * gst/gstelementfactory.c:
24678         * gst/gstindex.c:
24679         * gst/gstinfo.c:
24680         * gst/gstplugin.c:
24681         * gst/gstplugin.h:
24682         * gst/gstpluginfeature.c:
24683         * gst/gstpluginfeature.h:
24684         * gst/gstregistry.c:
24685         * gst/gstregistry.h:
24686         * gst/gstregistrypool.c: remove
24687         * gst/gstregistrypool.h: remove
24688         * gst/gsttypefind.c:
24689         * gst/gsttypefindfactory.c:
24690         * gst/gsturi.c:
24691         * tools/Makefile.am:
24692         * tools/gst-compprep.c:
24693         * tools/gst-inspect.c:
24694         * tools/gst-register.c: remove
24695         * tools/gst-xmlinspect.c:
24696           Registry rewrite.  Changes registry from being a file created
24697           by a tool into a simple cache file created automatically by 
24698           libgstreamer.  Removed gst-register (because it's no longer
24699           needed).  Remove registry pools, because we only have one
24700           registry implementation (XML).  Fix up other subsystems as
24701           necessary.
24702
24703 2005-09-13  Michael Smith <msmith@fluendo.com>
24704
24705         * gst/gstconfig.h.in:
24706           Don't Use windows linking attributes for MinGW. Fixes #316157
24707
24708 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24709
24710         * gst/gstutils.c: (set_state_async_thread_func),
24711         (gst_element_set_state_async):
24712           Apparently people think it's better if this function doesn't
24713           try to set the state to whatever state was asked for on the first
24714           call to this function for any object.  Seriously.
24715
24716 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24717
24718         * check/gst/gstpipeline.c: (GST_START_TEST):
24719         * docs/gst/gstreamer-sections.txt:
24720         * gst/gstutils.c: (set_state_async_thread_func),
24721         (gst_element_set_state_async):
24722         * gst/gstutils.h:
24723           add a "gst_element_set_state_async" method that
24724           sets the state and starts a thread to make sure the state
24725           change completes as best as it can
24726
24727 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24728
24729         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24730           codify design+behaviour in testsuite after discussion
24731
24732 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24733
24734         * docs/gst/tmpl/gstelement.sgml:
24735         * docs/manual/appendix-quotes.xml:
24736           add a quote
24737         * gst/gstelement.c: (gst_element_set_state):
24738           add some debug
24739
24740 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
24741
24742         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24743         (gst_base_transform_prepare_output_buf),
24744         (gst_base_transform_handle_buffer):
24745         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
24746         (gst_capsfilter_prepare_buf):
24747           Remove the requirement for sub-classes to call the parent
24748           implementation of prepare_output_buffer with a wrapper function.
24749           
24750         * gst/gsttaglist.h:
24751         * gst/gsttagsetter.h:
24752           Fix #define wrapper
24753
24754 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
24755
24756         * docs/gst/gstreamer-sections.txt:
24757           more doc cleanups
24758
24759 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24760
24761         * docs/gst/gstreamer-sections.txt:
24762         * docs/gst/tmpl/gstelement.sgml:
24763         * docs/gst/tmpl/gstplugin.sgml:
24764         * gst/gstminiobject.c:
24765         * gst/gstvalue.h:
24766           docs now stop throwing warnings
24767
24768 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24769
24770         * docs/gst/gstreamer-sections.txt:
24771         * docs/gst/gstreamer.types:
24772         * docs/gst/tmpl/gstpad.sgml:
24773         * docs/gst/tmpl/gsttypes.sgml:
24774         * gst/base/gstadapter.h:
24775         * gst/base/gstbasesink.h:
24776         * gst/base/gstbasesrc.h:
24777         * gst/gstbin.h:
24778         * gst/gstbuffer.h:
24779         * gst/gstbus.h:
24780         * gst/gstcaps.h:
24781         * gst/gstclock.h:
24782         * gst/gstelement.h:
24783         * gst/gstevent.h:
24784         * gst/gstmessage.h:
24785         * gst/gstpad.h:
24786         * gst/gststructure.c:
24787         * gst/registries/gstlibxmlregistry.h:
24788           various documentation fixes
24789
24790 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24791
24792         * docs/gst/gstreamer-sections.txt:
24793         * docs/gst/tmpl/gstvalue.sgml:
24794           rearrange gstvalue section
24795         * gst/gstutils.c: (gst_element_state_get_name):
24796           NONE -> VOID
24797         * gst/gstvalue.c: (_gst_value_initialize):
24798         * gst/gstvalue.h:
24799           doc updates
24800
24801 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
24802
24803         * check/gst-libs/controller.c:
24804           Header include fix.
24805         * gst/base/gstbasetransform.c:
24806         (gst_base_transform_default_prepare_buf),
24807         (gst_base_transform_handle_buffer):
24808         * gst/base/gstbasetransform.h:
24809           Some more basetransform changes and fixes to enable sub-classes
24810           that modify buffer metadata only.
24811         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24812         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
24813         (gst_capsfilter_prepare_buf):
24814           If the output pad has fixed allowed caps and input buffers 
24815           don't have any, set the fixed caps on outgoing buffers.
24816
24817 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
24818         * check/elements/identity.c: (GST_START_TEST):
24819           Make the error a little clearer when the test fails because
24820           identity made a copy of the buffer.
24821         * docs/gst/gstreamer-sections.txt:
24822           New symbols in gstbasetransform.h
24823         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24824         (gst_base_transform_init), (gst_base_transform_transform_size),
24825         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24826         (gst_base_transform_default_prepare_buf),
24827         (gst_base_transform_get_unit_size),
24828         (gst_base_transform_buffer_alloc),
24829         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
24830         (gst_base_transform_change_state),
24831         (gst_base_transform_set_passthrough),
24832         (gst_base_transform_set_in_place),
24833         (gst_base_transform_is_in_place):
24834         * gst/base/gstbasetransform.h:
24835           Change BaseTransform to separate in_place operate from same_caps
24836           output. in_place implies that the element can perform the transform
24837           on incoming buffers in-place, even if the caps on the output are
24838           different.
24839           Sub-class elements can now implement special buffer allocation
24840           methods for outgoing buffers if they wish to.
24841           Big documentation addition.
24842         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
24843         * gst/elements/gstelements.c:
24844           Changes for basetransform modifications.
24845         * gst/elements/Makefile.am:
24846         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
24847           Compile fix. Extra debug output.
24848
24849 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24850
24851         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
24852         (gst_pad_suite):
24853           add tests for valid pad naming
24854         * gst/check/gstcheck.c: (gst_check_log_message_func),
24855         (gst_check_log_critical_func):
24856           add ASSERT_WARNING
24857           remove printing of code, it is fragile when the code contains
24858           % and the line number is enough info
24859         * gst/check/gstcheck.h:
24860         * gst/gstpad.c: (gst_pad_template_new):
24861           fix memleaks
24862
24863 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24864
24865         * configure.ac:
24866           say what CHECK flags we use
24867         * docs/libs/gstreamer-libs.types:
24868         * libs/gst/controller/Makefile.am:
24869         * libs/gst/controller/gst-controller.c:
24870         * libs/gst/controller/gst-controller.h:
24871         * libs/gst/controller/gst-helper.c:
24872         * libs/gst/controller/gst-interpolation.c:
24873         * libs/gst/controller/gstcontroller.c:
24874         * libs/gst/controller/gsthelper.c:
24875         * libs/gst/controller/gstinterpolation.c:
24876         * tools/gst-inspect.c: (print_plugin_info):
24877           we don't use dashes in header names
24878
24879 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24880
24881         * check/Makefile.am:
24882         * check/gst/.cvsignore:
24883         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
24884         (gst_pipeline_suite), (main):
24885           adding a test for pipelines and state changes
24886         * gst/gstutils.c: (get_state_func):
24887           add some debugging
24888         * gstreamer.spec.in:
24889           fix up spec file
24890
24891 2005-09-08  Michael Smith <msmith@fluendo.com>
24892
24893         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
24894         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
24895         (gst_file_src_is_seekable), (gst_file_src_get_size),
24896         (gst_file_src_start):
24897         * gst/elements/gstfilesrc.h:
24898           Various fixes for unseekable, unmmapable, and non-normal files, so
24899           that fallback to read() rather than mmap() works.
24900         * gst/gstevent.c: (gst_event_new_newsegment):
24901           Allow newsegment events with segment_start == segment_end, as will
24902           correctly happen if you use filesrc on a zero-size file, for
24903           example.
24904
24905 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24906
24907         * gst/gstplugin.c: (gst_plugin_load_file):
24908           Call g_module_close when we don't load the module
24909
24910         * gst/registries/gstlibxmlregistry.c:
24911         (gst_xml_registry_get_property):
24912           Port leak fix from 0.8
24913
24914 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24915
24916         * docs/gst/gstreamer-docs.sgml:
24917         * docs/gst/tmpl/.cvsignore:
24918         * docs/gst/tmpl/gsttrace.sgml:
24919         * docs/gst/tmpl/gsttrashstack.sgml:
24920         * gst/Makefile.am:
24921         * gst/gst.h:
24922         * gst/gstelement.h:
24923         * gst/gstevent.h:
24924         * gst/gstmessage.c:
24925         * gst/gstmessage.h:
24926         * gst/gsttag.c:
24927         * gst/gsttag.h:
24928         * gst/gsttaginterface.c:
24929         * gst/gsttaginterface.h:
24930         * gst/gsttaglist.c:
24931         * gst/gsttaglist.h:
24932         * gst/gsttagsetter.c:
24933         * gst/gsttagsetter.h:
24934         * gst/gsttrace.c:
24935         * gst/gsttrace.h:
24936         * gst/gsttrashstack.c:
24937           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
24938           inlined docs for gsttrace, gsttrashstack
24939
24940 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24941
24942         * gst/Makefile.am:
24943         * gst/elements/gstbufferstore.h:
24944         * gst/elements/gsttypefindelement.c:
24945         * gst/elements/gsttypefindelement.h:
24946         * gst/gst.h:
24947         * gst/gsttypefind.c:
24948         * gst/gsttypefind.h:
24949         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
24950         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
24951         (gst_type_find_factory_dispose),
24952         (gst_type_find_factory_unload_thyself),
24953         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
24954         (gst_type_find_factory_get_caps),
24955         (gst_type_find_factory_get_extensions),
24956         (gst_type_find_factory_call_function):
24957         * gst/gsttypefindfactory.h:
24958         * gst/registries/gstlibxmlregistry.c:
24959         * gst/registries/gstxmlregistry.c:
24960           splitted gsttypefind into gsttypefind, gsttypefindfactory
24961
24962 2005-09-07  Andy Wingo  <wingo@pobox.com>
24963
24964         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
24965         condition whereby the pad's task function is entered before the
24966         pad_mode variable was set.
24967
24968 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24969
24970         * gst/gstpad.c: (gst_pad_alloc_buffer):
24971           Catch misbehaving pad_alloc functions that don't
24972           set up caps and do it for them.
24973
24974 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24975
24976         * check/pipelines/simple_launch_lines.c: (run_pipeline):
24977           test for pipe!=NULL
24978         * docs/gst/tmpl/.cvsignore:
24979         * docs/gst/tmpl/gstmemchunk.sgml:
24980         * docs/gst/tmpl/gstparse.sgml:
24981         * docs/gst/tmpl/gsttaglist.sgml:
24982         * docs/gst/tmpl/gsttagsetter.sgml:
24983         * docs/gst/tmpl/gsttypefind.sgml:
24984         * docs/gst/tmpl/gsttypefindfactory.sgml:
24985         * gst/gstmemchunk.c:
24986         * gst/gstparse.c:
24987         * gst/gsttag.c:
24988         * gst/gsttaginterface.c:
24989         * gst/gsttypefind.c:
24990         * gst/gsttypefind.h:
24991           inlined more docs
24992
24993 === release 0.9.2 ===
24994
24995 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24996
24997         * NEWS:
24998         * RELEASE:
24999         * configure.ac:
25000           releasing 0.9.2, "South"
25001
25002 2005-09-05  Andy Wingo  <wingo@pobox.com>
25003
25004         * gst/registries/gstxmlregistry.h:
25005         * gst/registries/gstxmlregistry.c: Um... resurrect...
25006         
25007         * gst/registries/gstxmlregistry.h:
25008         * gst/registries/gstxmlregistry.c: and update to newer API.
25009         Incidentally they should be a bit faster now that they don't have
25010         to parse the caps.
25011         
25012 2005-09-05  Andy Wingo  <wingo@pobox.com>
25013
25014         * gst/registries/gstxmlregistry.h:
25015         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25016         replaced by the libxml registry a while back
25017
25018 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25019
25020         * docs/gst/tmpl/gstplugin.sgml:
25021         * gst/elements/gstelements.c:
25022         * gst/gst.c:
25023         * gst/gstplugin.c: (gst_plugin_register_func),
25024         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25025         (gst_plugin_get_source):
25026         * gst/gstplugin.h:
25027         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25028         (gst_xml_registry_save_plugin):
25029         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25030         (gst_xml_registry_save_plugin):
25031         * tools/gst-inspect.c: (print_plugin_info):
25032           add a "source" plugin description field, to represent the source
25033           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25034           will set it to PACKAGE, which is automake's idea of the name of
25035           the source project.
25036
25037 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25038
25039         * Makefile.am:
25040         * autogen.sh:
25041         * configure.ac:
25042         * docs/Makefile.am:
25043         * docs/faq/Makefile.am:
25044         * docs/gst/tmpl/gstelement.sgml:
25045         * docs/gst/tmpl/gsttypes.sgml:
25046         * docs/htmlinstall.mak:
25047         * docs/manual/Makefile.am:
25048         * docs/pwg/Makefile.am:
25049           reorganize doc build a little
25050           split out docbook and gtk-doc stuff
25051           have two separate --enable's and enable them through autogen
25052           but disable by default in configure (to be similar to other
25053           projects)
25054         * gstreamer.spec.in:
25055           clean up docs install
25056         * po/af.po:
25057         * po/az.po:
25058         * po/ca.po:
25059         * po/cs.po:
25060         * po/de.po:
25061         * po/en_GB.po:
25062         * po/fr.po:
25063         * po/it.po:
25064         * po/nb.po:
25065         * po/nl.po:
25066         * po/ru.po:
25067         * po/sq.po:
25068         * po/sr.po:
25069         * po/sv.po:
25070         * po/tr.po:
25071         * po/uk.po:
25072         * po/vi.po:
25073           translation updates
25074
25075 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25076
25077         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25078           Add comment.
25079           
25080         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25081         (gst_fake_sink_change_state):
25082           Make state change function thread-safe.
25083           
25084         * gst/gstpad.c: (gst_pad_alloc_buffer):
25085           Set offset on generic buffer allocated by fallback.
25086
25087 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25088
25089         * docs/gst/gstreamer-sections.txt:
25090         * docs/gst/tmpl/gstelement.sgml:
25091         * gst/gstpad.c:
25092         * libs/gst/controller/gst-controller.c:
25093         (gst_controlled_property_set_interpolation_mode),
25094         (gst_controlled_property_new),
25095         (gst_controller_find_controlled_property):
25096          run the wingo-magic script against the docs
25097
25098 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25099
25100         * docs/gst/gstreamer-docs.sgml:
25101         * docs/gst/gstreamer-sections.txt:
25102         * docs/gst/tmpl/.cvsignore:
25103         * docs/gst/tmpl/gstelementdetails.sgml:
25104         * docs/gst/tmpl/gstelementfactory.sgml:
25105         * gst/gst.c:
25106         * gst/gstbus.c:
25107         * gst/gstelementfactory.c:
25108         * gst/gstelementfactory.h:
25109           merged elementdetails docs into elementfactory docs
25110           inlined both
25111
25112 2005-09-02  Andy Wingo  <wingo@pobox.com>
25113
25114         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25115         consider this enum an enum and not a flags.
25116
25117 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25118
25119         * docs/gst/gstreamer-docs.sgml:
25120         * docs/gst/tmpl/.cvsignore:
25121         * docs/gst/tmpl/gstghostpad.sgml:
25122         * docs/gst/tmpl/gstiterator.sgml:
25123         * docs/gst/tmpl/gstmacros.sgml:
25124         * docs/gst/tmpl/gstrealpad.sgml:
25125         * docs/gst/tmpl/gstregistry.sgml:
25126         * docs/gst/tmpl/gstregistrypool.sgml:
25127         * docs/gst/tmpl/gststructure.sgml:
25128         * docs/gst/tmpl/gstsystemclock.sgml:
25129         * docs/gst/tmpl/gsttrace.sgml:
25130         * gst/gstghostpad.c:
25131         * gst/gstmacros.h:
25132         * gst/gstmemchunk.c:
25133         * gst/gstmemchunk.h:
25134         * gst/gstqueue.c:
25135         * gst/gstregistry.c:
25136         * gst/gstregistrypool.c:
25137         * gst/gststructure.c:
25138         * gst/gstsystemclock.c:
25139           more docs inlined
25140
25141 2005-09-02  Andy Wingo  <wingo@pobox.com>
25142
25143         * gst/gstelement.h (GstState): Renamed from GstElementState,
25144         changed to be a normal enum instead of flags.
25145         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25146         munged to be GST_STATE_CHANGE_*.
25147         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25148         work with the new state representation.
25149         (GstStateChange): New enumeration of possible state transitions.
25150         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25151         (GstElementClass::change_state): Pass the GstStateChange along as
25152         an argument. Helps language bindings, so they don't have to use
25153         tricky lock-needing macros like GST_STATE_CHANGE ().
25154
25155         * scripts/update-states (file): New script. Run it on a file to
25156         update it for state naming and API changes. Updates files in
25157         place.
25158
25159         * All files updated for the new API.
25160
25161 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25162
25163         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25164         * gst/gstutils.c: (gst_util_set_value_from_string),
25165         (gst_util_set_object_arg):
25166           fix a bunch of unchecked return values
25167         * tools/gst-complete.c: (main):
25168         * gstreamer.spec.in:
25169           clean up a little
25170
25171 2005-09-01  Wim Taymans  <wim@fluendo.com>
25172
25173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25174         (gst_base_sink_event), (gst_base_sink_do_sync),
25175         (gst_base_sink_handle_event):
25176         * gst/base/gstbasesink.h:
25177         Handle newsegments more correctly.
25178
25179         * gst/gstbus.c:
25180         Fix docs.
25181
25182         * gst/gstevent.c: (gst_event_new_newsegment):
25183         A newsegment cannot have a start_time of -1
25184
25185 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25186
25187         * win32/gstenumtypes.c:
25188         * win32/gstenumtypes.h:
25189           Update
25190
25191 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25192
25193         * libs/gst/controller/gst-controller.c:
25194         (gst_controlled_property_set_interpolation_mode),
25195         (gst_controlled_property_new):
25196          fixed boolean again
25197
25198 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25199
25200         * docs/faq/gst-uninstalled:
25201           add -good
25202         * gst/gstevent.c:
25203         * gst/gstevent.h:
25204           remove wrong docs
25205         * gst/gstutils.c: (gst_element_link_filtered):
25206         * gst/gstutils.h:
25207           add gst_element_link_filtered
25208
25209 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25210
25211         * docs/gst/gstreamer-docs.sgml:
25212         * docs/gst/gstreamer-sections.txt:
25213         * docs/gst/tmpl/.cvsignore:
25214         * docs/gst/tmpl/gsterror.sgml:
25215         * docs/gst/tmpl/gstfilter.sgml:
25216         * docs/gst/tmpl/gsturihandler.sgml:
25217         * docs/gst/tmpl/gsturitype.sgml:
25218         * docs/gst/tmpl/gstutils.sgml:
25219         * docs/gst/tmpl/gstxml.sgml:
25220         * gst/gsterror.c:
25221         * gst/gsterror.h:
25222         * gst/gstfilter.c:
25223         * gst/gsturi.c:
25224         * gst/gsturitype.c:
25225         * gst/gstutils.c:
25226         * gst/gstxml.c:
25227           inlined more docs, fixed double id-ref
25228
25229 2005-08-31  Wim Taymans  <wim@fluendo.com>
25230
25231         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25232         (gst_base_transform_handle_buffer):
25233         Passthrough elements don't need the caps as they don't care.
25234
25235 2005-08-31  Wim Taymans  <wim@fluendo.com>
25236
25237         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25238         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25239         Don't leak refcounts on buffers.
25240
25241 2005-08-31  Wim Taymans  <wim@fluendo.com>
25242
25243         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25244         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25245         (gst_base_transform_chain), (gst_base_transform_change_state):
25246         * gst/base/gstbasetransform.h:
25247         Handle the case where we are not negotiated more gracefully.
25248
25249 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25250
25251         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25252         (gst_file_src_map_region):
25253           Set READONLY flag on mmap'ed buffers, otherwise
25254           gst_buffer_make_writable() won't work properly (#314708).
25255
25256 2005-08-31  Wim Taymans  <wim@fluendo.com>
25257
25258         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25259         passthrough elements can even do inplace on non writable
25260         buffers (as they don't touch them).
25261
25262 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25263
25264         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25265         (gst_test_mono_source_set_property),
25266         (gst_test_mono_source_class_init), (GST_START_TEST),
25267         (gst_controller_suite):
25268           more tests (hehe I have the most)
25269         * gst/gstbus.c:
25270           describe popping messages whenusing mulltiple sources
25271         * libs/gst/controller/gst-controller.c:
25272         (gst_controlled_property_set_interpolation_mode),
25273         (gst_controlled_property_new):
25274         * libs/gst/controller/gst-controller.h:
25275         * libs/gst/controller/gst-interpolation.c:
25276           implement boolean properties
25277
25278 2005-08-31  Wim Taymans  <wim@fluendo.com>
25279
25280         * gst/gstminiobject.c: (gst_mini_object_ref):
25281         Cannot assert that the refcount has to be positive
25282         since a disposed object can be resurrected.
25283
25284 2005-08-31  Wim Taymans  <wim@fluendo.com>
25285
25286         * gst/gstpad.c: (gst_pad_init):
25287         Revert change, need to first fix badly behaving 
25288         apps.
25289
25290 2005-08-30  Wim Taymans  <wim@fluendo.com>
25291
25292         * check/elements/fakesrc.c: (setup_fakesrc):
25293         * check/elements/identity.c: (setup_identity):
25294         Activate pads before using them.
25295
25296 2005-08-30  Wim Taymans  <wim@fluendo.com>
25297
25298         * gst/base/gstadapter.c: (gst_adapter_flush):
25299         Flushing out 0 bytes is ok for this function.
25300
25301         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25302         no newsegment gives a warning and sets the start/stop to 
25303         invalid.
25304
25305         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25306         (gst_base_transform_set_passthrough):
25307         Some debug info.
25308
25309         * gst/gstminiobject.c: (gst_mini_object_ref):
25310         Check refcount here too.
25311
25312         * gst/gstpad.c: (gst_pad_init):
25313         Pads are initially flushing and refusing data.
25314
25315         * gst/gstutils.c: (gst_element_link_pads_filtered):
25316         When adding a capsfilter element make sure it has the
25317         same state as the parent bin.
25318
25319 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25320
25321         * docs/gst/tmpl/.cvsignore:
25322         * docs/gst/tmpl/gstformat.sgml:
25323         * docs/gst/tmpl/gstversion.sgml:
25324         * gst/gstbus.h:
25325         * gst/gstformat.c:
25326         * gst/gstformat.h:
25327         * gst/gstversion.h.in:
25328           more docs and two more inlined
25329
25330 2005-08-30  Wim Taymans  <wim@fluendo.com>
25331
25332         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25333         Don't sync to clock.
25334
25335 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25336
25337         * docs/gst/gstreamer-sections.txt:
25338           ultral33t func10ns deserve to appear in the docs actually
25339         * docs/gst/tmpl/.cvsignore:
25340         * docs/gst/tmpl/gstcompat.sgml:
25341         * docs/gst/tmpl/gstconfig.sgml:
25342         * gst/check/gstcheck.c:
25343         * gst/gstcompat.h:
25344         * gst/gstconfig.h.in:
25345           inlined more docs
25346
25347 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25348
25349         * docs/gst/tmpl/.cvsignore:
25350         * docs/gst/tmpl/gstquery.sgml:
25351         * docs/gst/tmpl/gstutils.sgml:
25352         * gst/gstquery.c:
25353         * gst/gstquery.h:
25354           inlined and extended docs
25355
25356 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25357
25358         * check/gst-libs/controller.c: (GST_START_TEST),
25359         (gst_controller_suite):
25360           more tests
25361         * docs/gst/tmpl/gstutils.sgml:
25362         * docs/libs/gstreamer-libs-sections.txt:
25363         * docs/libs/tmpl/gstdataprotocol.sgml:
25364           include path fixes
25365         * examples/controller/audio-example.c: (main):
25366           controller example works now
25367         * gst/gstclock.h:
25368           doc fixes
25369         * tools/gst-inspect.c: (print_element_properties_info):
25370           show param spec flags
25371
25372 2005-08-29  Andy Wingo  <wingo@pobox.com>
25373
25374         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25375
25376 2005-08-28  Andy Wingo  <wingo@pobox.com>
25377
25378         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25379         as having two arguments instead of just one. Allows superclasses
25380         to access information on subclasses -- see the terrible for() loop
25381         in gtype.c:g_type_create_instance for the reason why. All callers
25382         changed.
25383
25384 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25385
25386         * docs/design/part-messages.txt:
25387           update info
25388         * docs/gst/tmpl/.cvsignore:
25389         * docs/gst/tmpl/gstcaps.sgml:
25390         * docs/gst/tmpl/gstclock.sgml:
25391         * gst/gstbus.c:
25392         * gst/gstcaps.c:
25393         * gst/gstcaps.h:
25394         * gst/gstclock.c:
25395         * gst/gstclock.h:
25396         * gst/gstmessage.c:
25397           added descriptions for bus and message
25398           inline caps and clock docs
25399
25400 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25401
25402         * gst/gstmessage.c:
25403         * gst/gstmessage.h:
25404           doc fixes
25405
25406 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25407
25408         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25409           fix div-by-zero
25410
25411 2005-08-26  Andy Wingo  <wingo@pobox.com>
25412
25413         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25414         element_set_state's return val.
25415         (test_2_elements): Add test that's been disabled for months.
25416
25417         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25418         can-activate-pull properties.
25419
25420         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25421         can-activate-pull properties. Implement is_seekable so fakesrc can
25422         operate in pull mode.
25423
25424         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25425         properties.
25426         (gst_base_sink_activate, gst_base_sink_activate_pull)
25427         (gst_base_sink_activate_push): Make activation mode choosing work.
25428         Cleanups.
25429         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25430         is right. Make pull mode work. Post an eos before pausing in pull
25431         mode.
25432         (gst_base_sink_change_state): Pay attention to the core's
25433         change_state() return val.
25434         
25435         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25436         has-getrange properties. Cleanups.
25437         
25438         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25439         has_getrange and replace with can_activate_pull and
25440         can_activate_push.
25441
25442         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25443         locking comments. Remove has_loop, has_chain and replace with
25444         can_activate_pull and can_activate_push.
25445
25446 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
25447
25448         * configure.ac:
25449         * examples/Makefile.am:
25450         * examples/metadata/Makefile.am:
25451         * examples/metadata/read-metadata.c: (message_loop),
25452         (have_pad_handler), (make_pipeline), (print_tag), (main):
25453           Add metadata reading example that loops over a list of filenames,
25454           dumping any tags found.
25455
25456         * gst/gstbus.c: (gst_bus_dispose):
25457         * gst/gstelement.c: (gst_element_dispose):
25458           Release a few potentially-held references in dispose.
25459
25460 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25461
25462         * docs/gst/tmpl/gstminiobject.sgml:
25463           do *not* add tmpl/*.sgml files to CVS!
25464
25465 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25466
25467         * libs/gst/bytestream/.cvsignore:
25468         * libs/gst/bytestream/Makefile.am:
25469         * libs/gst/bytestream/adapter.c:
25470         * libs/gst/bytestream/adapter.h:
25471         * libs/gst/bytestream/bytestream.c:
25472         * libs/gst/bytestream/bytestream.h:
25473         * libs/gst/bytestream/filepad.c:
25474         * libs/gst/bytestream/filepad.h:
25475           removing obsolete files
25476
25477 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25478
25479         * docs/gst/gstreamer-docs.sgml:
25480         * docs/libs/gstreamer-libs-docs.sgml:
25481           disabed additional index entries again, as this makes docs-gen just
25482           slow and they aren't useful yet
25483         * docs/libs/gstreamer-libs-sections.txt:
25484           little -section.txt cleanup for libs
25485
25486 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
25487
25488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25489         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25490           fix up some debugging
25491         (gst_base_transform_get_unit_size),
25492         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25493         (gst_base_transform_handle_buffer):
25494         * gst/base/gstbasetransform.h:
25495           handle and store timed NEWSEGMENT events so that subclasses that
25496           calculate time by counting samples have a segment_start time they
25497           need to add to their timestamps - see audioresample
25498
25499 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25500
25501         * gst/gstbin.h:
25502           removed ';' from the end of macro defs
25503         * docs/gst/gstreamer-docs.sgml:
25504         * docs/gst/gstreamer-sections.txt:
25505         * docs/gst/tmpl/.cvsignore:
25506         * gst/gstbus.h:
25507         * gst/gstelement.c: (gst_element_class_init),
25508         (gst_element_set_state), (activate_pads),
25509         (gst_element_save_thyself):
25510         * gst/gstevent.c: (gst_event_new_newsegment):
25511         * gst/gstevent.h:
25512         * gst/gstiterator.c:
25513         * gst/gstiterator.h:
25514         * gst/gstpad.c:
25515         * gst/gstprobe.h:
25516         * gst/gstutils.c: (gst_pad_query_convert):
25517         * gst/gstutils.h:
25518           fixed parameter name mismatches between source, header and docs
25519           added some more docs, resolved the last batch of unused elements in
25520           docs (now someone needs to doc them)
25521
25522 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25523
25524         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25525         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25526           don't walk through the plugins backwards.  Where is all this
25527           reversed logic coming from ?
25528
25529 2005-08-25  Wim Taymans  <wim@fluendo.com>
25530
25531         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25532         (gst_base_transform_transform_size),
25533         (gst_base_transform_configure_caps),
25534         (gst_base_transform_get_unit_size),
25535         (gst_base_transform_buffer_alloc),
25536         (gst_base_transform_change_state):
25537         * gst/base/gstbasetransform.h:
25538         Cache caps unit_size.
25539         Make sure we cannot negotiate up and downstream at the
25540         same time.
25541
25542 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25543
25544         * gst/gst.c: (init_pre), (init_post):
25545           register the installed plugin path after the env var
25546         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25547         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25548           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25549           directories, so the tests can prefer uninstalled over installed
25550
25551 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25552
25553         * gst/base/gstbasetransform.h:
25554           comment
25555         * gst/gstpad.c:
25556           add to docs
25557
25558 2005-08-25  Wim Taymans  <wim@fluendo.com>
25559
25560         * gst/gstbin.c: (bin_bus_handler):
25561         Be a bit more conservative about the posted message.
25562         
25563         * gst/gstbus.c: (gst_bus_post):
25564         Some cleanups, warn wrong return values.
25565
25566 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
25567
25568         * check/gst/gstbin.c: (GST_START_TEST):
25569         * gst/gstbin.c: (bin_bus_handler):
25570         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25571         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25572         (gst_message_new_warning), (gst_message_new_tag),
25573         (gst_message_new_state_changed), (gst_message_new_segment_start),
25574         (gst_message_new_segment_done), (gst_message_new_custom):
25575         * gst/gstmessage.h:
25576         * tools/gst-launch.c: (event_loop):
25577         * tools/gst-md5sum.c: (event_loop):
25578           Revert unpopular change for GST_MESSAGE_SRC to GObject.
25579
25580 2005-08-25  Wim Taymans  <wim@fluendo.com>
25581
25582         * check/generic/states.c: (GST_START_TEST):
25583         Cleanup can be done at the end.
25584
25585         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25586         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25587         (gst_task_get_state), (gst_task_start), (gst_task_pause):
25588         Oh boy.. Thanks for finding this, Thomas. 
25589
25590 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25591
25592         * docs/gst/gstreamer.types:
25593           added missing types
25594
25595 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25596
25597         * docs/gst/gstreamer-docs.sgml:
25598         * docs/gst/gstreamer-sections.txt:
25599         * docs/gst/tmpl/.cvsignore:
25600         * gst/gstbin.c:
25601         * gst/gstiterator.c:
25602         * gst/gstutils.c:
25603         * gst/registries/gstxmlregistry.h:
25604           added missing classes and symbols (123 more to go)
25605           removed removed symbols from section file
25606           fixed many doc-comments
25607
25608 2005-08-24  Wim Taymans  <wim@fluendo.com>
25609
25610         * check/generic/states.c: (GST_START_TEST):
25611         Make sure all tasks are stopped.
25612
25613         * check/gst/gstbin.c: (GST_START_TEST):
25614         Unref after usage for proper valgrinding.
25615
25616         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25617         Really wait for the task to stop before destroying the
25618         mutex.
25619
25620         * gst/gstqueue.c: (gst_queue_sink_activate_push),
25621         (gst_queue_src_activate_push):
25622         Small cleanups. Don't stop the task when we did not start
25623         it.
25624
25625         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25626         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25627         (gst_task_get_state), (gst_task_start), (gst_task_pause),
25628         (gst_task_join):
25629         * gst/gsttask.h:
25630         Protect the stream lock with the object lock.
25631         Disallow setting the stream lock when running.
25632         Add cleanup_all to wait for the threadpool to finish.
25633         Remove code to autoallocate a mutex if none was provided.
25634         Add _join() to wait for a task to stop.
25635         Protect the thread pool with a global lock.
25636
25637 2005-08-24  Wim Taymans  <wim@fluendo.com>
25638
25639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25640         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25641         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
25642         * gst/base/gstbasesink.h:
25643         Handle newsegment events correctly.
25644         Drop buffers out of the segment range.
25645
25646 2005-08-22  Andy Wingo  <wingo@pobox.com>
25647
25648         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
25649         macro, implements an interface and gstimplementsinterface for a
25650         new type.
25651
25652 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25653
25654         * check/Makefile.am:
25655         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
25656           add a test that does a bunch of state changes on elements
25657           needs some fixing for valgrind
25658         * check/states/sinks.c: (gst_object_suite):
25659           whitespace
25660         * gst/gstcaps.h:
25661           add prototype for gst_caps_is_equal_fixed
25662         * gst/gstplugin.c:
25663         * gst/gstregistrypool.c:
25664           doc fixes
25665
25666 2005-08-24  Andy Wingo  <wingo@pobox.com>
25667
25668         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
25669         convert a negative value. Doesn't make much sense. Mostly this is
25670         here to force callers to ensure -1 maps to -1.
25671
25672 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
25673
25674         * docs/pwg/advanced-types.xml:
25675           Well done to Michael for catching my deliberate introduction
25676           of this spelling mistake. 
25677         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
25678         * gst/gstelement.h:
25679           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
25680           unlink pads before removing the element from the bin.
25681
25682 2005-08-24  Andy Wingo  <wingo@pobox.com>
25683
25684         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
25685         the same thing as GST_DEBUG=*:4.
25686         (parse_debug_level, parse_debug_category): New helper parsers.
25687
25688 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25689
25690         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25691         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
25692         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
25693         (gst_base_transform_buffer_alloc),
25694         (gst_base_transform_handle_buffer):
25695           use gboolean return values and pointers to size so we can use the
25696           full GST_BUFFER_SIZE range (guint) for buffer sizes
25697           use GstPadDirection for transform_caps
25698         * gst/base/gstbasetransform.h:
25699           rename get_size to get_unit_size since that's what it is
25700         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
25701           use GstPadDirection for transform_caps
25702         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25703         * gst/gstutils.h:
25704           cleanup and debugging
25705
25706 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25707
25708         * gst/gstelement.c: (gst_element_class_init),
25709         (gst_element_set_state), (activate_pads),
25710         (gst_element_save_thyself):
25711         * tools/gst-compprep.c: (main):
25712         * tools/gst-inspect.c: (print_element_properties_info):
25713         * tools/gst-xmlinspect.c: (print_element_properties):
25714           Fixed long standing mem-leak
25715
25716 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
25717
25718         * check/gst/gstbin.c: (GST_START_TEST):
25719         * gst/gstbin.c: (bin_bus_handler):
25720         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25721         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25722         (gst_message_new_warning), (gst_message_new_tag),
25723         (gst_message_new_state_changed), (gst_message_new_segment_start),
25724         (gst_message_new_segment_done), (gst_message_new_custom):
25725         * gst/gstmessage.h:
25726         * tools/gst-launch.c: (event_loop):
25727         * tools/gst-md5sum.c: (event_loop):
25728           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
25729           that applications can sensibly post custom messages with references
25730           to their own objects.
25731
25732 2005-08-24  Andy Wingo  <wingo@pobox.com>
25733
25734         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
25735         already.
25736
25737 2005-08-24  Wim Taymans  <wim@fluendo.com>
25738
25739         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25740         (gst_base_transform_transform_caps),
25741         (gst_base_transform_transform_size),
25742         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25743         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25744         (gst_base_transform_handle_buffer):
25745         * gst/base/gstbasetransform.h:
25746         Many fixes and new features added by Thomas. Can now also do
25747         transforms with variable sizes and a custom fixate_caps function.
25748
25749 2005-08-24  Wim Taymans  <wim@fluendo.com>
25750
25751         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25752         Some debugging.
25753
25754         * gst/gstclock.h:
25755         Cast to ClockTime before formatting to time.
25756
25757         * gst/gstutils.h:
25758         Cleanups.
25759
25760 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25761
25762         * check/gst-libs/controller.c: (GST_START_TEST),
25763         (gst_controller_suite):
25764         * docs/gst/tmpl/gstcaps.sgml:
25765         * docs/gst/tmpl/gstghostpad.sgml:
25766         * docs/gst/tmpl/gstquery.sgml:
25767         * docs/gst/tmpl/gstutils.sgml:
25768         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
25769         (gst_object_sink_values), (gst_object_get_value_arrays),
25770         (gst_object_get_value_array):
25771           gracefully handle helper method calls to objects that are not beeing
25772           controlled, added test case for that          
25773
25774 2005-08-23  Wim Taymans  <wim@fluendo.com>
25775
25776         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
25777         (gst_event_new_newsegment), (gst_event_parse_newsegment),
25778         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
25779         (gst_event_parse_qos), (gst_event_new_seek),
25780         (gst_event_parse_seek):
25781         * gst/gstevent.h:
25782         Some more debugging output and doc cleanups.
25783
25784         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25785         Fix possible deadlock.
25786
25787 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25788
25789         * docs/gst/gstreamer-docs.sgml:
25790         * docs/gst/gstreamer-sections.txt:
25791         * docs/gst/gstreamer.types:
25792         * docs/gst/tmpl/.cvsignore:
25793         * gst/gstbin.h:
25794         * gst/gstbus.c:
25795         * gst/gstelement.c:
25796         * gst/gstevent.h:
25797           added 100 symbols from gstreamer-unused.txt to the right sections
25798           fixed more broken comments
25799           added GstBus to docs
25800
25801 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25802
25803         * docs/gst/gstreamer-sections.txt:
25804         * docs/gst/tmpl/.cvsignore:
25805         * docs/gst/tmpl/gstbin.sgml:
25806         * docs/gst/tmpl/gstbuffer.sgml:
25807         * gst/base/gstbasesrc.c:
25808         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
25809         * gst/gstbuffer.c:
25810         * gst/gstbuffer.h:
25811         * tools/gst-launch.1.in:
25812           inlined more doc comments, added missing comments and fixed comments
25813           fixed typos
25814
25815 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25816
25817         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25818           some debugging
25819         * gst/gstcaps.h:
25820           whitespace fixes
25821         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
25822           more debugging
25823         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
25824         * gst/gststructure.h:
25825           add a fixate function for booleans; add a FIXME that these func
25826           names should probably be gst_structure_fixate_*
25827
25828 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25829
25830         * docs/gst/gstreamer-docs.sgml:
25831         * docs/gst/gstreamer-sections.txt:
25832         * gst/Makefile.am:
25833         * gst/gstbin.c: (gst_bin_get_type),
25834         (gst_bin_child_proxy_get_child_by_index),
25835         (gst_bin_child_proxy_get_children_count),
25836         (gst_bin_child_proxy_init):
25837         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
25838         (gst_child_proxy_get_child_by_index),
25839         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
25840         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
25841         (gst_child_proxy_get), (gst_child_proxy_set_property),
25842         (gst_child_proxy_set_valist), (gst_child_proxy_set),
25843         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
25844         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
25845         * gst/gstchildproxy.h:
25846         * gst/parse/grammar.y:
25847         * tools/gst-inspect.c: (print_interfaces),
25848         (print_element_properties_info), (print_element_info):
25849           ported gstchildproxy over from 0.8
25850           ported gst-inspect fixes and enhancements over from 0.8
25851
25852 2005-08-22  Wim Taymans  <wim@fluendo.com>
25853
25854         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25855         (gst_base_transform_handle_buffer):
25856         Also call the transform function if we have ANY caps.
25857
25858         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
25859         Fix debug info.
25860
25861 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25862
25863         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
25864           Don't pretend to handle seek events if the source is not seekable
25865
25866 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25867
25868         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25869           Remove extra parameter to debug output
25870
25871         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25872         (gst_base_src_do_seek), (gst_base_src_activate_push):
25873           Fix seek event handling.
25874
25875         * gst/gstpipeline.c: (gst_pipeline_change_state):
25876         * gst/gstqueue.c: (gst_queue_handle_sink_event),
25877         (gst_queue_src_activate_push):
25878           Don't start the src pad task on FLUSH_STOP if the pad
25879           isn't linked.
25880           Debug changes.
25881
25882 2005-08-22  Wim Taymans  <wim@fluendo.com>
25883
25884         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
25885         Added check for gst_static_caps_get() refcounting.
25886
25887 2005-08-22  Wim Taymans  <wim@fluendo.com>
25888
25889         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
25890         Make _static_caps_get() refcounting sane.
25891         
25892         * gst/gstelement.c: (gst_element_set_state):
25893         Add g_return_val_if_fail() to protect against segfaults.
25894
25895 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
25896
25897         * docs/gst/tmpl/gstevent.sgml:
25898         * gst/gstevent.c:
25899         * gst/gstevent.h:
25900           inlined remaining docs, added missing doc comments
25901
25902 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25903
25904         * check/gst/gstbin.c: (GST_START_TEST):
25905           since we don't know when preroll is done, use refcount range
25906           check for the sink
25907         * gst/check/gstcheck.h:
25908           add macro for checking refcount range
25909
25910 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25911
25912         * check/Makefile.am:
25913           clean up environment for when registry gets built versus
25914           when actual tests are run; valgrind seems to not report
25915           leaks if GST_PLUGIN_PATH is set to some specific values
25916         * check/gst/gstbin.c: (GST_START_TEST):
25917           add more refcounting checks; maybe this exposes a
25918           preroll lock bug ?
25919         * common/check.mak:
25920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25921         * gst/check/gstcheck.h:
25922         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
25923         (gst_bin_change_state):
25924         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
25925           add/fix debugging/whitespace
25926
25927 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25928
25929         * check/gst/gstevent.c: (event_probe), (test_event),
25930         (GST_START_TEST):
25931          Er, don't call gst_bin_watch_for_state_change you idiot.
25932
25933 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25934
25935         * check/Makefile.am:
25936           Use CHECK_CFLAGS and CHECK_LIBS
25937         * check/gst/gstevent.c: (event_probe), (test_event),
25938         (GST_START_TEST):
25939           Don't leak events.
25940         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25941         (gst_base_src_start), (gst_base_src_stop),
25942         (gst_base_src_activate_push), (gst_base_src_activate_pull),
25943         (gst_base_src_change_state):
25944           Sprinkle gst_base_src_stop liberally around error paths to fix
25945           problems reusing a source after failed state changes.
25946         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25947         (helper_find_suggest), (gst_type_find_helper):
25948           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
25949         * gst/gstevent.h:
25950         * docs/gst/tmpl/gstevent.sgml:
25951           Migrate part of the docs from the SGML file. Wait for ensonic to
25952           tell me how I did it wrong ;)
25953         * tools/gst-typefind.c: (main):
25954           Extra robustness to state changes between files.
25955
25956 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25957
25958         * check/Makefile.am:
25959           don't valgrind the controller test - it's leaking - Stefan, HELP
25960         * gst/check/gstcheck.c: (gst_check_message_error),
25961         (gst_check_chain_func), (gst_check_setup_element),
25962         (gst_check_teardown_element), (gst_check_setup_src_pad),
25963         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
25964         (gst_check_teardown_sink_pad):
25965         * gst/check/gstcheck.h:
25966           add a bunch of methods to set up elements, and src and sink pads
25967         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
25968         * check/elements/identity.c: (setup_identity), (cleanup_identity),
25969         (GST_START_TEST):
25970           use them
25971         * gst/gstmessage.c:
25972         * gst/gsttag.h:
25973           whitespace/doc fixes
25974
25975 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25976
25977         * gst/gstelement.h:
25978           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
25979           be handled by the application and not always printed as well
25980
25981 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25982
25983         * check/Makefile.am:
25984           set GST_TOOLS_DIR
25985         * gst/check/gstcheck.c: (gst_check_message_error):
25986         * gst/check/gstcheck.h:
25987           add a fail_unless_equals_int
25988           add fail_unless for error messages
25989
25990 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25991
25992         * check/Makefile.am:
25993         * check/gst.supp:
25994         * common/Makefile.am:
25995         * common/check.mak:
25996         * common/gst.supp:
25997           factor out some of the common stuff so we can use it
25998
25999 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26000
26001         * check/Makefile.am:
26002         * check/gst/gstiterator.c: (GST_START_TEST):
26003         * check/gst/gstsystemclock.c: (GST_START_TEST),
26004         (gst_systemclock_suite):
26005         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26006         * gst/gstclock.c:
26007           valgrind more tests
26008
26009 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26010
26011         * check/elements/.cvsignore:
26012         * check/elements/gstfakesrc.c:
26013           rename to name of element
26014         * check/elements/identity.c: (chain_func), (event_func),
26015         (setup_identity), (cleanup_identity), (GST_START_TEST),
26016         (identity_suite), (main):
26017           add a test for identity
26018         * check/Makefile.am:
26019         * pkgconfig/Makefile.am:
26020         * pkgconfig/gstreamer-check.pc.in:
26021         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26022         * gst/check:
26023         * gst/Makefile.am:
26024         * configure.ac:
26025           move the check stuff to a library that gets installed
26026         * check/gst-libs/controller.c: (GST_START_TEST):
26027         * check/gst-libs/gdp.c:
26028         * check/gst/gst.c: (GST_START_TEST):
26029         * check/gst/gstbin.c:
26030         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26031         * check/gst/gstbus.c:
26032         * check/gst/gstcaps.c: (GST_START_TEST):
26033         * check/gst/gstelement.c:
26034         * check/gst/gstghostpad.c:
26035         * check/gst/gstiterator.c:
26036         * check/gst/gstmessage.c:
26037         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26038         * check/gst/gstobject.c:
26039         * check/gst/gstpad.c: (GST_START_TEST):
26040         * check/gst/gststructure.c: (GST_START_TEST):
26041         * check/gst/gstsystemclock.c: (GST_START_TEST),
26042         (gst_systemclock_suite):
26043         * check/gst/gsttag.c: (gst_tag_suite):
26044         * check/gst/gstvalue.c:
26045         * check/pipelines/cleanup.c:
26046         * check/pipelines/simple_launch_lines.c:
26047         * check/states/sinks.c:
26048           change include statement
26049
26050         * docs/gst/gstreamer-sections.txt:
26051         * docs/gst/tmpl/gstpad.sgml:
26052           document more pad stuff
26053         * gst/gstminiobject.c: (gst_mini_object_ref),
26054         (gst_mini_object_unref):
26055           debug refcounting
26056
26057 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26058
26059         * docs/gst/tmpl/gst.sgml:
26060         * gst/gst.c:
26061           eliminate another tmpl file, fix spelling in the long-description
26062
26063 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26064
26065         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26066         (test_event), (timediff), (gstevents_suite):
26067           Should fix build on 64-bit arch's
26068
26069 2005-08-18  Andy Wingo  <wingo@pobox.com>
26070
26071         Make sure that when a pipeline goes to PLAYING, that data has
26072         actually hit the sink.
26073
26074         * check/states/sinks.c (test_sink): A sink that doesn't get any
26075         data shouldn't return SUCCESS for going to either PLAYING or
26076         PAUSED. Test also the return values on the way back down.
26077
26078         * gst/gstelement.c (gst_element_set_state): When changing the
26079         state of an element currently changing state asynchronously, go to
26080         lost-state after commiting the pending state. Makes future calls
26081         to get_state continue to return ASYNC.
26082
26083         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26084         ASYNC when going to PLAYING if we still don't have preroll, as can
26085         happen with live sources.
26086
26087 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26088
26089         * docs/pwg/advanced-types.xml:
26090           Hack long paragraph into 2 chunks as a workaround for buggy
26091           jadetex version in sid and breezy that loops infinitely and
26092           eats all RAM.
26093
26094 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26095
26096         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26097         (test_event), (timediff), (gstevents_suite):
26098           Provide more error margin in clock measurements to allow for 
26099           g_get_current_time inaccuracies.
26100
26101 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26102
26103         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26104         (test_event), (timediff), (gstevents_suite):
26105            Fix error message output so I might be able to tell why the
26106            test works here but fails on the build farm.
26107
26108 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26109
26110         * check/Makefile.am:
26111         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26112         (test_event), (timediff), (gstevents_suite), (main):
26113           I wrote a test!
26114
26115         * docs/design/part-seeking.txt:
26116           Spelling correction
26117
26118         * docs/gst/tmpl/gstevent.sgml:
26119         * docs/gst/tmpl/gstfakesrc.sgml:
26120           Docs updates.
26121
26122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26123           Treat a buffer-without-newsegment the same as a receiving 
26124           a newsegment not in time format, and disable syncing to the clock
26125           with a warning.
26126
26127         * gst/gstbus.c: (gst_bus_set_sync_handler):
26128           Assert if anyone tries to replace the existing sync_handler for bus, 
26129           as only the owner should be setting it.
26130
26131         * gst/gstevent.h:
26132           Have a fixed set of custom event enums with events identified by
26133           their structure name (as in 0.8), rather than a free-for-all
26134           allowing collisions between enum values from different plugins.
26135
26136         * gst/gstpad.c: (gst_pad_class_init):
26137           Docs change.
26138           
26139         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26140           Handle out-of-band downstream events from the sending thread.
26141
26142 2005-08-17  Andy Wingo  <wingo@pobox.com>
26143
26144         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26145         play-timeout==0 to mean no timeout at all. In that case, don't
26146         bother with a get_state or a warning, just return directly, even
26147         if it's ASYNC.
26148
26149         * gst/base/gstbasetransform.c: Debug changes.
26150
26151         * gst/gstutils.h:
26152         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26153         ensure bins post state change messages. A bit of a hack but I can't
26154         think of a way to avoid it.
26155
26156         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26157
26158 2005-08-16  Andy Wingo  <wingo@pobox.com>
26159
26160         * gst/base/gstadapter.h:
26161         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26162         peek() but you own the data. Not terribly efficient atm.
26163
26164 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26165
26166         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26167         (gst_element_found_tags):
26168         * gst/gstutils.h:
26169           Add two utility functions for tag handling.
26170
26171 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26172
26173         * docs/manual/advanced-dataaccess.xml:
26174         * docs/manual/basics-helloworld.xml:
26175           Fix docs to use _bin_add() before _link(), which fixes the examples
26176           with recent core versions (reported by Madhan Raj M
26177           <raj_madan@rediffmail.com>, #313199).
26178
26179 2005-08-16  Wim Taymans  <wim@fluendo.com>
26180
26181         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26182         Added subtract checks.
26183
26184         * docs/design/part-events.txt:
26185         Some more docs about newsegment
26186
26187         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26188         Fix FIXME
26189
26190         * gst/gstcaps.c: (gst_caps_to_string):
26191         Add comments, cleanups.
26192         
26193         * gst/gstelement.c: (gst_element_save_thyself):
26194         cleanups
26195         
26196         * gst/gstvalue.c: (gst_value_collect_int_range),
26197         (gst_string_unwrap), (gst_value_union_int_int_range),
26198         (gst_value_union_int_range_int_range),
26199         (gst_value_intersect_int_int_range),
26200         (gst_value_intersect_int_range_int_range),
26201         (gst_value_intersect_double_double_range),
26202         (gst_value_intersect_double_range_double_range),
26203         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26204         (gst_value_subtract_int_range_int),
26205         (gst_value_subtract_double_range_double),
26206         (gst_value_subtract_double_range_double_range),
26207         (gst_value_subtract_from_list), (gst_value_subtract_list),
26208         (gst_value_can_compare), (gst_value_compare_fraction):
26209         Cleanups, add comments, remove unneeded asserts.
26210
26211 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26212
26213         * tools/gst-launch.c: (event_loop):
26214           don't convert NULL structures to strings
26215
26216 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26217
26218         * docs/gst/gstreamer-sections.txt:
26219           made some defines private
26220         * docs/gst/tmpl/gstconfig.sgml:
26221         * docs/gst/tmpl/gstqueue.sgml:
26222         * docs/gst/tmpl/gsttaglist.sgml:
26223         * docs/gst/tmpl/gsttypes.sgml:
26224         * docs/gst/tmpl/gstutils.sgml:
26225         * docs/pwg/appendix-porting.xml:
26226         * gst/base/gstbasesink.h:
26227         * gst/base/gstbasesrc.c:
26228         * gst/base/gstbasesrc.h:
26229         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26230         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26231         * gst/gstelement.c: (gst_element_class_init):
26232         * gst/gstpad.c: (gst_pad_class_init):
26233         * gst/gstqueue.c: (gst_queue_class_init):
26234         * gst/gstxml.c: (gst_xml_class_init):
26235           documented all undocumented signal inline
26236         * libs/gst/controller/gst-controller.h:
26237           added padding
26238
26239 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26240
26241         * docs/pwg/appendix-porting.xml:
26242           Document _set_link_function -> _set_setcaps_function.
26243
26244 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26245
26246         * check/Makefile.am:
26247           add a .check target for running the check
26248         * check/gst-libs/controller.c: (GST_START_TEST):
26249           cosmetic fixups
26250         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26251           complete checks for gstbuffer; would be nice if I could get the
26252           gcov stuff to work so I can see if I actually completed gstbuffer.c
26253         * check/gstcheck.h:
26254           add ASSERT_BUFFER_REFCOUNT
26255
26256 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26257
26258         * docs/gst/gstreamer-sections.txt:
26259         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26260         * gst/gsttag.h:
26261           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26262           spew out a warning if a tag that is already registered
26263           is re-registered, unless it is re-registered with a 
26264           different type (#308438).
26265
26266 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26267
26268         * docs/pwg/appendix-porting.xml:
26269         * docs/pwg/building-state.xml:
26270           Add some paragraphs about state changes in 0.9 to the PWG
26271           and the porting guide, in particular about the new meaning
26272           of GST_STATE_PAUSED and how to write state change functions
26273           with concurrent access by multiple threads in mind.
26274
26275 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26276
26277         * docs/gst/gstreamer-docs.sgml:
26278         * docs/libs/gstreamer-libs-docs.sgml:
26279           added deprecation and since indexes
26280         * libs/gst/controller/gst-controller.c:
26281         * libs/gst/controller/gst-helper.c:
26282           added since tags
26283
26284
26285 2005-08-11  Wim Taymans  <wim@fluendo.com>
26286
26287         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26288         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26289         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26290         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26291         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26292         (gst_ghost_pad_set_target):
26293         Actually implement (re)setting the target on a ghostpad
26294         as described in the docs.
26295
26296 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26297
26298         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26299           Check whether GST_DEBUG_NO_COLOR environment variable is
26300           set and disable coloured debug output if that is the case.
26301
26302 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26303
26304         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26305         (gst_type_find_helper):
26306           The memory returned by gst_type_find_peek() needs to
26307           stay valid until the end of a typefind function, and
26308           typefind functions may keep results from different 
26309           offsets around, so we can't just unref the buffer from
26310           the previous _peek(), but have to save all buffers 
26311           returned by _peek() until typefinding is done and only
26312           free them then.
26313
26314 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26315
26316         * docs/gst/gstreamer-sections.txt:
26317         * gst/gstutils.h:
26318           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26319
26320 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26321
26322         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26323           Fix a pretty good memleak.
26324
26325 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26326
26327         * gst/gstiterator.h:
26328           Fix wrong include and 'make distcheck'.
26329
26330 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26331
26332         * gst/gstbin.c: (bin_bus_handler):
26333           Use gst_element_post_message() instead.
26334
26335 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26336
26337         * gst/base/gstadapter.h:
26338         * gst/base/gstbasesink.h:
26339         * gst/base/gstbasesrc.h:
26340         * gst/base/gstbasetransform.h:
26341         * gst/base/gstcollectpads.h:
26342         * gst/base/gstpushsrc.h:
26343         * gst/gstiterator.h:
26344           Add padding to our base elements' class and instance structs and
26345           to GstIterator (you will need to rebuild all plugins and apps!)
26346
26347 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26348
26349         * gst/gstbin.c: (bin_bus_handler):
26350           Make default message forwarding from child->bus to bin->bus
26351           threadsafe and make it not emit warnings if the parent has no bus.
26352
26353 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26354
26355         * gst/gstelement.c: (activate_pads):
26356           On paused->ready, set pad->caps to NULL, as is the documented
26357           behaviour in this state change. Fixes playback of series of
26358           media files when visualization is enabled in Totem.
26359
26360 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26361
26362         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26363           Allow NULL as filter-caps (which means "any").
26364
26365 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26366
26367         * docs/libs/gstreamer-libs-sections.txt:
26368         * libs/gst/controller/gst-controller.c:
26369         * libs/gst/controller/gst-controller.h:
26370         * libs/gst/controller/gst-helper.c:
26371           adding more entries to the docs and fix small doc-bugs
26372
26373 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26374
26375         * docs/gst/gstreamer-docs.sgml:
26376         * docs/gst/gstreamer-sections.txt:
26377         * docs/gst/gstreamer.types:
26378         * docs/gst/tmpl/gstbasesink.sgml:
26379         * docs/gst/tmpl/gstbasesrc.sgml:
26380         * docs/gst/tmpl/gstbasetransform.sgml:
26381         * docs/gst/tmpl/gstfakesrc.sgml:
26382         * gst/base/gstcollectpads.c:
26383         * gst/base/gstcollectpads.h:
26384         * libs/gst/controller/gst-controller.c:
26385         * libs/gst/controller/gst-controller.h:
26386         * libs/gst/controller/gst-helper.c:
26387         * libs/gst/controller/gst-interpolation.c:
26388         * libs/gst/controller/lib.c:
26389           added long/short desc for controller docs
26390           added collectpads base class docs
26391           added correct includes to base-class docs
26392
26393 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26394
26395         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26396         (gst_test_mono_source_set_property),
26397         (gst_test_mono_source_class_init), (GST_START_TEST),
26398         (gst_controller_suite):
26399         * docs/gst/gstreamer-docs.sgml:
26400         * docs/gst/gstreamer-sections.txt:
26401         * docs/gst/gstreamer.types:
26402         * docs/libs/gstreamer-libs-docs.sgml:
26403         * docs/libs/gstreamer-libs-sections.txt:
26404         * gst/base/gstadapter.c:
26405         * libs/gst/controller/gst-controller.c:
26406         (gst_controlled_property_new), (gst_controlled_property_free),
26407         (gst_controller_new_valist),
26408         (gst_controller_remove_properties_valist),
26409         (gst_controller_sink_values), (_gst_controller_finalize):
26410         * libs/gst/controller/gst-controller.h:
26411         * libs/gst/controller/gst-helper.c:
26412         (gst_object_control_properties), (gst_object_uncontrol_properties),
26413         (gst_object_get_controller), (gst_object_set_controller),
26414         (gst_object_sink_values), (gst_object_get_value_arrays),
26415         (gst_object_get_value_array):
26416           more tests (and fixes) for the controller
26417           more docs for the controller
26418           integrated companies docs for the adapter 
26419
26420 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26421
26422         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26423         (GST_START_TEST), (fakesrc_suite):
26424           add tests for sizetype
26425
26426 2005-08-04  Andy Wingo  <wingo@pobox.com>
26427
26428         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26429         fixes buffer_alloc proxying among other things.
26430
26431         * gst/base/gstbasetransform.c:
26432         * gst/base/gstbasetransform.h:
26433         Revert patch to gstbasetransform from 7-28 removing
26434         delay_configure.
26435
26436         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26437         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26438         Semantics changed, should return not the size of the output buffer
26439         but the byte size of a buffer with a given caps.
26440
26441         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26442         debug object.
26443         (gst_base_transform_configure_caps): Don't set out_size here: (in,
26444         out) are not the pad caps until setcaps finishes.
26445         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26446         not-in-place case as well. Deal with changing from in-place to
26447         not-in-place within calling pad_alloc_buffer. Still a bit
26448         concerned about the overhead here...
26449
26450 2005-08-03  Andy Wingo  <wingo@pobox.com>
26451
26452         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26453         fixating is an error.
26454
26455 2005-08-04  Edward Hervey  <edward@fluendo.com>
26456
26457         * gst/base/gstadapter.h: 
26458         Added gst_adapter_get_type() to the header
26459
26460 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26461
26462         * check/Makefile.am:
26463         * check/gst-libs/controller.c:
26464         * libs/gst/controller/gst-controller.c:
26465         (gst_controller_new_valist):
26466           added check test suite for the controller
26467         * gst/base/gstpushsrc.c:
26468           fixed a doc typo
26469
26470 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26471
26472         * docs/gst/Makefile.am:
26473         * docs/gst/gstreamer-docs.sgml:
26474         * docs/gst/gstreamer-sections.txt:
26475         * docs/gst/gstreamer.types:
26476         * docs/gst/tmpl/gstfakesrc.sgml:
26477         * gst/base/README:
26478         * gst/base/gstbasesink.c:
26479         * gst/base/gstbasesink.h:
26480         * gst/base/gstbasesrc.c:
26481         * gst/base/gstbasesrc.h:
26482         * gst/base/gstbasetransform.c:
26483         * gst/base/gstpushsrc.c:
26484         * gst/base/gstpushsrc.h:
26485           add short/long description docs to base classes
26486           add pushsrc to the docs
26487           remove consolidated doc fragments
26488
26489 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26490
26491         * configure.ac:
26492         * docs/libs/Makefile.am:
26493         * docs/libs/gstreamer-libs-docs.sgml:
26494         * docs/libs/gstreamer-libs-sections.txt:
26495         * docs/libs/gstreamer-libs.types:
26496         * examples/Makefile.am:
26497         * examples/controller/.cvsignore:
26498         * examples/controller/Makefile.am:
26499         * examples/controller/audio-example.c: (main):
26500         * libs/gst/Makefile.am:
26501         * libs/gst/controller/.cvsignore:
26502         * libs/gst/controller/Makefile.am:
26503         * libs/gst/controller/gst-controller.c:
26504         (on_object_controlled_property_changed), (gst_timed_value_compare),
26505         (gst_timed_value_find),
26506         (gst_controlled_property_set_interpolation_mode),
26507         (gst_controlled_property_new), (gst_controlled_property_free),
26508         (gst_controller_find_controlled_property),
26509         (gst_controller_new_valist), (gst_controller_new),
26510         (gst_controller_remove_properties_valist),
26511         (gst_controller_remove_properties), (gst_controller_set),
26512         (gst_controller_set_from_list), (gst_controller_unset),
26513         (gst_controller_get), (gst_controller_get_all),
26514         (gst_controller_sink_values), (gst_controller_get_value_arrays),
26515         (gst_controller_get_value_array),
26516         (gst_controller_set_interpolation_mode),
26517         (_gst_controller_finalize), (_gst_controller_init),
26518         (_gst_controller_class_init), (gst_controller_get_type):
26519         * libs/gst/controller/gst-controller.h:
26520         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26521         (g_object_uncontrol_properties), (g_object_get_controller),
26522         (g_object_set_controller), (g_object_sink_values),
26523         (g_object_get_value_arrays), (g_object_get_value_array):
26524         * libs/gst/controller/gst-interpolation.c:
26525         (gst_controlled_property_find_timed_value_node),
26526         (interpolate_none_get), (interpolate_trigger_get),
26527         (interpolate_trigger_get_value_array):
26528         * libs/gst/controller/lib.c: (gst_controller_init):
26529         * pkgconfig/Makefile.am:
26530         * pkgconfig/gstreamer-control-uninstalled.pc.in:
26531         * pkgconfig/gstreamer-control.pc.in:
26532         * testsuite/Makefile.am:
26533         * testsuite/controller/.cvsignore:
26534         * testsuite/controller/Makefile.am:
26535         * testsuite/controller/interpolator.c: (main):
26536           added controller code
26537           removed dparam pc files
26538
26539 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26540         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26541         (gst_collectpads_stop):
26542           Broadcast the condition when shutting down, to make sure we wake all
26543           threads up. Shut down pads on finalize, for safety.
26544
26545 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26546         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26547         (gst_base_transform_handle_buffer),
26548         (gst_base_transform_change_state):
26549           Handle PAUSED->READY->PAUSED transition after negotiation
26550           occurred already.
26551         * gst/gstmessage.c: (gst_message_init):
26552           Extra piece of debug for new messages.
26553
26554 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
26555
26556         * configure.ac:
26557         * docs/gst/tmpl/gstbasesrc.sgml:
26558         * docs/gst/tmpl/gstelement.sgml:
26559         * docs/gst/tmpl/gstevent.sgml:
26560         * docs/gst/tmpl/gstfakesrc.sgml:
26561         * docs/gst/tmpl/gstformat.sgml:
26562         * docs/gst/tmpl/gstghostpad.sgml:
26563         * docs/gst/tmpl/gstpad.sgml:
26564         * docs/gst/tmpl/gstquery.sgml:
26565         * docs/gst/tmpl/gststructure.sgml:
26566         * docs/gst/tmpl/gsttaglist.sgml:
26567         * docs/gst/tmpl/gstvalue.sgml:
26568         * docs/libs/gstreamer-libs-docs.sgml:
26569         * docs/libs/gstreamer-libs-sections.txt:
26570         * docs/libs/gstreamer-libs.types:
26571         * libs/gst/Makefile.am:
26572         * libs/gst/control/.cvsignore:
26573         * libs/gst/control/Makefile.am:
26574         * libs/gst/control/control.c:
26575         * libs/gst/control/control.h:
26576         * libs/gst/control/dparam.c:
26577         * libs/gst/control/dparam.h:
26578         * libs/gst/control/dparam_smooth.c:
26579         * libs/gst/control/dparam_smooth.h:
26580         * libs/gst/control/dparamcommon.h:
26581         * libs/gst/control/dparammanager.c:
26582         * libs/gst/control/dparammanager.h:
26583         * libs/gst/control/dplinearinterp.c:
26584         * libs/gst/control/dplinearinterp.h:
26585         * libs/gst/control/unitconvert.c:
26586         * libs/gst/control/unitconvert.h:
26587         * testsuite/Makefile.am:
26588         * testsuite/dynparams/.cvsignore:
26589         * testsuite/dynparams/Makefile.am:
26590         * testsuite/dynparams/dparamstest.c:
26591         * tools/Makefile.am:
26592         * tools/gst-inspect.c: (print_element_info), (main):
26593         * tools/gst-xmlinspect.c: (print_element_info), (main):
26594           deactivate and remove dparams (libgstcontrol)
26595
26596 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26597
26598         * gst/elements/gsttypefindelement.c:
26599         (gst_type_find_element_have_type), (gst_type_find_element_init),
26600         (stop_typefinding), (gst_type_find_element_handle_event),
26601         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26602         * gst/elements/gsttypefindelement.h:
26603           Set caps on all outgoing buffers, not just the first one.
26604
26605 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26606
26607         * gst/elements/gsttypefindelement.c:
26608         (gst_type_find_element_have_type),
26609         (gst_type_find_element_check_set_buffer_caps),
26610         (gst_type_find_element_init), (stop_typefinding),
26611         (gst_type_find_element_handle_event),
26612         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26613         * gst/elements/gsttypefindelement.h:
26614           Set caps on first outgoing buffer when we've found the type.
26615
26616 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26617
26618         * docs/gst/gstreamer-docs.sgml:
26619         * docs/gst/gstreamer-sections.txt:
26620         * docs/gst/tmpl/gstscheduler.sgml:
26621         * docs/gst/tmpl/gstschedulerfactory.sgml:
26622           Remove some old cruft from docs.
26623
26624 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
26625
26626         * gst/gstpad.h:
26627           Fix inline docs for GstPadLinkReturn.
26628           
26629         * gst/gststructure.c: (gst_structure_has_name):
26630         * gst/gststructure.h:
26631         * docs/gst/gstreamer-sections.txt:
26632           New API: gst_structure_has_name().
26633
26634 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
26635
26636         * configure.ac:
26637           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26638           and _LARGEFILE_SOURCE in config.h as required. Do not 
26639           export those flags in our .pc files any longer (#142209).
26640
26641           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
26642
26643         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
26644         (gst_file_sink_do_seek), (gst_file_sink_event),
26645         (gst_file_sink_get_current_offset), (gst_file_sink_render):
26646           Redo seek/tell calls with large file support in mind; add some
26647           debugging messages; add log message that tells us when large
26648           file support is unavailable or not enabled for some reason.
26649
26650         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
26651           Add log message that tells us when large file support 
26652           is unavailable or not enabled for some reason.
26653
26654 2005-07-29  Wim Taymans  <wim@fluendo.com>
26655
26656         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26657         Added test for removing an element with ghostpad from a bin.
26658         Fixed test as current implementation does the right thing.
26659
26660         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
26661         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
26662         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
26663         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
26664         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
26665         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
26666         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
26667         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
26668         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
26669         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
26670         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
26671         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
26672         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
26673         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
26674         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
26675         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
26676         * gst/gstghostpad.h:
26677         Clean up ghostpads, remove properties for internal stuff.
26678         Make threadsafe.
26679         Fix refcounting.
26680         Prepare for switching targets, not all use cases work yet.
26681
26682 2005-07-29  Wim Taymans  <wim@fluendo.com>
26683
26684         * docs/design/part-gstghostpad.txt:
26685         Small update.
26686
26687         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26688         (gst_bin_remove_func):
26689         Unlinking pads while holding the bin LOCK is not a good
26690         idea.
26691
26692         * gst/gstpad.c: (gst_pad_class_init),
26693         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
26694         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
26695         No prob setting template after creating the pad.
26696
26697 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
26698
26699         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
26700         (gst_bus_peek), (gst_bus_source_dispatch),
26701         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
26702         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
26703           gst_bus_poll may be called from other threads. Handle
26704           this nicely by not making poll_data disappear off the
26705           stack once gst_bus_poll returns.
26706           gst_bus_peek now increments the refcount on the returned
26707           message.
26708
26709 2005-07-29  Wim Taymans  <wim@fluendo.com>
26710
26711         * docs/design/part-gstghostpad.txt:
26712         Overview of current GhostPad datastructures and use
26713         cases for changing the target.
26714
26715 2005-07-28  Wim Taymans  <wim@fluendo.com>
26716
26717         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26718         Added checks for hierarchy consistency whan adding linked
26719         elements to bins.
26720
26721         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26722         Added check to test element scheduling without bin/pipeline.
26723
26724         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26725         First add elements to bin, then link.
26726         
26727         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
26728         (gst_bin_remove_func):
26729         Unlink pads from elements added/removed from bin to maintain
26730         hierarchy consistency.
26731
26732 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26733
26734         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26735         (gst_base_transform_handle_buffer):
26736         * gst/base/gstbasetransform.h:
26737           Remove broken delay_configure (fixes renegotiation of software
26738           scaling pipelines); remove some leftover printf()s.
26739
26740 2005-07-28  Wim Taymans  <wim@fluendo.com>
26741
26742         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26743         Added some more tests for wrong hierarchy
26744
26745         * docs/design/part-overview.txt:
26746         Some updates.
26747
26748         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
26749         Cleanups.
26750
26751         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
26752         (gst_element_dispose):
26753         Some more cleanups.
26754
26755         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26756         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
26757         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26758         (gst_pad_set_caps), (gst_pad_send_event):
26759         Check for correct hierarchy when linking pads. Moving to
26760         strict requirement for ghostpads when linking elements in
26761         different bins.
26762
26763         * gst/gstpad.h:
26764         Clean ups. Added WRONG_HIERARCHY return value.
26765
26766 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26767
26768         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26769           Better debug if no transform is possible.
26770
26771 2005-07-27  Wim Taymans  <wim@fluendo.com>
26772
26773         * docs/random/wtay/network-transp:
26774         Some old doc I had.
26775
26776 2005-07-27  Wim Taymans  <wim@fluendo.com>
26777
26778         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26779         (gst_dp_event_from_packet):
26780         Fix serialization of seek events.
26781
26782 2005-07-27  Wim Taymans  <wim@fluendo.com>
26783
26784         * check/gst-libs/gdp.c: (GST_START_TEST):
26785         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26786         Fix compilation and fix event serialization.
26787
26788 2005-07-27  Wim Taymans  <wim@fluendo.com>
26789
26790         * CHANGES-0.9:
26791         * docs/design/part-TODO.txt:
26792         * docs/design/part-events.txt:
26793         Some docs updates
26794
26795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26796         (gst_base_sink_event), (gst_base_sink_do_sync),
26797         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26798         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26799         (gst_base_src_do_seek), (gst_base_src_event_handler),
26800         (gst_base_src_loop):
26801         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26802         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26803         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26804         (gst_base_transform_event), (gst_base_transform_handle_buffer),
26805         (gst_base_transform_set_passthrough),
26806         (gst_base_transform_is_passthrough):
26807         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26808         * gst/elements/gstfilesink.c: (gst_file_sink_event):
26809         Event updates.
26810
26811         * gst/gstbuffer.h:
26812         Use faster casts.
26813
26814         * gst/gstelement.c: (gst_element_seek):
26815         * gst/gstelement.h:
26816         Update gst_element_seek.
26817
26818         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
26819         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
26820         (gst_event_new_flush_start), (gst_event_new_flush_stop),
26821         (gst_event_new_eos), (gst_event_new_newsegment),
26822         (gst_event_parse_newsegment), (gst_event_new_tag),
26823         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
26824         (gst_event_parse_qos), (gst_event_new_seek),
26825         (gst_event_parse_seek), (gst_event_new_navigation):
26826         * gst/gstevent.h:
26827         Make GstEvent use GstStructure. Add parsing code, make sure the
26828         API is sufficiently generic.
26829         Mark possible directions of events and serialization.
26830
26831         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
26832         (_gst_message_copy), (gst_message_new_segment_start),
26833         (gst_message_new_segment_done), (gst_message_new_custom),
26834         (gst_message_parse_segment_start),
26835         (gst_message_parse_segment_done):
26836         Small cleanups.
26837
26838         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26839         (gst_pad_set_caps), (gst_pad_send_event):
26840         Update for new events. 
26841         Catch events sent in wrong directions.
26842
26843         * gst/gstqueue.c: (gst_queue_link_src),
26844         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26845         (gst_queue_handle_src_query):
26846         Event updates.
26847
26848         * gst/gsttag.c:
26849         * gst/gsttag.h:
26850         Remove event code from this file.
26851
26852         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26853         (gst_dp_event_from_packet):
26854         Event updates.
26855
26856 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26857
26858         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
26859         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26860         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
26861           Make debugging actually useful.
26862
26863 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26864
26865         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
26866         (gst_pad_fixate_caps):
26867           Implement default fixation once again, so that gst_pad_fixate()
26868           actually does anything at all. This probably needs to be some
26869           sort of a last resort, and use profile-based fixation first, but
26870           since that doesn't exist yet, this is the best we have. Fixes
26871           visualization in Totem.
26872
26873 2005-07-22  Wim Taymans  <wim@fluendo.com>
26874
26875         * docs/design/part-events.txt:
26876         Small update.
26877
26878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26879         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
26880         (gst_base_sink_activate_pull):
26881         Some more comments.
26882
26883         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
26884         (gst_fake_src_create):
26885         Fix handoff marshall.
26886
26887         * gst/elements/gstidentity.c: (gst_identity_class_init),
26888         (gst_identity_transform_ip):
26889         We're a real inplace element.
26890
26891         * gst/gstbus.c: (gst_bus_post):
26892         Added some comments.
26893
26894         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
26895         * tests/muxing/case1.c: (main):
26896         * tests/sched/dynamic-pipeline.c: (main):
26897         * tests/sched/interrupt1.c: (main):
26898         * tests/sched/interrupt2.c: (main):
26899         * tests/sched/interrupt3.c: (main):
26900         * tests/sched/runxml.c: (main):
26901         * tests/sched/sched-stress.c: (main):
26902         * tests/seeking/seeking1.c: (event_received), (main):
26903         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
26904         (main):
26905         * tests/threadstate/threadstate3.c: (main):
26906         * tests/threadstate/threadstate4.c: (main):
26907         * tests/threadstate/threadstate5.c: (main):
26908         Fix the tests.
26909
26910 2005-07-21  Wim Taymans  <wim@fluendo.com>
26911
26912         * docs/design/part-seeking.txt:
26913         Some small additions.
26914
26915         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26916         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26917         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26918         * gst/base/gstbasesink.h:
26919         discont values are gint64, handle the math correctly.
26920
26921         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26922         Make the basesrc report error if the source pad is not linked.
26923
26924         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
26925         (gst_queue_loop), (gst_queue_handle_src_query),
26926         (gst_queue_src_activate_push):
26927         Make queue collect data even if the srcpad is not linked.
26928         Start pushing out data as soon as it is linked.
26929
26930         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
26931         * gst/gstutils.h:
26932         Added gst_flow_get_name() to ease error reporting.
26933
26934 2005-07-20  Wim Taymans  <wim@fluendo.com>
26935
26936         * gst/gstmessage.c: (gst_message_new_segment_start),
26937         (gst_message_new_segment_done), (gst_message_parse_segment_start),
26938         (gst_message_parse_segment_done):
26939         * gst/gstmessage.h:
26940         Added a bunch of messages for advanced seeking.
26941
26942         * gst/parse/grammar.y:
26943         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
26944         (gst_dpman_state_changed):
26945         Fix some new-pad -> pad-added signals
26946
26947 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26948
26949         * docs/manual/appendix-porting.xml:
26950         * docs/pwg/appendix-porting.xml:
26951           Document new-pad/state-change signal renames and the FixedList
26952           type rename.
26953
26954 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26955
26956         * docs/manual/advanced-autoplugging.xml:
26957         * docs/manual/basics-helloworld.xml:
26958         * docs/manual/basics-pads.xml:
26959         * docs/random/ds/0.9-suggested-changes:
26960         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
26961         * gst/gstelement.h:
26962         * gst/gstevent.h:
26963         * gst/gstformat.h:
26964         * gst/gstquery.h:
26965         * gst/gststructure.c: (gst_structure_value_get_generic_type),
26966         (gst_structure_parse_array), (gst_structure_parse_value):
26967         * gst/gstvalue.c: (gst_type_is_fixed),
26968         (gst_value_list_prepend_value), (gst_value_list_append_value),
26969         (gst_value_list_get_size), (gst_value_list_get_value),
26970         (gst_value_transform_array_string), (gst_value_serialize_array),
26971         (gst_value_deserialize_array), (gst_value_intersect_array),
26972         (gst_value_is_fixed), (_gst_value_initialize):
26973         * gst/gstvalue.h:
26974           GstElement::new-pad -> pad-added, GstElement::state-change ->
26975           state-changed, GstValueFixedList -> GstValueArray, add format and
26976           flags as their own arguments in gst_element_seek() (should improve
26977           "bindeability"), remove function generators since they don't work
26978           under a whole bunch of compilers (they were deprecated already
26979           anyway).
26980
26981 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26982
26983         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
26984         (_gst_debug_register_funcptr):
26985         * gst/gstinfo.h:
26986           Fix illegal cast on some platforms (#309253).
26987
26988 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26989
26990         * gst/gstmessage.c: (gst_message_new_custom):
26991         * gst/gstmessage.h:
26992           Add _new_custom, make _new_application a macro to _new_custom.
26993
26994 2005-07-20  Wim Taymans  <wim@fluendo.com>
26995
26996         * gst/base/gstbasesrc.c: (gst_base_src_init),
26997         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
26998         * gst/base/gstbasesrc.h:
26999         Add a gboolean to decide when to push out a discont.
27000
27001         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27002         (gst_queue_loop), (gst_queue_handle_src_query),
27003         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27004         (gst_queue_set_property), (gst_queue_get_property):
27005         Some cleanups.
27006
27007         * tests/threadstate/threadstate1.c: (main):
27008         Make a thread test compile and run... very silly..
27009
27010
27011 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27012
27013         * docs/manual/appendix-porting.xml:
27014           Mention removal of libgstgconf-0.9.la and existence of gconf
27015           elements.
27016
27017 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27018
27019         * docs/pwg/advanced-clock.xml:
27020         * docs/pwg/appendix-porting.xml:
27021         * docs/pwg/intro-preface.xml:
27022         * docs/pwg/other-base.xml:
27023         * docs/pwg/other-manager.xml:
27024         * docs/pwg/other-nton.xml:
27025         * docs/pwg/other-ntoone.xml:
27026         * docs/pwg/other-oneton.xml:
27027         * docs/pwg/pwg.xml:
27028           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27029           demuxer), remove n-to-n (was never written), fix some code examples
27030           and links and update the porting section to include all this.
27031
27032 2005-07-19  Wim Taymans  <wim@fluendo.com>
27033
27034         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27035         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27036         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27037         (gst_queue_src_activate_push), (gst_queue_change_state),
27038         (gst_queue_get_property):
27039         * gst/gstqueue.h:
27040         Propagate GstFlowReturn more intelligently upstream and output
27041         an ERROR/EOS when streaming stopped due to fatal error.
27042
27043 2005-07-19  Wim Taymans  <wim@fluendo.com>
27044
27045         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27046         Don't block forever for the state change to complete, the
27047         pipeline already did with a sensible timeout.
27048
27049 2005-07-19  Wim Taymans  <wim@fluendo.com>
27050
27051         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27052         Make sure we never call the create function is we
27053         got deactivated.
27054
27055 2005-07-19  Andy Wingo  <wingo@pobox.com>
27056
27057         * gst/parse/parse.l: Attempt to solve bug #172815.
27058
27059 2005-07-19  Wim Taymans  <wim@fluendo.com>
27060
27061         * docs/design/part-clocks.txt:
27062         * docs/design/part-events.txt:
27063         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27064         Small docs updates.
27065         Only update the seeking values when we are not
27066         busy streaming.
27067
27068 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27069
27070         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27071           Oops, ignore the result of gst_pad_push_event here.
27072
27073 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27074
27075         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27076         (gst_base_src_activate_push):
27077           Send discont event from the loop function, as pads
27078           aren't activated yet in the activate_push handler.
27079
27080         * gst/gstbin.c: (bin_bus_handler):
27081           Don't leak element name.
27082
27083 2005-07-18  Andy Wingo  <wingo@pobox.com>
27084
27085         * configure.ac: Use AS_LIBTOOL_TAGS.
27086
27087 2005-07-18  Wim Taymans  <wim@fluendo.com>
27088
27089         * docs/gst/gstreamer.types:
27090         Remove deleted types.
27091
27092 2005-07-18  Wim Taymans  <wim@fluendo.com>
27093
27094         * check/elements/gstfakesrc.c: (GST_START_TEST):
27095         * configure.ac:
27096         * gst/Makefile.am:
27097         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27098         (init_popt_callback):
27099         * gst/gst.h:
27100         * gst/gst_private.h:
27101         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27102         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27103         * gst/gstbin.h:
27104         * gst/gstbus.h:
27105         * gst/gstconfig.h.in:
27106         * gst/gstelement.c: (gst_element_class_init),
27107         (gst_element_set_base_time), (gst_element_get_base_time),
27108         (iterator_fold_with_resync), (gst_element_change_state),
27109         (gst_element_dispose), (gst_element_get_bus):
27110         * gst/gstelement.h:
27111         * gst/gstelementfactory.h:
27112         * gst/gsterror.c: (_gst_core_errors_init):
27113         * gst/gsterror.h:
27114         * gst/gstevent.h:
27115         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27116         * gst/gstindex.c:
27117         * gst/gstinfo.c: (_gst_debug_init):
27118         * gst/gstmessage.c: (_gst_message_copy):
27119         * gst/gstmessage.h:
27120         * gst/gstminiobject.h:
27121         * gst/gstobject.c:
27122         * gst/gstobject.h:
27123         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27124         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27125         * gst/gstpad.h:
27126         * gst/gstparse.h:
27127         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27128         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27129         (gst_pipeline_get_last_stream_time):
27130         * gst/gstpipeline.h:
27131         * gst/gstpluginfeature.h:
27132         * gst/gstquery.h:
27133         * gst/gstscheduler.c:
27134         * gst/gstscheduler.h:
27135         * gst/gststructure.h:
27136         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27137         (gst_task_finalize), (gst_task_func), (gst_task_create),
27138         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27139         (gst_task_stop), (gst_task_pause):
27140         * gst/gsttask.h:
27141         * gst/gsttypefind.h:
27142         * gst/gsttypes.h:
27143         * gst/registries/gstlibxmlregistry.c: (load_feature),
27144         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27145         * gst/registries/gstxmlregistry.c:
27146         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27147         * gst/schedulers/threadscheduler.c:
27148         * libs/gst/control/dparammanager.h:
27149         * tools/gst-inspect.c: (print_element_list),
27150         (print_plugin_features), (print_element_features):
27151         * tools/gst-xmlinspect.c: (print_element_list),
27152         (print_plugin_info), (main):
27153         Removed plugable schedulers.
27154         Removed Scheduler/Manager from elements.
27155         Removed gsttypes.h, rearranged includes.
27156         Removed dependency pad<->element, element<>pipeline, and
27157         various others,  fix includes.
27158         implement gst_pad_get_parent() with gst_object_get_parent()
27159         Make GstTask sefcontained.
27160         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27161         timeout.
27162         Fix endless loop in iterator_fold_with_resync.
27163
27164
27165 2005-07-18  Wim Taymans  <wim@fluendo.com>
27166
27167         * gst/Makefile.am:
27168         * gst/gstarch.h:
27169         Remove old file.
27170
27171 2005-07-18  Wim Taymans  <wim@fluendo.com>
27172
27173         * gst/Makefile.am:
27174         No more cothreads.h
27175
27176 2005-07-18  Wim Taymans  <wim@fluendo.com>
27177
27178         * gst/cothreads.c:
27179         * gst/cothreads.h:
27180         Let's remove these.
27181
27182 2005-07-18  Wim Taymans  <wim@fluendo.com>
27183
27184         * docs/design/part-dynamic.txt:
27185         * docs/design/part-events.txt:
27186         * docs/design/part-seeking.txt:
27187         Some more docs in the works.
27188
27189         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27190         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27191         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27192         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27193         (gst_base_transform_handle_buffer),
27194         (gst_base_transform_sink_activate_push),
27195         (gst_base_transform_src_activate_pull),
27196         (gst_base_transform_set_passthrough),
27197         (gst_base_transform_is_passthrough):
27198         Refcounting fixes.
27199
27200         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27201         Cleanups.
27202
27203         * gst/gstevent.c: (gst_event_finalize):
27204         Set SRC to NULL.
27205
27206         * gst/gstutils.c: (gst_element_unlink),
27207         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27208         (gst_pad_proxy_setcaps):
27209         * gst/gstutils.h:
27210         Add _get_parent_element() to get a pads parent as an element.
27211
27212 2005-07-18  Wim Taymans  <wim@fluendo.com>
27213
27214         * check/gst/gstbin.c: (GST_START_TEST):
27215         Remove bogus test.
27216
27217 2005-07-18  Wim Taymans  <wim@fluendo.com>
27218
27219         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27220         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27221         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27222         (gst_base_sink_event), (gst_base_sink_do_sync),
27223         (gst_base_sink_chain), (gst_base_sink_loop),
27224         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27225         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27226         Refcounting fixes.
27227         Fix logic for returning ASYNC when not prerolled.
27228
27229 2005-07-18  Wim Taymans  <wim@fluendo.com>
27230
27231         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27232         Fix nasty refcount bug.
27233
27234 2005-07-16 Philippe Khalaf <burger@speedy.org>
27235
27236         * gst/elements/gstfdsrc.c:
27237         * gst/elements/gstfdsrc.h:
27238         * gst/elements/gstelements.c:
27239         * gst/elements/Makefile.am:
27240         Ported fdsrc to 0.9.
27241
27242 2005-07-16  Wim Taymans  <wim@fluendo.com>
27243
27244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27245         (gst_base_sink_do_sync):
27246         Fix compile error.
27247
27248 2005-07-16  Wim Taymans  <wim@fluendo.com>
27249
27250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27251         (gst_base_sink_event), (gst_base_sink_get_times),
27252         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27253         * gst/base/gstbasesink.h:
27254         Store and use discont values when syncing buffers as described
27255         in design docs.
27256         
27257         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27258         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27259         (gst_base_src_activate_push):
27260         Push discont event when starting.
27261
27262         * gst/elements/gstidentity.c: (gst_identity_transform):
27263         Small cleanups.
27264
27265         * gst/gstbin.c: (gst_bin_change_state):
27266         Small cleanups in base_time  distribution.
27267
27268         * gst/gstelement.c: (gst_element_set_base_time),
27269         (gst_element_get_base_time), (gst_element_change_state):
27270         * gst/gstelement.h:
27271         Added methods for the base_time of the element.
27272         Some MT fixes.
27273
27274         * gst/gstpipeline.c: (gst_pipeline_send_event),
27275         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27276         (gst_pipeline_get_last_stream_time):
27277         * gst/gstpipeline.h:
27278         MT fixes.
27279         Handle seeking as described in design doc, remove stream_time
27280         hack.
27281         Cleanups clock and stream_time selection code. Added accessors
27282         for the stream_time.
27283         
27284
27285 2005-07-16  Andy Wingo  <wingo@pobox.com>
27286
27287         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27288         (#305291).
27289
27290 2005-07-16  Wim Taymans  <wim@fluendo.com>
27291
27292         * check/gst/gstbin.c: (GST_START_TEST):
27293         Make elements silent as the deep_notify refs the
27294         parent, which might make the test fail.
27295
27296         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27297         Don't hold the lock for too long.
27298
27299 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27300
27301         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27302           Don't unref the caps we passed to gst_caps_make_writable() after
27303           passing them. gst_caps_make_writable() will do that for us.
27304
27305 2005-07-15  Andy Wingo  <wingo@pobox.com>
27306
27307         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27308         (#157311).
27309
27310         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27311         own marshalling function for the handoff signal. Properly type the
27312         buffer as a buffer. Fixes some warnings. Should do a more general
27313         solution.
27314         (gst_identity_class_init): Plug into the right marshaller.
27315
27316 2005-07-15  Wim Taymans  <wim@fluendo.com>
27317
27318         * docs/design/part-TODO.txt:
27319         * docs/design/part-clocks.txt:
27320         * docs/design/part-element-sink.txt:
27321         * docs/design/part-events.txt:
27322         * docs/design/part-gstpipeline.txt:
27323         Updated docs, mostly DISCONT related.
27324
27325 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27326
27327         * docs/pwg/building-pads.xml:
27328           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27329
27330 2005-07-15  Andy Wingo  <wingo@pobox.com>
27331
27332         * tools/gst-typefind.c: Update, add copyright block.
27333
27334         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27335         Normalize and truncate caps before fixation.
27336
27337         * gst/gstcaps.h:
27338         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27339         discards all but the first structure from its argument.
27340
27341 2005-07-15  Wim Taymans  <wim@fluendo.com>
27342
27343         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27344         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27345         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27346         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27347         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27348         (gst_base_transform_chain), (gst_base_transform_change_state),
27349         (gst_base_transform_set_passthrough),
27350         (gst_base_transform_is_passthrough):
27351         * gst/base/gstbasetransform.h:
27352         Make passthrough work using the bufferpools.
27353         Changed API a bit, subclasses have to write into a buffer
27354         provided by the base class.
27355         More debug info in nego functions.
27356         
27357         * gst/elements/gstidentity.c: (gst_identity_init),
27358         (gst_identity_transform):
27359         Port to new base class.
27360
27361 2005-07-15  Wim Taymans  <wim@fluendo.com>
27362
27363         * gst/gstmessage.c: (gst_message_new_state_changed):
27364         * tools/gst-launch.c: (event_loop), (main):
27365         Totally dump messages in -launch with the -m option.
27366         Fix message name for State messages,
27367
27368 2005-07-14  Wim Taymans  <wim@fluendo.com>
27369
27370         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27371         Post error messages on errors.
27372
27373 2005-07-14  Wim Taymans  <wim@fluendo.com>
27374
27375         * gst/gstcaps.c: (gst_caps_do_simplify):
27376         Remove debug info.
27377
27378         * gst/gsterror.h:
27379         Define error for stream stopped.
27380
27381         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27382         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27383         Do proper return values.
27384
27385         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27386         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27387         (gst_pad_get_range):
27388         Better return values.
27389
27390         * gst/gstpad.h:
27391         Reorganise return values, add macro to check for fatal errors.
27392
27393         * gst/gstqueue.c: (gst_queue_chain):
27394         Return proper GstFlowReturn values,
27395
27396 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27397
27398         * docs/gst/gstreamer-sections.txt:
27399         * docs/gst/gstreamer.types:
27400         * docs/gst/tmpl/gst.sgml:
27401         * docs/gst/tmpl/gstbasesink.sgml:
27402         * docs/gst/tmpl/gstbasesrc.sgml:
27403         * docs/gst/tmpl/gstbasetransform.sgml:
27404         * docs/gst/tmpl/gstbin.sgml:
27405         * docs/gst/tmpl/gstbuffer.sgml:
27406         * docs/gst/tmpl/gstcaps.sgml:
27407         * docs/gst/tmpl/gstclock.sgml:
27408         * docs/gst/tmpl/gstcompat.sgml:
27409         * docs/gst/tmpl/gstconfig.sgml:
27410         * docs/gst/tmpl/gstelement.sgml:
27411         * docs/gst/tmpl/gstelementdetails.sgml:
27412         * docs/gst/tmpl/gstelementfactory.sgml:
27413         * docs/gst/tmpl/gstenumtypes.sgml:
27414         * docs/gst/tmpl/gsterror.sgml:
27415         * docs/gst/tmpl/gstevent.sgml:
27416         * docs/gst/tmpl/gstfakesink.sgml:
27417         * docs/gst/tmpl/gstfakesrc.sgml:
27418         * docs/gst/tmpl/gstfilesink.sgml:
27419         * docs/gst/tmpl/gstfilesrc.sgml:
27420         * docs/gst/tmpl/gstfilter.sgml:
27421         * docs/gst/tmpl/gstformat.sgml:
27422         * docs/gst/tmpl/gstghostpad.sgml:
27423         * docs/gst/tmpl/gstimplementsinterface.sgml:
27424         * docs/gst/tmpl/gstindex.sgml:
27425         * docs/gst/tmpl/gstindexfactory.sgml:
27426         * docs/gst/tmpl/gstinfo.sgml:
27427         * docs/gst/tmpl/gstiterator.sgml:
27428         * docs/gst/tmpl/gstmacros.sgml:
27429         * docs/gst/tmpl/gstmemchunk.sgml:
27430         * docs/gst/tmpl/gstminiobject.sgml:
27431         * docs/gst/tmpl/gstobject.sgml:
27432         * docs/gst/tmpl/gstpad.sgml:
27433         * docs/gst/tmpl/gstpadtemplate.sgml:
27434         * docs/gst/tmpl/gstparse.sgml:
27435         * docs/gst/tmpl/gstpipeline.sgml:
27436         * docs/gst/tmpl/gstplugin.sgml:
27437         * docs/gst/tmpl/gstpluginfeature.sgml:
27438         * docs/gst/tmpl/gstquery.sgml:
27439         * docs/gst/tmpl/gstqueue.sgml:
27440         * docs/gst/tmpl/gstregistry.sgml:
27441         * docs/gst/tmpl/gstregistrypool.sgml:
27442         * docs/gst/tmpl/gstscheduler.sgml:
27443         * docs/gst/tmpl/gstschedulerfactory.sgml:
27444         * docs/gst/tmpl/gststructure.sgml:
27445         * docs/gst/tmpl/gstsystemclock.sgml:
27446         * docs/gst/tmpl/gsttaglist.sgml:
27447         * docs/gst/tmpl/gsttagsetter.sgml:
27448         * docs/gst/tmpl/gsttrace.sgml:
27449         * docs/gst/tmpl/gsttrashstack.sgml:
27450         * docs/gst/tmpl/gsttypefind.sgml:
27451         * docs/gst/tmpl/gsttypefindfactory.sgml:
27452         * docs/gst/tmpl/gsttypes.sgml:
27453         * docs/gst/tmpl/gsturihandler.sgml:
27454         * docs/gst/tmpl/gsturitype.sgml:
27455         * docs/gst/tmpl/gstutils.sgml:
27456         * docs/gst/tmpl/gstvalue.sgml:
27457         * docs/gst/tmpl/gstversion.sgml:
27458         * docs/gst/tmpl/gstxml.sgml:
27459         * docs/libs/tmpl/gstcontrol.sgml:
27460         * docs/libs/tmpl/gstdataprotocol.sgml:
27461         * docs/libs/tmpl/gstdparam.sgml:
27462         * docs/libs/tmpl/gstdplinint.sgml:
27463         * docs/libs/tmpl/gstdpman.sgml:
27464         * docs/libs/tmpl/gstdpsmooth.sgml:
27465         * docs/libs/tmpl/gstgetbits.sgml:
27466         * docs/libs/tmpl/gstunitconvert.sgml:
27467         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27468         (gst_push_src_base_init), (gst_push_src_class_init),
27469         (gst_push_src_init), (gst_push_src_create):
27470         * gst/base/gstpushsrc.h:
27471         * gst/elements/gstelements.c:
27472         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27473         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27474         (gst_fake_sink_init), (gst_fake_sink_set_property),
27475         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27476         (gst_fake_sink_event), (gst_fake_sink_preroll),
27477         (gst_fake_sink_render), (gst_fake_sink_change_state):
27478         * gst/elements/gstfakesink.h:
27479         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27480         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27481         (gst_fake_src_base_init), (gst_fake_src_class_init),
27482         (gst_fake_src_init), (gst_fake_src_event_handler),
27483         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27484         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27485         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27486         (gst_fake_src_create_buffer), (gst_fake_src_create),
27487         (gst_fake_src_start), (gst_fake_src_stop):
27488         * gst/elements/gstfakesrc.h:
27489         * gst/elements/gstfilesink.c: (_do_init),
27490         (gst_file_sink_base_init), (gst_file_sink_class_init),
27491         (gst_file_sink_init), (gst_file_sink_dispose),
27492         (gst_file_sink_set_location), (gst_file_sink_set_property),
27493         (gst_file_sink_get_property), (gst_file_sink_open_file),
27494         (gst_file_sink_close_file), (gst_file_sink_query),
27495         (gst_file_sink_event), (gst_file_sink_render),
27496         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27497         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27498         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27499         * gst/elements/gstfilesink.h:
27500         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27501         (gst_file_src_class_init), (gst_file_src_init),
27502         (gst_file_src_finalize), (gst_file_src_set_location),
27503         (gst_file_src_set_property), (gst_file_src_get_property),
27504         (gst_file_src_map_region), (gst_file_src_map_small_region),
27505         (gst_file_src_create_mmap), (gst_file_src_create_read),
27506         (gst_file_src_create), (gst_file_src_is_seekable),
27507         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27508         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27509         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27510         (gst_file_src_uri_handler_init):
27511         * gst/elements/gstfilesrc.h:
27512           more autistic cleanliness in functions/names/defines
27513
27514 2005-07-13  Andy Wingo  <wingo@pobox.com>
27515
27516         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27517         source couldn't negotiate.
27518
27519         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27520         connections again.
27521
27522         * gst/gstutils.h:
27523         * gst/gstutils.c (gst_element_link_pads_filtered): New old
27524         function. I am channeling Hades. Put your boots on suckers!!!
27525
27526 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27527
27528         * testsuite/caps/Makefile.am:
27529         * testsuite/caps/value_compare.c:
27530         * testsuite/caps/value_intersect.c:
27531         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27532           move two testsuite apps over to the check dir
27533
27534 2005-07-12  Wim Taymans  <wim@fluendo.com>
27535
27536         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27537         Added more debug info in the negotiate process.
27538
27539         * gst/gstmessage.h:
27540         Prepare for segment playback.
27541
27542         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27543         Better debugging.
27544
27545         * gst/gstutils.c:
27546         Some more docs.
27547
27548         * tools/gst-launch.c: (main):
27549         NULL pipeline on errors.
27550
27551 2005-07-12  Andy Wingo  <wingo@pobox.com>
27552
27553         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27554         not it comes from a malloc region. Make sure our copy gets freed.
27555
27556 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27557
27558         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27559         * check/gst/gstmessage.c: (GST_START_TEST):
27560         * check/gst/gststructure.c: (GST_START_TEST),
27561         (gst_structure_suite), (main):
27562           more testing
27563         * gst/gstelement.c: (gst_element_message_full):
27564           clean up GError and debug string now that they get copied
27565         * gst/gstmessage.c: (gst_message_new_error),
27566         (gst_message_new_warning), (gst_message_parse_error),
27567         (gst_message_parse_warning):
27568           use GST_TYPE_G_ERROR for structure_new, and take copies of
27569           arguments, so that we don't mess up refcounting
27570
27571 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27572
27573         * check/Makefile.am:
27574           add per-test valgrind targets
27575         * check/gst-libs/gdp.c: (GST_START_TEST),
27576         (gst_data_protocol_suite), (main):
27577           clean up
27578
27579 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27580
27581         * check/Makefile.am:
27582           instate more valgrindable tests
27583         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27584         (GST_START_TEST), (fakesrc_suite):
27585         * check/gst/gstpad.c: (GST_START_TEST):
27586         * check/gst/gststructure.c: (GST_START_TEST):
27587           fix test leaks
27588         * docs/gst/tmpl/gstminiobject.sgml:
27589         * gst/gstpad.c: (gst_pad_finalize):
27590           fix the static mutex leak
27591
27592 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27593
27594         * check/Makefile.am:
27595           add two more tests for valgrinding
27596         * check/gst/gstvalue.c: (GST_START_TEST):
27597           test refcount of deserialized buffer, found a leak
27598         * docs/gst/gstreamer-docs.sgml:
27599         * docs/gst/gstreamer-sections.txt:
27600         * docs/gst/gstreamer.types:
27601         * docs/gst/tmpl/gstminiobject.sgml:
27602           add miniobject to docs
27603         * gst/gstminiobject.c:
27604           add some docs
27605         * gst/gstvalue.c: (gst_value_deserialize_buffer),
27606         (gst_string_unwrap):
27607           fix a hard-to-find invalid write for one of the tests
27608           fix a leak for deserialized buffers
27609
27610 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27611
27612         * docs/pwg/advanced-events.xml:
27613         * docs/pwg/advanced-request.xml:
27614         * docs/pwg/advanced-scheduling.xml:
27615         * docs/pwg/appendix-porting.xml:
27616         * docs/pwg/building-boiler.xml:
27617         * docs/pwg/intro-preface.xml:
27618         * docs/pwg/other-ntoone.xml:
27619           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27620           of example code and explanation for pad activation, loop() and
27621           getrange() functions and a bit more. Remove old comments pointing
27622           to loop-functions.
27623         * examples/pwg/Makefile.am:
27624           Add loop/getrange examples.
27625
27626 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27627
27628         * configure.ac:
27629           check for valgrind binary + some fixes
27630         * check/gst.supp:
27631           valgrind suppressions for the tests
27632         * check/Makefile.am:
27633           add a valgrind: target that valgrinds the unit tests
27634         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27635         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27636         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27637         * check/gst/gstghostpad.c:
27638           added some cleanup
27639         * check/gst/gstdata.c:
27640           removed
27641         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
27642         (thread_unref), (gst_mini_object_suite), (main):
27643           added
27644         * gst/gst.c: (gst_deinit):
27645         * gst/gst.h:
27646           add a method to clean up.
27647         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27648         (gst_system_clock_obtain):
27649           allow for disposing the system clock.
27650         * tools/gst-launch.c: (main):
27651           deinit
27652
27653 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27654
27655         * docs/gst/tmpl/gstbasesrc.sgml:
27656         * docs/gst/tmpl/gstfakesrc.sgml:
27657         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27658         (gst_base_src_init), (gst_base_src_set_property),
27659         (gst_base_src_get_property), (gst_base_src_get_range),
27660         (gst_base_src_start):
27661         * gst/base/gstbasesrc.h:
27662           add num-buffers property
27663         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27664         (gst_fakesrc_init), (gst_fakesrc_set_property),
27665         (gst_fakesrc_get_property), (gst_fakesrc_create),
27666         (gst_fakesrc_start):
27667           remove num-buffers property
27668
27669 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27670
27671         * docs/gst/gstreamer-sections.txt:
27672         * docs/gst/tmpl/gstbasesink.sgml:
27673         * docs/gst/tmpl/gstbasesrc.sgml:
27674         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27675         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27676         (gst_base_sink_finalize), (gst_base_sink_set_clock),
27677         (gst_base_sink_set_property), (gst_base_sink_get_property),
27678         (gst_base_sink_handle_object), (gst_base_sink_event),
27679         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
27680         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
27681         (gst_base_sink_loop), (gst_base_sink_deactivate),
27682         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
27683         (gst_base_sink_change_state):
27684         * gst/base/gstbasesink.h:
27685         * gst/base/gstbasesrc.h:
27686         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
27687         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27688         (gst_filesink_init):
27689           more macro splitting
27690
27691 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27692
27693         * gst/gstelement.c: (gst_element_get_bus):
27694           add debug
27695         * tools/gst-launch.c: (check_intr), (event_loop):
27696           fix bus leaks
27697
27698 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27699
27700         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
27701           fix a caps leak
27702
27703 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
27704
27705         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27706         (gst_base_src_finalize):
27707           add finalize method and clean up properly
27708         * gst/gstpipeline.c: (gst_pipeline_dispose):
27709           add debug
27710
27711 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27712
27713         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
27714         (gst_bin_suite):
27715           add more things to check
27716         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27717         * gst/gstelement.c:
27718           more debug
27719
27720 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27721
27722         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27723         (GST_START_TEST), (fakesrc_suite):
27724         * check/gst-libs/gdp.c: (GST_START_TEST):
27725         * check/gst/gst.c: (GST_START_TEST):
27726         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27727         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27728         * check/gst/gstbus.c: (GST_START_TEST):
27729         * check/gst/gstcaps.c: (GST_START_TEST):
27730         * check/gst/gstdata.c: (GST_START_TEST):
27731         * check/gst/gstelement.c: (GST_START_TEST):
27732         * check/gst/gstghostpad.c: (GST_START_TEST):
27733         * check/gst/gstiterator.c: (GST_START_TEST):
27734         * check/gst/gstmessage.c: (GST_START_TEST):
27735         * check/gst/gstobject.c: (GST_START_TEST):
27736         * check/gst/gstpad.c: (GST_START_TEST):
27737         * check/gst/gststructure.c: (GST_START_TEST):
27738         * check/gst/gstsystemclock.c: (GST_START_TEST),
27739         (gst_systemclock_suite):
27740         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
27741         * check/gst/gstvalue.c: (GST_START_TEST):
27742         * check/pipelines/cleanup.c: (GST_START_TEST):
27743         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27744         * check/states/sinks.c: (GST_START_TEST):
27745         * check/gstcheck.c: (gst_check_init):
27746         * check/gstcheck.h:
27747           add debugging category
27748           use GST_START_TEST now, so we add a debug line
27749
27750 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27751
27752         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
27753           add test for state change message on a bin
27754         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
27755           add another test
27756         * gst/gstbin.c: (gst_bin_init):
27757         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
27758         * gst/gstelement.c: (gst_element_post_message),
27759         (gst_element_set_state):
27760         * gst/gstelementfactory.c: (gst_element_factory_create):
27761         * gst/gstmessage.c: (gst_message_new):
27762         * gst/gstscheduler.c:
27763           various debugging additions and cleanups
27764
27765 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27766
27767         * check/Makefile.am:
27768         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
27769         (main):
27770           adding tests for elements
27771         * gst/gstelement.c: (gst_element_dispose):
27772
27773 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27774
27775         * gst/registries/gstlibxmlregistry.c: (load_feature):
27776           plug more leaks.  A simple gst_init() now is leakfree, yay.
27777
27778 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27779
27780         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
27781         (gst_xml_registry_load):
27782           plug another memleak
27783
27784 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27785
27786         * configure.ac:
27787           use GST_SET_ERROR_CFLAGS
27788         * docs/faq/cvs.xml:
27789           change to ERROR_CFLAGS
27790
27791 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27792
27793         * configure.ac:
27794           make GST_ERROR_CFLAGS overridable and re-enable Werror
27795         * docs/faq/cvs.xml:
27796           add a note about error CFLAGS
27797         * docs/gst/tmpl/gstfakesrc.sgml:
27798         * gst/elements/gstfakesrc.c:
27799           comment out some unused code
27800         * gst/gst.c: (split_and_iterate):
27801         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
27802         (load_feature):
27803           plug some memleaks
27804
27805 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27806
27807         * common/Makefile.am:
27808         * common/gtk-doc.mak:
27809         * docs/gst/Makefile.am:
27810           factor out gtk-doc.mak
27811
27812 2005-07-07  Wim Taymans  <wim@fluendo.com>
27813
27814         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
27815         (gst_thread_scheduler_dispose):
27816         Unlock the STREAM_LOCK completely.
27817
27818 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27819
27820         * check/Makefile.am:
27821         * check/elements/.cvsignore:
27822         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27823         (START_TEST), (fakesrc_suite), (main):
27824         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27825         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27826         (gst_fakesrc_create), (gst_fakesrc_start):
27827         * gst/elements/gstfakesrc.h:
27828           adding a first element test
27829
27830 2005-07-07  Andy Wingo  <wingo@pobox.com>
27831
27832         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
27833         debug message.
27834
27835 2005-07-07  Wim Taymans  <wim@fluendo.com>
27836
27837         * gst/gstquery.c:
27838         * gst/gstquery.h:
27839         Remove old types
27840
27841 2005-07-07  Wim Taymans  <wim@fluendo.com>
27842
27843         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
27844         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
27845         Allow subclasses to implement their own negotiation.
27846
27847 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27848
27849         * docs/design/part-gstbin.txt:
27850         * docs/design/part-gstpipeline.txt:
27851           Update design notes to reflect the movement of
27852           responsibility for bus handling from GstPipeline to
27853           GstBin
27854
27855 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27856
27857         * configure.ac:
27858           Remove unnecessary queue2/3/4 examples.
27859
27860 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27861
27862         * examples/Makefile.am:
27863         * examples/helloworld/helloworld.c: (event_loop), (main):
27864         * examples/queue/queue.c: (event_loop), (main):
27865         * examples/queue2/queue2.c: (main):
27866           Update a couple of the examples to work again.
27867
27868         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27869         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
27870          Spelling corrections and extra debug.
27871         
27872         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
27873         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
27874         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
27875         * gst/gstbin.h:
27876         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27877         (gst_pipeline_change_state):
27878         * gst/gstpipeline.h:
27879           Move the bus handler for children to the GstBin, and create a
27880           separate bus for receiving messages from children to the one the
27881           bus sends 'upwards' on.
27882
27883 2005-07-06  Wim Taymans  <wim@fluendo.com>
27884
27885         * gst/base/README:
27886         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27887         (gst_base_sink_handle_object), (gst_base_sink_loop),
27888         (gst_base_sink_change_state):
27889         * gst/base/gstbasesink.h:
27890         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27891         (gst_base_src_init), (gst_base_src_setcaps),
27892         (gst_base_src_getcaps), (gst_base_src_loop),
27893         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
27894         (gst_base_src_start), (gst_base_src_change_state):
27895         * gst/base/gstbasesrc.h:
27896         Make basesrc negotiate.
27897         Handle the case where preroll fails in basesink.
27898         Update README.
27899
27900 2005-07-06  Wim Taymans  <wim@fluendo.com>
27901
27902         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
27903         Implement the fixate function.
27904         Clean up acceptcaps.
27905
27906 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27907
27908         * docs/pwg/building-filterfactory.xml:
27909         * docs/pwg/pwg.xml:
27910           Remove never-written filter-factory chapter; I'll add the various
27911           base classes to part 4 ("other element types") later on.
27912
27913 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27914
27915         * docs/pwg/advanced-negotiation.xml:
27916         * docs/pwg/building-boiler.xml:
27917         * docs/pwg/building-pads.xml:
27918         * docs/pwg/pwg.xml:
27919         * examples/pwg/Makefile.am:
27920           Add a chapter on caps negotiation, simplify the original code
27921           samples a bit w.r.t. caps negotiation, add link to the advanced
27922           section. Add a bunch of examples showing different use cases of
27923           different types of caps negotiation. Upstream renegotiation isn't
27924           fully documented yet since nobody knows how that works.
27925
27926 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
27927
27928         * check/gst/gstpad.c:
27929         * check/gstcheck.c:
27930         * gst/gstpad.c: (gst_pad_get_internal_links_default):
27931           if pad has no parent, return NULL as list of internal links
27932
27933 2005-07-05  Andy Wingo  <wingo@pobox.com>
27934
27935         * gst/elements/gstfilesrc.c:
27936         * gst/elements/gstfakesrc.c: 
27937         * gst/base/gstpushsrc.c:
27938         * gst/base/gstbasesrc.h: 
27939         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
27940         
27941 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
27942
27943         * Makefile.am:
27944           better report generation target (lcov needs a patch)
27945
27946 2005-07-05  Andy Wingo  <wingo@pobox.com>
27947
27948         * gst/elements, testsuite: Null if we got it...
27949
27950 2005-07-05  Wim Taymans  <wim@fluendo.com>
27951
27952         * configure.ac:
27953         * libs/gst/dataprotocol/Makefile.am:
27954         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
27955         * libs/gst/dataprotocol/dataprotocol.h:
27956         * pkgconfig/Makefile.am:
27957         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
27958         * pkgconfig/gstreamer-dataprotocol.pc.in:
27959         Ported dataprotol to 0.9. 
27960         Added pkgconfig files.
27961
27962 2005-07-05  Andy Wingo  <wingo@pobox.com>
27963
27964         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
27965         Default to returning TRUE for the case when tranform_caps returns
27966         a fixed caps, like for identity or volume.
27967
27968         * check/gst/gstbus.c (pound_bus_with_messages): 
27969         * check/gst/gstmessage.c (START_TEST): 
27970         * check/pipelines/simple_launch_lines.c (got_handoff): Application
27971         message API change.
27972
27973         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
27974         logic weaks here: always run transform_caps, trying passthrough
27975         operation only if the original caps intersects with the transform.
27976
27977         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
27978         source and sink caps.
27979
27980         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
27981         Intersect the peer caps with the pad template before going into
27982         transform_caps.
27983         (gst_base_transform_transform_caps): More debugging.
27984
27985         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
27986         src argument.
27987
27988 2005-07-04  Edward Hervey  <edward@fluendo.com>
27989
27990         * gst/gstutils.c:
27991         * gst/gstutils.h:
27992         (gst_pad_add_*_probe): now returns the signal id for better wrapping
27993         in bindings.
27994
27995 2005-07-04  Andy Wingo  <wingo@pobox.com>
27996
27997         * check/gst/gstpad.c: Only set explicit caps on pads.
27998
27999 2005-07-01  Andy Wingo  <wingo@pobox.com>
28000
28001         * tests/network-clock.scm: Commentary update.
28002
28003         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28004         Didn't really make sense, not implementable with basetransform,
28005         etc.
28006         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28007         attempt at implementing the sync property, needs an unlock method.
28008
28009         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28010         New func, by default returns the same caps (the identity
28011         transformation).
28012         (gst_base_transform_getcaps): Uses transform_caps to return
28013         something sensible.
28014         (gst_base_transform_setcaps): Complicated logic to get caps on
28015         both pads, even if they are different, and to call set_caps once
28016         for every time both pads get their caps set.
28017         (gst_base_transform_handle_buffer): Give the ref to the transform
28018         function. Allows in-place modification of the buffer.
28019
28020         * gst/base/gstbasetransform.h (transform_caps): New class method.
28021         Given caps on one side, what can I do on the other.
28022         (set_caps): Take two caps, one for each side of the element.
28023
28024         * gst/gstpad.h:
28025         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28026         caps in place. This is safe because we can check the mutability of
28027         the caps, and a good idea because fixate functions are just called
28028         as a matter of last resort. (Not actually implemented.)
28029         (gst_pad_set_caps): If the caps we're setting is actually the same
28030         as the existing pad caps, just update the pointer without calling
28031         setcaps. Assert that caps is either NULL or fixed, as per the
28032         docs.
28033
28034         * gst/gstghostpad.c: Update for fixate changes.
28035
28036 2005-07-02  Andy Wingo  <wingo@pobox.com>
28037
28038         * gst/gstcaps.c:
28039         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28040         two refcounts makes it immutable, which is enough. Doc more.
28041
28042 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28043
28044         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28045           Put the mini_object into GValue as a mini_object,
28046           not a gpointer, since that's how we declared
28047           the signal.
28048
28049 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28050
28051         * examples/pwg/Makefile.am:
28052           Fix buildbot again.
28053
28054 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28055
28056         * docs/pwg/building-testapp.xml:
28057           Add extra check.
28058         * examples/pwg/Makefile.am:
28059           Fix buildbot.
28060
28061 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28062
28063         * configure.ac:
28064         * examples/Makefile.am:
28065         * examples/pwg/Makefile.am:
28066         * examples/pwg/extract.pl:
28067           Enable building the PWG examples.
28068         * docs/pwg/advanced-interfaces.xml:
28069           Add URI interface stub.
28070         * docs/pwg/advanced-types.xml:
28071         * docs/pwg/other-autoplugger.xml:
28072         * docs/pwg/appendix-porting.xml:
28073         * docs/pwg/pwg.xml:
28074           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28075         * docs/pwg/building-boiler.xml:
28076         * docs/pwg/building-chainfn.xml:
28077         * docs/pwg/building-pads.xml:
28078         * docs/pwg/building-props.xml:
28079         * docs/pwg/building-state.xml:
28080         * docs/pwg/building-testapp.xml:
28081           Update the building-*.xml parts for 0.9 changes. All examples
28082           code blocks compile in examples/pwg/*.
28083
28084 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28085
28086         * docs/manual/advanced-autoplugging.xml:
28087         * docs/manual/appendix-checklist.xml:
28088         * docs/manual/appendix-integration.xml:
28089         * docs/manual/highlevel-components.xml:
28090           Fix playbin/decodebin examples, update docs a bit, mention bus
28091           instead of signals in various places, mention kmplayer and
28092           kaffeine since they have a working GStreamer backend in the KDE
28093           section.
28094
28095 2005-06-30  Wim Taymans  <wim@fluendo.com>
28096
28097         * CHANGES-0.9:
28098         * docs/design/draft-ghostpads.txt:
28099         * docs/design/draft-push-pull.txt:
28100         * docs/design/draft-query.txt:
28101         * docs/design/part-TODO.txt:
28102         * docs/design/part-query.txt:
28103         Added CHANGES-0.9 doc, updated status of other docs.
28104         
28105         * gst/gstquery.h:
28106         Remove "hmm" macro
28107
28108 2005-06-30  Wim Taymans  <wim@fluendo.com>
28109
28110         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28111         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28112         (gst_base_sink_change_state):
28113         * gst/base/gstbasesink.h:
28114         Some tweaks, only EOS and a buffer complete a preroll.
28115
28116 2005-06-30  Andy Wingo  <wingo@pobox.com>
28117
28118         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28119         activate_push down to the internal pad as well.
28120
28121 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28122
28123         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28124
28125         * gst/gsttaginterface.c:
28126           Some documentation fixes (#307394 and #307397).
28127
28128 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28129
28130         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28131
28132         * gst/gstvalue.c: (gst_value_intersect_list):
28133           Fix memleak (#309125).
28134
28135 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28136
28137         * docs/manual/advanced-dataaccess.xml:
28138           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28139         * docs/manual/basics-pads.xml:
28140           Add reference for filtered caps to above chapter.
28141
28142 2005-06-30  Wim Taymans  <wim@fluendo.com>
28143
28144         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28145         (gst_bin_change_state):
28146         Probes are gone.
28147         Lame attempt at making the state change function a bit
28148         more readable.
28149
28150 2005-06-30  Wim Taymans  <wim@fluendo.com>
28151
28152         * docs/design/part-clocks.txt:
28153         * docs/design/part-element-sink.txt:
28154         * docs/design/part-events.txt:
28155         * docs/design/part-preroll.txt:
28156         * docs/design/part-states.txt:
28157         Some more tweeks and additions to the docs.
28158
28159 2005-06-30  Wim Taymans  <wim@fluendo.com>
28160
28161         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28162         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28163         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28164         (gst_pad_check_pull_range), (gst_pad_get_range),
28165         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28166         * gst/gstpad.h:
28167         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28168         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28169         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28170         (gst_pad_remove_buffer_probe):
28171         Removed atomic operations, use existing LOCK.
28172         Move exception handling out of main code path.
28173
28174 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28175
28176         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28177         (silly_return_true_function), (gst_pad_class_init),
28178         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28179         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28180         (gst_pad_send_event):
28181           Fix accumulator, add default value by using _emitv() instead
28182           of _emit() for signal emission.
28183
28184 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28185
28186         * docs/manual/advanced-dataaccess.xml:
28187         * examples/manual/Makefile.am:
28188           Add probe example.
28189         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28190           Make work (??).
28191
28192 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28193
28194         * gst/elements/gstfilesink.c: (gst_filesink_render):
28195           Simplify code so that we don't have to handle short
28196           writes and return GST_FLOW_ERROR if an error occured.
28197
28198 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28199
28200         * docs/gst/gstreamer-docs.sgml:
28201           Remove probes more.
28202
28203 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28204
28205         * docs/gst/gstreamer-sections.txt:
28206         * docs/gst/tmpl/gstpad.sgml:
28207         * docs/gst/tmpl/gstprobe.sgml:
28208         * gst/Makefile.am:
28209         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28210         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28211         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28212         (gst_pad_push_event), (gst_pad_send_event):
28213         * gst/gstpad.h:
28214         * gst/gstutils.c: (gst_pad_add_data_probe),
28215         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28216         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28217         (gst_pad_remove_buffer_probe):
28218         * gst/gstutils.h:
28219           Remove old probes, add new g-signal-based probes and some utility
28220           functions.
28221
28222 2005-06-29  Edward Hervey  <edward@fluendo.com>
28223
28224         * gst/gstelementfactory.c:
28225         * gst/gstutils.h:
28226         * gst/gstutils.c:
28227         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28228         the definition to the header file.
28229
28230 2005-06-29  Andy Wingo  <wingo@pobox.com>
28231
28232         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28233         plugins from the source directory.
28234
28235 2005-06-29  Wim Taymans  <wim@fluendo.com>
28236
28237         * docs/gst/tmpl/gstbuffer.sgml:
28238         * docs/gst/tmpl/gstclock.sgml:
28239         Some fixings for blantently wrong text.
28240
28241 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28242
28243         * check/Makefile.am:
28244         * gst/gst.c: (add_path_func), (init_pre):
28245         * gst/gstregistry.c: (gst_registry_add_path):
28246           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28247           only scan the GST_PLUGIN_PATH locations, and not add
28248           system locations
28249
28250 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28251
28252         * docs/gst/gstreamer-sections.txt:
28253         * docs/gst/tmpl/gstbasesrc.sgml:
28254         * gst/gstelement.c:
28255         * gst/gstelement.h:
28256         * gst/gstevent.c:
28257         * gst/gstutils.c:
28258           doc fixes
28259
28260 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28261
28262         * docs/manual/advanced-autoplugging.xml:
28263           Fix autoplugging example.
28264
28265 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28266
28267         * docs/manual/advanced-autoplugging.xml:
28268         * docs/manual/mime-world.fig:
28269           Try to get autoplugging working, fix type detection. Fix text
28270           in hello-world image.
28271
28272 2005-06-29  Wim Taymans  <wim@fluendo.com>
28273
28274         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28275         (gst_base_sink_change_state):
28276         Small debug line.
28277
28278         * gst/gstclock.h:
28279         map SIGNAL and BROADCAST to the right function.
28280
28281         * gst/gstobject.h:
28282         Remove redundant braces.
28283
28284         * gst/gstpad.c: (gst_pad_set_caps):
28285         Don't call setcaps function when reseting caps to NULL.
28286
28287         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28288         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28289         (gst_system_clock_id_unschedule):
28290         Use BROADCAST as this is what we do.
28291
28292 2005-06-29  Wim Taymans  <wim@fluendo.com>
28293
28294         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28295         We are actually prerolling before commiting the state
28296         change. 
28297
28298 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28299
28300         * docs/manual/advanced-clocks.xml:
28301         * docs/manual/advanced-interfaces.xml:
28302         * docs/manual/advanced-metadata.xml:
28303         * docs/manual/advanced-position.xml:
28304         * docs/manual/advanced-schedulers.xml:
28305         * docs/manual/advanced-threads.xml:
28306         * docs/manual/appendix-porting.xml:
28307         * docs/manual/basics-bins.xml:
28308         * docs/manual/basics-bus.xml:
28309         * docs/manual/basics-elements.xml:
28310         * docs/manual/basics-helloworld.xml:
28311         * docs/manual/basics-pads.xml:
28312         * docs/manual/highlevel-components.xml:
28313         * docs/manual/manual.xml:
28314         * docs/manual/thread.fig:
28315           Update (until threads/scheduling) Application Development Manual;
28316           remove GstThread, add GstBus, add simple porting checklist, add
28317           documentation for tag writing, clocks, make all examples until this
28318           part compile and run.
28319         * examples/manual/Makefile.am:
28320           Update from changes to Application Development Manual; add bus
28321           example, remove thread example.
28322
28323 2005-06-28  Wim Taymans  <wim@fluendo.com>
28324
28325         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28326         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28327         (gst_bus_source_dispatch):
28328         Add debugging messages.
28329         Make internal methods static.
28330         Handle the case where the bus is flushed in the handler.
28331         
28332         * gst/gstelement.c: (gst_element_get_bus):
28333         Fix refcount in _get_bus();
28334
28335         * gst/gstpipeline.c: (gst_pipeline_change_state),
28336         (gst_pipeline_get_clock_func):
28337         Clock refcounting fixes.
28338         Handle the case where preroll timed out more gracefully.
28339         
28340         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28341         Clean up the internal thread in dispose. This is needed
28342         for subclasses that actually get disposed.
28343         
28344         * gst/schedulers/threadscheduler.c:
28345         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28346         (gst_thread_scheduler_dispose):
28347         Free thread pool in dispose.
28348
28349 2005-06-28  Andy Wingo  <wingo@pobox.com>
28350
28351         * tests/network-clock-utils.scm (debug, print-event): New utils.
28352
28353         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28354         (*packet-loss*): Unified loss probability.
28355         (network-time): Report out-of-band events.
28356
28357         * tests/plot-data: Add support for out-of-band events. Hack it
28358         into this script instead of passing it down the pipe; should fix
28359         this later.
28360
28361 2005-06-28  Wim Taymans  <wim@fluendo.com>
28362
28363         * docs/gst/gstreamer.types:
28364         * docs/gst/tmpl/gstbasesrc.sgml:
28365         * docs/gst/tmpl/gstpad.sgml:
28366         Docs fixes.
28367
28368 2005-06-28  Wim Taymans  <wim@fluendo.com>
28369
28370         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28371         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28372         (gst_proxy_pad_do_fixatecaps):
28373         Correctly proxy the check_pull_range function.
28374
28375 2005-06-28  Andy Wingo  <wingo@pobox.com>
28376
28377         * tests/network-clock.scm: Removed need for slib.
28378         
28379 2005-06-28  Wim Taymans  <wim@fluendo.com>
28380
28381         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28382         (gst_basesink_preroll_queue_flush):
28383         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28384         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28385         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28386         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28387         (gst_proxy_pad_set_property):
28388         * gst/gstpad.c:
28389         * gst/gstpad.h:
28390         * gst/gstqueue.c: (gst_queue_init):
28391         The deprecated pad loop function is removed now.
28392
28393 2005-06-28  Andy Wingo  <wingo@pobox.com>
28394
28395         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28396         New parameters, simulate network packet loss.
28397
28398         * tests/network-clock-utils.scm: Initialize the RNG.
28399
28400 2005-06-28  Wim Taymans  <wim@fluendo.com>
28401
28402         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28403         (gst_basesink_event), (gst_basesink_deactivate):
28404         Flushing the preroll queue always needs to unlock the waiters.
28405
28406 2005-06-28  Edward Hervey  <edward@fluendo.com>
28407
28408         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28409         Wheen a seek was successful on a pipeline, set the stream_time to the
28410         seek offset in order to have a synchronized stream_time.
28411
28412 2005-06-28  Wim Taymans  <wim@fluendo.com>
28413
28414         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28415         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28416         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28417         (gst_proxy_pad_do_fixatecaps):
28418         Call wrapper function instead of just calling the function
28419         pointers. This takes care of any locking and whatmore.
28420
28421 2005-06-28  Wim Taymans  <wim@fluendo.com>
28422
28423         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28424         (gst_pad_pull_range):
28425         * gst/gstpad.h:
28426         CONNECTED -> LINKED.
28427
28428 2005-06-28  Andy Wingo  <wingo@pobox.com>
28429
28430         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28431         source-munging commit!!!
28432
28433         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28434         (gst_object_sink): Take gpointer arguments, not GstObject --
28435         avoids casts. Like GLib.
28436
28437         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28438         activate.
28439
28440 2005-06-27  Andy Wingo  <wingo@pobox.com>
28441
28442         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28443         remaining buffer.
28444
28445         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28446         returns a sorted copy of the trace list.
28447         (gst_alloc_trace_print_live): New API, only prints traces with
28448         live objects. Sort the list.
28449         (gst_alloc_trace_print_all): Sort the list.
28450         (gst_alloc_trace_print): Align columns.
28451
28452         * gst/elements/gstttypefindelement.c:
28453         * gst/elements/gsttee.c:
28454         * gst/base/gstbasesrc.c:
28455         * gst/base/gstbasesink.c:
28456         * gst/base/gstbasetransform.c:
28457         * gst/gstqueue.c: Adapt for pad activation changes.
28458
28459         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28460         sched.
28461         (gst_pipeline_dispose): Drop ref on sched.
28462
28463         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28464         (gst_pad_activate_default): Push mode by default.
28465         (pre_activate_switch, post_activate_switch): New stubs, things to
28466         do before and after switching activation modes on pads.
28467         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28468         the pad's activate function to choose which mode to activate.
28469         Shortcut on deactivation and call the right function directly.
28470         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28471         mode.
28472         (gst_pad_activate_push): New API, same for push mode.
28473         (gst_pad_set_activate_function) 
28474         (gst_pad_set_activatepull_function) 
28475         (gst_pad_set_activatepush_function): Setters for new API.
28476
28477         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28478         Trace all miniobjects.
28479         (gst_mini_object_make_writable): Unref the arg if we copy, like
28480         gst_caps_make_writable.
28481
28482         * gst/gstmessage.c (_gst_message_initialize): No trace init.
28483
28484         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
28485         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28486         Adapt for new pad API.
28487
28488         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28489
28490         * gst/gstelement.h:
28491         * gst/gstelement.c (gst_element_iterate_src_pads) 
28492         (gst_element_iterate_sink_pads): New API functions.
28493         
28494         * gst/gstelement.c (iterator_fold_with_resync): New utility,
28495         should fold into gstiterator.c in some form.
28496         (gst_element_pads_activate): Simplified via use of fold and
28497         delegation of decisions to gstpad->activate.
28498
28499         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28500         help in debugging.
28501
28502         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28503         class once in init, like gstmessage. Didn't run into this issue
28504         but it seems correct. Don't initialize a trace, gstminiobject does
28505         that.
28506
28507         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28508         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28509         to the bus.
28510         (assert_live_count): New util function, uses alloc traces to check
28511         cleanup.
28512
28513         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28514         To be modified when unlink drops the internal pad.
28515
28516 2005-06-27  Wim Taymans  <wim@fluendo.com>
28517
28518         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28519         (gst_bin_change_state):
28520         Cleanup the get_state() function a little, make sure it
28521         iterates the same set of elements.
28522         Added stub iterate_state_order().
28523
28524 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
28525
28526         * docs/gst/gstreamer-docs.sgml:
28527         * docs/gst/gstreamer-sections.txt:
28528         * docs/gst/gstreamer.types:
28529         * docs/gst/tmpl/gstbasesink.sgml:
28530         * docs/gst/tmpl/gstbasesrc.sgml:
28531         * docs/gst/tmpl/gstbasetransform.sgml:
28532         * docs/gst/tmpl/gstelement.sgml:
28533         * docs/gst/tmpl/gstiterator.sgml:
28534         * gst/base/gstbasesrc.c:
28535         * gst/base/gstbasesrc.h:
28536         * gst/base/gstbasetransform.h:
28537         * gst/gstelement.c:
28538         * gst/gstiterator.h:
28539           adding basetransform and iterator docs
28540
28541 2005-06-27  Andy Wingo  <wingo@pobox.com>
28542
28543         * docs/design/part-activation.txt: Notes on how activation should
28544         work -- not quite implemented yet.
28545
28546 2005-06-25  Wim Taymans  <wim@fluendo.com>
28547
28548         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28549         At least get the chain function correct, needs more
28550         fixing.
28551
28552 2005-06-25  Wim Taymans  <wim@fluendo.com>
28553
28554         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28555         (gst_basesink_handle_object), (gst_basesink_event),
28556         (gst_basesink_do_sync), (gst_basesink_handle_event),
28557         (gst_basesink_change_state):
28558         * gst/gsttask.h:
28559         Right, two problems here: ghostpads don't take locks and
28560         glib _rec_mutex_lock_full() with depth==0 still locks.
28561         Catch illegal locking and g_warn them.
28562
28563 2005-06-25  Wim Taymans  <wim@fluendo.com>
28564
28565         * check/states/sinks.c: (START_TEST), (gst_object_suite):
28566         Have to check for completion now...
28567
28568 2005-06-25  Wim Taymans  <wim@fluendo.com>
28569
28570         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28571         (gst_basesink_handle_object), (gst_basesink_event),
28572         (gst_basesink_do_sync), (gst_basesink_handle_event),
28573         (gst_basesink_change_state):
28574         * gst/gstpad.h:
28575         Unlock STREAM_LOCK whatever the recursion was.
28576
28577 2005-06-25  Wim Taymans  <wim@fluendo.com>
28578
28579         * gst/base/gstbasesink.c: (gst_basesink_set_property),
28580         (gst_basesink_preroll_queue_empty),
28581         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28582         (gst_basesink_event), (gst_basesink_do_sync),
28583         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28584         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28585         (gst_basesink_change_state):
28586         Reworked the base sink, handle event and buffer serialisation
28587         correctly and removed possible deadlock.
28588         Handle EOS correctly.
28589
28590 2005-06-25  Wim Taymans  <wim@fluendo.com>
28591
28592         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28593         (gst_pipeline_change_state):
28594         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28595         Allow elements to post EOS in the state change function.
28596         Fix up -launch, make it exit the poll loop when the
28597         pipeline actually changed state.
28598         Fix up warning parsing in -launch.
28599
28600 2005-06-25  Wim Taymans  <wim@fluendo.com>
28601
28602         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28603         (gst_tee_sink_activate):
28604         Core takes STREAM_LOCK for us now.
28605
28606 2005-06-25  Wim Taymans  <wim@fluendo.com>
28607
28608         * gst/gstelement.c: (gst_element_get_state_func),
28609         (gst_element_set_state):
28610         * gst/gstelement.h:
28611         * gst/gstmessage.c: (gst_message_parse_error),
28612         (gst_message_parse_warning):
28613         Keep track of current target state while performing a state
28614         change so that subclasses can do something interesting.
28615         Fix parsing of warning/error messages when GError is NULL.
28616
28617 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
28618
28619         * docs/gst/Makefile.am:
28620         * docs/gst/gstreamer-docs.sgml:
28621         * docs/gst/gstreamer-sections.txt:
28622         * docs/gst/gstreamer.types:
28623         * docs/gst/tmpl/gstbasesink.sgml:
28624         * docs/gst/tmpl/gstbasesrc.sgml:
28625         * docs/gst/tmpl/gstbin.sgml:
28626         * docs/gst/tmpl/gstcompat.sgml:
28627         * docs/gst/tmpl/gstfakesink.sgml:
28628         * docs/gst/tmpl/gstfakesrc.sgml:
28629         * docs/gst/tmpl/gstfilesink.sgml:
28630         * docs/gst/tmpl/gstfilesrc.sgml:
28631         * docs/gst/tmpl/gstindex.sgml:
28632         * docs/manual/appendix-quotes.xml:
28633         * gst/base/gstbasesrc.h:
28634         * gst/elements/gstfakesrc.h:
28635         * gst/gstmessage.h:
28636           start pulling in base classes and elements in our docs
28637
28638 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
28639
28640         * docs/gst/Makefile.am:
28641         * docs/libs/Makefile.am:
28642           fixed make distcheck with gtk-doc 1.3
28643
28644 2005-06-23  Wim Taymans  <wim@fluendo.com>
28645
28646         * gst/gstelement.c: (gst_element_get_state_func),
28647         (gst_element_set_state), (gst_element_change_state):
28648         When the state did not change, also report NO_PREROLL
28649         when it matters.
28650
28651 2005-06-23  Wim Taymans  <wim@fluendo.com>
28652
28653         * gst/gstpad.c: (gst_pad_event_default):
28654         * gst/gstqueue.c: (gst_queue_loop):
28655         No unsafe task pausing please.
28656
28657 2005-06-23  Wim Taymans  <wim@fluendo.com>
28658
28659         * gst/schedulers/threadscheduler.c:
28660         (gst_thread_scheduler_task_start),
28661         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
28662         Ref the task before pushing it on the threadpool. This
28663         makes sure that we have a ref when the threadfunction is
28664         actually called.
28665
28666 2005-06-23  Andy Wingo  <wingo@pobox.com>
28667
28668         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
28669         offset is greater than the file's size.
28670
28671         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
28672         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
28673         * gst/gstobject.c (gst_object_class_init): Make the class lock
28674         recursive. Wim won't let me drop deep_notify. Decodebin works
28675         again, whoopdy doo.
28676
28677         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
28678         internal pad, and hacks accordingly. Doesn't do it on the target
28679         pad because we change its caps. Probably catches all cases of
28680         interest tho.
28681         (gst_ghost_pad_set_property): Connect to notify::caps as
28682         appropritate.
28683
28684         * tests/network-clock.scm (plot-simulation): Pipe data to the
28685         elite python skript.
28686
28687         * tests/network-clock-utils.scm (define-parameter): New macro,
28688         defines a parameter that can be set via the command line.
28689         (set-parameter!, parse-parameter-arguments): Command line args
28690         parser.
28691
28692         * tests/plot-data: Simple matplotlib-based plotter, takes input on
28693         stdin.
28694
28695 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
28696
28697         * gst/elements/gsttypefindelement.c:
28698         (gst_type_find_element_handle_event):
28699           Don't restart typefinding on a discont.
28700         * gst/gstelement.c: (gst_element_set_state):
28701           Debug spelling fix.
28702         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
28703           Allow changing mode of an active pad.
28704           Debug output fixes.
28705         * gst/registries/gstlibxmlregistry.c: (load_feature):
28706           Don't cast a static pad template to a normal pad template.
28707
28708 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28709
28710         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28711         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28712           remove gst_strtoll completely, since it didn't actually do
28713           anything more than what g_ascii_strtoull already does.
28714           check for range errors when deserializing
28715           do a cast for the unsigned cases; but further fixing needs
28716           a decision on what the interpretation of "(int)" and
28717           deserialization should be for values that fall outside the
28718           type's boundaries (ie, refuse, or interpret as casting)
28719
28720 2005-06-23  Wim Taymans  <wim@fluendo.com>
28721
28722         * check/Makefile.am:
28723         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
28724         * docs/design/part-live-source.txt:
28725         * docs/design/part-states.txt:
28726         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28727         (gst_basesrc_set_live), (gst_basesrc_is_live),
28728         (gst_basesrc_get_range), (gst_basesrc_activate),
28729         (gst_basesrc_change_state):
28730         * gst/base/gstbasesrc.h:
28731         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28732         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28733         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
28734         * gst/gstelement.c: (gst_element_get_state_func),
28735         (gst_element_set_state):
28736         * gst/gstelement.h:
28737         * gst/gsttypes.h:
28738         * tools/gst-launch.c: (event_loop), (main):
28739         Added support for live sources and other elements that
28740         cannot do preroll.
28741         Updated design docs, added live-source design doc.
28742         Implemented live source functionality in basesrc
28743         Fix error condition in _bin_get_state()
28744         Implement live source handling in -launch.
28745         Added check for live sources.
28746         Fixed case in GstBin where elements were changed state
28747         multiple times.
28748
28749
28750 2005-06-23  Andy Wingo  <wingo@pobox.com>
28751
28752         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
28753         borken refcounting.
28754
28755         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
28756         gst_caps_replace takes care of this for us.
28757
28758         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
28759         gst_pad_set_caps on the target, not just its setcaps() function.
28760
28761         * tests/network-clock.scm: 
28762         * tests/network-clock-utils.scm: A network clock simulator.
28763         Something of an algorithmic testbed before doing something in C.
28764
28765 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28766
28767         * check/Makefile.am:
28768         * check/gst/capslist.h:
28769           copy over from 0.8, and add two with bitmasks specified with
28770           (int) 0xFF...
28771         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28772           add test to parse everything from capslist.h
28773         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
28774         (main):
28775           add test for structure deserialization
28776         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28777           add tests for deserialization of strings to int types
28778         * gst/gststructure.c: (gst_structure_nth_field_name):
28779         * gst/gststructure.h:
28780           add a way to get the name of a field referenced by index
28781         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28782           instead of checking if the resulting long long lies between
28783           min and max, we check if the long long would fit into
28784           a number of bytes for the final type.
28785           This fixes cases where a string represents 2^32 - 1, which
28786           when cast to int would be the (valid) -1, but is bigger than
28787           G_MAXINT
28788
28789 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28790
28791         * gst/parse/grammar.y:
28792           add a log line for type deserialization
28793
28794 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28795
28796         * check/gst/gstvalue.c: (START_TEST):
28797         * gst/gstvalue.c: (gst_value_deserialize):
28798           return long long, not int, so gint64 deserialization actually
28799           works.  Is there any flag that makes the compiler check this ?
28800           Fixes #308559
28801
28802 2005-06-22  Wim Taymans  <wim@fluendo.com>
28803
28804         * gst/gstbuffer.h:
28805         Added convenience macros for setting buffers in GValue.
28806
28807 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28808
28809         * check/gst/.cvsignore:
28810         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28811           add a test deserializing int64, and comment part out because
28812           it fails, yay !
28813
28814 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28815
28816         * check/Makefile.am:
28817         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
28818         * testsuite/Makefile.am:
28819         * testsuite/caps/Makefile.am:
28820         * testsuite/caps/value_serialize.c:
28821         * testsuite/test_gst_init.c:
28822           move a value_serialize test over
28823
28824 2005-06-20  Wim Taymans  <wim@fluendo.com>
28825
28826         * gst/gstpad.c:
28827         Small doc updates.
28828         
28829         * gst/gstvalue.c: (gst_value_compare_buffer),
28830         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
28831         (gst_value_compare_flags), (gst_value_serialize_flags),
28832         (gst_value_deserialize_flags), (_gst_value_initialize):
28833         Fix serialisation of buffers, they are not boxed types anymore
28834
28835 2005-06-20  Wim Taymans  <wim@fluendo.com>
28836
28837         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28838         Testcase to show error in buffer-on-caps serialisation.
28839
28840 2005-06-20  Andy Wingo  <wingo@pobox.com>
28841
28842         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
28843         will be adding to later.
28844
28845         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
28846         if its socks fill with rocks.
28847         (gst_system_clock_obtain): Set the name on object construction.
28848         Avoid double-checked locking.
28849
28850 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
28851
28852         * gst/gsturi.c: (gst_element_make_from_uri):
28853           Fix potential endless loop.
28854
28855 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28856
28857         * check/Makefile.am:
28858           add gsttag
28859         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
28860         (main):
28861           move over from testsuite dir and clean up
28862         * configure.ac:
28863         * gst/gsttag.c:
28864         * testsuite/Makefile.am:
28865         * testsuite/tags/.cvsignore:
28866         * testsuite/tags/Makefile.am:
28867         * testsuite/tags/merge.c:
28868           remove testsuite/tags
28869
28870 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28871
28872         * docs/gst/gstreamer-sections.txt:
28873         * docs/gst/tmpl/gstenumtypes.sgml:
28874         * win32/gstenumtypes.c:
28875           clean up documentation build a little
28876
28877 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28878
28879         * check/gstcheck.h:
28880           add macros for checking refcounts on objects and caps
28881         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
28882           add some more unit tests
28883         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
28884         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
28885           fix leaked refcounts (I hope :)) so unittest works
28886         * gst/gstpad.h:
28887           whitespace removal
28888
28889 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28890
28891         * configure.ac: back to HEAD
28892
28893 === release 0.9.1 ===
28894
28895 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28896
28897         * NEWS:
28898         * RELEASE:
28899           updated
28900
28901 2005-06-17  Andy Wingo  <wingo@pobox.com>
28902
28903         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
28904         assert; it's always possible that the pad gets deactivated in
28905         between the checks in gstpad.c and the implementation. Rely on
28906         finish_preroll() to return a FLUSHING or similar instead of on the
28907         assert.
28908         
28909         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
28910         clock and post an EOS message if we come out of finish_preroll in
28911         the playing state.
28912
28913 2005-06-16  David Schleef  <ds@schleef.org>
28914
28915         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
28916         (gst_capsfilter_set_property): Allow NULL as possible value
28917         for filter_caps property, indicating GST_CAPS_ANY.
28918
28919 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28920
28921         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
28922           fix debug output
28923         * gst/schedulers/Makefile.am:
28924           use libgst prefix
28925         * gstreamer.spec.in:
28926           fix spec for it
28927
28928 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28929
28930         * gstreamer.spec.in:
28931           clean up
28932
28933 2005-06-08  Andy Wingo  <wingo@pobox.com>
28934
28935         * gst/gstutils.c: RPAD fixes all around.
28936         (gst_element_link_pads): Refcounting fixes.
28937
28938         * tools/gst-inspect.c:
28939         * tools/gst-xmlinspect.c:
28940         * parse/grammar.y:
28941         * gst/base/gsttypefindhelper.c:
28942         * gst/base/gstbasesink.c:
28943         * gst/gstqueue.c: RPAD fixes.
28944
28945         * gst/gstghostpad.h:
28946         * gst/gstghostpad.c: New ghost pad implementation as full proxy
28947         pads. The tricky thing is they provide both source and sink
28948         interfaces, since they proxy the internal pad for the external
28949         pad, and vice versa. Implement with lower-level ProxyPad objects,
28950         with the interior proxy pad as a child of the exterior ghost pad.
28951         Should write a doc on this.
28952         
28953         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
28954         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
28955         gst_object API.
28956         
28957         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
28958         pads are real pads. No ghost pads in this file. Not documenting
28959         the myriad s/RPAD/PAD/ and REALIZE fixes.
28960         (gst_pad_class_init): Add properties for "direction" and
28961         "template". Both are construct-only, so they can't change during
28962         the life of the pad. Fixes properly deriving from GstPad.
28963         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
28964         derived objects, just set properties when creating the objects via
28965         g_object_new.
28966         (gst_pad_get_parent): Implement as a function, return NULL if the
28967         parent is not an element.
28968         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
28969         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
28970         
28971         * gst/gstobject.c (gst_object_class_init): Make name a construct
28972         property. Don't set it in the object init.
28973
28974         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
28975         with UNKNOWN direction.
28976         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
28977         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
28978         (gst_element_remove_pad): Remove ghost-pad special cases.
28979         (gst_element_pads_activate): Remove rpad cruft.
28980
28981         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
28982         catch the pad's-parent-not-an-element case.
28983
28984         * gst/gst.h: Include gstghostpad.h.
28985
28986         * gst/gst.c (init_post): No more real, ghost pads.
28987
28988         * gst/Makefile.am: Add gstghostpad.[ch].
28989
28990         * check/Makefile.am:
28991         * check/gst/gstbin.c:
28992         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
28993         into a bin creates ghost pads, and that the refcounts are right.
28994         Partly moved from gstbin.c.
28995
28996 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28997
28998         * check/gst-libs/.cvsignore:
28999         * check/gst/.cvsignore:
29000         * check/pipelines/.cvsignore:
29001           ignore more
29002         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29003         (START_TEST), (cleanup_suite), (main):
29004           add some tests related to cleanup after running pipelines
29005
29006 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29007
29008         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29009           add a testsuite for GstBuffer
29010
29011 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29012
29013         * gst/gstminiobject.h:
29014           add defines for accessing the refcount
29015
29016 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29017
29018         * Makefile.am: added support for html unit test coverage reports
29019
29020 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29021
29022         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29023           Free existing caps if the capsfilter changes. Add a FIXME about
29024           setting those caps on the pads.
29025
29026         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29027           Before adding a ghost pad to a parent bin, check that there isn't
29028           already one for the element on the bin. Prevents infinite recursion
29029           when using decodebin in parse pipelines. Andy says he'll rewrite the
29030           way this works anyway, so ignore the hack.
29031
29032 2005-06-02  Andy Wingo  <wingo@pobox.com>
29033
29034         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29035         file size, pass it on to the type find helper.
29036
29037         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29038         segment_start and segment_end properly according to the seek
29039         method. Segment_end is still a bit flaky because offset can be
29040         negative for CUR and END cases, but it takes -1 as an "unset"
29041         value.
29042
29043 2005-06-02  Wim Taymans  <wim@fluendo.com>
29044
29045         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29046         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29047         (gst_basesink_activate):
29048         * gst/base/gstbasesink.h:
29049         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29050         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29051         (gst_pad_query), (gst_pad_start_task):
29052         * gst/gstpad.h:
29053         * gst/gstqueue.c: (gst_queue_bufferalloc),
29054         (gst_queue_handle_sink_event), (gst_queue_chain):
29055         Bufferalloc: return GstFlowReturn to more accuratly report
29056         why allocation failed.
29057
29058 2005-06-02  Wim Taymans  <wim@fluendo.com>
29059
29060         * gst/gstpipeline.c: (gst_pipeline_send_event):
29061         Take snapshot of state without blocking.
29062
29063 2005-06-02  Wim Taymans  <wim@fluendo.com>
29064
29065         * docs/design/part-TODO.txt:
29066         * docs/design/part-caps.txt:
29067         * docs/design/part-clocks.txt:
29068         * docs/design/part-negotiation.txt:
29069         * docs/design/part-preroll.txt:
29070         Small doc updates 
29071
29072 2005-05-30  Wim Taymans  <wim@fluendo.com>
29073
29074         * gst/elements/gstidentity.c: (gst_identity_event),
29075         (gst_identity_transform), (gst_identity_get_property):
29076         Protect last_message property as it is accessed from
29077         multiple threads.
29078
29079 2005-05-30  Wim Taymans  <wim@fluendo.com>
29080
29081         * gst/gstelement.c: (gst_element_init),
29082         (gst_element_pads_activate), (gst_element_change_state):
29083         Slicker pad activation code.
29084
29085 2005-05-30  Wim Taymans  <wim@fluendo.com>
29086
29087         * gst/Makefile.am:
29088         * gst/gstelement.h:
29089         * gst/gstelementfactory.h:
29090         * gst/gsttypes.h:
29091         Move elementfactory methods to separate .h file.
29092
29093 2005-05-30  Wim Taymans  <wim@fluendo.com>
29094
29095         * docs/design/part-overview.txt:
29096         * gst/gstsystemclock.h:
29097         Small typo fixes, doc updates.
29098
29099 2005-05-30  Wim Taymans  <wim@fluendo.com>
29100
29101         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29102         (init_popt_callback):
29103         Remove cpu-opt flag.
29104
29105 2005-05-30  Wim Taymans  <wim@fluendo.com>
29106
29107         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29108         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29109         * gst/gstbuffer.h:
29110         Avoid typechecking in places where not needed.
29111         Added accessor for malloc_data.
29112
29113 2005-05-30  Wim Taymans  <wim@fluendo.com>
29114
29115         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29116         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29117         (gst_pad_configure_sink), (gst_pad_configure_src),
29118         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29119         (gst_pad_start_task):
29120         Propagate errors from _set_caps() in configure_src/sink
29121         functions instead of returning TRUE.
29122         FLUSH events can travel up and downstream
29123
29124
29125 2005-05-30  Wim Taymans  <wim@fluendo.com>
29126
29127         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29128         (gst_basesink_activate):
29129         Handle EOS in preroll.
29130
29131 2005-05-30  Wim Taymans  <wim@fluendo.com>
29132
29133         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29134         (gst_queue_loop), (gst_queue_handle_src_event):
29135         Remove old pieces of code
29136         Flushing the queue in an upstream event is a very bad idea.
29137
29138 2005-05-26  Andy Wingo  <wingo@pobox.com>
29139
29140         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29141         gst_value_set_mini_object so as to add a ref on the object (which
29142         will be removed when the value is unset).
29143
29144         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29145         arg type in ::handoff.
29146
29147         * gst/gstelement.c (gst_element_change_state): Also deactivate
29148         pads in READY->NULL, just in case the element didn't make it to
29149         PAUSED. Wingo tested, Wim approved.
29150
29151 2005-05-26  Wim Taymans  <wim@fluendo.com>
29152
29153         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29154         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29155         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29156         A flushing pad cannot be used to alloc_buffer from.
29157
29158 2005-05-26  Wim Taymans  <wim@fluendo.com>
29159
29160         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29161         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29162         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29163         (gst_bus_create_watch), (gst_bus_add_watch_full):
29164         * gst/gstbus.h:
29165         Implement a real GSource and use g_main_context_wakeup() to
29166         signal new messages instead of the socketpair.
29167
29168 2005-05-25  Wim Taymans  <wim@fluendo.com>
29169
29170         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29171         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29172         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29173         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29174         (gst_pad_send_event), (gst_pad_start_task):
29175         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29176         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29177         (gst_queue_sink_activate), (gst_queue_src_activate),
29178         (gst_queue_change_state):
29179         * gst/gstqueue.h:
29180         Fix state changes for non sinks. We now change sinks, then elements
29181         with unconnected srcpads, then the rest.
29182         More efficient queue unlocking in flush and state changes.
29183         Set the pad activate mode even if it does not have an activate
29184         function.
29185
29186 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29187
29188         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29189           Don't go in pull mode for non-seekable sources.
29190         * gst/elements/gsttypefindelement.h:
29191         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29192         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29193         (free_entry), (stop_typefinding),
29194         (gst_type_find_element_handle_event), (find_peek),
29195         (gst_type_find_element_chain), (do_pull_typefind),
29196         (gst_type_find_element_change_state):
29197           Allow typefinding (w/o seeking) in push-mode, simplified version
29198           of what was in 0.8.
29199         * gst/gstutils.c: (gst_buffer_join):
29200         * gst/gstutils.h:
29201           gst_buffer_join() from 0.8.
29202
29203 2005-05-25  Wim Taymans  <wim@fluendo.com>
29204
29205         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29206         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29207         (gst_pad_send_event), (gst_pad_start_task):
29208         Disable attempt at mode switching until it is figured out.
29209
29210 2005-05-25  Wim Taymans  <wim@fluendo.com>
29211
29212         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29213         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29214         (gst_basesink_finish_preroll), (gst_basesink_chain),
29215         (gst_basesink_loop), (gst_basesink_activate),
29216         (gst_basesink_change_state):
29217         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29218         (gst_basesrc_get_range), (gst_basesrc_loop),
29219         (gst_basesrc_activate):
29220         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29221         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29222         (gst_real_pad_init), (gst_real_pad_set_property),
29223         (gst_real_pad_get_property), (gst_pad_set_active),
29224         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29225         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29226         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29227         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29228         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29229         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29230         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29231         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29232         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29233         (gst_pad_stop_task):
29234         * gst/gstpad.h:
29235         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29236         (gst_queue_loop), (gst_queue_src_activate):
29237         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29238         (gst_task_get_state):
29239         * gst/gsttask.h:
29240         * gst/schedulers/threadscheduler.c:
29241         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29242         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29243         in task function.
29244         Remove ACTIVE pad flag, use FLUSHING everywhere
29245         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29246         functions.
29247         Add locks around IS_FLUSHING when reading.
29248         Take STREAM lock in chain(), get_range() functions so plugins
29249         don't need to take it anymore.
29250         
29251
29252
29253 2005-05-25  Wim Taymans  <wim@fluendo.com>
29254
29255         * tools/gst-launch.c: (event_loop):
29256         Unref message after using its contents instead of
29257         before.
29258
29259 2005-05-24  Wim Taymans  <wim@fluendo.com>
29260
29261         * docs/design/draft-ghostpads.txt:
29262         * docs/design/draft-push-pull.txt:
29263         * docs/design/draft-query.txt:
29264         * docs/design/part-overview.txt:
29265         Docs updates, added general overview doc.
29266
29267 2005-05-21  David Schleef  <ds@schleef.org>
29268
29269         * docs/gst/tmpl/old/GstBin.sgml:
29270         * docs/gst/tmpl/old/GstBuffer.sgml:
29271         * docs/gst/tmpl/old/GstCaps.sgml:
29272         * docs/gst/tmpl/old/GstClock.sgml:
29273         * docs/gst/tmpl/old/GstCompat.sgml:
29274         * docs/gst/tmpl/old/GstData.sgml:
29275         * docs/gst/tmpl/old/GstElement.sgml:
29276         * docs/gst/tmpl/old/GstEvent.sgml:
29277         * docs/gst/tmpl/old/GstIndex.sgml:
29278         * docs/gst/tmpl/old/GstStructure.sgml:
29279         * docs/gst/tmpl/old/GstTag.sgml:
29280         * docs/gst/tmpl/old/cothreads.sgml:
29281         * docs/gst/tmpl/old/cothreads_compat.sgml:
29282         * docs/gst/tmpl/old/gettext.sgml:
29283         * docs/gst/tmpl/old/gobject2gtk.sgml:
29284         * docs/gst/tmpl/old/grammar.tab.sgml:
29285         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29286         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29287         * docs/gst/tmpl/old/gst_private.sgml:
29288         * docs/gst/tmpl/old/gstaggregator.sgml:
29289         * docs/gst/tmpl/old/gstarch.sgml:
29290         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29291         * docs/gst/tmpl/old/gstbufferstore.sgml:
29292         * docs/gst/tmpl/old/gstdata_private.sgml:
29293         * docs/gst/tmpl/old/gstdisksink.sgml:
29294         * docs/gst/tmpl/old/gstdisksrc.sgml:
29295         * docs/gst/tmpl/old/gstelementfactory.sgml:
29296         * docs/gst/tmpl/old/gstextratypes.sgml:
29297         * docs/gst/tmpl/old/gstfakesink.sgml:
29298         * docs/gst/tmpl/old/gstfakesrc.sgml:
29299         * docs/gst/tmpl/old/gstfdsink.sgml:
29300         * docs/gst/tmpl/old/gstfdsrc.sgml:
29301         * docs/gst/tmpl/old/gstfilesink.sgml:
29302         * docs/gst/tmpl/old/gstfilesrc.sgml:
29303         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29304         * docs/gst/tmpl/old/gstidentity.sgml:
29305         * docs/gst/tmpl/old/gstindexfactory.sgml:
29306         * docs/gst/tmpl/old/gstmarshal.sgml:
29307         * docs/gst/tmpl/old/gstmd5sink.sgml:
29308         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29309         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29310         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29311         * docs/gst/tmpl/old/gstpipefilter.sgml:
29312         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29313         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29314         * docs/gst/tmpl/old/gstshaper.sgml:
29315         * docs/gst/tmpl/old/gstspider.sgml:
29316         * docs/gst/tmpl/old/gstspideridentity.sgml:
29317         * docs/gst/tmpl/old/gststatistics.sgml:
29318         * docs/gst/tmpl/old/gsttee.sgml:
29319         * docs/gst/tmpl/old/gsttimecache.sgml:
29320         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29321         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29322         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29323         * docs/gst/tmpl/old/types.sgml:
29324           I didn't intend to add these or check them in.
29325
29326 2005-05-19  David Schleef  <ds@schleef.org>
29327
29328         * configure.ac: Use -no-common everywhere.  In a sane world, it
29329           would be the default in libtool, because without it, you can't
29330           build DLLs on Windows.
29331         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29332         * docs/gst/gstreamer-sections.txt:
29333         * docs/gst/tmpl/gstcpu.sgml:
29334         * docs/gst/tmpl/gstdata.sgml:
29335         * docs/gst/tmpl/gstthread.sgml:
29336
29337 2005-05-19  David Schleef  <ds@schleef.org>
29338
29339         * gst/gstminiobject.c: (gst_value_set_mini_object),
29340         (gst_value_take_mini_object), (gst_value_get_mini_object):
29341         * gst/gstminiobject.h: Add GValue set/get functions.
29342
29343 2005-05-19  Wim Taymans  <wim@fluendo.com>
29344
29345         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29346         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29347         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29348         * gst/gstbuffer.h:
29349         * gst/gstbus.c: (gst_bus_post):
29350         * gst/gstelement.c: (gst_element_get_random_pad):
29351         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29352         Make subbufer unref the parent in finalize.
29353         some more debugging info.
29354
29355
29356 2005-05-19  Wim Taymans  <wim@fluendo.com>
29357
29358         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29359         (gst_basesink_init), (gst_basesink_finalize),
29360         (gst_basesink_activate), (gst_basesink_change_state):
29361         Don't free preroll queue too early.
29362
29363 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29364
29365         * gst/Makefile.am:
29366         * gst/ROADMAP:
29367           Hi, I'm outdated. Please shoot me.
29368
29369 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29370
29371         * gst/gstpipeline.c: (gst_pipeline_send_event):
29372           Do not access variables after they have been deleted.
29373
29374 2005-05-19  Wim Taymans  <wim@fluendo.com>
29375
29376         * tools/gst-inspect.c: (print_plugin_features):
29377         A plugin feature does unfortunatly not use the
29378         object name yet...
29379
29380 2005-05-18  Wim Taymans  <wim@fluendo.com>
29381
29382         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29383         Port _span() functions to new subbuffers.
29384
29385 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29386
29387         * gst/gstbin.c: (gst_bin_add_func):
29388           Fix clock settery in bins when adding kids after the clock has
29389           been selected.
29390
29391 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29392
29393         * gst/elements/gstidentity.c: (gst_identity_class_init):
29394           Workaround until signals support GstMiniObject.
29395
29396 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29397
29398         * gst/gstbuffer.c:
29399         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29400
29401 2005-05-18  Wim Taymans  <wim@fluendo.com>
29402
29403         * gst/base/Makefile.am:
29404         * gst/base/gstadapter.c: (gst_adapter_base_init),
29405         (gst_adapter_class_init), (gst_adapter_init),
29406         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29407         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29408         (gst_adapter_flush), (gst_adapter_available),
29409         (gst_adapter_available_fast):
29410         * gst/base/gstadapter.h:
29411         Ported and added adapter to the base classes.
29412
29413 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29414
29415         * gst/gst.c:
29416         * gst/gstmessage.c:
29417           Make sure the class is reffed/unreffed once before threads can be
29418           used.  Fixes #304551.
29419
29420 2005-05-17  Wim Taymans  <wim@fluendo.com>
29421
29422         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29423         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29424         * gst/gstminiobject.c: (gst_mini_object_get_type),
29425         (gst_mini_object_free):
29426         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29427         (gst_pad_push), (gst_pad_push_event):
29428         * gst/gstqueue.c: (gst_queue_change_state):
29429         Don't queue buffers in basesink when we are flushing.
29430         Unref buffer when flushing in basesink.
29431         Flush queue when going to READY
29432         Unref buffer when _push() returns an error.
29433         Don't free MiniObject instance when refcount is incremented
29434         in _finalize() so that we can recover objects.
29435
29436 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29437
29438         * docs/manual/advanced-schedulers.xml:
29439         * docs/manual/appendix-checklist.xml:
29440         * docs/pwg/advanced-clock.xml:
29441         * docs/pwg/advanced-interfaces.xml:
29442         * docs/pwg/advanced-request.xml:
29443         * docs/pwg/advanced-types.xml:
29444         * docs/pwg/intro-preface.xml:
29445         * examples/plugins/example.c: (gst_example_get_type),
29446         (gst_example_class_init), (gst_example_chain),
29447         (gst_example_set_property), (gst_example_get_property),
29448         (gst_example_change_state), (plugin_init):
29449         * examples/plugins/example.h:
29450           small doc fixes
29451
29452 2005-05-17  Wim Taymans  <wim@fluendo.com>
29453
29454         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29455         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29456         * gst/gstqueue.c: (gst_queue_change_state):
29457         Clear queue when going to READY.
29458         Remove IN_SETCAPS flag too.
29459
29460 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
29461
29462         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29463           Remove implicit cast from gboolean to GstElementStateReturn;
29464           make sure we still return failure in paused => ready case if
29465           the parent class fails to change state and our own stop 
29466           vfunc succeeds.
29467
29468 2005-05-17  Wim Taymans  <wim@fluendo.com>
29469
29470         * tools/gst-launch.c: (event_loop):
29471         Message was unreffed too soon.
29472
29473 2005-05-16  Andy Wingo  <wingo@pobox.com>
29474
29475         * gst/gstbin.c (sink_iterator_filter): Err... um...
29476
29477         * check/gst/gstbin.c (test_ghost_pads): New test for the
29478         ghosting-if-elements-not-in-same-bin behavior.
29479
29480 2005-05-16  David Schleef  <ds@schleef.org>
29481
29482         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29483         accessing refcount directly.
29484
29485 2005-05-15  David Schleef  <ds@schleef.org>
29486
29487         * check/Makefile.am: remove GstData checks
29488         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29489         * gst/Makefile.am: add miniobject, remove data
29490         * gst/gst.h: add miniobject, remove data
29491         * gst/gstdata.c: remove
29492         * gst/gstdata.h: remove
29493         * gst/gstdata_private.h: remove
29494         * gst/gsttypes.h: remove GstEvent and GstMessage
29495         * gst/gstelement.c: (gst_element_post_message): fix for API changes
29496         * gst/gstmarshal.list: change BOXED -> OBJECT
29497
29498         Implement GstMiniObject.
29499         * gst/gstminiobject.c:
29500         * gst/gstminiobject.h:
29501
29502         Modify to be subclasses of GstMiniObject.
29503         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29504         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29505         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29506         (gst_subbuffer_get_type), (gst_subbuffer_init),
29507         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29508         (gst_buffer_span):
29509         * gst/gstbuffer.h:
29510         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29511         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29512         (_gst_event_copy), (gst_event_new):
29513         * gst/gstevent.h:
29514         * gst/gstmessage.c: (_gst_message_initialize),
29515         (gst_message_get_type), (gst_message_class_init),
29516         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29517         (gst_message_new), (gst_message_new_error),
29518         (gst_message_new_warning), (gst_message_new_tag),
29519         (gst_message_new_state_changed), (gst_message_new_application):
29520         * gst/gstmessage.h:
29521         * gst/gstprobe.c: (gst_probe_perform),
29522         (gst_probe_dispatcher_dispatch):
29523         * gst/gstprobe.h:
29524         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29525         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29526         (_gst_query_copy), (gst_query_new):
29527
29528         Update elements for GstData -> GstMiniObject changes
29529         * gst/gstquery.h:
29530         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29531         (gst_queue_chain), (gst_queue_loop):
29532         * gst/elements/gstbufferstore.c:
29533         (gst_buffer_store_add_buffer_func),
29534         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29535         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29536         (gst_fakesink_render):
29537         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29538         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29539         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29540         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29541         (gst_filesrc_create_read):
29542         * gst/elements/gstidentity.c: (gst_identity_class_init):
29543         * gst/elements/gsttypefindelement.c:
29544         (gst_type_find_element_src_event), (free_entry_buffers),
29545         (gst_type_find_element_handle_event):
29546         * libs/gst/dataprotocol/dataprotocol.c:
29547         (gst_dp_header_from_buffer):
29548         * libs/gst/dataprotocol/dataprotocol.h:
29549         * libs/gst/dataprotocol/dp-private.h:
29550
29551 2005-05-15  David Schleef  <ds@schleef.org>
29552
29553         * gst/elements/gstelements.c: Don't include headers that were
29554         just removed.
29555
29556 2005-05-15  David Schleef  <ds@schleef.org>
29557
29558         * gst/elements/Makefile.am: Remove some elements that don't
29559         need to be in the core (or even exist at all).
29560         * gst/elements/gstaggregator.c:
29561         * gst/elements/gstaggregator.h:
29562         * gst/elements/gstmd5sink.c:
29563         * gst/elements/gstmd5sink.h:
29564         * gst/elements/gstmultifilesrc.c:
29565         * gst/elements/gstmultifilesrc.h:
29566         * gst/elements/gstpipefilter.c:
29567         * gst/elements/gstpipefilter.h:
29568         * gst/elements/gstshaper.c:
29569         * gst/elements/gstshaper.h:
29570         * gst/elements/gststatistics.c:
29571         * gst/elements/gststatistics.h:
29572         * po/POTFILES.in: Remove above files.
29573
29574 2005-05-14  Andy Wingo  <wingo@pobox.com>
29575
29576         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29577         so as to get the refs right.
29578         (sink_iterator_filter): New function, wraps bin_element_is_sink,
29579         unreffing objects that don't pass the filter.
29580
29581         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29582         gst_element_set_bus.
29583         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29584         normal cases, this will destroy the bus.
29585
29586         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29587         object.
29588
29589         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29590         has no sinks.
29591
29592 2005-05-13  Andy Wingo  <wingo@pobox.com>
29593
29594         * gst/gstutils.c (gst_element_link_pads): Instead of calling
29595         gst_pad_link, call pad_link_maybe_ghosting,
29596         (pad_link_maybe_ghosting): Links pads, making sure that the
29597         elements being linked are in the same bin.
29598         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29599         Helpers for pad_link_maybe_ghosting.
29600
29601 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29602
29603         * configure.ac:
29604           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29605
29606 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29607
29608         * docs/design/part-element-source.txt:
29609           Mention GstPushSrc
29610
29611 2005-05-12  Wim Taymans  <wim@fluendo.com>
29612
29613         * gst/base/gstbasesink.c: (gst_basesink_init),
29614         (gst_basesink_activate):
29615         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29616         (gst_basesrc_is_seekable):
29617         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29618         (bin_element_is_sink), (gst_bin_change_state):
29619         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29620         * gst/gstelement.h:
29621         Identify sinks by their flag to avoid overly complicated
29622         checks (fow now).
29623         Do state changes even for elements not reachable from the
29624         sinks.
29625         BaseSink is a sink now :)
29626         Some more debugging info in the basesrc.
29627
29628
29629 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29630
29631         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29632           Implement _query on a bin, similar to _send_event.
29633
29634 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
29635
29636         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29637           Discont event offset format should be GST_FORMAT_BYTES,
29638           not GST_FORMAT_TIME.
29639
29640 2005-05-12  Wim Taymans  <wim@fluendo.com>
29641
29642         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
29643         Same fix as Ronald's but without the signal. 
29644
29645 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29646
29647         * gst/gstutils.c: (gst_element_query_position):
29648           No, an element is not a pad.
29649
29650 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29651
29652         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
29653         (gst_bin_get_state):
29654           If a child is removed from a bin while we remove the child from
29655           the bin and while we're retrieving its state, signal this to the
29656           get_state function so we abort the wait (instead of waiting for
29657           a timeout) and can immediately re-iterate over all other elements.
29658
29659 2005-05-12  Wim Taymans  <wim@fluendo.com>
29660
29661         * gst/base/Makefile.am:
29662         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
29663         (gst_basesrc_start):
29664         * gst/base/gstbasesrc.h:
29665         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
29666         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
29667         (gst_pushsrc_init), (gst_pushsrc_create):
29668         * gst/base/gstpushsrc.h:
29669         Added is_seekable to BaseSrc
29670         Added simple PushSrc.
29671
29672 2005-05-11  Wim Taymans  <wim@fluendo.com>
29673
29674         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29675         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29676         (gst_element_link_pads), (gst_element_query_position),
29677         (gst_element_query_convert), (intersect_caps_func),
29678         (gst_pad_query_position), (gst_pad_query_convert):
29679         Fix refcounting in utils function.
29680         No point in trying to activate a pad when it's added, it could
29681         be added from the state change function and then we deadlock, the
29682         element has to decide what to do.
29683
29684 2005-05-10  Andy Wingo  <wingo@pobox.com>
29685
29686         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
29687         *all* the arguments.
29688
29689         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
29690         stream lock if it's a FLUSH_DONE; normal flushes don't get the
29691         lock (according to the docs -- if this is wrong change the docs).
29692
29693         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
29694         flush messages in the NULL state.
29695
29696         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
29697         message immediately and return.
29698         (gst_bus_set_flushing): New function. If a bus is flushing, it
29699         flushes out any queued messages and immediately unrefs new
29700         messages. This is so when an element goes to NULL, all of the
29701         unhandled messages coming from it can be freed, and their
29702         references to the element dropped. In other words: message source
29703         ref considered harmful :P
29704
29705         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
29706         we're finished with it.
29707
29708         * gst/gstmessage.c (gst_message_new_state_changed): 
29709
29710 2005-05-10  Wim Taymans  <wim@fluendo.com>
29711
29712         * gst/gstvalue.c: (gst_value_compare_flags),
29713         (gst_value_serialize_flags), (gst_value_deserialize_flags),
29714         (_gst_value_initialize):
29715         Added flags serialize/deserialize/compare code.
29716
29717 2005-05-09  Andy Wingo  <wingo@pobox.com>
29718
29719         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
29720         Intersect the peer's caps with our caps.
29721
29722 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29723
29724         * gst/base/gsttypefindhelper.c: (helper_find_peek):
29725         * gst/elements/gsttypefindelement.c: (find_peek):
29726           Handle negative offsets better. Fixes decodebin.
29727
29728 2005-05-09  Wim Taymans  <wim@fluendo.com>
29729
29730         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
29731         (gst_base_transform_event):
29732         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
29733         Implement accept_caps.
29734         Fix silly lock/unlock mismatch in base class.
29735
29736 2005-05-09  Wim Taymans  <wim@fluendo.com>
29737
29738         * docs/design/draft-push-pull.txt:
29739         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
29740         * gst/elements/gstfilesink.c: (gst_filesink_init),
29741         (gst_filesink_query):
29742         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29743         (gst_type_find_handle_src_query), (find_element_get_length):
29744         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
29745         * gst/gstelement.h:
29746         * gst/gstmessage.c:
29747         * gst/gstmessage.h:
29748         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
29749         (gst_real_pad_get_caps_unlocked),
29750         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
29751         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29752         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
29753         (gst_real_pad_dispose), (gst_real_pad_finalize),
29754         (gst_pad_load_and_link), (gst_pad_save_thyself),
29755         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
29756         (gst_pad_check_pull_range), (gst_pad_pull_range),
29757         (gst_pad_template_get_type), (gst_pad_template_class_init),
29758         (gst_pad_template_init), (gst_pad_template_dispose),
29759         (name_is_valid), (gst_static_pad_template_get),
29760         (gst_pad_template_new), (gst_static_pad_template_get_caps),
29761         (gst_pad_template_get_caps), (gst_pad_set_element_private),
29762         (gst_pad_get_element_private), (gst_pad_start_task),
29763         (gst_pad_pause_task), (gst_pad_stop_task),
29764         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
29765         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
29766         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
29767         (gst_ghost_pad_new):
29768         * gst/gstpad.h:
29769         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
29770         (gst_query_new_position), (gst_query_set_position),
29771         (gst_query_parse_position), (gst_query_new_convert),
29772         (gst_query_set_convert), (gst_query_parse_convert):
29773         * gst/gstquery.h:
29774         * gst/gstqueryutils.c:
29775         * gst/gstqueryutils.h:
29776         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29777         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29778         (gst_queue_handle_src_query):
29779         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29780         (gst_element_query_position), (gst_element_query_convert),
29781         (intersect_caps_func), (gst_pad_query_position),
29782         (gst_pad_query_convert):
29783         * gst/gstutils.h:
29784         * tools/gst-inspect.c: (print_pad_info):
29785         * tools/gst-xmlinspect.c: (print_element_info):
29786         Remove old query functions. Ported old code.
29787         Added position/convert helper functions to gstutils.
29788         Reordered gstpad.c code, grouping relevant things.
29789         Remove gst_message_new(), always need to speficy a specific
29790         message.
29791
29792
29793 2005-05-09  Andy Wingo  <wingo@pobox.com>
29794
29795         * gst/gstiterator.h: Add some includes.
29796
29797         * gst/gstqueryutils.h: Include more headers.
29798
29799         * gst/gstpad.h:
29800         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
29801         some uses of gst_pad_query.
29802
29803         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
29804         NULL out parameters.
29805         (gst_query_new_position): New proc, allocates a new position
29806         query.
29807
29808         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
29809         gstqueryutils.c to the build.
29810
29811         * gst/gststructure.c (gst_structure_set_valist): Implement with
29812         the generic G_VALUE_COLLECT.
29813         
29814 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
29815
29816         * gst/Makefile.am: (gst_headers):
29817         Added gstqueryutils.h to the list of headers to install, that was
29818         a 'nachty' move wingo :)
29819
29820 2005-05-06  Andy Wingo  <wingo@pobox.com>
29821
29822         * gst/gstquery.h
29823         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
29824         GstData, init a memchunk.
29825         (standard_definitions): Add a few query types, deprecate a few.
29826         (gst_query_get_type): New proc.
29827         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
29828         implementation.
29829         (gst_query_new_application, gst_query_get_structure): New public
29830         procs.
29831
29832         * docs/design/draft-query.txt: Removed LINKS from the query types,
29833         because all the rest can be dispatched to other pads -- seemed
29834         ugly to have a query that couldn't be dispatched. internal_links
29835         is fine as a pad method.
29836
29837         * gst/gstpad.h: Add query2 as a pad method, add the new functions
29838         in gstpad.c, but maintain binary compatibility for the moment.
29839         Will fix before 0.9 is out.
29840
29841         * gst/gstqueryutils.c: 
29842         * gst/gstqueryutils.h: New files, implement 3 methods for each
29843         query type: parse_query, parse_response, and set. Probably need an
29844         allocator as well.
29845
29846         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
29847
29848         * gst/elements/gstfilesink.c (gst_filesink_query2):
29849         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
29850         query_types, and formats methods.
29851
29852         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
29853         (gst_pad_set_query2_function): New functions.
29854         (gst_real_pad_init): Set query2_default as the default query2
29855         function. Basically just dispatches to internally linked pads.
29856
29857         Needs review!
29858         
29859         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
29860         without using the atomic operations. Only one thread can possibly
29861         be accessing the data at this point. Changed so as to avoid
29862         gst_atomic operations.
29863
29864 2005-05-06  Wim Taymans  <wim@fluendo.com>
29865
29866         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
29867         Also set caps if we use the fallback buffer alloc.
29868
29869 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
29870
29871         * docs/gst/Makefile.am:
29872         * docs/gst/gstreamer-docs.sgml:
29873         * docs/gst/gstreamer-sections.txt:
29874         * docs/gst/tmpl/gstatomic.sgml:
29875         * docs/gst/tmpl/gstmemchunk.sgml:
29876         * testsuite/elements/struct_i386.h:
29877         * win32/GStreamer.vcproj:
29878         * win32/Makefile:
29879           Purge GstAtomic stuff from docs and win32 makefiles as well
29880
29881 2005-05-06  Wim Taymans  <wim@fluendo.com>
29882
29883         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
29884         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
29885         * gst/gstpad.c: (gst_pad_peer_get_caps):
29886         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29887         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29888         (gst_queue_src_activate), (gst_queue_change_state):
29889         * gst/gstqueue.h:
29890         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29891         (intersect_caps_func):
29892         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
29893         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
29894         Some fixes for the peer_get_caps() change.
29895
29896 2005-05-06  Wim Taymans  <wim@fluendo.com>
29897
29898         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29899         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
29900         (gst_basesink_activate):
29901         Actually do something with error codes returned from the push
29902         functions.
29903
29904 2005-05-06  Wim Taymans  <wim@fluendo.com>
29905
29906         * docs/design/part-element-sink.txt:
29907         * docs/design/part-element-source.txt:
29908         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29909         (gst_basesink_event), (gst_basesink_activate):
29910         * gst/base/gstbasesink.h:
29911         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
29912         (gst_basesrc_activate):
29913         * gst/base/gstbasesrc.h:
29914         * gst/gstelement.c: (gst_element_pads_activate):
29915         Some more documentation.
29916         Fixed scheduling decision in _pads_activate().
29917
29918 2005-05-05  Andy Wingo  <wingo@pobox.com>
29919
29920         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
29921         the test suite.
29922
29923 2005-05-05  Wim Taymans  <wim@fluendo.com>
29924
29925         * gst/base/Makefile.am:
29926         * gst/base/gstbasesink.h:
29927         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29928         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
29929         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
29930         (gst_collectpads_class_init), (gst_collectpads_init),
29931         (gst_collectpads_finalize), (gst_collectpads_new),
29932         (gst_collectpads_set_function), (gst_collectpads_add_pad),
29933         (find_pad), (gst_collectpads_remove_pad),
29934         (gst_collectpads_is_active), (gst_collectpads_collect),
29935         (gst_collectpads_collect_range), (gst_collectpads_start),
29936         (gst_collectpads_stop), (gst_collectpads_peek),
29937         (gst_collectpads_pop), (gst_collectpads_available),
29938         (gst_collectpads_read), (gst_collectpads_flush),
29939         (gst_collectpads_chain):
29940         * gst/base/gstcollectpads.h:
29941         * gst/elements/Makefile.am:
29942         * gst/elements/gstelements.c:
29943         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29944         (gst_fakesink_get_times), (gst_fakesink_event),
29945         (gst_fakesink_preroll), (gst_fakesink_render):
29946         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
29947         (gst_filesink_init), (gst_filesink_set_location),
29948         (gst_filesink_open_file), (gst_filesink_close_file),
29949         (gst_filesink_pad_query), (gst_filesink_event),
29950         (gst_filesink_render), (gst_filesink_change_state):
29951         * gst/elements/gstfilesink.h:
29952         Added object to help in making collect pad based elements.
29953         Ported filesink.
29954         Make event function in sink baseclass return gboolean.
29955
29956 2005-05-05  Wim Taymans  <wim@fluendo.com>
29957
29958         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
29959         (gst_bin_get_by_name):
29960         * gst/gstbuffer.h:
29961         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
29962         (gst_clock_finalize):
29963         * gst/gstdata.c: (gst_data_replace):
29964         * gst/gstdata.h:
29965         * gst/gstelement.c: (gst_element_request_pad),
29966         (gst_element_pads_activate):
29967         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
29968         (gst_object_unref):
29969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29970         (gst_pad_set_checkgetrange_function),
29971         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
29972         (gst_pad_check_pull_range), (gst_pad_pull_range),
29973         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29974         (gst_pad_pause_task), (gst_pad_stop_task):
29975         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29976         (gst_element_request_pad), (gst_pad_proxy_getcaps):
29977         Fix name lookup in GstBin.
29978         Added _data_replace() function and _buffer_replace()
29979         Use finalize method to clean up clock.
29980         Fix refcounting on request pads.
29981         Fix pad schedule mode error.
29982         Some more object refcounting debug info,
29983
29984
29985 2005-05-04  Andy Wingo <wingo@pobox.com>
29986
29987         * check/Makefile.am:
29988         * docs/gst/tmpl/gstatomic.sgml:
29989         * docs/gst/tmpl/gstplugin.sgml:
29990         * gst/base/gstbasesink.c: (gst_basesink_activate):
29991         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
29992         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
29993         (gst_basesrc_query), (gst_basesrc_set_property),
29994         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
29995         (gst_basesrc_activate):
29996         * gst/base/gstbasesrc.h:
29997         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
29998         (gst_base_transform_src_activate):
29999         * gst/elements/gstelements.c:
30000         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30001         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30002         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30003         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30004         (gst_type_find_element_checkgetrange),
30005         (gst_type_find_element_activate):
30006         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30007         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30008         (gst_caps_load_thyself):
30009         * gst/gstelement.c: (gst_element_pads_activate),
30010         (gst_element_save_thyself), (gst_element_restore_thyself):
30011         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30012         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30013         * gst/gstpad.h:
30014         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30015         (gst_xml_parse_file), (gst_xml_parse_memory),
30016         (gst_xml_get_element), (gst_xml_make_element):
30017         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30018         (_file_index_id_save_xml), (gst_file_index_commit):
30019         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30020         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30021         (load_paths):
30022         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30023         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30024         * tools/gst-complete.c: (main):
30025         * tools/gst-compprep.c: (main):
30026         * tools/gst-inspect.c: (print_element_properties_info):
30027         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30028         * tools/gst-xmlinspect.c: (print_element_properties):
30029         GCC 4 fixen.
30030         
30031 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30032
30033         * gst/gstplugin.c: (gst_plugin_check_module),
30034         (gst_plugin_check_file), (gst_plugin_load_file):
30035             apply patch from #172526 to make register work on MacOSX
30036
30037 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30038
30039         * docs/gst/tmpl/gstconfig.sgml:
30040         * gst/gstconfig.h.in:
30041           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30042         * testsuite/debug/printf_extension.c: (main):
30043           Do not use GST_PTR_FORMAT on pointers to types with
30044           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30045         * testsuite/elements/property.h:
30046           use correct printf format
30047
30048 2005-05-02  Wim Taymans  <wim@fluendo.com>
30049
30050         * docs/design/draft-push-pull.txt:
30051         * docs/design/draft-query.txt:
30052         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30053         (gst_basesrc_start):
30054         Added draft for new query API.
30055         Added draft for better selecting scheduling methods.
30056         Make basesrc ignore length if the subclass does not support
30057         it.
30058
30059 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30060
30061         * gst/Makefile.am:
30062           possible fixes for automake-1.5 - _LIBADD is reserved
30063
30064 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30065
30066         * docs/faq/Makefile.am:
30067         * docs/manual/Makefile.am:
30068         * docs/manuals.mak:
30069         * docs/pwg/Makefile.am:
30070         * gst/Makefile.am:
30071           possible fixes for automake-1.5
30072
30073 2005-04-28  Wim Taymans  <wim@fluendo.com>
30074
30075         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30076         (gst_basesink_pad_getcaps), (gst_basesink_init),
30077         (gst_basesink_do_sync):
30078         * gst/gstclock.c: (gst_clock_entry_new):
30079         * gst/gstevent.c: (gst_event_discont_get_value):
30080         * gst/gstpipeline.c: (pipeline_bus_handler),
30081         (gst_pipeline_change_state):
30082         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30083         Better debugging of clocking info.
30084         Allow NULL values when getting discont values.
30085
30086 2005-04-27  Wim Taymans  <wim@fluendo.com>
30087
30088         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30089         * check/gst/gstpad.c: (gst_pad_suite):
30090         Increase timeout for checks.
30091
30092 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30093
30094         * check/Makefile.am:
30095           fix the broken rule for cleanup.  Apparently this rule is
30096           only needed on FC2, so maybe this warrants further autotool
30097           inspection.
30098
30099 2005-04-26  Wim Taymans  <wim@fluendo.com>
30100
30101         * gst/gsttrashstack.h:
30102         Ooohh. a nasty one! After having a failed pop() from the stack,
30103         it's possible that the stack is empty. In that case, don't
30104         follow the NULL pointer.
30105
30106 2005-04-25  Wim Taymans  <wim@fluendo.com>
30107
30108         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30109         (gst_pad_set_checkgetrange_function),
30110         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30111         (gst_pad_check_pull_range), (gst_pad_pull_range),
30112         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30113         (gst_pad_pause_task), (gst_pad_stop_task):
30114         * gst/gstplugin.c: (gst_plugin_load):
30115         * gst/gstplugin.h:
30116         Remove gst_library_load as it does more harm than good with
30117         the new g_module flags.
30118         Revert bogus caps template check in pad linking, pad caps
30119         are important when linking not the template, which is more
30120         general than the current caps.
30121
30122 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30123
30124         * gst/autoplug/.cvsignore:
30125         * gst/autoplug/Makefile.am:
30126         * gst/autoplug/gstsearchfuncs.c:
30127         * gst/autoplug/gstsearchfuncs.h:
30128         * gst/autoplug/gstspider.c:
30129         * gst/autoplug/gstspider.h:
30130         * gst/autoplug/gstspideridentity.c:
30131         * gst/autoplug/gstspideridentity.h:
30132         * gst/autoplug/spidertest.c:
30133           Die, spider, die.
30134
30135 2005-04-25  Wim Taymans  <wim@fluendo.com>
30136
30137         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30138         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30139         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30140         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30141         * gst/gstpad.h:
30142         Added stubs for unimplemented functions. 
30143
30144 2005-04-24  David Schleef  <ds@schleef.org>
30145
30146         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30147         please fix.
30148
30149 2005-04-24  David Schleef  <ds@schleef.org>
30150
30151         Convert everything from GstAtomicInt to g_atomic_int_*, and
30152         remove gstatomic.
30153         * gst/Makefile.am:
30154         * gst/gstatomic.c:
30155         * gst/gstatomic.h:
30156         * gst/gstatomic_impl.h:
30157         * gst/gstbuffer.c:
30158         * gst/gstcaps.c:
30159         * gst/gstcaps.h:
30160         * gst/gstclock.c:
30161         * gst/gstclock.h:
30162         * gst/gstdata.c:
30163         * gst/gstdata.h:
30164         * gst/gstdata_private.h:
30165         * gst/gstevent.c:
30166         * gst/gstinfo.c:
30167         * gst/gstinfo.h:
30168         * gst/gstmessage.c:
30169         * gst/gstobject.c:
30170         * gst/gstobject.h:
30171         * gst/gststructure.c:
30172         * gst/gststructure.h:
30173         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30174         * gst/gstutils.h:
30175
30176 2005-04-24  David Schleef  <ds@schleef.org>
30177
30178         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30179         make the regressions tests work.  Remove some code that is no
30180         longer true.
30181         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30182         Disable warning for pads without templates.
30183
30184 2005-04-24  David Schleef  <ds@schleef.org>
30185
30186         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30187         functions that handle filtered links.
30188         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30189         removed functions.
30190         * gst/gstutils.c: Fix/remove utility functions that handle
30191         filtered caps.
30192         * gst/gstutils.h:
30193         * gst/gstvalue.c: Add serialization/deserialization of caps
30194         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30195         requires fixing so that the filter caps notation creates
30196         a capsfilter element and sets the filter_caps property.  I
30197         think everyone probably wants to keep the shorthand notation.
30198         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30199         * docs/gst/tmpl/gstpad.sgml:
30200
30201         * gst/elements/gstelements.c: Register capsfilter element.
30202         * gst/Makefile.am: fix spacing
30203         * docs/random/ds/0.9-suggested-changes: random
30204
30205 2005-04-23  David Schleef  <ds@schleef.org>
30206
30207         * gst/elements/Makefile.am:
30208         * gst/elements/gstcapsfilter.c: New element that acts like an
30209         identity, but filters caps.  Will eventually replace filtered
30210         caps in pad linking.
30211         * gst/gstutils.c: (gst_element_create_all_pads): New function
30212         to create all the ALWAYS pads that are registered with an
30213         element class.  This functionality should eventually be
30214         merged in with GstElement initialization.
30215         * gst/gstutils.h:
30216         * testsuite/trigger/README: part of trigger test code that should
30217         have been checked in a long time ago.
30218
30219 2005-04-23  David Schleef  <ds@schleef.org>
30220
30221         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30222         needed with new versions of libtool (nobody will confirm this),
30223         and hard to carry around.
30224         * gst/autoplug/Makefile.am:
30225         * gst/base/Makefile.am:
30226         * gst/elements/Makefile.am:
30227         * gst/indexers/Makefile.am:
30228         * gst/schedulers/Makefile.am:
30229         * libs/gst/bytestream/Makefile.am:
30230         * libs/gst/control/Makefile.am:
30231         * libs/gst/dataprotocol/Makefile.am:
30232         * libs/gst/getbits/Makefile.am:
30233
30234 2005-04-21  Wim Taymans  <wim@fluendo.com>
30235
30236         * docs/design/draft-push-pull.txt:
30237         * docs/design/part-MT-refcounting.txt:
30238         * docs/design/part-TODO.txt:
30239         * docs/design/part-caps.txt:
30240         * docs/design/part-events.txt:
30241         * docs/design/part-gstbus.txt:
30242         * docs/design/part-gstpipeline.txt:
30243         * docs/design/part-messages.txt:
30244         * docs/design/part-push-pull.txt:
30245         * docs/design/part-query.txt:
30246         Some more docs.
30247
30248 2005-04-21  Wim Taymans  <wim@fluendo.com>
30249
30250         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30251         (gst_message_new), (gst_message_new_error),
30252         (gst_message_new_warning), (gst_message_new_tag),
30253         (gst_message_new_state_changed), (gst_message_new_application),
30254         (gst_message_get_structure):
30255         * gst/gstmessage.h:
30256         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30257         (gst_structure_copy_conditional):
30258         Use parent refcount in GstMessage to ensure GstStructure
30259         consistency.
30260         Cleaned up headers a bit.
30261         
30262
30263 2005-04-20  Wim Taymans  <wim@fluendo.com>
30264
30265         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30266         (gst_basesink_pad_getcaps), (gst_basesink_init),
30267         (gst_basesink_chain_unlocked):
30268         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30269         (gst_type_find_helper):
30270         * gst/elements/gsttypefindelement.c:
30271         (gst_type_find_element_have_type), (gst_type_find_element_init),
30272         (stop_typefinding), (gst_type_find_element_handle_event),
30273         (find_suggest), (gst_type_find_element_chain),
30274         (gst_type_find_element_checkgetrange),
30275         (gst_type_find_element_getrange), (do_typefind),
30276         (gst_type_find_element_activate):
30277         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30278         (gst_buffer_default_free), (gst_buffer_default_copy),
30279         (gst_buffer_set_caps):
30280         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30281         (gst_caps_replace):
30282         * gst/gstmessage.c: (gst_message_new),
30283         (gst_message_new_state_changed):
30284         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30285         (gst_pad_set_checkgetrange_function),
30286         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30287         (gst_pad_set_caps), (gst_pad_check_pull_range),
30288         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30289         * gst/gstpad.h:
30290         * gst/gsttypefind.c: (gst_type_find_register):
30291         Make gst_caps_replace() work like other _replace() functions.
30292         Use _caps_replace() where possible.
30293         Make sure _message_new() initialises its field.
30294         Add gst_static_pad_template_get_caps()
30295
30296
30297 2005-04-18  Andy Wingo  <wingo@pobox.com>
30298
30299         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30300         on the peer, not the pad. I think that was a typo. Pass an extra
30301         arg to see if random access is possible. Activate the pads as
30302         PULL_RANGE if possible.
30303
30304         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30305
30306         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30307         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30308         to PROP_....
30309
30310 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30311
30312         * docs/faq/using.xml:
30313           Add note on gstreamer-properties (#154996).
30314
30315 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30316
30317         * docs/random/bbb/optional-properties:
30318           Some analysis on optional properties.
30319
30320 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30321
30322         * docs/gst/tmpl/gstelementfactory.sgml:
30323         * gst/gstelement.h:
30324         * gst/gstelementfactory.c: (gst_element_factory_init),
30325         (gst_element_factory_cleanup), (gst_element_register),
30326         (__gst_element_factory_add_static_pad_template),
30327         (gst_element_factory_get_static_pad_templates),
30328         (gst_element_factory_can_src_caps),
30329         (gst_element_factory_can_sink_caps):
30330         * gst/registries/Makefile.am:
30331         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30332         (gst_xml_registry_class_init), (gst_xml_registry_init),
30333         (gst_xml_registry_new), (gst_xml_registry_set_property),
30334         (gst_xml_registry_get_property), (get_time), (make_dir),
30335         (gst_xml_registry_get_perms_func),
30336         (plugin_times_older_than_recurse), (plugin_times_older_than),
30337         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30338         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30339         (add_to_char_array), (read_string), (read_uint), (read_enum),
30340         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30341         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30342         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30343         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30344         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30345         (gst_xml_registry_rebuild):
30346         * gst/registries/gstlibxmlregistry.h:
30347         * tools/gst-compprep.c: (main):
30348         * tools/gst-inspect.c: (print_pad_templates_info):
30349         * tools/gst-xmlinspect.c: (print_element_info):
30350           Use libxml2 for registry parsing, use staticpadtemplates in
30351           elementfactories. Makes gst_init() +/- 10x faster.
30352
30353 2005-04-12  Wim Taymans  <wim@fluendo.com>
30354
30355         * gst/base/Makefile.am:
30356         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30357         (gst_basesink_pad_getcaps), (gst_basesink_init),
30358         (gst_basesink_event), (gst_basesink_change_state):
30359         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30360         (gst_basesrc_init), (gst_basesrc_query),
30361         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30362         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30363         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30364         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30365         (gst_basesrc_stop), (gst_basesrc_activate),
30366         (gst_basesrc_change_state):
30367         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30368         (helper_find_suggest), (gst_type_find_helper):
30369         * gst/base/gsttypefindhelper.h:
30370         * gst/elements/Makefile.am:
30371         * gst/elements/gstelements.c:
30372         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30373         (gst_fakesink_get_times), (gst_fakesink_event),
30374         (gst_fakesink_preroll), (gst_fakesink_render):
30375         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30376         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30377         (gst_fakesrc_get_property), (gst_fakesrc_create),
30378         (gst_fakesrc_start), (gst_fakesrc_stop):
30379         * gst/elements/gstfakesrc.h:
30380         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30381         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30382         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30383         (gst_filesrc_create_read), (gst_filesrc_create),
30384         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30385         (gst_filesrc_start):
30386         * gst/elements/gsttypefindelement.c:
30387         (gst_type_find_element_have_type), (gst_type_find_element_init),
30388         (start_typefinding), (stop_typefinding), (push_buffer_store),
30389         (gst_type_find_element_handle_event),
30390         (gst_type_find_element_chain),
30391         (gst_type_find_element_checkgetrange),
30392         (gst_type_find_element_getrange), (do_typefind),
30393         (gst_type_find_element_activate),
30394         (gst_type_find_element_change_state):
30395         * gst/elements/gsttypefindelement.h:
30396         * gst/gstpipeline.c: (pipeline_bus_handler):
30397         Added typefind helper.
30398         Small preroll fix in the base sink.
30399         Disable typefind code in basesrc.
30400         Crude port of typefindelement.
30401         Fakesrc cleanups.
30402
30403
30404 2005-04-11  Wim Taymans  <wim@fluendo.com>
30405
30406         * check/gst/gstbus.c: (gstbus_suite):
30407         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30408         * check/gstcheck.h:
30409           Fix up the timeout so that the test does not fail.
30410
30411 2005-04-06  Wim Taymans  <wim@fluendo.com>
30412
30413         * gst/base/README:
30414         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30415         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30416         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30417         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30418         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30419         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30420         (gst_basesrc_stop), (gst_basesrc_activate),
30421         (gst_basesrc_change_state), (basesrc_find_peek),
30422         (basesrc_find_suggest), (gst_basesrc_type_find):
30423         * gst/base/gstbasesrc.h:
30424         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30425         (gst_filesrc_class_init), (gst_filesrc_init),
30426         (gst_filesrc_finalize), (gst_filesrc_set_location),
30427         (gst_filesrc_set_property), (gst_filesrc_get_property),
30428         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30429         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30430         (gst_filesrc_create_read), (gst_filesrc_create),
30431         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30432         * gst/elements/gstfilesrc.h:
30433         * gst/gstelement.c: (gst_element_get_state_func),
30434         (gst_element_lost_state), (gst_element_pads_activate):
30435         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30436         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30437         (gst_pad_pull_range):
30438         * gst/gstpad.h:
30439         More work on the generic source base class, implement seeking,
30440         query.
30441         Make filesrc extend the base source class.
30442         Added gst_pad_set_checkgetrange_function to GstPad.
30443
30444 2005-04-06  Andy Wingo  <wingo@pobox.com>
30445
30446         * pkgconfig/gstreamer-base.pc.in:
30447         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30448
30449         * pkgconfig/Makefile.am:
30450         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30451
30452 2005-04-04  Wim Taymans  <wim@fluendo.com>
30453
30454         * gst/base/Makefile.am:
30455         * gst/base/README:
30456         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30457         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30458         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30459         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30460         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30461         (gst_basesrc_base_init), (gst_basesrc_class_init),
30462         (gst_basesrc_init), (gst_basesrc_get_formats),
30463         (gst_basesrc_get_query_types), (gst_basesrc_query),
30464         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30465         (gst_basesrc_set_property), (gst_basesrc_get_property),
30466         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30467         (gst_basesrc_loop), (gst_basesrc_activate),
30468         (gst_basesrc_change_state):
30469         * gst/base/gstbasesrc.h:
30470         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30471         (gst_fakesrc_class_init), (gst_fakesrc_init),
30472         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30473         (gst_fakesrc_get_property), (gst_fakesrc_create):
30474         * gst/elements/gstfakesrc.h:
30475         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30476         (gst_filesrc_open_file), (gst_filesrc_loop),
30477         (gst_filesrc_activate), (filesrc_find_peek),
30478         (gst_filesrc_type_find):
30479         Made base source class, make fakesrc extend it.
30480         Add comments to basesink class.
30481         Some filesrc cleanup.
30482
30483 2005-03-31  David Schleef  <ds@schleef.org>
30484
30485         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30486         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30487         expected to link against libgstreamer.
30488         * gst/base/Makefile.am: link against libgstreamer
30489         * gst/elements/Makefile.am: same
30490
30491 2005-03-31  Andy Wingo  <wingo@pobox.com>
30492
30493         * tests/instantiate/Makefile.am:
30494         * tests/instantiate/caps.c: Add test to test speed of caps copy
30495         and free.
30496
30497         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30498         GMemChunk to be fair.
30499
30500         * gst/gsttrashstack.h: Remove warning about using the fallback
30501         trash stack implementation, it's still faster than malloc.
30502
30503 2005-03-30  Andy Wingo  <wingo@pobox.com>
30504
30505         * tests/complexity.c: Add a copyright.
30506
30507 2005-03-31  Wim Taymans  <wim@fluendo.com>
30508
30509         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30510         (gst_base_transform_class_init), (gst_base_transform_init),
30511         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30512         (gst_base_transform_get_property),
30513         (gst_base_transform_sink_activate),
30514         (gst_base_transform_src_activate),
30515         (gst_base_transform_change_state):
30516         * gst/base/gstbasetransform.h:
30517         * gst/elements/gstidentity.c: (gst_identity_class_init),
30518         (gst_identity_event), (gst_identity_check_perfect),
30519         (gst_identity_transform), (gst_identity_start),
30520         (gst_identity_stop):
30521         Added start/stop methods to transform base class so subclasses 
30522         don't need to deal with state changes even.
30523
30524 2005-03-31  Wim Taymans  <wim@fluendo.com>
30525
30526         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30527         (gst_event_new_discontinuous), (gst_event_discont_get_value):
30528         * gst/gstevent.h:
30529         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30530         (gst_pad_pull_range):
30531         Added rate to the discont event to prepare for variable speed
30532         and reverse playback.
30533
30534 2005-03-29  David Schleef  <ds@schleef.org>
30535
30536         * configure.ac:
30537         * testsuite/trigger/Makefile.am:
30538         * testsuite/trigger/trigger.c: A little example program to show
30539         how trigger-based elements can work.
30540
30541 2005-03-29  Wim Taymans  <wim@fluendo.com>
30542
30543         * gst/base/Makefile.am:
30544         * gst/base/README:
30545         * gst/base/gstbasesink.c: (gst_basesink_get_type),
30546         (gst_basesink_base_init), (gst_basesink_class_init),
30547         (gst_basesink_pad_getcaps), (gst_basesink_init),
30548         (gst_basesink_activate), (gst_basesink_change_state):
30549         * gst/base/gstbasesink.h:
30550         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30551         (gst_base_transform_base_init), (gst_base_transform_finalize),
30552         (gst_base_transform_class_init), (gst_base_transform_init),
30553         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30554         (gst_base_transform_event), (gst_base_transform_getrange),
30555         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30556         (gst_base_transform_set_property),
30557         (gst_base_transform_get_property),
30558         (gst_base_transform_sink_activate),
30559         (gst_base_transform_src_activate),
30560         (gst_base_transform_change_state):
30561         * gst/base/gstbasetransform.h:
30562         * gst/elements/gstidentity.c: (gst_identity_finalize),
30563         (gst_identity_class_init), (gst_identity_init),
30564         (gst_identity_event), (gst_identity_check_perfect),
30565         (gst_identity_transform), (gst_identity_set_property),
30566         (gst_identity_get_property), (gst_identity_change_state):
30567         * gst/elements/gstidentity.h:
30568         * gst/gstelement.c: (gst_element_get_state_func),
30569         (gst_element_lost_state), (gst_element_pads_activate):
30570         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30571         (gst_pad_check_pull_range), (gst_pad_pull_range):
30572         * gst/gstpad.h:
30573         Simplify pad activation.
30574         Added function to check if pull_range can be performed.
30575         Error out when pulling inactive or flushing pads.
30576         Removed const from refcounted types as it does not make sense.
30577         Simplify pad templates in basesink
30578         Added base class for simple 1-to-1 transforms.
30579         Make identity subclass the base transform.
30580
30581 2005-03-29  Andy Wingo  <wingo@pobox.com>
30582
30583         * docs/libs/gstreamer-libs-overrides.txt: 
30584         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30585         really don't understand what's going on, but like whatever. I want
30586         green buildbot!
30587
30588         * docs/gst/Makefile.am:
30589         * docs/libs/Makefile.am: Dist the overrides files.
30590
30591         * check/Makefile.am (clean-local): Remove .libs directories.
30592
30593         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30594         elements to EXTRA_DIST, so po/ files are happy.
30595
30596         * po/POTFILES.in: Er, remove it here.
30597
30598         * po/POTFILES: Remove gstspider.c.
30599
30600         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30601
30602         * docs/libs/gstreamer-libs-docs.sgml: 
30603         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30604         bytestream.
30605
30606         * tests/complexity.c (main): Set the length of the preroll queue
30607         on the sinks to prevent a lockup.
30608
30609         * libs/gst/dataprotocol/Makefile.am: 
30610         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30611         the same as the one in check/gst-libs/gdp.c.
30612
30613         * po/, docs/gst/: Commit automatic changes to docs and po files.
30614
30615         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30616         the versioned libgstbase.
30617
30618         * check/Makefile.am: Depend on an unversioned gst-register, seems
30619         to make autoconf happier.
30620
30621         * gst/base/Makefile.am: Make libgstbase a versioned lib.
30622
30623 2005-03-28  Wim Taymans  <wim@fluendo.com>
30624
30625         * configure.ac:
30626         * docs/design/part-gstelement.txt:
30627         * docs/design/part-negotiation.txt:
30628         * docs/design/part-preroll.txt:
30629         * docs/design/part-scheduling.txt:
30630         * docs/design/part-states.txt:
30631         * gst/Makefile.am:
30632         * gst/base/Makefile.am:
30633         * gst/base/README:
30634         * gst/base/gstbasesink.c: (gst_basesink_get_template),
30635         (gst_basesink_base_init), (gst_basesink_class_init),
30636         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30637         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30638         (gst_basesink_set_pad_functions),
30639         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
30640         (gst_basesink_set_property), (gst_basesink_get_property),
30641         (gst_base_sink_get_template), (gst_base_sink_get_caps),
30642         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
30643         (gst_basesink_preroll_queue_push),
30644         (gst_basesink_preroll_queue_empty),
30645         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
30646         (gst_basesink_event), (gst_basesink_get_times),
30647         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
30648         (gst_basesink_chain_unlocked), (gst_basesink_chain),
30649         (gst_basesink_loop), (gst_basesink_activate),
30650         (gst_basesink_change_state):
30651         * gst/base/gstbasesink.h:
30652         * gst/elements/Makefile.am:
30653         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
30654         (gst_fakesink_class_init), (gst_fakesink_init),
30655         (gst_fakesink_set_property), (gst_fakesink_get_property),
30656         (gst_fakesink_get_times), (gst_fakesink_event),
30657         (gst_fakesink_preroll), (gst_fakesink_render),
30658         (gst_fakesink_change_state):
30659         * gst/elements/gstfakesink.h:
30660         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30661         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
30662         * gst/gstelement.c: (gst_element_add_pad),
30663         (gst_element_get_state_func), (gst_element_abort_state),
30664         (gst_element_commit_state), (gst_element_lost_state),
30665         (gst_element_set_state), (gst_element_pads_activate):
30666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
30667         * gst/gstpipeline.c: (gst_pipeline_send_event),
30668         (gst_pipeline_change_state):
30669         Added state change code.
30670         Added/updated docs.
30671         Added sink base class, make fakesink extend the base class.
30672         Small cleanups in GstPipeline.
30673
30674 2005-03-26  David Schleef  <ds@schleef.org>
30675
30676         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
30677         is broken and should be implemented in a different library.
30678         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
30679         * gst/gst.h: remove gstcpu.h
30680         * gst/gstcpu.c: remove
30681         * gst/gstcpu.h: remove
30682         * gst/Makefile.am.future: Remove this file.  It's ancient.
30683
30684 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30685
30686         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
30687         (gst_bin_send_event):
30688           Add default event/set_manager handlers. The set_manager handler
30689           takes care that the manager is distributed over kids that were
30690           already in the bin before the manager was set. The event handler
30691           is a utility virtual function that sends the event over all sinks,
30692           so that gst_element_send_event (bin, event); has the expected
30693           behaviour.
30694         * gst/gstpad.c: (gst_pad_event_default):
30695           Re-install default event handling for discontinuities, so that
30696           seeking works without requiring hacks in applications or extra
30697           code in sinks.
30698         * gst/gstpipeline.c: (gst_pipeline_class_init),
30699         (gst_pipeline_send_event):
30700           Half hack, half utility: set a pipeline to PAUSED for seek events,
30701           since that is the only way we can guarantee a/v sync. Means that
30702           you can do gst_element_seek (pipeline, method, pos); on a pipeline
30703           and it "just works".
30704
30705 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30706
30707         * gst/gstpipeline.c: (gst_pipeline_use_clock):
30708           Lock/unlock mismatch.
30709
30710 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
30711
30712         * docs/faq/gst-uninstalled:
30713           add gst-plugins-base
30714         * docs/gst/Makefile.am:
30715           don't error out until docs are fixed
30716         * docs/gst/gstreamer.types:
30717           remove thread
30718
30719 2005-03-22  Wim Taymans  <wim@fluendo.com>
30720
30721         * check/Makefile.am:
30722         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
30723         * gst/gststructure.c: (gst_structure_set_valist),
30724         (gst_structure_copy_conditional):
30725         Activated more tests.
30726         Added message test.
30727         Added G_TYPE_POINTER to GstStructure.
30728         
30729
30730 2005-03-22  Wim Taymans  <wim@fluendo.com>
30731
30732         * docs/design/part-TODO.txt:
30733         * docs/design/part-events.txt:
30734         * docs/design/part-gstbin.txt:
30735         * docs/design/part-gstbus.txt:
30736         * docs/design/part-gstpipeline.txt:
30737         * docs/design/part-messages.txt:
30738         * gst/gstbus.c:
30739         * gst/gstmessage.c:
30740         Docs updates
30741
30742 2005-03-21  Wim Taymans  <wim@fluendo.com>
30743
30744         * gst/gstbus.c: (gst_bus_post):
30745         Fix copy-and-paste error.
30746
30747 2005-03-21  Wim Taymans  <wim@fluendo.com>
30748
30749         * check/Makefile.am:
30750         * gst/Makefile.am:
30751         * gst/elements/Makefile.am:
30752         * gst/elements/gstelements.c:
30753         * gst/elements/gstfakesink.c: (gst_fakesink_init),
30754         (gst_fakesink_event), (gst_fakesink_chain):
30755         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30756         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
30757         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
30758         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
30759         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
30760         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
30761         (gst_fakesrc_loop), (gst_fakesrc_activate),
30762         (gst_fakesrc_change_state):
30763         * gst/elements/gstfakesrc.h:
30764         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
30765         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
30766         (gst_filesrc_open_file), (gst_filesrc_loop),
30767         (gst_filesrc_activate), (gst_filesrc_change_state),
30768         (filesrc_find_peek), (filesrc_find_suggest),
30769         (gst_filesrc_type_find):
30770         * gst/elements/gstidentity.c: (gst_identity_finalize),
30771         (gst_identity_class_init), (gst_identity_init),
30772         (gst_identity_proxy_getcaps), (identity_queue_push),
30773         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
30774         (gst_identity_getrange), (gst_identity_chain),
30775         (gst_identity_sink_loop), (gst_identity_src_loop),
30776         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
30777         (gst_identity_set_property), (gst_identity_get_property),
30778         (gst_identity_change_state):
30779         * gst/elements/gstidentity.h:
30780         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
30781         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
30782         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
30783         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
30784         (gst_tee_sink_activate):
30785         * gst/elements/gsttee.h:
30786         * gst/gst.c: (gst_register_core_elements), (init_post):
30787         * gst/gst.h:
30788         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
30789         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
30790         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
30791         (gst_bin_change_state):
30792         * gst/gstbin.h:
30793         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
30794         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
30795         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
30796         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
30797         (gst_bus_set_sync_handler), (gst_bus_create_watch),
30798         (bus_watch_callback), (bus_watch_destroy),
30799         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
30800         (poll_timeout), (gst_bus_poll):
30801         * gst/gstbus.h:
30802         * gst/gstcaps.h:
30803         * gst/gstdata.h:
30804         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30805         (gst_element_post_message), (gst_element_message_full),
30806         (gst_element_get_state_func), (gst_element_get_state),
30807         (gst_element_abort_state), (gst_element_commit_state),
30808         (gst_element_lost_state), (gst_element_set_state),
30809         (gst_element_pads_activate), (gst_element_change_state),
30810         (gst_element_dispose), (gst_element_set_manager_func),
30811         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
30812         (gst_element_set_manager), (gst_element_get_manager),
30813         (gst_element_set_bus), (gst_element_get_bus),
30814         (gst_element_set_scheduler), (gst_element_get_scheduler):
30815         * gst/gstelement.h:
30816         * gst/gstevent.c: (gst_event_new_segment_seek),
30817         (gst_event_new_flush):
30818         * gst/gstevent.h:
30819         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
30820         (_gst_message_free), (gst_message_get_type), (gst_message_new),
30821         (gst_message_new_eos), (gst_message_new_error),
30822         (gst_message_new_warning), (gst_message_new_tag),
30823         (gst_message_new_state_changed), (gst_message_new_application),
30824         (gst_message_get_structure), (gst_message_parse_tag),
30825         (gst_message_parse_state_changed), (gst_message_parse_error),
30826         (gst_message_parse_warning):
30827         * gst/gstmessage.h:
30828         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
30829         (gst_real_pad_set_property), (gst_pad_set_active),
30830         (gst_pad_is_active), (gst_pad_set_blocked_async),
30831         (gst_pad_set_blocked), (gst_pad_is_blocked),
30832         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
30833         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
30834         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
30835         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
30836         (gst_pad_link_filtered), (gst_pad_relink_filtered),
30837         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
30838         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
30839         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
30840         (gst_pad_set_caps), (gst_pad_configure_sink),
30841         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
30842         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
30843         (gst_real_pad_dispose), (gst_real_pad_finalize),
30844         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
30845         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30846         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
30847         * gst/gstpad.h:
30848         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
30849         (pipeline_bus_handler), (gst_pipeline_change_state),
30850         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
30851         * gst/gstpipeline.h:
30852         * gst/gstprobe.h:
30853         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
30854         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
30855         (gst_queue_link_src), (gst_queue_bufferalloc),
30856         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
30857         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
30858         (gst_queue_loop), (gst_queue_handle_src_event),
30859         (gst_queue_handle_src_query), (gst_queue_src_activate),
30860         (gst_queue_change_state):
30861         * gst/gstqueue.h:
30862         * gst/gstscheduler.c: (gst_scheduler_init),
30863         (gst_scheduler_dispose), (gst_scheduler_create_task),
30864         (gst_scheduler_factory_create):
30865         * gst/gstscheduler.h:
30866         * gst/gststructure.c: (gst_structure_get_type),
30867         (gst_structure_copy_conditional):
30868         * gst/gststructure.h:
30869         * gst/gsttaginterface.h:
30870         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
30871         (gst_task_init), (gst_task_dispose), (gst_task_create),
30872         (gst_task_get_state), (gst_task_start), (gst_task_stop),
30873         (gst_task_pause):
30874         * gst/gsttask.h:
30875         * gst/gstthread.c:
30876         * gst/gstthread.h:
30877         * gst/gsttypes.h:
30878         * gst/schedulers/Makefile.am:
30879         * gst/schedulers/cothreads_compat.h:
30880         * gst/schedulers/entryscheduler.c:
30881         * gst/schedulers/faircothreads.c:
30882         * gst/schedulers/faircothreads.h:
30883         * gst/schedulers/fairscheduler.c:
30884         * gst/schedulers/gstbasicscheduler.c:
30885         * gst/schedulers/gstoptimalscheduler.c:
30886         * gst/schedulers/gthread-cothreads.h:
30887         * gst/schedulers/threadscheduler.c:
30888         (gst_thread_scheduler_task_get_type),
30889         (gst_thread_scheduler_task_class_init),
30890         (gst_thread_scheduler_task_init),
30891         (gst_thread_scheduler_task_start),
30892         (gst_thread_scheduler_task_stop),
30893         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
30894         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
30895         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
30896         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
30897         (plugin_init):
30898         * libs/gst/Makefile.am:
30899         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
30900         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
30901         (gst_file_pad_parent_set):
30902         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
30903         (gst_dp_event_from_packet):
30904         * tests/complexity.c: (main):
30905         * tests/mass_elements.c: (main):
30906         * testsuite/states/locked.c: (message_received), (main):
30907         * testsuite/states/parent.c: (main):
30908         * tools/gst-inspect.c: (print_element_flag_info),
30909         (print_implementation_info), (print_pad_info):
30910         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
30911         (main):
30912         * tools/gst-md5sum.c: (event_loop), (main):
30913         * tools/gst-typefind.c: (main):
30914         * tools/gst-xmlinspect.c: (print_element_info):
30915         Next big merge.
30916         Added GstBus for mainloop integration.
30917         Added GstMessage for sending notifications on the bus.
30918         Added GstTask as an abstraction for pipeline entry points.
30919         Removed GstThread.
30920         Removed Schedulers.
30921         Simplified GstQueue for multithreaded core.
30922         Made _link threadsafe, removed old capsnego.
30923         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
30924         Added pad blocking functions.
30925         Reworked scheduling functions in GstPad to prepare for
30926         scheduling updates soon.
30927         Moved events out of data stream.
30928         Simplified GstEvent types.
30929         Added return values to push/pull.
30930         Removed clocking from GstElement.
30931         Added prototypes for state change function for next merge.
30932         Removed iterate from bins and state change management.
30933         Fixed some elements, disabled others for now.
30934         Fixed -inspect and -launch.
30935         Added check for GstBus.
30936
30937 2005-03-10  Wim Taymans  <wim@fluendo.com>
30938
30939         * docs/design/part-MT-refcounting.txt:
30940         * docs/design/part-clocks.txt:
30941         * docs/design/part-gstelement.txt:
30942         * docs/design/part-gstobject.txt:
30943         * docs/design/part-standards.txt:
30944         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30945         (gst_bin_remove_func), (gst_bin_remove):
30946         * gst/gstbin.h:
30947         * gst/gstbuffer.c:
30948         * gst/gstcaps.h:
30949         * testsuite/clock/clock1.c: (main):
30950         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
30951         (main):
30952         * testsuite/dlopen/loadgst.c: (do_test):
30953         * testsuite/refcounting/bin.c: (add_remove_test1),
30954         (add_remove_test2), (main):
30955         * testsuite/refcounting/element.c: (main):
30956         * testsuite/refcounting/element_pad.c: (main):
30957         * testsuite/refcounting/pad.c: (main):
30958         * tools/gst-launch.c: (sigint_handler_sighandler):
30959         * tools/gst-typefind.c: (main):
30960         Doc updates.
30961         Added doc about clock.
30962         removed gst_bin_iterate_recurse_up(), marked methods
30963         for removal.
30964         Fix more testsuites.
30965
30966 2005-03-09  Wim Taymans  <wim@fluendo.com>
30967
30968         * gst/gstpad.c: (gst_pad_get_direction),
30969         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
30970         (gst_pad_collect_valist):
30971         * testsuite/bins/interface.c: (main):
30972         * testsuite/caps/audioscale.c: (test_caps):
30973         * testsuite/caps/caps.c: (test1), (test2), (test3):
30974         * testsuite/caps/deserialize.c: (main):
30975         * testsuite/caps/enumcaps.c: (main):
30976         * testsuite/caps/filtercaps.c: (main):
30977         * testsuite/caps/intersect2.c: (main):
30978         * testsuite/caps/random.c: (main):
30979         * testsuite/caps/renegotiate.c: (my_fixate), (main):
30980         * testsuite/caps/sets.c: (check_caps):
30981         * testsuite/caps/simplify.c: (check_caps), (main):
30982         * testsuite/caps/subtract.c: (check_caps):
30983         Fix _pad_get_direction wrt ghostpads.
30984         Fix caps testsuite.
30985
30986 2005-03-09  Wim Taymans  <wim@fluendo.com>
30987
30988         * check/Makefile.am:
30989         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
30990         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
30991         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
30992         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
30993         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
30994         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
30995         (gst_bin_remove), (gst_bin_iterate_recurse_up),
30996         (bin_element_is_sink), (gst_bin_iterate_sinks),
30997         (gst_bin_iterate_all_by_interface):
30998         * gst/gstbin.h:
30999         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31000         (gst_element_change_state), (gst_element_dispose),
31001         (gst_element_finalize), (gst_element_set_loop_function):
31002         * gst/gstelement.h:
31003         * gst/gstiterator.c: (find_custom_fold_func):
31004         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31005         (gst_pad_collectv), (gst_pad_collect_valist),
31006         (gst_pad_template_new):
31007         * gst/gstpipeline.c: (gst_pipeline_class_init),
31008         (gst_pipeline_dispose), (gst_pipeline_set_property),
31009         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31010         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31011         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31012         * gst/gstutils.h:
31013         * gst/schedulers/entryscheduler.c:
31014         * gst/schedulers/gstbasicscheduler.c:
31015         (gst_basic_scheduler_cothreaded_chain),
31016         (gst_basic_scheduler_chain_add_element):
31017         * testsuite/bins/interface.c: (main):
31018         Added GstBin test.
31019         Added GstSystemClock test.
31020         Implemented clock distribution code in GstBin.
31021         Implemented iterate sinks method for future use.
31022         Rearranged gstelement.h
31023         Fix GstIterator comparison bug.
31024         Moved some code to GstPipeline, mostly clocking related.
31025
31026 2005-03-09  Wim Taymans  <wim@fluendo.com>
31027
31028         * configure.ac:
31029         * gst/gst_private.h:
31030         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31031         (gst_bin_remove_func), (gst_bin_remove),
31032         (gst_bin_get_by_name_recurse_up):
31033         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31034         (gst_clock_id_compare_func), (gst_clock_id_wait),
31035         (gst_clock_id_wait_async), (gst_clock_init),
31036         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31037         * gst/gstelement.h:
31038         * gst/gstinfo.c: (_gst_debug_init):
31039         * gst/gstobject.h:
31040         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31041         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31042         * gst/gstpad.h:
31043         Bump version number, we're now 0.9.0
31044         Add future debugging category.
31045         Fix NULL _unref() in _get_by_name_recurse_up
31046         Rearrange gstpad.h.
31047         Update some docs.
31048
31049 2005-03-08  Wim Taymans  <wim@fluendo.com>
31050
31051         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31052         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31053         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31054         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31055         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31056         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31057         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31058         * gst/elements/gstidentity.c: (gst_identity_class_init):
31059         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31060         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31061         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31062         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31063         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31064         (gst_tee_link):
31065         * gst/gstelement.c: (gst_element_class_init),
31066         (gst_element_base_class_init), (gst_element_init),
31067         (gst_element_get_random_pad), (gst_element_wait_state_change),
31068         (gst_element_change_state), (gst_element_dispose),
31069         (gst_element_finalize), (gst_element_set_loop_function):
31070         * gst/gstelement.h:
31071         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31072         * gst/gstthread.c: (gst_thread_class_init),
31073         (gst_thread_release_children_locks), (gst_thread_change_state):
31074         * gst/schedulers/gstbasicscheduler.c:
31075         (gst_basic_scheduler_loopfunc_wrapper),
31076         (gst_basic_scheduler_chain_wrapper),
31077         (gst_basic_scheduler_src_wrapper),
31078         (gst_basic_scheduler_remove_element):
31079         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31080         Remove threadsafe properties. Fix elements because GObject
31081         complains when installing a property before declaring a
31082         set/get_property handler.
31083         Rearrange gstelement.h file, use STATE macros for state locks.
31084         Free mutexes in the finalize method instead of dispose.
31085
31086 2005-03-08  Wim Taymans  <wim@fluendo.com>
31087
31088         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31089         * gst/gstthread.c: (gst_thread_release_children_locks):
31090         Added parentage check.
31091         Fix build og GstThread again.
31092
31093 2005-03-08  Wim Taymans  <wim@fluendo.com>
31094
31095         * docs/design/part-MT-refcounting.txt:
31096         * docs/design/part-conventions.txt:
31097         * docs/design/part-gstobject.txt:
31098         * docs/design/part-relations.txt:
31099         * docs/design/part-standards.txt:
31100         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31101         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31102         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31103         (gst_bin_iterate_all_by_interface):
31104         * gst/gstbuffer.h:
31105         * gst/gstclock.h:
31106         * gst/gstelement.c: (gst_element_class_init),
31107         (gst_element_change_state), (gst_element_set_loop_function):
31108         * gst/gstelement.h:
31109         * gst/gstiterator.c:
31110         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31111         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31112         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31113         (gst_object_set_parent), (gst_object_unparent),
31114         (gst_object_check_uniqueness):
31115         * gst/gstobject.h:
31116         Docs updates, clean up some headers.
31117
31118 2005-03-07  Wim Taymans  <wim@fluendo.com>
31119
31120         * check/.cvsignore:
31121         * check/Makefile.am:
31122         * check/gst-libs/.cvsignore:
31123         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31124         * check/gst/.cvsignore:
31125         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31126         (START_TEST), (gstbus_suite), (main):
31127         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31128         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31129         (gst_data_suite), (main):
31130         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31131         (add_fold_func), (gstiterator_suite), (main):
31132         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31133         (thread_name_object), (thread_name_object_default),
31134         (gst_object_name_compare), (gst_object_suite), (main):
31135         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31136         (gst_pad_suite), (main):
31137         * check/gstcheck.c: (gst_check_log_message_func),
31138         (gst_check_log_critical_func), (gst_check_init):
31139         * check/gstcheck.h:
31140         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31141         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31142         Added checks.
31143
31144 2005-03-07  Wim Taymans  <wim@fluendo.com>
31145
31146         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31147         (gst_list_iterator_next), (gst_list_iterator_resync),
31148         (gst_list_iterator_free), (gst_iterator_new_list),
31149         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31150         (gst_iterator_free), (gst_iterator_push), (filter_next),
31151         (filter_resync), (filter_uninit), (filter_free),
31152         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31153         (gst_iterator_foreach), (find_custom_fold_func),
31154         (gst_iterator_find_custom):
31155         * gst/gstiterator.h:
31156         Added missing files.
31157
31158 2005-03-07  Wim Taymans  <wim@fluendo.com>
31159
31160         * Makefile.am:
31161         * configure.ac:
31162         * docs/design/part-MT-refcounting.txt:
31163         * docs/design/part-conventions.txt:
31164         * docs/design/part-gstobject.txt:
31165         * docs/design/part-relations.txt:
31166         * examples/mixer/mixer.c: (main):
31167         * examples/thread/thread.c: (eos), (main):
31168         * gst/Makefile.am:
31169         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31170         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31171         (gst_spider_plug_from_srcpad):
31172         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31173         (gst_spider_identity_change_state),
31174         (gst_spider_identity_sink_loop_type_finding):
31175         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31176         * gst/elements/gstidentity.c: (gst_identity_init):
31177         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31178         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31179         * gst/elements/gsttypefindelement.c: (free_entry):
31180         * gst/gst.c:
31181         * gst/gst.h:
31182         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31183         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31184         (gst_bin_set_index), (gst_bin_set_element_sched),
31185         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31186         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31187         (gst_bin_iterate_elements), (iterate_child_recurse),
31188         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31189         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31190         (compare_interface), (gst_bin_get_by_interface),
31191         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31192         * gst/gstbin.h:
31193         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31194         (gst_buffer_default_free), (gst_buffer_default_copy),
31195         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31196         (gst_buffer_create_sub):
31197         * gst/gstbuffer.h:
31198         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31199         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31200         (gst_caps_unref), (gst_static_caps_get),
31201         (gst_caps_remove_and_get_structure), (gst_caps_append),
31202         (gst_caps_append_structure), (gst_caps_remove_structure),
31203         (gst_caps_copy_nth), (gst_caps_set_simple),
31204         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31205         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31206         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31207         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31208         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31209         (gst_caps_structure_figure_out_union),
31210         (gst_caps_switch_structures), (gst_caps_do_simplify),
31211         (gst_caps_replace), (gst_caps_from_string),
31212         (gst_caps_copy_conditional):
31213         * gst/gstcaps.h:
31214         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31215         (_gst_clock_id_free), (gst_clock_id_unref),
31216         (gst_clock_id_compare_func), (gst_clock_id_wait),
31217         (gst_clock_id_wait_async), (gst_clock_class_init),
31218         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31219         (gst_clock_get_time), (gst_clock_set_time_adjust),
31220         (gst_clock_set_property), (gst_clock_get_property):
31221         * gst/gstclock.h:
31222         * gst/gstcompat.h:
31223         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31224         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31225         * gst/gstdata.h:
31226         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31227         (gst_element_requires_clock), (gst_element_provides_clock),
31228         (gst_element_set_clock), (gst_element_clock_wait),
31229         (gst_element_wait), (gst_element_set_time_delay),
31230         (gst_element_is_indexable), (gst_element_add_pad),
31231         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31232         (pad_compare_name), (gst_element_get_static_pad),
31233         (gst_element_request_pad), (gst_element_get_request_pad),
31234         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31235         (gst_element_class_get_pad_template_list),
31236         (gst_element_class_get_pad_template), (gst_element_error_func),
31237         (gst_element_get_random_pad), (gst_element_get_event_masks),
31238         (gst_element_send_event), (gst_element_seek),
31239         (gst_element_get_query_types), (gst_element_query),
31240         (gst_element_get_formats), (gst_element_convert),
31241         (gst_element_is_locked_state), (gst_element_set_locked_state),
31242         (gst_element_sync_state_with_parent), (gst_element_change_state),
31243         (gst_element_finalize), (gst_element_yield),
31244         (gst_element_interrupt), (gst_element_set_scheduler),
31245         (gst_element_get_scheduler), (gst_element_set_loop_function):
31246         * gst/gstelement.h:
31247         * gst/gstevent.h:
31248         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31249         (gst_format_get_by_nick), (gst_format_get_details),
31250         (gst_format_iterate_definitions):
31251         * gst/gstformat.h:
31252         * gst/gstindex.c: (gst_index_gtype_resolver):
31253         * gst/gstinfo.c:
31254         * gst/gstinfo.h:
31255         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31256         (gst_mem_chunk_free):
31257         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31258         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31259         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31260         (gst_object_dispatch_properties_changed),
31261         (gst_object_set_name_default), (gst_object_set_name),
31262         (gst_object_get_name), (gst_object_set_name_prefix),
31263         (gst_object_get_name_prefix), (gst_object_set_parent),
31264         (gst_object_get_parent), (gst_object_unparent),
31265         (gst_object_check_uniqueness), (gst_object_save_thyself),
31266         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31267         (gst_object_set_property), (gst_object_get_property),
31268         (gst_object_get_path_string):
31269         * gst/gstobject.h:
31270         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31271         (gst_real_pad_init), (gst_real_pad_get_property),
31272         (gst_pad_custom_new), (gst_pad_get_direction),
31273         (gst_pad_set_active), (gst_pad_is_active),
31274         (gst_pad_set_event_function), (gst_pad_is_linked),
31275         (gst_pad_link_free), (gst_pad_link_intersect),
31276         (gst_pad_link_fixate), (gst_pad_set_caps),
31277         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31278         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31279         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31280         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31281         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31282         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31283         (gst_pad_realize), (gst_pad_get_allowed_caps),
31284         (gst_real_pad_dispose), (gst_real_pad_finalize),
31285         (gst_pad_collectv), (gst_pad_collect_valist),
31286         (gst_pad_template_dispose), (gst_pad_template_new),
31287         (gst_pad_get_internal_links):
31288         * gst/gstpad.h:
31289         * gst/gstpipeline.c: (gst_pipeline_dispose),
31290         (gst_pipeline_change_state):
31291         * gst/gstpipeline.h:
31292         * gst/gstplugin.c:
31293         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31294         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31295         * gst/gstpluginfeature.h:
31296         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31297         * gst/gstquery.c: (_gst_query_type_initialize),
31298         (gst_query_type_register), (gst_query_type_get_by_nick),
31299         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31300         * gst/gstquery.h:
31301         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31302         * gst/gstscheduler.c: (gst_scheduler_add_element),
31303         (gst_scheduler_factory_create):
31304         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31305         (gst_structure_free), (gst_structure_set_name),
31306         (gst_structure_id_set_value), (gst_structure_set_value),
31307         (gst_structure_set_valist), (gst_structure_remove_field),
31308         (gst_structure_remove_fields),
31309         (gst_structure_remove_fields_valist),
31310         (gst_structure_remove_all_fields), (gst_structure_foreach),
31311         (gst_structure_map_in_place),
31312         (gst_caps_structure_fixate_field_nearest_int),
31313         (gst_caps_structure_fixate_field_nearest_double):
31314         * gst/gststructure.h:
31315         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31316         (gst_system_clock_init), (gst_system_clock_dispose),
31317         (gst_system_clock_async_thread),
31318         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31319         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31320         * gst/gstsystemclock.h:
31321         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31322         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31323         * gst/gsttaginterface.c:
31324         * gst/gstthread.c: (gst_thread_dispose),
31325         (gst_thread_release_children_locks), (gst_thread_change_state),
31326         (gst_thread_main_loop):
31327         * gst/gsttrashstack.h:
31328         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31329         * gst/gsttypes.h:
31330         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31331         (gst_element_request_pad), (gst_element_get_pad_from_template),
31332         (gst_element_request_compatible_pad),
31333         (gst_element_get_compatible_pad_filtered),
31334         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31335         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31336         (gst_element_link_many), (gst_element_link),
31337         (gst_element_link_pads), (gst_element_unlink_pads),
31338         (gst_element_unlink_many), (gst_element_unlink),
31339         (gst_pad_can_link_filtered), (gst_pad_can_link),
31340         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31341         (gst_object_default_error), (gst_bin_add_many),
31342         (gst_bin_remove_many), (gst_element_populate_std_props),
31343         (gst_element_class_install_std_props), (gst_buffer_merge),
31344         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31345         (link_fold_func), (gst_pad_proxy_setcaps):
31346         * gst/gstutils.h:
31347         * gst/gstvalue.c: (gst_value_deserialize_string):
31348         * gst/parse/grammar.y:
31349         * gst/schedulers/gstbasicscheduler.c:
31350         (gst_basic_scheduler_cothreaded_chain),
31351         (gst_basic_scheduler_chain_recursive_add),
31352         (gst_basic_scheduler_pad_link):
31353         * gst/schedulers/gstoptimalscheduler.c:
31354         (get_group_schedule_function),
31355         (gst_opt_scheduler_state_transition),
31356         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31357         * libs/gst/bytestream/bytestream.c:
31358         * libs/gst/dataprotocol/dataprotocol.c:
31359         (gst_dp_header_from_buffer):
31360         * po/nb.po:
31361         * po/ru.po:
31362         * tests/threadstate/threadstate2.c: (eos):
31363         * tools/gst-compprep.c: (main):
31364         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31365         (print_pad_info), (print_children_info):
31366         * tools/gst-launch.c: (idle_func), (main):
31367         * tools/gst-md5sum.c: (idle_func), (main):
31368         * tools/gst-xmlinspect.c: (print_element_info):
31369         First THREADED backport attempt, focusing on adding locks and
31370         making sure the API is threadsafe. Needs more work. More docs
31371         follow this week.
31372
31373 2005-02-24  Andy Wingo  <wingo@pobox.com>
31374
31375         * tests/bench-complexity.scm:
31376         * tests/complexity.gnuplot: New files, good for running complexity
31377         benchmarks.
31378
31379         * tests/Makefile.am:
31380         * tests/complexity.c: New test, sets up N elements, at each level
31381         teeing into M streams per element. Eeeenteresting.
31382
31383         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31384         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31385         running bench-mass_elements.scm.
31386
31387         * tests/bench-mass_elements.scm: New script, runs mass_elements
31388         for various numbers of identities, outputting the results to a
31389         file. Requires guile 1.6. Just for testing.
31390
31391 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31392
31393         * gst/schedulers/fairscheduler.c:
31394           compile with debug disabled
31395
31396 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31397
31398         * configure.ac:
31399           hunting season on 0.9 is now OPEN