a815a8a03ef5a1d095d2777e86ed537da48eaf2d
[glsdk/gstreamer0-10.git] / ChangeLog
1 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
3         * Makefile.am:
4         * configure.ac:
5         * gst-element-check.m4:
6         * gst-element-check.m4.in:
7           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
8           instead of the unversioned gst-inspect (#324176, #168659).
10 2006-07-06  Wim Taymans  <wim@fluendo.com>
12         * gst/gstmessage.h:
13         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
14         warnings.
16 2006-07-06  Wim Taymans  <wim@fluendo.com>
18         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
19         (gst_base_src_wait), (gst_base_src_update_length),
20         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
21         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
22         (gst_base_src_loop), (gst_base_src_start),
23         (gst_base_src_activate_pull):
24         Update docs.
25         blocksize == 0 now means the default blocksize when working in push
26         based mode.
27         Remove some pointless asserts in _wait function.
28         Fix offset/length calculations and EOS handling. We can now pull 0
29         bytes as well, which is allowed.
30         use _check_get_range() to decide if we can operate in _pull based
31         mode.
32         Fix refcounting leak when check_get_range function was not 
33         implemented.
34         API GstBaseSrc::blocksize range can be 0 too now (default)
36         * tests/check/elements/filesrc.c: (GST_START_TEST),
37         (filesrc_suite):
38         Added check to test _get_range() behaviour.
40 2006-07-06  Wim Taymans  <wim@fluendo.com>
42         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
43         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
44         (gst_pad_pull_range):
45         * gst/gstpad.h:
46         Lots of comments and docs added to the pad functions.
47         Flesh out the expected behaviour of the get_range() functions.
49 2006-07-06  Wim Taymans  <wim@fluendo.com>
51         * gst/gstbus.h:
52         * gst/gstclock.h:
53         * gst/gstevent.h:
54         * gst/gstiterator.h:
55         * gst/gstpad.h:
56         * gst/gstplugin.h:
57         * gst/gsttask.h:
58         Remove comma at end of enumerator list. 
60 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
62         * win32/common/libgstbase.def:
63         * win32/common/libgstdataprotocol.def:
64         * win32/common/libsgtreamer.def:
65         Add new exported functions.
67 2006-07-05  Wim Taymans  <wim@fluendo.com>
69         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
70         Add some more docs here and there.
72 2006-07-05  Wim Taymans  <wim@fluendo.com>
74         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
75         (gst_base_sink_loop), (gst_base_sink_get_position):
76         When operating in pull mode update the offset so that we
77         read sequentially.
79 2006-07-05  Wim Taymans  <wim@fluendo.com>
81         * gst/gstregistryxml.c: (read_string):
82         Avoid strdup. (will happen in libxml, but hey!)
84         * gst/gsturi.c:
85         Add some more docs.
87 2006-07-05  Wim Taymans  <wim@fluendo.com>
89         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
90         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
91         (gst_buffer_suite):
92         No point in checking if the size of the subbuffer > 0, the
93         code handles it correclty as demonstrated by unit test.
94         Also add a unit test for the zero sized _new_and_alloc and
95         _copy. Fixes #346663.
97 2006-07-05  Wim Taymans  <wim@fluendo.com>
99         * libs/gst/base/gstbasetransform.c:
100         (gst_base_transform_prepare_output_buffer),
101         (gst_base_transform_buffer_alloc),
102         (gst_base_transform_handle_buffer):
103         Make sure the buffer we pass to transform_ip has a refcount of
104         1 and thus is writable. Fixes #343196
106 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
108         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
109         (gst_file_src_init), (gst_file_src_set_property),
110         (gst_file_src_get_property), (gst_file_src_map_region):
111         * plugins/elements/gstfilesrc.h:
112         Add "sequential" property, off by default, to use madvise and hint
113         to the kernel that sequential access is desired.
114         Touch all retrieved pages by default to ensure they are pulled
115         into memory. (Closes #345720)
117 2006-07-03  Wim Taymans  <wim@fluendo.com>
119         * docs/design/part-block.txt:
120         * docs/design/part-dynamic.txt:
121         Small docs updates.
123 2006-07-03  Wim Taymans  <wim@fluendo.com>
125         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
126         (gst_caps_unref), (gst_static_caps_get),
127         (gst_caps_append_structure):
128         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
129         Use GSlice when the glib we build against is >= 2.10
131 2006-07-03  Wim Taymans  <wim@fluendo.com>
133         * gst/gstelement.c: (gst_element_pads_activate):
134         Small cleanup in pad activation code.
136 2006-07-03  Wim Taymans  <wim@fluendo.com>
138         Patch by: Peter Kjellerstedt <pkj at axis dot com>
140         * gst/gst-i18n-app.h:
141         * gst/gst-i18n-lib.h:
142         * tools/gst-inspect.c: (print_signal_info):
143         The attached patch will make the inclusion of gettext.h unconditional in
144         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
145         libintl.h in tools/gst-inspect.c.
146         This allows use of --disable-nls again and fixes #344642.
148 2006-07-03  Edward Hervey  <edward@fluendo.com>
150         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
151         Implement pad blocking on events according to part-block.txt.
152         More comments on behaviour.
153         * tests/check/gst/gstevent.c: (test_event):
154         Send event to peer pad of blocked pad (else it will block).
156 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
158         * libs/gst/check/gstcheck.c: (gst_check_message_error),
159         (gst_check_run_suite):
160           if we get the wrong message, give us the types as string
161         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
162           Fix a translatable
163         * tests/check/elements/filesrc.c: (GST_START_TEST):
164           add a test for trying to open a non-existing file
166 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
168         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
169           add a test for adding self
171 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
173         * libs/gst/check/gstcheck.h:
174           add some assert_ as alias for fail_unless_*
175         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
176           increase test coverage
178 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
180         * Makefile.am:
181           include lcov.mak for lcov coverage generation
182         * tools/Makefile.am:
183           add to CLEANFILES
185 2006-07-02  Edward Hervey  <edward@fluendo.com>
187         * tests/check/elements/.cvsignore:
188         moaping
190 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
192         * configure.ac:
193           don't set CFLAGS and friends for gcov, done from GST_GCOV now
194         * tests/check/Makefile.am:
195           clean up gcov files
197 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
199         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
200           remove gst_caps_simplify; it was not declared and not used
201           and deprecated in 0.8
203 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
205         * docs/faq/gst-uninstalled:
206           don't put empty paths on PYTHONPATH
207         * docs/gst/gstreamer-sections.txt:
208           remove some symbols that are not there
210 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
212         * gst/gstcaps.c: (gst_caps_compare_structures):
213           whitespace fixes
214         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
215         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
216           add more tests
218 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
220         * libs/gst/dataprotocol/Makefile.am:
221           build dataprotocol test by linking to the lib, instead of
222           compiling the source, so we get coverage
223         * tests/check/Makefile.am:
224         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
225         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
226           add a test for filesrc
228 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
230         * tests/check/gst/gststructure.c: (GST_START_TEST),
231         (gst_structure_suite):
232           Push coverage from 59.04% to 70.00%
234 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
236         * tests/check/Makefile.am:
237           gst-inspect every element; this makes sure that we also get
238           coverage on element's get/set functions
240 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
242         * configure.ac:
243           set CFLAGS and friends to -O0 if gcov is being used
244           add GCOV LIBS
245         * gst/Makefile.am:
246         * libs/gst/base/Makefile.am:
247         * libs/gst/check/Makefile.am:
248         * libs/gst/controller/Makefile.am:
249         * libs/gst/dataprotocol/Makefile.am:
250         * libs/gst/net/Makefile.am:
251         * plugins/elements/Makefile.am:
252         * plugins/indexers/Makefile.am:
253           add makefile rules to generate gcov data and clean up
254         * tests/check/Makefile.am:
255           add a coverage target that generates an html overview
256           of coverage data
258 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
260         * tests/check/elements/fakesink.c:
261         * tests/check/elements/fakesrc.c:
262         * tests/check/elements/fdsrc.c:
263         * tests/check/elements/identity.c:
264         * tests/check/generic/sinks.c: (gst_sinks_suite):
265         * tests/check/generic/states.c:
266         * tests/check/gst/gst.c:
267         * tests/check/gst/gstabi.c:
268         * tests/check/gst/gstbin.c:
269         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
270         * tests/check/gst/gstbus.c: (gst_bus_suite):
271         * tests/check/gst/gstcaps.c: (GST_START_TEST):
272         * tests/check/gst/gstelement.c:
273         * tests/check/gst/gstevent.c: (gst_event_suite):
274         * tests/check/gst/gstghostpad.c:
275         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
276         * tests/check/gst/gstmessage.c: (gst_message_suite):
277         * tests/check/gst/gstminiobject.c:
278         * tests/check/gst/gstobject.c:
279         * tests/check/gst/gstpad.c:
280         * tests/check/gst/gstpipeline.c:
281         * tests/check/gst/gstplugin.c:
282         * tests/check/gst/gstquery.c: (gst_query_suite):
283         * tests/check/gst/gstsegment.c: (gst_segment_suite):
284         * tests/check/gst/gststructure.c:
285         * tests/check/gst/gstsystemclock.c:
286         * tests/check/gst/gsttag.c:
287         * tests/check/gst/gsttask.c: (gst_task_suite):
288         * tests/check/gst/gstutils.c:
289         * tests/check/gst/gstvalue.c:
290         * tests/check/libs/adapter.c:
291         * tests/check/libs/basesrc.c:
292         * tests/check/libs/collectpads.c:
293         * tests/check/libs/controller.c:
294         * tests/check/libs/gdp.c: (gst_dp_suite):
295         * tests/check/libs/gstnetclientclock.c:
296         * tests/check/libs/gstnettimeprovider.c:
297         * tests/check/libs/libsabi.c: (libsabi_suite):
298         * tests/check/libs/typefindhelper.c:
299         * tests/check/pipelines/cleanup.c:
300         * tests/check/pipelines/parse-launch.c:
301         * tests/check/pipelines/simple-launch-lines.c:
302         * tests/check/pipelines/stress.c: (stress_suite):
303           use the new macro
305 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
307         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
308         * libs/gst/check/gstcheck.h:
309           create a macro and function so that the simple unit test
310           case can be just one macro to create main()
312 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
314         * gst/gstbin.c: (gst_bin_restore_thyself):
315         * gst/gstxml.c: (gst_xml_make_element):
316           Fix deserialisation from XML. Set parent manually
317           instead of using gst_bin_add(), since gst_bin_add()
318           will unlink all pads of the element being added.
319           Fixes #341667.
321 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
323         Patch by: Peter Kjellerstedt <pkj at axis com>
325         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
326           Fix missing g_strdup() and double free when using the
327           --gst-plugin-load command line option (#346097).
329 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
331         * gst/gstinfo.c:
332           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
334         * libs/gst/net/gstnetclientclock.c:
335         * libs/gst/net/gstnettimeprovider.c:
336           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
338 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
340         * docs/manual/advanced-dataaccess.xml:
341           Fix buffer probe example compilation in
342           ADM (#345708).
343         
344 2006-06-22  Edward Hervey  <edward@fluendo.com>
346         * gst/gstelement.c: (gst_element_pads_activate):
347         We need to deactivate src pads first and then sink pads.
348         The reason is the src pads might be blocking while holding the streaming
349         lock, so we need to deactivate them first so that deactivating the sink
350         pads doesn't block (since it will require the streaming lock).
352 2006-06-22  Wim Taymans  <wim@fluendo.com>
354         * libs/gst/base/gstbasetransform.c:
355         (gst_base_transform_buffer_alloc):
356         Forgot to remove two unneeded unrefs.
357         Simplify a check _is_equal allready checks the obvious case.
359 2006-06-22  Wim Taymans  <wim@fluendo.com>
361         * docs/design/part-block.txt:
362         Some docs about what pad_block should do.
364 2006-06-22  Wim Taymans  <wim@fluendo.com>
366         * gst/gstcaps.c: (gst_caps_replace):
367         Fix crasher when passed NULL. Doc clarification.
368         Optimize for the trivial case.
370         * gst/gstpipeline.c: (gst_pipeline_change_state):
371         Small cleanups.
373         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
374         Small documentation cleanup.
376         * libs/gst/base/gstbasetransform.c:
377         (gst_base_transform_buffer_alloc):
378         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
379         is what we need and it avoids a whole lot of redundant 
380         refcount operations.
382 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
384         Patch by: Philip Jägenstedt  <philip at lysator liu se>
386         * docs/manual/advanced-dataaccess.xml:
387           Fix 'Embedding static elements' section to use
388           GST_PLUGIN_DEFINE_STATIC (#345607).
390 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
392         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
393           Attempt to 'fix' spuriously failing test case: it seems like the
394           timeout of half a second is simply too small when the system is under
395           load otherwise, and the timeout doesn't really seem to serve any
396           particular purpose here. Give the pipeline a few seconds to preroll
397           first, and then give it another half a second to go from PAUSED to
398           PLAYING and marshal the message into the main thread.
400 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
402         * tools/gst-feedback-m.m:
403           Don't only use unversioned tools, try versioned tools as well
404           (#345086).
406 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
408         * gst/gstbus.c: (gst_bus_class_init):
409           Fix some typos, make docs more explicit.
411 2006-06-20  Wim Taymans  <wim@fluendo.com>
413         * tests/check/gst/gstghostpad.c: (block_callback),
414         (GST_START_TEST), (gst_ghost_pad_suite):
415         Added some more ghostpad tests, mainly blocking
416         and probes.
418 2006-06-16  Wim Taymans  <wim@fluendo.com>
420         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
421         (gst_file_sink_close_file), (gst_file_sink_do_seek),
422         (gst_file_sink_event), (gst_file_sink_render):
423         * plugins/elements/gstfilesink.h:
424         Check if we can seek in the file instead of assuming
425         we always can. Post an error when we are asked to seek in a
426         non-seekable file (like a fifo). Fixes #343312.
427         Some cleanups.
429 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
431         * tools/gst-launch.1.in:
432           Un-garble (fourcc) bit in filtered caps section.
434 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
436         * docs/manual/advanced-autoplugging.xml:
437         * docs/manual/basics-helloworld.xml:
438         * docs/manual/highlevel-components.xml:
439           Don't leak bus reference in sample code.
441 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
443         * autogen.sh:
444           Add default for new --enable-plugin-docs switch.
446         * configure.ac:
447           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
448           Fixes #344039.
450         * docs/Makefile.am:
451           Use new ENABLE_PLUGIN_DOCS conditional.
453 2006-06-14  Wim Taymans  <wim@fluendo.com>
455         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
456         Make it clear with a FIXME and a real define what the #if 0
457         previously disabled.
459 2006-06-14  Wim Taymans  <wim@fluendo.com>
461         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
462         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
463         * libs/gst/base/gstbasetransform.c:
464         (gst_base_transform_sink_eventfunc):
465         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
466         Don't randomly and silently reset a segment when the format 
467         changes as this is a bug somewhere upstream. Fixes #330379.
469 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
471         Patch by: Wouter Paesen  <wouter at kangaroot net>
473         * libs/gst/controller/gstcontroller.c:
474         (gst_controlled_property_new):
475           Fix controlling of float properties (#344849).
477         * tests/check/libs/controller.c:
478         (gst_test_mono_source_get_property),
479         (gst_test_mono_source_set_property),
480         (gst_test_mono_source_class_init), (GST_START_TEST):
481           While we're at it, add some float stuff to unit test.
483 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
485         * docs/README:
486         * docs/images/gdp-header.svg:
487           add a gdp image
488         * docs/libs/Makefile.am:
489         * docs/libs/gdp-header.png:
490         * libs/gst/dataprotocol/dataprotocol.c:
491           add it to the API docs
492         * docs/manual/intro-motivation.xml:
493           fix typo
495 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
497         * gst/gst.c: (scan_and_update_registry), (init_post):
498           If the fork()'ed child process can't write the updated registry cache
499           file to disk for some reason, make it exit with a failure exit code,
500           so that the parent can then re-scan the plugins itself and update the
501           registry structures in memory and work with that (rather than failing
502           when creating elements because seemingly no plugins are available).
503           Refactor registry scanning code into separate function for this and
504           also separate fork() and non-fork() code paths. Fixes #344748.
506 2006-06-13  Wim Taymans  <wim@fluendo.com>
508         * docs/manual/advanced-dataaccess.xml:
509         Fix wrong PluginDesc. Fixes #344755.
511 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
513         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
514           Fix silly bug that prevented us from creating
515           ~/.gstreamer-0.10 and writing the registry in one
516           go (the first call to g_mkstemp() would overwrite the
517           placeholder in the template string, so the second call
518           to g_mkstemp() after creating the missing directory
519           would then error out with 'invalid argument').
521 2006-06-13  Edward Hervey  <edward@fluendo.com>
523         * gst/gst.c: (init_post):
524         Free string.
526 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
528         * gst/glib-compat-private.h:
529         * gst/glib-compat.c:
530         * gst/glib-compat.h:
531         * gst/gstvalue.c: (gst_value_serialize_flags):
532           remove GLib 2.6 compatibility code
534 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
536         * gst/parse/Makefile.am:
537           Fix build with 'make -j N' even more (#340016).
539 2006-06-12  Wim Taymans  <wim@fluendo.com>
541         * docs/gst/gstreamer-sections.txt:
542         Fix docs.
544 2006-06-12  Wim Taymans  <wim@fluendo.com>
546         * gst/gstsegment.c: (gst_segment_set_duration),
547         (gst_segment_set_last_stop), (gst_segment_set_seek),
548         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
549         (gst_segment_to_running_time), (gst_segment_clip):
550         Use G_UNLIKELY to help the compiler a bit.
552 2006-06-12  Wim Taymans  <wim@fluendo.com>
554         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
556         * gst/gstevent.c: (gst_event_get_type):
557         * gst/gstmessage.c:
558         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
559         (gst_pad_push):
560         constify quark registration strings. Fixes #344115
561         Avoid unneeded type checking is _pad_push() by internally
562         calling gst_pad_chain_unchecked().
564 2006-06-12  Wim Taymans  <wim@fluendo.com>
566         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
567         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
568         (gst_subbuffer_finalize), (gst_buffer_create_sub),
569         (gst_buffer_is_span_fast), (gst_buffer_span):
570         Init _type for consistency.
571         Use _FLAGS macro to avoid type check.
572         Avoid unneeded type checks in subbufer code.
574 2006-06-12  Wim Taymans  <wim@fluendo.com>
576         * gst/gst.c: (gst_debug_help):
577         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
578         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
579         (gst_plugin_feature_list_free):
580         * gst/gstregistry.c: (gst_registry_add_plugin),
581         (gst_registry_add_feature), (gst_registry_plugin_filter),
582         (gst_registry_feature_filter), (gst_registry_find_plugin),
583         (gst_registry_find_feature), (gst_registry_get_plugin_list),
584         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
585         * gst/gstregistryxml.c: (load_feature),
586         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
587         * gst/gstminiobject.c: (gst_mini_object_unref),
588         (gst_mini_object_replace), (gst_value_mini_object_free),
589         (gst_value_mini_object_copy):
590         Use _CAST macros to avoid unneeded type checking.
591         Added some more G_UNLIKELY.
593 2006-06-12  Wim Taymans  <wim@fluendo.com>
595         * gst/gstbuffer.h:
596         Avoid unneeded type checking.
597         API: GST_BUFFER_IS_DISCONT
599         * gst/gstminiobject.h:
600         Avoid type check in flag accessor.
602         * gst/gstelementfactory.h:
603         * gst/gstplugin.h:
604         * gst/gstpluginfeature.h:
605         Add _CAST macros.
606         API: GST_ELEMENT_FACTORY_CAST
607         API: GST_PLUGIN_CAST
608         API: GST_PLUGIN_FEATURE_CAST
610 2006-06-12  Wim Taymans  <wim@fluendo.com>
612         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
613         (gst_object_unref):
614         Add G_UNLIKELY in type registration.
615         Avoid type check in _ref/_unref since that is also
616         done in glib.
618 2006-06-12  Wim Taymans  <wim@fluendo.com>
620         * gst/gsterror.c: (gst_g_error_get_type):
621         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
622         (gst_static_pad_template_get_type):
623         * gst/gsttaglist.c: (gst_tag_list_get_type):
624         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
625         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
626         * gst/gsturi.c: (gst_uri_handler_get_type):
627         * gst/gstvalue.c: (gst_date_get_type):
628         * gst/gstxml.c: (gst_xml_get_type):
629         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
630         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
631         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
632         Add G_UNLIKELY in type registration.
634 2006-06-12  Wim Taymans  <wim@fluendo.com>
636         * tools/gst-inspect.c: (print_signal_info):
637         Properly print enum values.
639 2006-06-12  Wim Taymans  <wim@fluendo.com>
641         * gst/gstinfo.c: (gst_debug_set_active),
642         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
643         * gst/gstinfo.h:
644         Add some G_[UN]LIKELY.
645         Maintain __gst_debug_min to avoid formatting the arguments of
646         debug messages that will be dropped anyway to avoid a lot of 
647         overhead from the debugging system.
649 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
651         * po/POTFILES.in:
652         * po/POTFILES.skip:
653           add missing files containing translatable strings, tell intltool about
654           one exception
656 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
658         * tests/check/libs/.cvsignore:
659         add test-binary to ignore list
661 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
663         * docs/libs/gstreamer-libs-docs.sgml:
664         reorder (put dp into a chapter) and indent
666 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
668         * configure.ac:
669           back to HEAD
671 === release 0.10.8 ===
673 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
675         * configure.ac:
676           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
678 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
680         * gst/gst.c: (init_post):
681           move pid declaration to declaration block
683 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
685         * gst/gst.c: (init_post):
686           use _exit() instead of exit() in our forked child; this ensures
687           that none of the registered exit handlers from whatever is using
688           GStreamer get executed.  This fixes gnome-mixer-applet failing
689           to load, because ORBit would shut down.
690           Spotted by: Edward Hervey  <edward@fluendo.com>
691           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
692           Fixes #344474
694 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
696         * configure.ac:
697           back to TRUNK
699 === release 0.10.7 ===
701 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
703         * configure.ac:
704           releasing 0.10.7, "Soepeke, ik zie ou"
706 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
708         * configure.ac:
709         * po/af.po:
710         * po/az.po:
711         * po/bg.po:
712         * po/ca.po:
713         * po/cs.po:
714         * po/de.po:
715         * po/en_GB.po:
716         * po/fr.po:
717         * po/it.po:
718         * po/nb.po:
719         * po/nl.po:
720         * po/ru.po:
721         * po/sq.po:
722         * po/sr.po:
723         * po/sv.po:
724         * po/tr.po:
725         * po/uk.po:
726         * po/vi.po:
727         * po/zh_CN.po:
728         * po/zh_TW.po:
729         * win32/common/config.h:
730           0.10.6.2 prerelease
732 2006-06-07  Wim Taymans  <wim@fluendo.com>
734         * gst/gstindex.c: (gst_index_gtype_resolver):
735         * tools/gst-xmlinspect.c: (print_plugin_info):
736         Fix leak spotted by coverity checker. Fixes #343827
737         Fix another other leak found by paolo borelli.
739 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
741         * libs/gst/dataprotocol/dataprotocol.c:
742         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
743         (gst_dp_version_get_type), (gst_dp_init),
744         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
745         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
746         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
747         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
748         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
749         (gst_dp_packetizer_free):
750         * libs/gst/dataprotocol/dataprotocol.h:
751           API: add a GstDPPacketizer object, and create/free functions
752           API: add GstDPVersion enum
753           Add 1.0 event function that uses the string serialization
754           Serialize more useful buffer flags
755           Fixes #343988
757 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
759         * tests/check/Makefile.am:
760         * tests/check/gst/gstabi.c:
761         * tests/check/gst/struct_ppc64.h:
762         * tests/check/libs/libsabi.c:
763         * tests/check/libs/struct_ppc64.h:
764           add ppc64 structure sizes
766 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
768         * tests/check/Makefile.am:
769         * tests/check/gst/gstabi.c:
770         * tests/check/gst/struct_x86_64.h:
771         * tests/check/libs/libsabi.c:
772         * tests/check/libs/struct_x86_64.h:
773           generate and add structure size lists for x86_64
775 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
777         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
778         * libs/gst/check/gstcheck.h:
779           factor out the method from tests that checks size of structures,
780           and add code to generate the header containing these sizes
781         * tests/check/gst/gstabi.c: (GST_START_TEST):
782         * tests/check/gst/struct_i386.h:
783         * tests/check/libs/libsabi.c: (GST_START_TEST):
784         * tests/check/libs/struct_i386.h:
785           use it
787 2006-06-06  Michael Smith  <msmith@fluendo.com>
789         * gst/gstsegment.h:
790           Don't use c++-style comments, fixes #343929
792 2006-06-05  Edward Hervey  <edward@fluendo.com>
794         * gst/gst.c:
795         plugin_paths is not used if we build without registry support.
797         * gst/gstsegment.c: (gst_segment_copy): 
798         _copy() was always returning NULL...
800 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
802         * libs/gst/dataprotocol/dataprotocol.c:
803         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
804         (gst_dp_packet_from_event):
805           factor out CRC code
807 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
809         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
810           make sure we unset caps
812 2006-06-02  Michael Smith  <msmith@fluendo.com>
814         * libs/gst/check/gstcheck.c: (gst_check_init),
815         (gst_check_chain_func):
816         * libs/gst/check/gstcheck.h:
817           Add a cond/mutex to the check support lib, signal this whenever we
818           add to the buffers list. This will allow tests to not busy-wait on
819           the buffer-list.
821 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
823         * libs/gst/dataprotocol/dataprotocol.c:
824         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
825         (gst_dp_packet_from_event):
826           factor out some common header init code
828 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
830         * docs/libs/gstreamer-libs-sections.txt:
831         * docs/libs/tmpl/gstdataprotocol.sgml:
832         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
833         * libs/gst/dataprotocol/dataprotocol.h:
834           API: make gst_dp_crc() public
836 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
838         * plugins/indexers/gstindexers.c: (plugin_init):
839         conditionally register fileindexer (fixes #343598)
841 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
843         * gst/gsttagsetter.h:
844         Can't cast ifaces to a class
846         * libs/gst/net/gstnetclientclock.h:
847         * libs/gst/net/gstnettimeprovider.h:
848         * plugins/elements/gstfakesink.h:
849         * plugins/elements/gstfakesrc.h:
850         * plugins/elements/gstfdsink.h:
851         * plugins/elements/gstfdsrc.h:
852         * plugins/elements/gstfilesink.h:
853         * plugins/elements/gstfilesrc.h:
854         * plugins/elements/gstidentity.h:
855         * plugins/elements/gstqueue.h:
856         * plugins/elements/gsttee.h:
857         * plugins/indexers/gstfileindex.c:
858         * plugins/indexers/gstmemindex.c:
859         * tests/old/examples/plugins/example.h:
860         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
862 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
864         * libs/gst/dataprotocol/dataprotocol.c:
865         (gst_dp_header_from_buffer):
866           make sure we zero the whole ABI-compatible area
868 2006-06-01  Wim Taymans  <wim@fluendo.com>
870         Patch by: Alessandro Decina <alessandro at nnva dot org>
872         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
873         Make sure the EOS flag is cleared from pads after a flush
874         or stop. Fixes #343538.
876         * tests/check/libs/collectpads.c: (GST_START_TEST),
877         (gst_collect_pads_suite):
878         Added test for collectpads reusage after EOS.
880 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
882         * gst/gst.c:
883          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
884         * win32/common/libgstbase.def:
885          export gst_collect_pads_set_flushing
886         * win32/common/libgstreamer.def:
887          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
888          gst_value_fraction_multiply
889         * win32/vs6/gst_inspect.dsp:
890          add a link to intl.lib
892 2006-05-30  Wim Taymans  <wim@fluendo.com>
894         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
895         (gst_collect_pads_chain):
896         Handle the case where a pad is removed from the collection
897         that could cause the other pads to become collectable.
899 2006-05-30  Wim Taymans  <wim@fluendo.com>
901         * gst/gstelement.c:
902         Clarify the use of _release_request_pad() and
903         _get_request_pad() a bit better.
905         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
906         (gst_adapter_take_buffer):
907         Fix some doc and comment typos.
909 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
911         * docs/gst/gstreamer-sections.txt:
912         * docs/libs/gstreamer-libs-sections.txt:
913           add declared symbols
915 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
917         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
918         Add debug that can be enabled using a #define at the top of the file,
919         for dumping stats about how late/early we were when waking up from
920         waiting on the clock.
922 2006-05-30  Wim Taymans  <wim@fluendo.com>
924         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
925         When rebuilding the pad list, don't leak the previous list.
927 2006-05-30  Wim Taymans  <wim@fluendo.com>
929         Patch by: Lutz Mueller <lutz at topfrose dot de>
931         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
932         (gst_base_src_get_query_types), (gst_base_src_update_length):
933         Publish supported query types.
934         Update last_stop field in get_range mode so the position
935         query works. Fixes #342321.
937 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
939         * docs/gst/gstreamer-sections.txt:
940         * gst/gsttaglist.c: (_gst_tag_initialize):
941         * gst/gsttaglist.h:
942           API: add GST_TAG_PREVIEW_IMAGE (#343341).
944 2006-05-30  Wim Taymans  <wim@fluendo.com>
946         Patch by: Alessandro Decina <alessandro at nnva dot org>
948         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
949         Unlock mutex when removing an unknown pad.
950         Fixes #343334.
952         * tests/check/Makefile.am:
953         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
954         (push_event), (setup), (teardown), (GST_START_TEST),
955         (gst_collect_pads_suite), (main):
956         Added collecpads check, disabled for now as check crashes for
957         some reason.
959 2006-05-29  Wim Taymans  <wim@fluendo.com>
961         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
962         Don't leak pads lists.
964 2006-05-29  Wim Taymans  <wim@fluendo.com>
966         * docs/libs/gstreamer-libs-sections.txt:
967         * libs/gst/base/gstcollectpads.c:
968         (gst_collect_pads_set_flushing_unlocked),
969         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
970         (gst_collect_pads_stop):
971         * libs/gst/base/gstcollectpads.h:
972         API: gst_collect_pads_set_flushing()
973         Added api to set the pads to flushing, useful for seeking
974         code in elements using collectpads.
975         Clear segment when receiving a flush.
977 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
979         * gst/gst.c: (add_path_func), (init_post):
980           Don't scan registry paths passed via --gst-plugin-path immediately
981           (will crash, because absolutely nothing is set up and no types are
982           registered etc.); do this later in init_post(). Fixes #343057.
984 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
986         * gst/gst.c: (init_post):
987           if we have fork, fork while reading/rebuilding the registry
988           so the parent doesn't take the hit of having all plugins loaded
989           in memory.  Fixes #342777.
990         * configure.ac:
991           Check if we have fork()
992         * win32/common/config.h.in:
993           no fork() on win32
995 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
997         * plugins/elements/gstelements.c:
998         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
999         (gst_file_src_init), (gst_file_src_set_property),
1000         (gst_file_src_get_property), (gst_file_src_start):
1001         * plugins/elements/gstfilesrc.h:
1002           API: GstFileSrc::use-mmap
1004         Add a use-mmap property to enable easier testing of all code paths.
1005         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1006         in the absence of gnomevfssrc. (Closes #340501)
1008 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1010         * tools/gst-inspect.c:
1011         Add missing include, removes warning of ngettext not being defined on
1012         some arches.
1014 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1016         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1017         Handle NULL input and output pointers silently as a failed conversion,
1018         rather than g_warnings.
1020 2006-05-25  Wim Taymans  <wim@fluendo.com>
1022         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1023         Initialize variable before using. Fixes #342820.
1025 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1027         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1028           Fix off-by-one bug that would only allow peeks of N-1 bytes
1029           from the start even if the buffer to typefind on contains
1030           in fact N bytes of data (makes vorbis typefinding from a
1031           vorbis identification header buffer work).
1033         * tests/check/Makefile.am:
1034         * tests/check/libs/.cvsignore:
1035         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1036         (gst_typefindhelper_suite), (main), (foobar_typefind),
1037         (plugin_init):
1038           Add very basic unit test for gst_type_find_helper_for_buffer()
1039           that checks for the problem fixed above.
1041 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1043         * tools/gst-inspect.c: (print_interfaces),
1044         (print_element_properties_info), (print_element_list), (main):
1045           add more translatable strings
1047 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1049         Patch by: Julien Moutte  <julien at moutte net>
1051         * docs/gst/gstreamer-sections.txt:
1052           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1053           
1054         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1055         (gst_fake_sink_preroll):
1056         * plugins/elements/gstfakesink.h:
1057           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1059 2006-05-23  Wim Taymans  <wim@fluendo.com>
1061         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1062         * gst/gstpad.h:
1063         Added _CUSTOM error and success GstFlowReturn that can be
1064         used be elements internally. 
1065         Added macro to check for SUCCESS flowreturns.
1066         API: GST_FLOW_CUSTOM_SUCCESS
1067         API: GST_FLOW_CUSTOM_ERROR
1068         API: GST_FLOW_IS_SUCCESS
1070         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1071         Added check for GstFlowReturn sanity.
1073 2006-05-23  Wim Taymans  <wim@fluendo.com>
1075         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1077         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1078         (gst_collect_pads_event):
1079         clear/reset segment info in FLUSH_STOP.
1080         Fixes #336929.
1082 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1084         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1085         (gst_collect_pads_check_collected):
1086         Flush queued buffer on _stop(), fixes playing again (#342454)
1088 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1090         * tests/check/gst/gststructure.c: (GST_START_TEST),
1091         (gst_structure_suite):
1092           add a test for a complete structure
1094 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1096         * docs/faq/developing.xml:
1097         * docs/faq/faq.xml:
1098         * docs/faq/troubleshooting.xml:
1099         * docs/faq/using.xml:
1100           Some minor FAQ updates that won't change the fact that
1101           our FAQ is badly structured, full of information hardly
1102           anyone new to GStreamer needs to know and lacking lots
1103           of information people constantly ask for.
1104           
1105 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1107         * gst/gstpad.c: (gst_pad_set_caps):
1108           Short-circuit gst_pad_set_caps if setting the existing
1109           caps pointer again, and avoid printing debug and 
1110           reffing/unreffing the caps.
1112         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1113           There's actually no need to set the caps before pushing -
1114           the acceptcaps method will handle it anyway.
1116 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1118         * docs/gst/gstreamer-sections.txt:
1119         * win32/common/libgstreamer.def:
1120         * gst/gstutils.c: (gst_element_seek_simple):
1121         * gst/gstutils.h:
1122           API: add gst_element_seek_simple() (#342238).
1124 2006-05-18  Edward Hervey  <edward@fluendo.com>
1126         * gst/gsttypefind.c: (gst_type_find_get_type):
1127         * gst/gsttypefind.h:
1128         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1129         registered for GstTypeFind pointers. This allows wrapping the structure
1130         in bindings (i.e. gst-python).
1132 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1134         * gst/gsttagsetter.c:
1135           Docs additions and fixes (see #339918).
1137 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1139         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1140         The caps intersection algorithm can produce multiple copies of the
1141         caps. Until that is fixed, we need to simplify the result to be
1142         sure whether the allowed caps are fixed or not.
1144         * plugins/elements/gstqueue.c: (gst_queue_init),
1145         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1146         (gst_queue_push_one):
1147         Proxied buffer alloc should not set the caps on the source pad.
1148         When pushing buffers, we always accept the caps change that triggers.
1149         This prevents negotiation errors caused by caps changing mid-stream 
1150         and then being refused on our source pad (because upstream is now
1151         refusing those caps).
1153 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1155         * tests/examples/helloworld/helloworld.c: (main):
1156           Must plug audioconvert and audioresample between decoder
1157           and audio sink.
1159 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1161         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1162         (load_feature), (load_plugin):
1163         Allow empty strings for some of the plugin fields so we don't 
1164         drop valid plugin entries that were written out correctly
1165         (Fixes #341479)
1167 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1168         
1169         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1170           Use g_remove and g_rename instead of remove and rename that don't 
1171           handle utf8 characters. rename was failing for users who had specific
1172           characters in their name then the registry was built at each 
1173           gstreamer init.
1174         * win32/vs6/gst_inspect.dsp:
1175         * win32/vs6/gst_launch.dsp:
1176         * win32/vs6/libgstbase.dsp:
1177         * win32/vs6/libgstcoreelements.dsp:
1178         * win32/vs6/libgstreamer.dsp:
1179           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1180           build of libgstreamer and clean unused libraries in projects link 
1181           settings.
1183 2006-05-17  Edward Hervey  <edward@fluendo.com>
1185         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1186         The queue is not responsible for pushing an EOS when receiving a fatal
1187         flow error. It's up to the real element driving the pipeline to do that.
1189 2006-05-16  Edward Hervey  <edward@fluendo.com>
1191         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1192         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1193         buffer returned a fatal error. It should just send an EOS and stop
1194         its task.
1195         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1196         when pushing buffers on the queue and will be able to handle the event.
1198 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1200         * docs/manual/basics-bins.xml:
1201         * docs/manual/basics-init.xml:
1202           Fix typos and minor errors in sample code (#341856).
1204 2006-05-16  Wim Taymans  <wim@fluendo.com>
1206         * docs/design/part-qos.txt:
1207         Fix indexes in formulas to make more sense.
1209 2006-05-15  Wim Taymans  <wim@fluendo.com>
1211         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1212         Don't report POSITION based on clock time if sync is
1213         disabled in a sink.
1215 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1217         * gst/gstobject.h:
1218           Add cast to make compiler happy - refcount variable was a gint
1219           in GstObject but is a guint in GObject and g_atomic_int_get()
1220           wants a gint *.
1222 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1224         * gst/parse/Makefile.am:
1225           chain commands using &&, which also makes parallel make work
1227 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1229         * docs/gst/gstreamer-sections.txt:
1230         * gst/gstevent.c:
1231         * gst/gstevent.h:
1232         * gst/gstmessage.h:
1233           Minor docs fixes.
1235 === release 0.10.6 ===
1237 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1239         * configure.ac:
1240           releasing 0.10.6, "Take the cannoli"
1242 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1244         * tools/gst-launch.c: (print_tag):
1245           Fix use of uninitialized variable in the hypothetical
1246           case that some broken plugin creates a GST_TAG_IMAGE
1247           tag containing a NULL buffer (#341667).
1249 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1251         * tools/gst-launch.c: (print_tag):
1252           Print something more intelligible for image tags when
1253           using the -t switch (#341556).
1255 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1257         * Makefile.am:
1258           updates for win32
1259         * configure.ac:
1260           define GST_MAJORMINOR so we have it available in win32/common/config.h
1261           Possibly remove it from our Makefile.am files later
1262         * win32/common/config.h:
1263         * win32/common/config.h.in:
1264           added GST_MAJORMINOR
1265         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1266         * win32/common/gstversion.h:
1267           updated
1269 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1271         * win32/MANIFEST:
1272           Update win32 files listing.
1273         * win32/common/gstversion.h:
1274           Add GST_MAJORMINOR definition.
1275         * win32/common/libgstreamer.def:
1276           Add new exported functions.
1277           
1278 2006-05-12  Michael Smith  <msmith@fluendo.com>
1280         * gst/gstplugin.c: (gst_plugin_load_file):
1281           If an so file has no plugin entry point, unload the module.
1283 2006-05-11  Wim Taymans  <wim@fluendo.com>
1285         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1286         (gst_queue_set_property):
1287         Don't forget to signal the _chain or _loop function 
1288         when the queue size or thresholds change since that might
1289         cause them to make progres again.
1291 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1293         * gst/gstclock.c: (gst_clock_class_init):
1294         * gst/gstindex.c: (gst_index_class_init):
1295         * gst/gstobject.c: (gst_object_class_init):
1296         * gst/gstpad.c: (gst_pad_class_init):
1297         * gst/gstpipeline.c: (gst_pipeline_class_init):
1298         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1299         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1300         * libs/gst/base/gstbasetransform.c:
1301         (gst_base_transform_class_init):
1302         * libs/gst/net/gstnetclientclock.c:
1303         (gst_net_client_clock_class_init):
1304         * libs/gst/net/gstnettimeprovider.c:
1305         (gst_net_time_provider_class_init):
1306         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1307         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1308         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1309         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1310         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1311         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1312         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1313         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1314         * plugins/elements/gsttee.c: (gst_tee_class_init):
1315         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1316         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1317           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1319 2006-05-11  Wim Taymans  <wim@fluendo.com>
1321         * gst/gstbuffer.c: (_gst_buffer_initialize):
1322         Register subbufer along with the buffer type so that
1323         it does not accidentally gets registered from N
1324         different streaming threads in a non threadsafe way.
1326 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1328         * gst/gstbuffer.h:
1329         * gst/gstevent.h:
1330         * gst/gstmessage.h:
1331           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1332           gst_event_ref() and gst_message_ref() functions again
1333           (ugly hack, please do fix if there's a better way besides
1334           overrides.txt, which doesn't seem to work).
1336 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1338         * libs/gst/check/gstcheck.h:
1339           add an assert for setting state to avoid lots of repetitive code
1340           in the future
1342 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1344         * gst/gstvalue.c: (gst_value_serialize_flags):
1345           fix a leak if no flags are set
1346         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1347           fix leak in tests
1349 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1351         * docs/manual/basics-pads.xml:
1352           Expand a bit on caps and filtered links and update
1353           examples that were still using the no longer existing
1354           gst_pad_link_filtered() (#338206).
1356 2006-05-10  Wim Taymans  <wim@fluendo.com>
1358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1359         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1360         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1361         (gst_collect_pads_stop):
1362         * libs/gst/base/gstcollectpads.h:
1363         No need to call _stop in _finalize.
1364         Iterate the main pad list in _finalize.
1365         Added some more debug.
1366         Free lists and data in the right order.
1367         Also free data whem doing _remove_pad when stopped for
1368         backward compatibility protect ::started with PAD_LOCK as
1369         well.
1371 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1373         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1374         (gst_structure_parse_value):
1375           add some comments
1376           rename a method so that it actually says what it does better
1378 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1380         * gst/gstevent.c: (_gst_event_initialize):
1381         * gst/gstformat.c: (_gst_format_initialize):
1382           make sure some essential types used by events are registered
1383           as part of gst_init()
1384         * gst/gstvalue.c: (gst_value_serialize_flags):
1385           if no flags are set, serialize them to a value that represents NONE
1386           so that deserializing them works
1387         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1388           add tests for serialization and deserialization of flags
1390 2006-05-10  Wim Taymans  <wim@fluendo.com>
1392         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1393         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1394         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1395         (gst_collect_pads_event), (gst_collect_pads_chain):
1396         Update docs.
1397         Better debug info.
1398         Catch and return errors from the collect function
1399         Refuse data on eos pads.
1401 2006-05-10  Edward Hervey  <edward@fluendo.com>
1403         * gst/gstinterface.h:
1404         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1405         GInterface type checking.
1406         They were previously using non-defined macros.
1408 2006-05-09  Wim Taymans  <wim@fluendo.com>
1410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1411         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1412         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1413         (gst_collect_pads_start), (gst_collect_pads_stop),
1414         (gst_collect_pads_peek), (gst_collect_pads_pop),
1415         (gst_collect_pads_available), (gst_collect_pads_read),
1416         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1417         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1418         (gst_collect_pads_chain):
1419         * libs/gst/base/gstcollectpads.h:
1420         Clean up the mess that is collectpads, add comments and
1421         FIXMEs where needed.
1422         Maintain a separate pad list so we can add pads while
1423         collecting the other ones. For this we need a new separate 
1424         lock (see comics).
1425         Fix memory leak in finalize.
1426         Refactor some weird code to set/unset pad flushing flags, mark
1427         with comments.
1428         Don't crash in _available, _read, _flush when we're EOS.
1430         * tests/check/libs/.cvsignore:
1431         Ignore adapter check binary.
1433 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1435         * gst/gstindex.c: (gst_index_resolver_get_type):
1436         * plugins/elements/gstfakesink.c:
1437         (gst_fake_sink_state_error_get_type):
1438         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1439         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1440         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1441           Const-ify GEnumValue arrays.
1443 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1445         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1446           Add test case for flags + gst_buffer_make_metadata_writable().
1448 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1450         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1451           gst_buffer_make_metadata_writable() should maintain the
1452           buffer flags (those that make sense at least) (see #340859).
1454 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1456         * tools/gst-inspect.c:
1457         * tools/gst-launch.c:
1458         * tools/gst-typefind.c:
1459         * tools/gst-xmlinspect.c:
1460         * tools/tools.h:
1461           Fix up includes: need to include stdlib.h in tools.h for exit().
1463 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1465         * gst/gsttaglist.c: (_gst_tag_initialize):
1466         * gst/gsttaglist.h:
1467           API: add GST_TAG_IMAGE tag (#340721).
1469 2006-05-08  Wim Taymans  <wim@fluendo.com>
1471         * gst/gstquery.c:
1472         Added some docs for the segment query.
1474 2006-05-08  Wim Taymans  <wim@fluendo.com>
1476         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1477         (gst_base_src_loop), (gst_base_src_change_state):
1478         Always push non-flushing serialized events in the streaming 
1479         thread.
1481 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1483         * gst/gsterror.c: (_gst_stream_errors_init):
1484           Add a missing error string.
1486 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1488         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1489         Add applied_rate to the debug
1491         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1492         Copy applied_rate into the outgoing NEWSEGMENT event
1494 2006-05-08  Wim Taymans  <wim@fluendo.com>
1496         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1498         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1499         (gst_base_sink_change_state):
1500         call ::unlock before taking the PREROLL_LOCK so we can safely
1501         handle elements that lock in ::render.
1502         Fixes #340174.
1504 2006-05-08  Edward Hervey  <edward@fluendo.com>
1506         * autogen.sh: (CONFIGURE_DEF_OPT): 
1507         Darwin's libtoolize is in fact called glibtoolize.
1508         Adding glibtoolize to the list of accepted names for libtoolize.
1510 2006-05-08  Wim Taymans  <wim@fluendo.com>
1512         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1513         Unify error handling, don't post an error message
1514         when a push() returns EOS but perform our normal EOS
1515         handling code. Fixes #340772.
1517 2006-05-08  Wim Taymans  <wim@fluendo.com>
1519         * docs/design/part-overview.txt:
1520         Make upsteam/downstream concepts more clear.
1521         Give an example of serialized/non-serialized events.
1523         * docs/design/part-events.txt:
1524         * docs/design/part-streams.txt:
1525         Mention applied_rate.
1527         * docs/design/part-trickmodes.txt:
1528         Mention applied rate, flesh out some more use cases.
1530         * gst/gstevent.c: (gst_event_new_new_segment),
1531         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1532         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1533         (gst_event_parse_tag), (gst_event_new_buffer_size),
1534         (gst_event_parse_buffer_size), (gst_event_new_qos),
1535         (gst_event_parse_qos), (gst_event_parse_seek),
1536         (gst_event_new_navigation):
1537         * gst/gstevent.h:
1538         Add applied_rate field to NEWSEGMENT event.
1539         API: gst_event_new_new_segment_full()
1540         API: gst_event_parse_new_segment_full()
1542         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1543         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1544         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1545         * gst/gstsegment.h:
1546         Add applied_rate to GstSegment structure.
1547         Make calculation of stream_time and running_time more correct
1548         wrt rate/applied_rate.
1549         Add some more docs.
1550         API: GstSegment::applied_rate field
1551         API: gst_segment_set_newsegment_full();
1553         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1554         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1555         * libs/gst/base/gstbasetransform.c:
1556         (gst_base_transform_sink_eventfunc),
1557         (gst_base_transform_handle_buffer):
1558         Parse and use applied_rate in the GstSegment field.
1560         * tests/check/gst/gstevent.c: (GST_START_TEST):
1561         Add check for applied_rate field.
1563         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1564         (gstsegments_suite):
1565         Add more checks for various GstSegment operations.
1567 2006-05-08  Wim Taymans  <wim@fluendo.com>
1569         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1570         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1571         (gst_base_sink_get_position), (gst_base_sink_change_state):
1572         Store the sync time of the buffer end position separatly in a
1573         new variable eos_rtime so we can properly sync the EOS event.
1574         Fixes #340697.
1575         Fix the docs for gst_base_sink_set_qos_enabled().
1576         Don't set segment start to invalid value when we receive a 
1577         non TIME newsegment.
1578         get closer to handling position reporting for negative rates 
1579         correctly.
1581 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1583         * gst/gstcaps.c:
1584         Docs about how to print caps for debug purposes.
1586         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1587         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1589 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1591         * gst/gstelement.c:
1592           use full enum names and preprend a '%' in docs strings to make recent 
1593           gtk-doc turn that into a link
1595 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1597         * docs/manual/basics-bins.xml:
1598         * docs/manual/basics-bus.xml:
1599         * docs/manual/basics-pads.xml:
1600           Some typo fixes, some additions, some clarifications. 
1602 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1604         * tools/gst-inspect.c: (main):
1605         * tools/gst-launch.c: (main):
1606         * tools/gst-run.c: (main):
1607         * tools/gst-typefind.c: (main):
1608         * tools/gst-xmlinspect.c: (main):
1609           Use the string passed to g_option_context_new() for
1610           what it's intended for - the program name is already
1611           printed elsewhere.
1613 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1615         * tools/Makefile.am:
1616         * tools/gst-inspect.c: (main):
1617         * tools/gst-launch.c: (main):
1618         * tools/gst-xmlinspect.c: (main):
1619         * tools/tools.h:
1620           Add back --version command line option (#340460).
1622         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1623           Add --version option and use GOption for argument parsing; refactor a
1624           bit; accept directories as arguments and recurse into them; lastly,
1625           print a decent error message when things go wrong.
1627 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1629         * docs/manual/basics-bins.xml:
1630         Don't mention GstThread (#340611)
1631         * docs/manual/basics-elements.xml:
1632         Update link to GObject tutorial (#340607)
1633         
1634 2006-05-05  Wim Taymans  <wim@fluendo.com>
1636         * gst/gstbuffer.h:
1637         * gst/gstminiobject.c:
1638         Add note about refcounting and miniobject/buffer writeability
1639         to docs. Fixes #340604
1641         * gst/gstelementfactory.h:
1642         Added some explanation about @klass.
1644 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1646         * docs/manual/intro-motivation.xml:
1647         * docs/manual/manual.xml:
1648         Avoid CORBA & Bonobo references (#340598)
1650 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1652         * docs/manual/basics-bus.xml:
1653         * docs/manual/basics-pads.xml:
1654         Fix up some inaccuracies and omissions (#340609)
1655         
1656 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1658         * gst/gstghostpad.c:
1659           Small typo in docs (#340625)
1661 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1663         * gst/parse/Makefile.am:
1664           Make 'make -j' proof (see #340698).
1666 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1668         * configure.ac:
1669           Require GLib-2.8 here as well.
1671 2006-05-05  Wim Taymans  <wim@fluendo.com>
1673         * gst/glib-compat.c:
1674         * gst/gst.c: (init_pre):
1675         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1676         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1677         (gst_object_dispatch_properties_changed):
1678         * gst/gstobject.h:
1679         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1680         * gst/gststructure.c: (gst_structure_set_valist):
1681         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1682         Remove pre glib2.8 compatibility, fixes #340508
1684 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1686         * gst/gsttaglist.h:
1687           Mention type of tags in doc blurbs.
1689 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1691         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1692         (gst_pad_configure_src), (gst_pad_push):
1693         Restore acceptcaps checking behaviour now that good plugins have
1694         been released.
1696 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1698         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1700         * gst/gst.c:
1701         * gst/gstbus.c:
1702         * gst/gstclock.c:
1703         * gst/gstevent.c:
1704         * gst/gstformat.c:
1705         * gst/gstmessage.c:
1706         * gst/gstparse.c:
1707         * gst/gstquery.c:
1708         * gst/gstutils.c:
1709         * gst/parse/Makefile.am:
1710         * libs/gst/base/gstadapter.c:
1711         * libs/gst/base/gstbasesrc.c:
1712         * libs/gst/base/gstpushsrc.c:
1713         * libs/gst/base/gsttypefindhelper.c:
1714         * plugins/elements/gstfakesrc.c:
1715         * plugins/elements/gstidentity.c:
1716           Make sure gstprivate.h and/or config.h are
1717           always included first, otherwise some of our
1718           defines (like _FILE_OFFSET_BITS) might be
1719           redefined in the system headers. Fixes build
1720           on opensolaris (#340016).
1722 2006-05-04  Wim Taymans  <wim@fluendo.com>
1724         * docs/libs/gstreamer-libs-sections.txt:
1725         API: addition: gst_adapter_take_buffer()
1726         
1727         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1728         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1729         (gst_adapter_available_fast):
1730         * libs/gst/base/gstadapter.h:
1731         Prepare for optimizing the hell out of this hugely inefficient
1732         piece of code. 
1733         Added gst_adapter_take_buffer() so we can at least start thinking
1734         about subbuffering and merging.
1735         Added some comments.
1737         * tests/check/Makefile.am:
1738         * tests/check/libs/adapter.c: (GST_START_TEST),
1739         (gst_adapter_suite), (main):
1740         Added GstAdapter check.
1742 2006-05-04  Wim Taymans  <wim@fluendo.com>
1744         * docs/design/part-overview.txt:
1745         Fix some typos, add blurb about buffer flags.
1747 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1749         * docs/libs/gstreamer-libs-sections.txt:
1750           make sure GstBaseTransformClass shows up in the docs
1751         * libs/gst/base/gstbasetransform.c:
1752         * libs/gst/base/gstbasetransform.h:
1753           move docs so gtk-doc picks it up now
1755 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1757         * docs/libs/gstreamer-libs-sections.txt:
1758           add missing symbols to docs
1760 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1762         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1763           back out the newsegment handling change, see #340060 for ongoing
1764           discussion
1766 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1768         * tools/gst-run.c: (get_candidates), (main):
1769           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1770           work); fix typo in error message. Fixes #340079.
1772 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1774         * common/Makefile.am:
1775         * docs/Makefile.am:
1776         * docs/faq/Makefile.am:
1777         * docs/gst/Makefile.am:
1778         * docs/libs/Makefile.am:
1779         * docs/manual/Makefile.am:
1780         * docs/plugins/Makefile.am:
1781         * docs/pwg/Makefile.am:
1782         * docs/slides/Makefile.am:
1783         * docs/upload.mak:
1784         * common/upload.mak:
1785           move upload.mak to common
1787 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1789         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1790           add more asserts on refcounts
1791           do more cleanup at end of tests
1792           fix test leaks showing in FC5
1794 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1796         * plugins/elements/gsttypefindelement.c:
1797         (gst_type_find_element_handle_event):
1798         reverted wrong change and reflowed code to avoid others falling into
1799         this trap
1801 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1803         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1804           fix changelog entry about last collectpads change,
1805           add notes about proper fix
1807 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1809         * gst/gst.c:
1810         * gst/gstregistry.c: (gst_registry_scan_path_level),
1811         (gst_registry_scan_path):
1812         * gst/gstregistry.h:
1813           only write out registry if it has changed, fixes #338339
1815 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1817         * gst/gstbin.c:
1818         * gst/gstpipeline.c:
1819         * plugins/elements/gstcapsfilter.c:
1820         * plugins/elements/gstfakesink.c:
1821         * plugins/elements/gstfakesrc.c:
1822         * plugins/elements/gstfdsink.c:
1823         * plugins/elements/gstfdsrc.c:
1824         * plugins/elements/gstfilesink.c:
1825         * plugins/elements/gstfilesrc.c:
1826         * plugins/elements/gstidentity.c:
1827         * plugins/elements/gstqueue.c:
1828         * plugins/elements/gsttee.c:
1829         * plugins/elements/gsttypefindelement.c:
1830         (gst_type_find_element_handle_event):
1831           make GstElementDetails const
1833 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1835         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1836         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1837         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1838           more detailed debug and formatting cleanup,
1839           forward newsegments to src-pad (so that e.g. adder not eats them)
1841 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1843         * gst/gstutils.c: (gst_element_link_pads):
1844           cleanup double code
1846 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1848         * libs/gst/controller/gstcontroller.c:
1849         (gst_controller_sync_values):
1850           some little tuning
1851         * tests/check/libs/controller.c: (GST_START_TEST),
1852         (gst_controller_suite):
1853           a new test for live value handling
1855 2006-04-28  Wim Taymans  <wim@fluendo.com>
1857         * gst/gstutils.c: (push_and_ref):
1858         Added some more docs.
1859         Fix refcount issue whith gst_element_found_tags() helper 
1860         function. Fixes #338335
1862         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1863         Added testsuite for gst_element_found_tags().
1865 2006-04-28  Michael Smith  <msmith@fluendo.com>
1867         * gst/gstvalue.c: (gst_value_serialize_flags):
1868           Avoid NULL dereference when trying to serialize flags containing
1869           invalid values.
1871 2006-04-28  Michael Smith  <msmith@fluendo.com>
1873         * plugins/elements/gsttypefindelement.c:
1874         (gst_type_find_element_handle_event):
1875           If we get EOS before any data is accumulated, don't use
1876           uninitialised local variables.
1878 2006-04-28  Michael Smith  <msmith@fluendo.com>
1880         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1881         (gst_dp_event_from_packet):
1882           Fixes in reading/writing events over GDP (not currently used?) - 
1883           dereferencing NULL events for unknown/invalid event types, memory
1884           leak, and change g_warning to GST_WARNING.
1886 2006-04-28  Wim Taymans  <wim@fluendo.com>
1888         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1889         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1890         (gst_base_sink_get_position), (gst_base_sink_change_state):
1891         When frame dropping is enabled, we should not ignore frames
1892         without a duration.
1893         Update some documentation.
1895 2006-04-28  Wim Taymans  <wim@fluendo.com>
1897         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1898         (gst_base_src_send_event), (gst_base_src_change_state):
1899         Documentation updates.
1901 2006-04-28  Wim Taymans  <wim@fluendo.com>
1903         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1904         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1905         handle EAGAIN, EINTR and short writes correctly. Also clean
1906         up some error cases, avoid a deadlock on bad file descriptors and
1907         use GST_DEBUG_OBJECT.
1908         Fixes #339843
1910 2006-04-28  Wim Taymans  <wim@fluendo.com>
1912         * gst/gstvalue.c: (gst_value_serialize_buffer),
1913         (gst_value_deserialize_buffer):
1914         Don't try to serialize a GValue with a NULL buffer. 
1915         Fixes #339821.
1917         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1918         Added check for serialisation of NULL buffers.
1920 2006-04-28  Wim Taymans  <wim@fluendo.com>
1922         * gst/gstminiobject.c: (gst_value_take_mini_object):
1923         Taking a NULL miniobject is valid, fix the case where
1924         we try to unref the NULL miniobject.
1926 2006-04-28  Wim Taymans  <wim@fluendo.com>
1928         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1930         * gst/gstbin.c: (gst_bin_handle_message_func):
1931         Update docs.
1932         Don't leak bin refcount when a state recalc is
1933         in progress and we delay another one #339808.
1935 2006-04-28  Wim Taymans  <wim@fluendo.com>
1937         * docs/design/part-TODO.txt:
1938         Mention QoS as an ongoing work item.
1940         * docs/design/part-buffering.txt:
1941         New doc about buffering that needs to be fleshed out
1942         at some point.
1944         * docs/design/part-qos.txt:
1945         More QoS policy for decoders/demuxers/transforms
1947         * docs/design/part-trickmodes.txt:
1948         Small update.
1950 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1952         * configure.ac:
1953           back to HEAD
1955 === release 0.10.5 ===
1957 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1959         * configure.ac:
1960           releasing 0.10.5, "Fogo"
1962 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1964         patch by: Wim Taymans
1966         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1967         (gst_pad_configure_src), (gst_pad_push):
1968         * gst/gstpipeline.c: (gst_pipeline_init):
1969           Fix internal data flow errors.  Fixes #338711.
1971 2006-04-12  Wim Taymans  <wim@fluendo.com>
1973         * tests/check/gst/gstelement.c: (GST_START_TEST):
1974         Don't leak the factory.
1976 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1978         * configure.ac:
1979         * win32/common/config.h:
1980           prerelease
1982 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1984         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1985         (gst_controller_unset_all):
1986           Free allocated GstTimedValues when freeing list nodes.
1987           Should fix leaks 'make check-valgrind' complains about.
1989         * win32/common/libgstcontroller.def:
1990           Add gst_controller_unset_all.
1992 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1994         * docs/libs/gstreamer-libs-sections.txt:
1995         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1996         (gst_controller_unset_all):
1997         * libs/gst/controller/gstcontroller.h:
1998         API: Added new method gst_controller_unset_all()
1999         fixed gst_controller_unset()
2000         * tests/check/libs/controller.c: (GST_START_TEST),
2001         (gst_controller_suite):
2002         Added two testcases for new and fixed method
2004 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2006         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2007           MSG_DONTWAIT is not defined on Cygwin, so work
2008           around that (fixes #317048).
2009           
2010 2006-04-11  Wim Taymans  <wim@fluendo.com>
2012         * gst/gstelementfactory.c: (gst_element_register),
2013         (gst_element_factory_create), (gst_element_factory_make):
2014         Some cleanups.
2015         Fixed a FIXME.
2016         Updated docs (Fixes #131079)
2018         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2019         Small cleanups.
2021         * tests/check/gst/gstelement.c: (GST_START_TEST),
2022         (gst_element_suite):
2023         Added testcase for elementfactory class field.
2025 2006-04-10  Wim Taymans  <wim@fluendo.com>
2027         * gst/gstsegment.c:
2028         Added some more docs.
2030         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2031         (gst_base_sink_reset_qos):
2032         Calculate more accurate rate values.
2034 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2036         * gst/gst_private.h:
2037           add a new #ifdef to use __declspec(dllimport) only for
2038           other modules and not for gstreamer core
2039         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2040           use gst_guint64_to_gdouble for conversion
2041         * win32/common/libgstreamer.def:
2042           add new exported functions
2043         * win32/vs6/gst_inspect.dsp:
2044         * win32/vs6/gst_launch.dsp:
2045         * win32/vs6/libgstbase.dsp:
2046         * win32/vs6/libgstcontroller.dsp:
2047         * win32/vs6/libgstcoreelements.dsp:
2048         * win32/vs6/libgstdataprotocol.dsp:
2049         * win32/vs6/libgstnet.dsp:
2050           update project files
2052 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2054         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2055         * gst/gstclock.c: (gst_clock_class_init):
2056         * gst/gstelement.c: (gst_element_class_init):
2057         * gst/gstindex.c: (gst_index_class_init):
2058         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2059         * gst/gstobject.c: (gst_object_class_init),
2060         (gst_signal_object_class_init):
2061         * gst/gstpad.c: (gst_pad_class_init):
2062         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2063         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2064         * gst/gstregistry.c: (gst_registry_class_init):
2065         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2066         * gst/gsttask.c: (gst_task_class_init):
2067         * gst/gstxml.c: (gst_xml_class_init):
2068         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2069         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2070         (gst_base_src_loop):
2071         * libs/gst/controller/gstcontroller.c:/
2072         (_gst_controller_class_init):
2073         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2074         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2075         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2076         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2077         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2078         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2080 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2082         * gst/gstpad.c: (gst_pad_link):
2083           Must set peer pads before calling the link function, otherwise
2084           a task started from a link function might get a flow-not-linked
2085           result when trying to push because the other thread where the
2086           linking happens hasn't had a chance to set the peers yet. This
2087           might happen for example when a queue gets linked to a downstream
2088           element, as queue starts a streaming task when its source pad
2089           gets linked. Happens in real life when playing back flac/musepack
2090           files in playbin (#332390).
2091           
2092 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2094         * gst/gstindex.h:
2095         * gst/gstxml.h:
2096         * libs/gst/base/gstadapter.h:
2097         * libs/gst/base/gstbasesink.h:
2098         * libs/gst/base/gstbasesrc.h:
2099         * libs/gst/base/gstbasetransform.h:
2100         * libs/gst/base/gstcollectpads.h:
2101         * libs/gst/base/gstpushsrc.h:
2102         Fix broken GObject macros
2104 2006-04-07  Wim Taymans  <wim@fluendo.com>
2106         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2107         Initialize start and stop times, thanks valgrind.
2109 2006-04-07  Wim Taymans  <wim@fluendo.com>
2111         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2112         Be a bit nicer to badly behaving upstream elements that expect
2113         us to deal with non TIME segments and timestamps (such as fakesrc
2114         in the testsuite).
2116 2006-04-07  Wim Taymans  <wim@fluendo.com>
2118         * gst/gstbus.c:
2119         Small documentation clarification about the signal watch.
2121         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2122         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2123         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2124         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2125         (gst_base_sink_get_position_last),
2126         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2127         Convert and store timestamps in stream time and running time, the
2128         raw timestamps are not usefull, also document this better.
2129         Use different window sizes for good and bad QoS observations so
2130         we react to badness a little quicker.
2131         Keep track of the amount of rendered and dropped buffers.
2132         Send QoS timestamps in running time.
2134         * libs/gst/base/gstbasetransform.c:
2135         (gst_base_transform_sink_eventfunc),
2136         (gst_base_transform_handle_buffer):
2137         Compare QoS timestamps against running time.
2139 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2141         * gst/gstpad.c:
2142           Typo fixes in docs.
2144 2006-04-06  Michael Smith  <msmith@fluendo.com>
2146         * gst/gstpad.c: (gst_pad_set_property):
2147           Use g_value_get_object() instead of g_value_dup_gst_object(),
2148           to avoid double-reffing the pad template (which we then sink,
2149           so this worked previously if (and only if) the pad template
2150           was floating.
2152         * gst/gstpadtemplate.c: (gst_pad_template_init),
2153         (gst_pad_template_pad_created):
2154           Never return floating references to pad templates, create
2155           them as initially-sunken.
2157           Document an extra function (and make this stop sinking our
2158           pad template, since that is now guaranteed to do nothing,
2159           since we created it sunken).
2161         * gst/gstghostpad.c:
2162           Fix docs typo.
2164 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2166         * gst/gstinfo.c: (__gst_in_valgrind):
2167           Add some newlines.
2169         * plugins/elements/gsttypefindelement.c:
2170         (gst_type_find_element_chain):
2171           Don't leak buffer caps.
2173 2006-04-06  Michael Smith  <msmith@fluendo.com>
2175         * gst/parse/grammar.y:
2176           Fix a leak in parse-launch for any source-or-sink named element 
2177           references used.
2179         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2180           Unref the pipeline if it exists after we've failed parsing.
2182 2006-04-05  Michael Smith  <msmith@fluendo.com>
2184         * gst/gstpipeline.c: (gst_pipeline_init):
2185           When we create a pipeline bus, initially create it in flushing mode.
2186           Fixes leaks in at least one test, and makes a new pipeline work the
2187           same as one that has gone to READY and then back to NULL.
2189         * gst/gstelement.c:
2190           Typo fix in docs.
2192 2006-04-05  Michael Smith  <msmith@fluendo.com>
2194         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2195           Unref a pad we reffed.
2196         * tests/check/gst/gstutils.c: (GST_START_TEST):
2197           Unref bins
2199 2006-04-05  Michael Smith  <msmith@fluendo.com>
2201         * gst/gstquery.c: (gst_query_set_formats),
2202         (gst_query_set_formatsv):
2203           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2205 2006-04-05  Michael Smith  <msmith@fluendo.com>
2207         * tests/check/generic/sinks.c: (GST_START_TEST):
2208           Fix a variety of memleaks in sinks check, which are only sometimes 
2209           shown by running the tests under valgrind (weird?).
2211 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2213         * docs/version.entities.in:
2214           Fix the substituted entity name after thomas' changes on the
2215           weekend.
2217 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2219         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2220         VALGRIND_PRINTF
2221         
2222 2006-04-05  Andy Wingo  <wingo@pobox.com>
2224         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2226         * libs/gst/base/gstbasetransform.c
2227         (gst_base_transform_sink_eventfunc): When resetting our segment on
2228         FLUSH_STOP, also update the flag saying we haven't seen a
2229         newsegment.
2231 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2233         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2235         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2236         (gst_plugin_check_license):
2237           minor clean-ups: G_DEFINE_TYPE already takes care of the
2238           parent_class stuff, no need to do it twice. Mark array of
2239           license strings as constant. (#337103)
2240           
2241 2006-04-04  Michael Smith  <msmith@fluendo.com>
2243         * tools/gst-inspect.c: (print_element_list):
2244           Free the right plugin list; fixes a memory leak.
2246 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2248         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2250         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2251           Don't error out on empty buffers (#336945).
2252           
2253 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2255         * docs/libs/gstreamer-libs-sections.txt:
2256         * gst/gsttaglist.c:
2257         * libs/gst/base/gstbasesink.c:
2258         * libs/gst/base/gstbasesink.h:
2259         * libs/gst/base/gstbasesrc.c:
2260         * libs/gst/base/gstbasesrc.h:
2261           Documentation updates. Make BaseSink and BaseSrc docs contain the
2262           class structure so that people can actually see the prototypes for
2263           virtual functions they're supposed to be overriding.
2265 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2267         * plugins/elements/gsttypefindelement.c:
2268         (gst_type_find_element_chain):
2269           More debug info; when skipping typefinding, send cached
2270           events in all cases.
2272 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2274         * configure.ac:
2275           use new AS_VERSION and AS_NANO macros
2276         * gst/gst-i18n-lib.h:
2277         * gst/gst.c:
2278         * gst/gsterror.c:
2279         * gst/gstversion.h.in:
2280         * win32/common/config.h:
2281         * win32/common/config.h.in:
2282           update accordingly
2284 2006-03-31  Michael Smith  <msmith@fluendo.com>
2286         * plugins/elements/gsttypefindelement.c:
2287         (gst_type_find_element_chain):
2288           Do not typefind content if the buffers already have caps.
2289           Neccesary for icydemux (#333657), and the right thing to do anyway.
2291 2006-03-30  Wim Taymans  <wim@fluendo.com>
2293         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2294         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2295         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2296         (gst_base_sink_record_qos_observation),
2297         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2298         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2299         (gst_base_sink_change_state):
2300         More QoS measurements as described in the design doc.
2301         Get rid of ringbuffer with observations, running average is
2302         more simple and equally good.
2303         Calculates valid proportion now.
2304         Added beginning of flood measurement.
2306 2006-03-29  Wim Taymans  <wim@fluendo.com>
2308         * docs/design/part-qos.txt:
2309         * gst/gstclock.c:
2310         Small documentation updates and additions.
2312 2006-03-29  Wim Taymans  <wim@fluendo.com>
2314         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2315         (gst_base_src_send_event), (gst_base_src_loop),
2316         (gst_base_src_change_state):
2317         Perform the EOS logic when we reach the segment stop position.
2318         Fix compilation on gcc4.1
2320 2006-03-29  Wim Taymans  <wim@fluendo.com>
2322         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2324         * plugins/elements/gstqueue.c: (gst_queue_init),
2325         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2326         (gst_queue_set_property):
2327         * plugins/elements/gstqueue.h:
2328         In queue, when EOS is received, if minimum threshold > max_size -
2329         current_level, there is chance that queue blocks forever in conditional
2330         item del wait. This is because the queue is not emptied completely due
2331         to minimum threshold.  Here is another approach. Instead of setting
2332         cur_levels to max in EOS, just zero all minimum threshold levels. This
2333         should make sure that queue gives out all data. When going to READY
2334         (stop) state, just reset the original minimum threshold levels.
2335         Fixes #336336.
2337 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2339         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2340         (gst_type_find_element_handle_event),
2341         (gst_type_find_element_send_cached_events),
2342         (gst_type_find_element_change_state):
2343         * plugins/elements/gsttypefindelement.h:
2344           When typefinding is done in push mode, we should cache
2345           events we receive during typefinding instead of just
2346           dropping them (e.g. newsegment, custom events from
2347           dvdreadsrc etc.) and then send them out once we've
2348           determined the type of the stream (and decodebin
2349           has had a chance to plug in a decoder/demuxer).
2350           
2351 2006-03-27  Wim Taymans  <wim@fluendo.com>
2353         * docs/design/part-qos.txt:
2354         First QoS ideas.
2356 2006-03-27  Wim Taymans  <wim@fluendo.com>
2358         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2360         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2361         (gst_base_src_send_event), (gst_base_src_change_state):
2362         Handle element seek correctly when we are streaming.
2363         Fixes #326998.
2365 2006-03-24  Michael Smith  <msmith@fluendo.com>
2367         * docs/faq/gst-uninstalled:
2368           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2369           allow you to correctly run intalled applications built against old 
2370           core, using plugins that require updated core (e.g. running
2371           installed totem against a full uninstalled gstreamer stack)
2373 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2375         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2376         more debug details
2378 2006-03-24  Wim Taymans  <wim@fluendo.com>
2380         * docs/gst/gstreamer-sections.txt:
2381         Rearrange the order of the methods so that related methods
2382         are grouped together in sections.
2384 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2386         * gst/gstelement.c:
2387           Little clarification in the docs
2389 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2391         * docs/README:
2392         formatting fix
2393         * plugins/elements/gstidentity.c:
2394         * plugins/elements/gstqueue.c:
2395         * plugins/elements/gsttee.c:
2396         * plugins/elements/gsttypefindelement.c:
2397         GST_ELEMENT_DETAILS formatting
2399 2006-03-24  Wim Taymans  <wim@fluendo.com>
2401         * libs/gst/base/gstbasesink.h:
2402         Only add fields, not insert or we break ABI.
2404 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2406         * win32/common/libgstbase.def:
2407         * win32/common/libgstreamer.def:
2408           Update, add recently added functions.
2410 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2412         * docs/gst/gstreamer-sections.txt:
2413         * gst/gstutils.c: (gst_pad_query_peer_position),
2414         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2415         * gst/gstutils.h:
2416           API: add some new utility functions:
2417            - gst_pad_query_peer_position()
2418            - gst_pad_query_peer_duration()
2419            - gst_pad_query_peer_convert()
2420           
2421 2006-03-23  Wim Taymans  <wim@fluendo.com>
2423         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2424         (gst_base_sink_init), (gst_base_sink_finalize),
2425         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2426         (gst_base_sink_set_property), (gst_base_sink_get_property),
2427         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2428         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2429         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2430         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2431         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2432         (gst_base_sink_preroll_object), (gst_base_sink_event),
2433         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2434         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2435         (gst_base_sink_query), (gst_base_sink_change_state):
2436         Decouple max-lateness and the fact that QoS messages are generated
2437         with a new property (qos).
2438         added API: GstBaseSink::async_play()
2439         Add vmethod so subclasses can be notified of ASYNC playing
2440         state changes.
2441         Collect timestamp start and stop to report better current
2442         position in EOS/PLAYING/PAUSED/READY/NULL.
2443         Refactor QoS/frame dropping and other measurements.
2444         API: GstBaseSrc::qos
2445         Fixes #326311
2447         * libs/gst/base/gstbasesink.h:
2448         Added Private struct.
2449         API: gst_base_sink_set_qos_enabled()
2450         API: gst_base_sink_is_qos_enabled()
2452 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2454         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2455           If compiling against GLib-2.8 or newer, try to read the
2456           registry file using GMappedFile first before falling back
2457           to fopen() + fread() (#332151).
2459 2006-03-22  Wim Taymans  <wim@fluendo.com>
2461         * gst/gstinfo.c: (gst_debug_set_active),
2462         (gst_debug_category_set_threshold):
2463         Disable debugging unless explicitly activated.
2464         Fixes #335480.
2466 2006-03-22  Wim Taymans  <wim@fluendo.com>
2468         * gst/gstelement.c: (gst_element_set_locked_state),
2469         (gst_element_dispose):
2470         Cleanup the error case.
2472         * gst/gstobject.c: (gst_object_dispose):
2473         print a critical when some object was disposed with
2474         a parent, also revive the object since it might
2475         crash the parent.
2477 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2479         * tools/gst-launch.1.in:
2480           Fix another typo.
2482 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2484         * configure.ac:
2485         * tests/check/Makefile.am:
2486           disable some tests when we don't have a registry
2487         * tests/check/gst/gstutils.c: (gst_utils_suite):
2488           don't build the part that needs parsing
2490 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2492         * gst/Makefile.am
2493         * tests/examples/Makefile.am:
2494           fix --disable-parse build
2496 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2498         * tools/gst-feedback.1.in:
2499           Fix typo: s/feeback/feedback/ (#133494).
2501 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2503         * tools/Makefile.am:
2504         * tools/gst-launch.1.in:
2505           Add FILES section and correct entry about GST_REGISTRY_PATH
2506           environment variable (#133495; #133494).
2508 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2510         * tools/Makefile.am:
2511         * tools/gst-md5sum.1.in:
2512         * tools/gst-md5sum.c:
2513           Remove gst-md5sum and man page (the md5sink element
2514           required was removed ages ago)
2516 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2518         * gst/gststructure.c: (gst_structure_id_set_value):
2519           Make sure that string fields in structures/taglists
2520           contain valid UTF-8 - we don't want to pass rubbish to
2521           applications because of a buggy plugin (cp. #334167).
2523 2006-03-21  Edward Hervey  <edward@fluendo.com>
2525         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2526         (gst_bin_handle_message_func):
2527         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2528         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2529         (gst_element_set_bus_func):
2530         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2531         * gst/gstminiobject.c: (gst_value_set_mini_object),
2532         (gst_value_take_mini_object):
2533         * gst/gstpad.c: (gst_pad_set_pad_template):
2534         * gst/gstpipeline.c: (gst_pipeline_dispose),
2535         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2536         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2537         (gst_collect_pads_chain):
2538         * libs/gst/net/gstnettimeprovider.c:
2539         (gst_net_time_provider_set_property):
2540         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2541         It's in fact all issues with gst_*object_replace().
2543 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2545         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2546         
2547         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2548         * pkgconfig/gstreamer-check.pc.in:
2549           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2551 2006-03-21  Edward Hervey  <edward@fluendo.com>
2553         * gst/gstbuffer.h:
2554         * gst/gstevent.h:
2555         * gst/gstmessage.h:
2556         gst_[buffer|event|message]_ref() macros are replaced by a static
2557         inline functions because gcc-4.1 will about if the return value
2558         isn't used.
2559         * tests/check/gst/gstevent.c: (event_probe):
2560         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2562 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2564         * gst/gstutils.h:
2565         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2566         the type' case. (Closes: #335195 for now). In the future, when we
2567         depend on GLib 2.10, we could also intern the type name using
2568         g_intern_static_string()
2570 2006-03-20  Wim Taymans  <wim@fluendo.com>
2572         * gst/gstbin.c: (gst_bin_handle_message_func),
2573         (bin_query_max_init), (bin_query_position_fold),
2574         (bin_query_position_done), (gst_bin_query):
2575         Position query should also take max of all streams.
2577 2006-03-20  Wim Taymans  <wim@fluendo.com>
2579         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2580         (gst_fake_src_finalize):
2581         Fix leaks in fakesrc.
2583         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2584         Fix leaks in the testcase.
2586 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2588         * gst/gst_private.h:
2589           add win32 specific import decoration(__declspec(dllimport)) 
2590           for all extern GstDebugCategory * variables
2591         * win32/common/libgstbase.def:
2592         * win32/common/libgstcontroller.def:
2593         * win32/common/libgstreamer.def:
2594           Add some exports, remove empty lines
2595         * win32/common/libgstdataprotocol.def:
2596         * win32/common/libgstdataprotocol.dsp:
2597         * win32/common/libgstnet.def:
2598         * win32/common/libgstnet.dsp:
2599           new project files and exportation files added
2600         
2601 2006-03-19  Wim Taymans  <wim@fluendo.com>
2603         * tests/check/libs/basesrc.c: (eos_event_counter):
2604         Use proper return value for probe.
2606 2006-03-17  Wim Taymans  <wim@fluendo.com>
2608         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2609         (gst_pad_push):
2610         Don't leak buffers, caps and pads on negotiation errors.
2612 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2614         * docs/faq/cvs.xml:
2615         * docs/faq/dependencies.xml:
2616         * docs/faq/developing.xml:
2617         * docs/faq/faq.xml:
2618         * docs/faq/general.xml:
2619         * docs/faq/getting.xml:
2620         * docs/faq/legal.xml:
2621         * docs/faq/troubleshooting.xml:
2622         * docs/faq/using.xml:
2623         Faq review and update.
2625 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2627         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2628         (gst_pad_push):
2629         Don't pound the cpu to pieces by checking get_caps when accept_caps
2630         is called with the same caps as the pad already has.
2631         Use GST_DEBUG_OBJECT when outputting caps change information.
2633 2006-03-15  Wim Taymans  <wim@fluendo.com>
2635         * gst/gstclock.c: (gst_clock_class_init):
2636         Fix docs.
2638 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2640         * gst/gstbuffer.h:
2641         Documentation fix.
2643         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2644         (gst_pad_accept_caps), (gst_pad_configure_sink),
2645         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2646         Make the default acceptcaps behaviour be to check the requested 
2647         caps against the gst_pad_get_caps output. 
2649         Ensure that gst_pad_accept_caps is used to check caps when a pad
2650         doesn't have a setcaps function, so that pads automatically refuse 
2651         caps that they don't allow in their pad template. (Fixes #332986)
2653         When a buffer with attached caps is pushed, ensure that the source 
2654         pad receives those caps even if the element didn't call
2655         gst_pad_set_caps first.
2657 2006-03-15  Wim Taymans  <wim@fluendo.com>
2659         * libs/gst/base/gstadapter.c:
2660         Add some docs.
2662 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2664         * win32/common/libgstbase.def:
2665         * win32/common/libgstcontroller.def:
2666         * win32/common/libgstreamer.def:
2667           Add a whole bunch of missing functions (#334434).
2669 2006-03-14  Wim Taymans  <wim@fluendo.com>
2671         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2672         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2673         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2674         Better debug info when we receive a segment event.
2675         Reorganize a bit so we can pass the get_times() results around.
2676         Use the segment format when calculating the running time.
2677         Don't do QoS is sync is disabled or we have no clock or the
2678         element does not want us to sync to the clock.
2679         Don't drop buffers if QoS is disabled for now.
2681 2006-03-14  Wim Taymans  <wim@fluendo.com>
2683         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2684         Marked the stats property as unimplemented so people don't get
2685         wild ideas.
2686         Add debug message when regression goes wrong.
2687         Added some more docs.
2689 2006-03-14  Wim Taymans  <wim@fluendo.com>
2691         * gst/gstsegment.c: (gst_segment_to_stream_time):
2692         Return correct return type in case of errors.
2694 2006-03-14  Wim Taymans  <wim@fluendo.com>
2696         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2697           Don't segfault on invalid formats.
2699 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2701         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2702           Can't use gst_segment_to_running_time() when the segment
2703           is not in GST_TIME_FORMAT (like with filesink, for example).
2704           Stops flac encoding pipelines from spewing critical warnings
2705           at EOS (#331248).
2706           
2707 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2709         * gst/gstpipeline.c: (gst_pipeline_class_init):
2710           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2712         * plugins/elements/gsttypefindelement.c:
2713         (gst_type_find_element_handle_event):
2714           Don't try to typefind empty streams.
2716 2006-03-14  Wim Taymans  <wim@fluendo.com>
2718         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2719         (gst_base_sink_do_qos):
2720         Separate QoS calculation.
2721         Only drop buffers when lateness is bigger than the 
2722         duration of the buffer.
2724 2006-03-13  Wim Taymans  <wim@fluendo.com>
2726         * gst/gstpipeline.c: (gst_pipeline_set_property),
2727         (gst_pipeline_get_property), (do_pipeline_seek),
2728         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2729         (gst_pipeline_get_delay):
2730         Don't deadlock when reading properties.
2732 2006-03-13  Wim Taymans  <wim@fluendo.com>
2734         * libs/gst/base/gstbasetransform.c:
2735         (gst_base_transform_class_init), (gst_base_transform_init),
2736         (gst_base_transform_sink_event),
2737         (gst_base_transform_sink_eventfunc),
2738         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2739         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2740         (gst_base_transform_set_property),
2741         (gst_base_transform_get_property),
2742         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2743         (gst_base_transform_set_qos_enabled),
2744         (gst_base_transform_is_qos_enabled):
2745         * libs/gst/base/gstbasetransform.h:
2746         Make basetransform virtual method for src events too.
2747         Handle QOS in basetransform.
2748         API: gst_base_transform_update_qos()
2749         API: gst_base_transform_set_qos_enabled()
2750         API: gst_base_transform_is_qos_enabled()
2752 2006-03-13  Wim Taymans  <wim@fluendo.com>
2754         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2755         (gst_base_sink_do_sync):
2756         Small cleanups.
2757         Use QOS debug category.
2759 2006-03-13  Wim Taymans  <wim@fluendo.com>
2761         * plugins/elements/gstqueue.c:
2762         Very small doc update.
2764 2006-03-13  Wim Taymans  <wim@fluendo.com>
2766         * gst/gst_private.h:
2767         * gst/gstinfo.c: (_gst_debug_init):
2768         Added QOS debug category
2770 2006-03-13  Wim Taymans  <wim@fluendo.com>
2772         * docs/gst/gstreamer-sections.txt:
2773         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2774         * gst/gstbin.h:
2775         * gst/gstbus.c: (gst_bus_class_init):
2776         * gst/gstbus.h:
2777         * gst/gstclock.c:
2778         * gst/gstelement.c: (gst_element_set_locked_state):
2779         * gst/gstsegment.c:
2780         Documentation updates.
2782         * gst/gstpipeline.c: (gst_pipeline_get_type),
2783         (gst_pipeline_class_init), (gst_pipeline_init),
2784         (gst_pipeline_dispose), (gst_pipeline_set_property),
2785         (gst_pipeline_get_property), (do_pipeline_seek),
2786         (gst_pipeline_send_event), (gst_pipeline_change_state),
2787         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2788         (gst_pipeline_get_delay):
2789         * gst/gstpipeline.h:
2790         Added methods for setting the delay.
2791         API: gst_pipeline_set_delay()
2792         API: gst_pipeline_get_delay()
2793         Add pipeline debug category
2794         Various cleanups.
2795         Updated docs.
2796         Don't reset stream time when seek failed.
2798 2006-03-13  Wim Taymans  <wim@fluendo.com>
2800         * docs/design/draft-klass.txt:
2801         * docs/design/part-clocks.txt:
2802         * docs/design/part-events.txt:
2803         * docs/design/part-gstbin.txt:
2804         * docs/design/part-gstpipeline.txt:
2805         * docs/design/part-messages.txt:
2806         * docs/design/part-negotiation.txt:
2807         * docs/design/part-overview.txt:
2808         * docs/design/part-preroll.txt:
2809         * docs/design/part-seeking.txt:
2810         * docs/design/part-states.txt:
2811         * docs/design/part-streams.txt:
2812         Documentation updates.
2814 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2816         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2817         us to leak strings...
2819 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2821         * libs/gst/net/gstnettimeprovider.c:
2822           fix docs
2823         * win32/common/config.h:
2824           update
2826 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2828         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2830         * configure.ac:
2831           Don't check for libgnomeui (leftover from old examples
2832           that aren't built or disted any longer) (#334303).
2833           
2834 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2836         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2837         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2838           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2839           there's no space left on the device.
2841 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2843         * gst/gstclock.h:
2844           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2845           to cast the input to GstClockTime before comparing with
2846           another GstClockTime value.
2848 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2850         * configure.ac:
2851           back to trunk
2853 === release 0.10.4 ===
2855 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2857         * configure.ac:
2858           releasing 0.10.4, "Light"
2860 2006-03-10  Michael Smith  <msmith@fluendo.com>
2862         * libs/gst/dataprotocol/dataprotocol.c:
2863           Fix docs for dataprocotol to not get the return types completely
2864           wrong for a few functions.
2866 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2868         * docs/gst/gstreamer-sections.txt:
2869         * gst/gstpipeline.c: (gst_pipeline_class_init),
2870         (gst_pipeline_init), (gst_pipeline_set_property),
2871         (gst_pipeline_get_property), (gst_pipeline_change_state),
2872         (gst_pipeline_set_auto_flush_bus),
2873         (gst_pipeline_get_auto_flush_bus):
2874         * gst/gstpipeline.h:
2875           Add new API: gst_pipeline_set_auto_flush_bus() and
2876           gst_pipeline_get_auto_flush_bus() to disable automatic
2877           flushing of the pipeline's GstBus when going from READY
2878           to NULL state (#332045).
2880 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2882         * docs/gst/gstreamer-sections.txt:
2883         * gst/gsturi.c: (gst_uri_has_protocol):
2884         * gst/gsturi.h:
2885            Add new API: gst_uri_has_protocol() (#333779).
2887 2006-03-09  Wim Taymans  <wim@fluendo.com>
2889         * gst/gstclock.c: (gst_clock_entry_new),
2890         (gst_clock_id_compare_func), (gst_clock_id_wait),
2891         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2892         (gst_clock_init), (gst_clock_get_internal_time),
2893         (gst_clock_set_master), (do_linear_regression),
2894         (gst_clock_add_observation), (gst_clock_set_property):
2895         * gst/gstclock.h:
2896         Review docs.
2897         Small cleanups.
2898         Fix a possible segfault when the window-size is made smaller.
2899         Calculate jitter before performing the clock wait. Ideally
2900         the clock implementation should calculate jitter but we need
2901         API breakage for that.
2903         * gst/gstsystemclock.c: (gst_system_clock_init):
2904         Docs review.
2905         
2906         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2907         Remove leftover else
2909         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2910         (gst_systemclock_suite):
2911         Added check to test GST_CLOCK_DIFF.
2913 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2915         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2916         (gst_type_find_helper_get_range):
2917           If we are provided with the size, we should implement
2918           GstTypeFind::get_length, so that typefind functions who
2919           want to can actually peek at the middle of a file.
2921 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2923         * docs/manual/advanced-dataaccess.xml:
2924           Add some very very basic error checking.
2926         * docs/pwg/appendix-checklist.xml:
2927           Some updates to the list of things to check when writing an element.
2929 2006-03-08  Wim Taymans  <wim@fluendo.com>
2931         * docs/design/part-element-transform.txt:
2932         Added some docs about the design of tranform elements.
2934         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2935         (gst_base_src_loop), (gst_base_src_change_state):
2936         Mark buffers with the DISCONT flag.
2938 2006-03-08  Michael Smith  <msmith@fluendo.com>
2940         * gst/gstregistry.h:
2941         * gst/gstregistryxml.c: (gst_registry_save),
2942         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2943         (gst_registry_xml_save_pad_template),
2944         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2945         (gst_registry_xml_write_cache):
2946           Rewrite registry-saving to avoid race conditions and check for
2947           failed writes.
2949 2006-03-08  Wim Taymans  <wim@fluendo.com>
2951         * libs/gst/base/gstbasetransform.c:
2952         (gst_base_transform_transform_caps),
2953         (gst_base_transform_transform_size),
2954         (gst_base_transform_prepare_output_buffer),
2955         (gst_base_transform_get_unit_size),
2956         (gst_base_transform_buffer_alloc),
2957         (gst_base_transform_handle_buffer),
2958         (gst_base_transform_change_state):
2959         Cleanups, separate normal flow from errors, add sensible
2960         DEBUG lines.
2961         Don't try to renegotiate when allocating an output buffer.
2962         Also copy DISCONT buffer flag when copying a buffer.
2963         Reset the transform after we finish streaming, not during.
2965 2006-03-08  Wim Taymans  <wim@fluendo.com>
2967         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2968         Use last buffer timestamp in qos message.
2970 2006-03-07  Wim Taymans  <wim@fluendo.com>
2972         Patch by: Christophe Fergeau
2974         * docs/pwg/advanced-tagging.xml:
2975         * docs/pwg/building-pads.xml:
2976           fixes #333416
2978 2006-03-07  Wim Taymans  <wim@fluendo.com>
2980         * docs/libs/gstreamer-libs-sections.txt:
2981         Added basesink new methods.
2983         * gst/gstevent.c:
2984         * gst/gstevent.h:
2985         Docs updates. Flesh out the QoS docs.
2987         * libs/gst/base/gstadapter.c:
2988         Small doc clarification about ownership and flushing.
2990         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2991         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2992         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2993         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2994         * libs/gst/base/gstbasesink.h:
2995         API additions: 
2996         Added new methods to allow subclass to control max-lateness 
2997         and sync.
2998         Generate very basic QoS events based on last sync observation.
2999         Updated docs, fix typo, added some QoS blurb.
3001         * libs/gst/base/gstbasesrc.c:
3002         Remove obsolete _get_state() calls from docs.
3004 2006-03-07  Wim Taymans  <wim@fluendo.com>
3006         * docs/libs/gstreamer-libs-sections.txt:
3007         * libs/gst/base/gstbasetransform.h:
3008         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3009         Fix docs for GstBaseSrc.
3011 2006-03-07  Wim Taymans  <wim@fluendo.com>
3013         * docs/gst/gstreamer-sections.txt:
3014         * gst/gstbuffer.h:
3015         * gst/gstvalue.c:
3016         * libs/gst/base/gstbasetransform.h:
3017         Small documentation fixes.
3019 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3021         * gst/gstvalue.c:
3022           Document thread-unsafety of gst_value_register_foo_func()
3023           when used at the same time as gst_value_foo() (#322628).
3025 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3027         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3028         (gst_push_src_check_get_range):
3029           Push sources don't support pull mode by default.
3031 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3033         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3034         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3035         (gst_base_src_default_check_get_range):
3036         * libs/gst/base/gstbasesrc.h:
3037           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3038           provide default implementation, and rename
3039           gst_base_src_check_get_range() to
3040           gst_base_src_pad_check_get_range() for clarity.
3042 2006-03-06  Wim Taymans  <wim@fluendo.com>
3044         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3045         Make property overridable.
3047 2006-03-06  Wim Taymans  <wim@fluendo.com>
3049         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3050         (gst_base_sink_init), (gst_base_sink_set_property),
3051         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3052         * libs/gst/base/gstbasesink.h:
3053         API addition: Make max-lateness a property.
3055 2006-03-06  Wim Taymans  <wim@fluendo.com>
3057         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3058         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3059         Don't ever draw a frame that is >10ms late.
3061 2006-03-06  Michael Smith  <msmith@fluendo.com>
3063         * gst/gstmessage.c: (_gst_message_copy):
3064           When copying a message, set the parent_refcount of the enclosed
3065           structure to point at the copy, not the original message.
3067 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3069         Patch by: Christophe Fergeau
3071         * gst/gstutils.h:
3072           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3073           usable in c++ code (#333417)
3075 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3077         * gst/gstclock.h:
3078           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3080 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3082         * libs/gst/base/gstbasetransform.c:
3083         (gst_base_transform_transform_caps):
3084           Make sure caps are writable before passing them to
3085           gst_caps_append().
3087 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3089         * gst/gsterror.h:
3090           Fix some minor docs errors.
3092 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3094           Patch by: Ross Burton <ross at burtonini dot com>
3096         * gst/gsterror.c: (_gst_resource_errors_init):
3097         * gst/gsterror.h:
3098           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3100 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3102         * gst/gst.c:
3103         Add a check and output a g_warning when GStreamer is built
3104         against GLib 2.6 but running against 2.8 or higher, and vice 
3105         versa. (Closes: #323542)
3107 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3109         * gst/parse/parse.l:
3110           Commit patch for parse_launch syntax from #331255. Removes 
3111           support for quoted strings and mimetypes when writing filtered 
3112           caps. See the bug report for more details - I'm pretty sure this
3113           obscure feature is not in use by _anyone_ anywhere.
3115           With this simple change, the size of the gstreamer.so here 
3116           drops from 2193KB to 1565KB.
3118 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3120         * plugins/elements/gsttypefindelement.h:
3121         * plugins/elements/gsttypefindelement.c:
3122         (gst_type_find_element_src_event), (start_typefinding),
3123         (stop_typefinding), (gst_type_find_element_handle_event),
3124         (gst_type_find_element_chain),
3125         (gst_type_find_element_chain_do_typefinding):
3126           Use gst_type_find_helper_for_buffer() for chain-based
3127           typefinding.
3129 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3131         * plugins/elements/gsttypefindelement.c:
3132         (gst_type_find_element_class_init),
3133         (gst_type_find_element_set_property),
3134         (gst_type_find_element_get_property):
3135           Deprecate "maximum" property (not only was it only taken into
3136           account for typefinding in push-mode anyway, it also was never
3137           actually possible to set it in the first place because the
3138           property was registered with the numeric property ID for the
3139           "minimum" property). Register "maximum" property correctly,
3140           for the sake of future copy'n'pasters. Remove some cruft
3141           from property get/set functions.
3143 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3145         * plugins/elements/gsttypefindelement.c:
3146         (gst_type_find_element_activate):
3147           Use gst_type_find_helper_get_range() here, so we
3148           can honour the "minimum" property and also emit
3149           the signal with the correct probability of the found caps.
3151 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3153         * docs/libs/gstreamer-libs-sections.txt:
3154         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3155         (helper_find_suggest), (gst_type_find_helper_get_range),
3156         (gst_type_find_helper):
3157         * libs/gst/base/gsttypefindhelper.h:
3158           New API: gst_type_find_helper_get_range() (#333042).
3160 2006-03-02  Michael Smith  <msmith@fluendo.com>
3162         * gst/gstregistryxml.c: (load_feature):
3163           Asserting on a failure to read part of the registry is Not Cool.
3164           Just log a warning and return NULL (which is already handled)
3166 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3168         * win32/common/libgstbase.def:
3169           added export of gst_type_find_helper_for_buffer
3170         * win32/common/libgstbase.def:
3171           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3172           gst_ghost_pad_get_target
3174 2006-02-28  Wim Taymans  <wim@fluendo.com>
3176         * docs/design/draft-klass.txt:
3177         We use Filter now.
3178         Added Connector to mark elements that are only used to
3179         allow pipeline connections.
3180         Moved Debug to extra feature since most of them are 
3181         functionally something else.
3183 2006-02-28  Wim Taymans  <wim@fluendo.com>
3185         * docs/design/draft-klass.txt:
3186         Some updates and clarifications.
3188 2006-02-28  Wim Taymans  <wim@fluendo.com>
3190         * docs/design/draft-klass.txt:
3191         Proposal for klass field values.
3193         * docs/design/part-streams.txt:
3194         Start of a doc describing stream anatomy.
3196 2006-02-28  Wim Taymans  <wim@fluendo.com>
3198         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3199         Help the compiler a bit with type registration.
3200         Use existing forward cod path instead of duplicating it when 
3201         handling a message.
3202         
3203         * gst/gstbus.c: (gst_bus_get_type):
3204         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3205         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3206         * gst/gstclock.c: (gst_clock_get_type):
3207         * gst/gstelement.c: (gst_element_get_type),
3208         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3209         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3210         * gst/gstminiobject.c: (gst_mini_object_get_type):
3211         * gst/gstpad.c: (gst_pad_get_type):
3212         * gst/gstsegment.c: (gst_segment_get_type):
3213         * gst/gststructure.c: (gst_structure_get_type):
3214         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3215         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3216         * gst/gstvalue.c:
3217         Help compiler with type registration.
3219         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3220         Small doc update.
3222 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3224         * plugins/elements/gsttypefindelement.c:
3225         (gst_type_find_element_handle_event):
3226           When we get an EOS event and have not found a type yet
3227           (most likely because we had not yet accumulated
3228           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3229           type given the data we have so far. Fixes typefinding
3230           for very short streams again, most notably quicktime
3231           redirections as used on Apple's trailer site (#331701).
3233 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3235         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3236         (gst_type_find_helper):
3237           Try typefinding factories with the highest rank first.
3239 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3241         * docs/libs/gstreamer-libs-docs.sgml:
3242         * docs/libs/gstreamer-libs-sections.txt:
3243         * libs/gst/base/gsttypefindhelper.c:
3244           Add section for typefind helper and add documentation
3245           for the old and the new function.
3247 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3249         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3250         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3251         (gst_type_find_helper_for_buffer):
3252         * libs/gst/base/gsttypefindhelper.h:
3253           New API: gst_type_find_helper_for_buffer() (#332723).
3254           
3255 2006-02-27  Michael Smith  <msmith@fluendo.com>
3257         Patch by: Loïc Minier
3259         * configure.ac:
3260         * docs/Makefile.am:
3261         * docs/slides/Makefile.am:
3262           prevent CVS directories getting disted.
3264 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3266         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3267           Use the REFCOUNTING category for caps refcounting.
3268           
3269 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3271         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3272           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3274 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3276         * plugins/elements/gsttypefindelement.c:
3277         (gst_type_find_element_activate):
3278           Use gst_pad_check_pull_range() before _activate_pull()
3279           to avoid unnecessary open/close (see #331690).
3281 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3283         * gst/gstutils.c:
3284           Docs enhancement: make it crystal clear what the
3285           gst_pad_add_*_probe() callbacks should look like.
3287 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3289         * libs/gst/base/gstbasesrc.c:
3290           Document how applications can stop recording from
3291           live sources (see #330996).
3293 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3295         * tests/check/Makefile.am:
3296         * tests/check/libs/basesrc.c: (eos_event_counter),
3297         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3298         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3299         (gst_basesrc_suite), (main):
3300           ... and add some tests for the base source EOS stuff.
3302 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3304         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3305           Test case originally showed the problem fixed below,
3306           but was then amended. Add checks back at the place
3307           where they used to be.
3309 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3311         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3312         (gst_base_src_init), (gst_base_src_loop),
3313         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3314         (gst_base_src_change_state):
3315         * libs/gst/base/gstbasesrc.h:
3316           Don't unconditionally send EOS when going from PAUSED to
3317           READY state, esp. make sure we don't send two EOS events
3318           in some cases (e.g. one when reaching EOS and one when
3319           going from PAUSED to READY). Also, we don't want to send
3320           EOS events when operating in pull mode. However, we do
3321           want to send an EOS event when shutting down a live
3322           source explicitly, for example (fixes #330996).
3323           
3324 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3326         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3327           Update src->read_position after a seek when not using mmap.
3328           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3330 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3332         * gst/Makefile.am:
3333         * gst/gstparse.h:
3334         * gst/gstutils.c:
3335         * gst/gstutils.h:
3336         Make things work with --disable-parse as they do with 
3337         --disable-load-save - the symbols involved disappear, but the
3338         header is still installed and GST_DISABLE_PARSE is included via
3339         gstconfig.h
3341 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3343         * libs/gst/base/gstbasetransform.c:
3344         (gst_base_transform_change_state): Fix a stupid bug. I was 
3345         sure I compiled that.
3347 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3349         * gst/gstpad.c: (gst_pad_set_blocked_async):
3350         * gst/gstutils.c: (gst_pad_add_data_probe),
3351         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3352         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3353         (gst_pad_remove_buffer_probe): Make those function act on the
3354         ghostpad target when it's a ghostpad. (Closes #331727)
3356 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3358         * libs/gst/base/gstbasetransform.c:
3359         (gst_base_transform_change_state): Make basetransform reusable.
3360         (Closes #331898)
3362 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3364         * docs/random/release:
3365         Move the current documentation of how to do a release to the top
3366         of the file.
3368         * gst/gstbin.c: (gst_bin_class_init),
3369         (gst_bin_handle_message_func):
3370         Allow multiple state-recalculation threads. (Closes #328873)
3372 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3374         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3375         * gst/gstpad.c: (gst_pad_set_event_function),
3376         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3377         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3378         2 strings. You can't use the STR_NULL macro on that.
3380 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3382         * gst/gstpad.c: (gst_pad_set_event_function),
3383         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3384         (gst_pad_set_getcaps_function)
3385         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3386           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3387           So now, we can use --gst-debug-level=5 on Windows
3388         * win32/common/libgstcontroller.def:
3389           Added export of gst_controller_init
3390         * win32/vs6/libgstcontroller.dsp:
3391           Fixed Release post build configuration
3393 2006-02-17  Wim Taymans  <wim@fluendo.com>
3395         * tests/check/gst/gstquery.c: (GST_START_TEST):
3396         Added another check.
3398 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3400         * plugins/elements/gsttypefindelement.c: (find_peek):
3401           We can do peeks at non-zero offsets, as long as they
3402           fall within the buffer we have.
3404 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3406         * tests/check/Makefile.am:
3407         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3408         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3409         (parse_suite), (main):
3410           Add testsuite for parse launch syntax
3412 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3414         * plugins/elements/gsttypefindelement.c:
3415         (gst_type_find_element_chain):
3416           When typefinding is unsuccessful in the chain function, don't
3417           error out immediately. Only error out with NO_CAPS_FOUND if
3418           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3419           otherwise simply wait for more data so we can try typefinding
3420           again with more data later. Also, don't attempt to typefind
3421           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3422           this should improve typefinding from network sources where the
3423           size of the first buffer can be somewhat random.
3425 2006-02-14  Wim Taymans  <wim@fluendo.com>
3427         * docs/gst/gstreamer-sections.txt:
3428         * gst/gstpadtemplate.c:
3429         * gst/gstpadtemplate.h:
3430         Fix padtemplate docs, fixes #328805.
3432 2006-02-14  Wim Taymans  <wim@fluendo.com>
3434         * tools/gst-launch.c: (main):
3435         NO_PREROLL is not an ERROR so don't send confusing messages
3436         to the user.
3438 2006-02-14  Wim Taymans  <wim@fluendo.com>
3440         Patch by: Torsten Schoenfeld
3442         * gst/gstregistry.c: (gst_registry_get_default),
3443         (_gst_registry_cleanup):
3444         Protect default registry with lock and ref/sink it.
3445         Fixes #324818
3447 2006-02-14  Wim Taymans  <wim@fluendo.com>
3449         * gst/gstbuffer.c:
3450         * gst/gstquery.c: (gst_query_list_add_format),
3451         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3452         (gst_query_parse_formats_nth):
3453         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3454         Docs fixes.
3456 2006-02-14  Wim Taymans  <wim@fluendo.com>
3458         * docs/gst/gstreamer-sections.txt:
3459         Reworked query docs.
3461         * gst/gstquery.c: (gst_query_new_formats),
3462         (gst_query_list_add_format), (gst_query_set_formats),
3463         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3464         (gst_query_parse_formats_nth):
3465         * gst/gstquery.h:
3466         Flesh out formats query, added some new methods.
3467         Fix part of #324398.
3469         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3470         Added query creation tests.
3472 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3474         * gst/gstpad.c: (fixate_value):
3475         Add a default fixation for fraction lists.
3477 2006-02-13  Wim Taymans  <wim@fluendo.com>
3479         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3480         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3481         (gst_task_join):
3482         * gst/gsttask.h:
3483         Detect and warn for obvious deadlocks. fixes #320340
3484         Fix error case where lock was not released.
3486         * tests/check/Makefile.am:
3487         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3488         (task_func), (gst_element_suite), (main):
3489         Add task check.
3491 2006-02-13  Wim Taymans  <wim@fluendo.com>
3493         * docs/gst/gstreamer-sections.txt:
3494         * gst/gstbus.c:
3495         Add new functions to docs.
3497 2006-02-13  Wim Taymans  <wim@fluendo.com>
3499         * docs/design/part-TODO.txt:
3500         Updated TODO list, basesrc supports seeking to non-bytes
3501         formats.
3503         * docs/design/part-element-sink.txt:
3504         Update docs.
3506         * gst/gstbin.c: (bin_replace_message),
3507         (gst_bin_handle_message_func):
3508         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3509         * gst/gstevent.c: (gst_event_finalize):
3510         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3511         (gst_pad_send_event):
3512         Use shiny new _TYPE_NAME macros.
3514         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3515         Move debug statement up.
3517         * gst/gstelement.c: (gst_element_set_locked_state):
3518         Add some debugging.
3520 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3522         * docs/gst/gstreamer-sections.txt:
3523         * gst/gstmessage.h:
3524         * gst/gstquery.h:
3525           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3526           macros (#330906). Also, document the already existing
3527           GST_QUERY_TYPE macro.
3529 2006-02-13  Wim Taymans  <wim@fluendo.com>
3531         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3532         (event_probe), (GST_START_TEST):
3533         Only events up to the pipeline EOS are counted, there are
3534         some more when going to NULL currently which we don't care
3535         about for now.
3537 2006-02-13  Wim Taymans  <wim@fluendo.com>
3539         * gst/gstpad.c: (gst_pad_send_event):
3540         Correctly check flushing and emit probes. fixes #330125
3542 2006-02-10  Andy Wingo  <wingo@pobox.com>
3544         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3545         structure.
3546         (gst_bus_init): Cache the location of the private data in the
3547         instance structure.
3548         (gst_bus_enable_sync_message_emission) 
3549         (gst_bus_disable_sync_message_emission): Implement new public
3550         functions.
3551         (gst_bus_post): Emit the sync-message signal if the user asked for
3552         it. Fixes #330684.
3554         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3555         location of the bus-private structure.
3556         (gst_bus_enable_sync_message_emission)
3557         (gst_bus_disable_sync_message_emission): API addition
3559 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3561         Patch by: Vincent Torri
3563         * docs/pwg/building-boiler.xml:
3564         PWG patch from #326800
3566 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3568         * configure.ac:
3569         * docs/Makefile.am:
3570         * docs/design/Makefile.am:
3571           Dist design docs.
3573 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3575         * configure.ac:
3576           back to CVS
3578 === release 0.10.3 ===
3580 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3582         * configure.ac:
3583           releasing 0.10.3, "Like a virgin"
3585 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3587         * configure.ac:
3588           2nd prerelease of 0.10.3
3589           Bump libtool versioning.
3591 2006-02-07  Andy Wingo  <wingo@pobox.com>
3593         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3594         update last_stop if we're in TIME format and the timestamp is
3595         valid.
3597         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3598         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3599         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3600         If we get a new newsegment with a different format, adapt
3601         accordingly.
3603         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3604         of 0. Not a problem, really.
3606         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3607         warn if sync=true.
3609 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3611         * configure.ac:
3612           Prelease of 0.10.3
3614 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3616         * win32/vs7:
3617           project files updated to the default vs7 configuration
3618         * win32/common/libgstbase.def:
3619         * win32/common/libgstreamer.def:
3620           added new symbols,
3621           removed empty lines,
3622           sorted all exported symbols alphabetically
3623         * win32/common/dirent.c:
3624         * win32/common/dirent.h:
3625         * win32/common/gchar.h:
3626           use windows line end.
3627           
3628 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3630         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3631           Send EOS event when stopping.
3633 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3635         * docs/README:
3636           Tell folks what to do if the plugin-foobar.xml file
3637           hasn't been generated for a newly-added plugin.
3639 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3641         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3642         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3643         (gst_collect_pads_start), (gst_collect_pads_stop),
3644         (gst_collect_pads_event): Collectpads now holds a reference
3645         to the GstPad that was added. Indeed we don't want to look
3646         at pads that might just go away with no warning...
3648 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3650         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3651         (gst_collect_pads_start), (gst_collect_pads_stop),
3652         (gst_collect_pads_event), (gst_collect_pads_chain):
3653         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3654         Mark Nauwelaerts's patch on bug #328491.
3656 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3658         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3659         (gst_utils_suite):
3660           Add some simple tests for gst_parse_bin_from_description() and
3661           gst_bin_find_unconnected_pad() (#329069).
3663 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3665         * tools/gst-launch.c: (event_loop), (main):
3666           Catch errors during preroll (#320084).
3668 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3670         * plugins/elements/gsttypefindelement.c:
3671         (gst_type_find_element_activate):
3672           Post TYPE_NOT_FOUND error message when typefinding
3673           is unsuccessful in the activate function as well.
3675 2006-02-02  Wim Taymans  <wim@fluendo.com>
3677         * docs/design/part-element-sink.txt:
3678         Updated doc.
3680 2006-02-02  Wim Taymans  <wim@fluendo.com>
3682         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3683         (gst_base_sink_render_object),
3684         (gst_base_sink_queue_object_unlocked):
3685         Only keep track of prerollable items when we are 
3686         prerolling.
3687         Before rendering after preroll, always check if we
3688         have queued items.
3689         Added some more debugging.
3691 2006-02-02  Wim Taymans  <wim@fluendo.com>
3693         * gst/gstelement.c: (gst_element_continue_state),
3694         (gst_element_set_state_func), (gst_element_change_state):
3695         Fixed #326576, been running this for quite some time with
3696         no regressions at all.
3698 2006-02-02  Wim Taymans  <wim@fluendo.com>
3700         * common/gst.supp:
3701         Added more suppressions
3703 2006-02-02  Wim Taymans  <wim@fluendo.com>
3705         * docs/design/part-element-sink.txt:
3706         Updated document.
3708         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3709         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3710         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3711         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3712         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3713         (gst_base_sink_preroll_object),
3714         (gst_base_sink_queue_object_unlocked),
3715         (gst_base_sink_queue_object), (gst_base_sink_event),
3716         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3717         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3718         (gst_base_sink_get_position), (gst_base_sink_change_state):
3719         * libs/gst/base/gstbasesink.h:
3720         Totally refactored matching the design doc.
3721         Use two segments, one to clip incomming buffers and another to
3722         perform sync.
3723         Handle queueing correctly, bypass the queue when playing.
3724         Make EOS cancelable.
3725         Handle errors correctly when operating in pull based mode.
3727         * tests/check/elements/fakesink.c: (GST_START_TEST),
3728         (fakesink_suite):
3729         Added new check for sinks.
3731 2006-02-02  Wim Taymans  <wim@fluendo.com>
3733         * gst/gstsegment.c: (gst_segment_clip):
3734         No reason to refuse to clip when start == -1
3736 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3738         * docs/README:
3739         * docs/manual/intro-basics.xml:
3740         * docs/manual/intro-preface.xml:
3741         * docs/manual/manual.xml:
3742         * docs/pwg/advanced-dparams.xml:
3743         * docs/pwg/intro-basics.xml:
3744         * docs/pwg/intro-preface.xml:
3745         * docs/pwg/pwg.xml:
3746           describe dparams (controller) for plugins
3747           unify docs a little more
3749 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3751         * docs/gst/gstreamer-sections.txt:
3752         * gst/gstutils.c: (element_find_unconnected_pad),
3753         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3754         * gst/gstutils.h:
3755           Add new API: gst_parse_bin_from_description() and
3756           gst_bin_find_unconnected_pad() (#329069).
3758 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3760         * docs/manual/README:
3761           uncover a nasty detail of the docs build
3763 2006-01-31  Wim Taymans  <wim@fluendo.com>
3765         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3766         Don't cache duration messages if we're not going to use or
3767         free them.
3769 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3771         * docs/manual/advanced-dparams.xml:
3772         * docs/pwg/advanced-dparams.xml:
3773           more dparam docs
3774         * gst/gstindex.c:
3775           fix docs
3776         * libs/gst/controller/lib.c: (gst_controller_init):
3777           init just once
3779 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3781         * gst/gstelement.c: (gst_element_message_full):
3782           also show file/line/func if no additional debug was given
3784 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3785         
3786         * win32/vs7/grammar.vcproj:
3787           activate copy of autogenerated files for Release mode
3789 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3790         
3791         * win32/common/libgstreamer.def:
3792           export gst_value_compare
3794 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3796         * plugins/elements/Makefile.am:
3797         * plugins/elements/gstelements.c:
3798         * plugins/elements/gstfdsink.c: (_do_init),
3799         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3800         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3801         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3802         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3803         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3804         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3805         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3806         * plugins/elements/gstfdsink.h:
3807         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3809 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3811         * docs/manual/advanced-dparams.xml:
3812           describe controller
3813         * docs/manual/advanced-position.xml:
3814         * docs/manual/basics-init.xml:
3815         * docs/manual/manual.xml:
3816         * docs/manual/titlepage.xml:
3817         * docs/pwg/pwg.xml:
3818         * docs/pwg/titlepage.xml:
3819           cleanup xml (more to come)
3820         * libs/gst/controller/gstcontroller.c:
3821           fix typo
3823 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3824         
3825         * win32/vs6/grammar.dsp:
3826           add autogen of gstmarshal.c,h for Release mode
3827                 
3828 2006-01-30  Wim Taymans  <wim@fluendo.com>
3830         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3831         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3832         (gst_base_sink_handle_object), (gst_base_sink_event),
3833         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3834         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3835         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3836         (gst_base_sink_deactivate), (gst_base_sink_activate),
3837         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3838         (gst_base_sink_query), (gst_base_sink_change_state):
3839         Basesink cleanups, remove some old code.
3840         Handle the case where a subclass can preroll in the render
3841         method (mostly audiosinks).
3842         Handle more events.
3843         Remove some locks around variables that are now protected
3844         with the PREROLL_LOCK (clock_id, flushing, ..).
3845         Optimize position query some more, do correct locking.
3846         Remove old code to push queue in state change, this is not
3847         needed anymore since preroll blocks on all prerollable items 
3848         now.
3849         Almost implemented as described in design doc.
3851 2006-01-30  Wim Taymans  <wim@fluendo.com>
3853         * tests/check/gst/gstbin.c: (GST_START_TEST):
3854         Wait for refcount to settle down before checking.
3856 2006-01-30  Wim Taymans  <wim@fluendo.com>
3858         * docs/design/part-element-sink.txt:
3859         Pseudo code overview of desired sink behaviour regarding
3860         preroll.
3862 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3863         * win32/vs6/grammar.dsp:
3864           fix some bugs in Release mode for autogenerated files
3865                 
3866 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3867         * win32/common/libgstbase.def:
3868         * win32/common/libgstreamer.def:
3869           export some new symbols: gst_base_src_set_format,
3870           gst_iterator_next, gst_structure_set_valist
3872 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3874         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3875         Set pad functions unconditionally. Fixes #329105.
3877 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3878         * win32/vs8:
3879           add vs8 project files created by Sergey Scobich
3881 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3883         * gst/gstutils.c: (gst_element_unlink_pads):
3884         Don't leak pad references.
3886         * tests/check/elements/fakesink.c: (GST_START_TEST):
3887         * tests/check/generic/sinks.c: (GST_START_TEST):
3888         * tests/check/generic/states.c: (GST_START_TEST):
3889         * tests/check/gst/gstbin.c: (GST_START_TEST):
3890         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3891         * tests/check/gst/gstelement.c: (GST_START_TEST):
3892         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3893         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3894         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3895         Fix a bunch of leaks. Make generic/sinks.c
3896         use a bit less cpu by slowing the buffer rate
3897         between fakesrc and fakesink.
3898         
3899 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3900         * gst/gstcaps.c:
3901         * gst/gstelement.c: (gst_element_send_event):
3902         * gst/gstevent.c:
3903         * gst/gstinfo.c:
3904         * gst/gstiterator.c:
3905         * gst/gstiterator.h:
3906         * gst/gstpad.c: (gst_pad_send_event):
3907         * gst/gststructure.c:
3908         * gst/gsturi.c:
3909         * gst/gstutils.c:
3910         * gst/gstvalue.c:
3911         * libs/gst/base/gstadapter.c:
3912           doc fixes, to link to function, just write gst_cool_function(), don't
3913           prefix with '#'
3915 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3917         * plugins/elements/gsttee.c: (gst_tee_do_push),
3918         (gst_tee_handle_buffer):
3919         Always prefer an actual return value from a src
3920         pad in place of NOT_LINKED. This means we return
3921         WRONG_STATE when all src pads are WRONG_STATE
3922         instead of NOT_LINKED.
3924         Lock when replacing the last message to prevent
3925         racing with the get_property method.
3927         Add debug output
3929 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3931         * tests/check/Makefile.am:
3932         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3933         (main):
3934         Add a very simple check that should have caught the memleak I fixed
3935         last night (if not for the slice allocator hiding it)
3937 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3939         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3940         (gst_bin_remove_func), (gst_bin_handle_message_func),
3941         (bin_query_duration_fold), (bin_query_generic_fold):
3942         Clean up references to the clock provider when disposed or when
3943         handling a clock-lost message from it.
3945         Unref sinks when performing a query via gst_iterator_fold, as the
3946         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3948         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3949         (gst_clock_set_master):
3950         Drop our reference to the master clock, if any, when we are disposed.
3952         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3953         Chain up in dispose. 
3955 2006-01-26  Wim Taymans  <wim@fluendo.com>
3957         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3958         Add some debugging.
3960 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3962         * plugins/elements/gsttee.c: (gst_tee_do_push),
3963         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3964         handles pad being NOT_LINKED or in WRONG_STATE.
3966 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3968         * win32/MANIFEST:
3969           more updating
3971 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3973         * win32/MANIFEST:
3974           remove obsolete entry
3976 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3978         * docs/gst/gstreamer-sections.txt:
3979         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3980         (gst_bin_iterate_sources), (gst_bin_send_event):
3981         * gst/gstbin.h:
3982         * gst/gstelement.c: (gst_element_send_event):
3983         * gst/gstevent.c:
3984         * gst/gstpad.c: (gst_pad_send_event):
3985           added code for downstream events, reviewed docs in gstevent.c
3987 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3989         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3990         We only query position using the clock in the playing state.
3991         Query peer in the other cases.
3992         * win32/common/config.h: Updates.
3994 2006-01-24  Wim Taymans  <wim@fluendo.com>
3996         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3997         A clock entry that is scheduled for the exact time of the
3998         clock is still in time.
4000         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4001         (gst_base_sink_do_sync):
4002         Add some more debug info.
4004 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4006         * win32/vs7:
4007           Add new vs7 project files and solution.
4009 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4011         * win32/vs7:
4012           all files removed as they were out-dated.
4014 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4016         * docs/random/release:
4017           update notes
4018         * gst/gstbin.c: (gst_bin_init):
4019         * gst/gstbus.c: (gst_bus_new):
4020         * gst/gstbus.h:
4021         * gst/gstpipeline.c: (gst_pipeline_init):
4022           use gst_bus_new(), improve logging, fix docs
4023         * win32/common/config.h:
4024           update for cvs build
4026 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4028         * autogen.sh:
4029           up required version of automake to 1.7
4031 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4033         * win32/common/libgstreamer.def:
4034           export gst_buffer_is_metadata_writable
4036 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4038         * docs/gst/gstreamer-sections.txt:
4039         * gst/gstevent.h:
4040           Add gst_event_replace() (#327001)
4042 2006-01-20  Wim Taymans  <wim@fluendo.com>
4044         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4045         Make it actually compile too..
4047 2006-01-20  Wim Taymans  <wim@fluendo.com>
4049         * gst/gstcaps.c:
4050         Clarify behaviour of _is_equal() when passing NULL parameters.
4052         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4053         (gst_pad_set_caps):
4054         Cleanups. Don't unref NULL caps.
4055         When setting the same caps, protect caps of the pad with
4056         proper lock.
4057         Use full functionality of _is_equal() when comparing caps.
4059 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4061         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4062         Don't loop infinitely if there are no buffers to present. Partially
4063         fixes #327197, but collectpads is just broken for reusing elements
4064         to do multiple encodes atm.
4066 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4068         * tools/gst-inspect.c: (print_element_features):
4069         * tools/gst-xmlinspect.c: (main):
4070         URL_HANDLER is not a plugin feature we can search for in
4071         the registry.
4073 2006-01-19  Edward Hervey  <edward@fluendo.com>
4075         * gst/gstelement.c: (gst_element_pads_activate): 
4076         When activating, do src pads first, then sink pads.
4077         When de-activating, do sink pads first, then src pads.
4079 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4081         * docs/gst/gstreamer-sections.txt:
4082         Add gst_index_add_associationv to the docs
4084 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4086         * gst/gstevent.c:
4087           Fix docs typo
4089         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4090         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4091           Do some refactoring. Doesn't actually change functionality,
4092           but makes landing the DRAIN event easier later.
4094 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4096         * docs/pwg/advanced-scheduling.xml:
4097           Update from 0.9.x to 0.10 API and make example a bit
4098           clearer.
4100 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4102         * docs/gst/gstreamer-sections.txt:
4103         Add gst_buffer_(is|make)_metadata_writable methods.
4105 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4107         * docs/design/part-sparsestreams.txt:
4108         Update sparse streams doc, hopefully for greater clarity
4110 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4112         * docs/design/part-events.txt:
4113         Remove mention of FILLER events.
4114         Add DRAIN event.
4116         * docs/design/part-sparsestreams.txt:
4117         Write some things about using NEWSEGMENT to keep sparse streams
4118         flowing.
4120 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4122         * gst/gstbin.c: (gst_bin_dispose):
4123           Guard gst_object_unref call against a NULL object (dispose
4124           can theoretically be called multiple times).
4125           
4126 2006-01-18  Wim Taymans  <wim@fluendo.com>
4128         * gst/gstbin.c: (gst_bin_element_set_state):
4129         * gst/gstclock.c: (gst_clock_id_wait):
4130         Added some more debug info.
4132         * libs/gst/base/gstadapter.c:
4133         Added more docs.
4135         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4136         (gst_base_sink_do_sync), (gst_base_sink_chain):
4137         Added some comments.
4139 2006-01-18  Wim Taymans  <wim@fluendo.com>
4141         * tests/check/Makefile.am:
4142         * tests/check/elements/fakesink.c: (chain_async_buffer),
4143         (chain_async), (chain_async_return), (GST_START_TEST),
4144         (fakesink_suite), (main):
4145         Added fakesink test that checks prerolling and clipping
4146         behaviour.
4148         * tests/check/gst/gstutils.c: (GST_START_TEST):
4149         Make check run faster so that buildbots don't timeout.
4151 2006-01-18  Wim Taymans  <wim@fluendo.com>
4153         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4154         (gst_base_sink_do_sync):
4155         Some cleanups.
4156         When the sink finishes blocking on the preroll buffer, it can
4157         immediatly render it instead of rendering when the next buffer
4158         arrives.
4160 2006-01-18  Wim Taymans  <wim@fluendo.com>
4162         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4163         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4164         (gst_base_sink_chain):
4165         Small cleanups.
4166         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4167         Don't store _last_stop if the buffer is dropped.
4169 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4171         * plugins/elements/gsttypefindelement.c:
4172         (gst_type_find_element_class_init):
4173           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4174           object method handler that sets the caps on the pad and we want
4175           that to happen before we emit the signal (fixes e.g. feeding a
4176           plain text file to decodebin).
4178 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4180         * gst/gstplugin.c: Add MPL and Proprietary as license options
4182 2006-01-18  Andy Wingo  <wingo@pobox.com>
4184         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4185         symbol was exported before, it appears this was just an oversight.
4186         Fixes #168703.
4187         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4189         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4190         prototype to gint. OK since this prototype was not in the header.
4192 2006-01-17  Andy Wingo  <wingo@pobox.com>
4194         * gst/gstregistry.c&nbs