]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - ChangeLog
No point in checking if the size of the subbuffer > 0, the code handles it correclty...
[glsdk/gstreamer0-10.git] / ChangeLog
1 2006-07-05  Wim Taymans  <wim@fluendo.com>
3         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5         (gst_buffer_suite):
6         No point in checking if the size of the subbuffer > 0, the
7         code handles it correclty as demonstrated by unit test.
8         Also add a unit test for the zero sized _new_and_alloc and
9         _copy. Fixes #346663.
11 2006-07-05  Wim Taymans  <wim@fluendo.com>
13         * libs/gst/base/gstbasetransform.c:
14         (gst_base_transform_prepare_output_buffer),
15         (gst_base_transform_buffer_alloc),
16         (gst_base_transform_handle_buffer):
17         Make sure the buffer we pass to transform_ip has a refcount of
18         1 and thus is writable. Fixes #343196
20 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
22         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
23         (gst_file_src_init), (gst_file_src_set_property),
24         (gst_file_src_get_property), (gst_file_src_map_region):
25         * plugins/elements/gstfilesrc.h:
26         Add "sequential" property, off by default, to use madvise and hint
27         to the kernel that sequential access is desired.
28         Touch all retrieved pages by default to ensure they are pulled
29         into memory. (Closes #345720)
31 2006-07-03  Wim Taymans  <wim@fluendo.com>
33         * docs/design/part-block.txt:
34         * docs/design/part-dynamic.txt:
35         Small docs updates.
37 2006-07-03  Wim Taymans  <wim@fluendo.com>
39         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
40         (gst_caps_unref), (gst_static_caps_get),
41         (gst_caps_append_structure):
42         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
43         Use GSlice when the glib we build against is >= 2.10
45 2006-07-03  Wim Taymans  <wim@fluendo.com>
47         * gst/gstelement.c: (gst_element_pads_activate):
48         Small cleanup in pad activation code.
50 2006-07-03  Wim Taymans  <wim@fluendo.com>
52         Patch by: Peter Kjellerstedt <pkj at axis dot com>
54         * gst/gst-i18n-app.h:
55         * gst/gst-i18n-lib.h:
56         * tools/gst-inspect.c: (print_signal_info):
57         The attached patch will make the inclusion of gettext.h unconditional in
58         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
59         libintl.h in tools/gst-inspect.c.
60         This allows use of --disable-nls again and fixes #344642.
62 2006-07-03  Edward Hervey  <edward@fluendo.com>
64         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
65         Implement pad blocking on events according to part-block.txt.
66         More comments on behaviour.
67         * tests/check/gst/gstevent.c: (test_event):
68         Send event to peer pad of blocked pad (else it will block).
70 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
72         * libs/gst/check/gstcheck.c: (gst_check_message_error),
73         (gst_check_run_suite):
74           if we get the wrong message, give us the types as string
75         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
76           Fix a translatable
77         * tests/check/elements/filesrc.c: (GST_START_TEST):
78           add a test for trying to open a non-existing file
80 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
82         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
83           add a test for adding self
85 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
87         * libs/gst/check/gstcheck.h:
88           add some assert_ as alias for fail_unless_*
89         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
90           increase test coverage
92 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
94         * Makefile.am:
95           include lcov.mak for lcov coverage generation
96         * tools/Makefile.am:
97           add to CLEANFILES
99 2006-07-02  Edward Hervey  <edward@fluendo.com>
101         * tests/check/elements/.cvsignore:
102         moaping
104 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
106         * configure.ac:
107           don't set CFLAGS and friends for gcov, done from GST_GCOV now
108         * tests/check/Makefile.am:
109           clean up gcov files
111 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
113         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
114           remove gst_caps_simplify; it was not declared and not used
115           and deprecated in 0.8
117 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
119         * docs/faq/gst-uninstalled:
120           don't put empty paths on PYTHONPATH
121         * docs/gst/gstreamer-sections.txt:
122           remove some symbols that are not there
124 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
126         * gst/gstcaps.c: (gst_caps_compare_structures):
127           whitespace fixes
128         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
129         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
130           add more tests
132 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
134         * libs/gst/dataprotocol/Makefile.am:
135           build dataprotocol test by linking to the lib, instead of
136           compiling the source, so we get coverage
137         * tests/check/Makefile.am:
138         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
139         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
140           add a test for filesrc
142 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
144         * tests/check/gst/gststructure.c: (GST_START_TEST),
145         (gst_structure_suite):
146           Push coverage from 59.04% to 70.00%
148 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
150         * tests/check/Makefile.am:
151           gst-inspect every element; this makes sure that we also get
152           coverage on element's get/set functions
154 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
156         * configure.ac:
157           set CFLAGS and friends to -O0 if gcov is being used
158           add GCOV LIBS
159         * gst/Makefile.am:
160         * libs/gst/base/Makefile.am:
161         * libs/gst/check/Makefile.am:
162         * libs/gst/controller/Makefile.am:
163         * libs/gst/dataprotocol/Makefile.am:
164         * libs/gst/net/Makefile.am:
165         * plugins/elements/Makefile.am:
166         * plugins/indexers/Makefile.am:
167           add makefile rules to generate gcov data and clean up
168         * tests/check/Makefile.am:
169           add a coverage target that generates an html overview
170           of coverage data
172 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
174         * tests/check/elements/fakesink.c:
175         * tests/check/elements/fakesrc.c:
176         * tests/check/elements/fdsrc.c:
177         * tests/check/elements/identity.c:
178         * tests/check/generic/sinks.c: (gst_sinks_suite):
179         * tests/check/generic/states.c:
180         * tests/check/gst/gst.c:
181         * tests/check/gst/gstabi.c:
182         * tests/check/gst/gstbin.c:
183         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
184         * tests/check/gst/gstbus.c: (gst_bus_suite):
185         * tests/check/gst/gstcaps.c: (GST_START_TEST):
186         * tests/check/gst/gstelement.c:
187         * tests/check/gst/gstevent.c: (gst_event_suite):
188         * tests/check/gst/gstghostpad.c:
189         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
190         * tests/check/gst/gstmessage.c: (gst_message_suite):
191         * tests/check/gst/gstminiobject.c:
192         * tests/check/gst/gstobject.c:
193         * tests/check/gst/gstpad.c:
194         * tests/check/gst/gstpipeline.c:
195         * tests/check/gst/gstplugin.c:
196         * tests/check/gst/gstquery.c: (gst_query_suite):
197         * tests/check/gst/gstsegment.c: (gst_segment_suite):
198         * tests/check/gst/gststructure.c:
199         * tests/check/gst/gstsystemclock.c:
200         * tests/check/gst/gsttag.c:
201         * tests/check/gst/gsttask.c: (gst_task_suite):
202         * tests/check/gst/gstutils.c:
203         * tests/check/gst/gstvalue.c:
204         * tests/check/libs/adapter.c:
205         * tests/check/libs/basesrc.c:
206         * tests/check/libs/collectpads.c:
207         * tests/check/libs/controller.c:
208         * tests/check/libs/gdp.c: (gst_dp_suite):
209         * tests/check/libs/gstnetclientclock.c:
210         * tests/check/libs/gstnettimeprovider.c:
211         * tests/check/libs/libsabi.c: (libsabi_suite):
212         * tests/check/libs/typefindhelper.c:
213         * tests/check/pipelines/cleanup.c:
214         * tests/check/pipelines/parse-launch.c:
215         * tests/check/pipelines/simple-launch-lines.c:
216         * tests/check/pipelines/stress.c: (stress_suite):
217           use the new macro
219 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
221         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
222         * libs/gst/check/gstcheck.h:
223           create a macro and function so that the simple unit test
224           case can be just one macro to create main()
226 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
228         * gst/gstbin.c: (gst_bin_restore_thyself):
229         * gst/gstxml.c: (gst_xml_make_element):
230           Fix deserialisation from XML. Set parent manually
231           instead of using gst_bin_add(), since gst_bin_add()
232           will unlink all pads of the element being added.
233           Fixes #341667.
235 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
237         Patch by: Peter Kjellerstedt <pkj at axis com>
239         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
240           Fix missing g_strdup() and double free when using the
241           --gst-plugin-load command line option (#346097).
243 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
245         * gst/gstinfo.c:
246           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
248         * libs/gst/net/gstnetclientclock.c:
249         * libs/gst/net/gstnettimeprovider.c:
250           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
252 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
254         * docs/manual/advanced-dataaccess.xml:
255           Fix buffer probe example compilation in
256           ADM (#345708).
257         
258 2006-06-22  Edward Hervey  <edward@fluendo.com>
260         * gst/gstelement.c: (gst_element_pads_activate):
261         We need to deactivate src pads first and then sink pads.
262         The reason is the src pads might be blocking while holding the streaming
263         lock, so we need to deactivate them first so that deactivating the sink
264         pads doesn't block (since it will require the streaming lock).
266 2006-06-22  Wim Taymans  <wim@fluendo.com>
268         * libs/gst/base/gstbasetransform.c:
269         (gst_base_transform_buffer_alloc):
270         Forgot to remove two unneeded unrefs.
271         Simplify a check _is_equal allready checks the obvious case.
273 2006-06-22  Wim Taymans  <wim@fluendo.com>
275         * docs/design/part-block.txt:
276         Some docs about what pad_block should do.
278 2006-06-22  Wim Taymans  <wim@fluendo.com>
280         * gst/gstcaps.c: (gst_caps_replace):
281         Fix crasher when passed NULL. Doc clarification.
282         Optimize for the trivial case.
284         * gst/gstpipeline.c: (gst_pipeline_change_state):
285         Small cleanups.
287         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
288         Small documentation cleanup.
290         * libs/gst/base/gstbasetransform.c:
291         (gst_base_transform_buffer_alloc):
292         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
293         is what we need and it avoids a whole lot of redundant 
294         refcount operations.
296 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
298         Patch by: Philip Jägenstedt  <philip at lysator liu se>
300         * docs/manual/advanced-dataaccess.xml:
301           Fix 'Embedding static elements' section to use
302           GST_PLUGIN_DEFINE_STATIC (#345607).
304 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
306         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
307           Attempt to 'fix' spuriously failing test case: it seems like the
308           timeout of half a second is simply too small when the system is under
309           load otherwise, and the timeout doesn't really seem to serve any
310           particular purpose here. Give the pipeline a few seconds to preroll
311           first, and then give it another half a second to go from PAUSED to
312           PLAYING and marshal the message into the main thread.
314 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
316         * tools/gst-feedback-m.m:
317           Don't only use unversioned tools, try versioned tools as well
318           (#345086).
320 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
322         * gst/gstbus.c: (gst_bus_class_init):
323           Fix some typos, make docs more explicit.
325 2006-06-20  Wim Taymans  <wim@fluendo.com>
327         * tests/check/gst/gstghostpad.c: (block_callback),
328         (GST_START_TEST), (gst_ghost_pad_suite):
329         Added some more ghostpad tests, mainly blocking
330         and probes.
332 2006-06-16  Wim Taymans  <wim@fluendo.com>
334         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
335         (gst_file_sink_close_file), (gst_file_sink_do_seek),
336         (gst_file_sink_event), (gst_file_sink_render):
337         * plugins/elements/gstfilesink.h:
338         Check if we can seek in the file instead of assuming
339         we always can. Post an error when we are asked to seek in a
340         non-seekable file (like a fifo). Fixes #343312.
341         Some cleanups.
343 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
345         * tools/gst-launch.1.in:
346           Un-garble (fourcc) bit in filtered caps section.
348 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
350         * docs/manual/advanced-autoplugging.xml:
351         * docs/manual/basics-helloworld.xml:
352         * docs/manual/highlevel-components.xml:
353           Don't leak bus reference in sample code.
355 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
357         * autogen.sh:
358           Add default for new --enable-plugin-docs switch.
360         * configure.ac:
361           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
362           Fixes #344039.
364         * docs/Makefile.am:
365           Use new ENABLE_PLUGIN_DOCS conditional.
367 2006-06-14  Wim Taymans  <wim@fluendo.com>
369         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
370         Make it clear with a FIXME and a real define what the #if 0
371         previously disabled.
373 2006-06-14  Wim Taymans  <wim@fluendo.com>
375         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
376         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
377         * libs/gst/base/gstbasetransform.c:
378         (gst_base_transform_sink_eventfunc):
379         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
380         Don't randomly and silently reset a segment when the format 
381         changes as this is a bug somewhere upstream. Fixes #330379.
383 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
385         Patch by: Wouter Paesen  <wouter at kangaroot net>
387         * libs/gst/controller/gstcontroller.c:
388         (gst_controlled_property_new):
389           Fix controlling of float properties (#344849).
391         * tests/check/libs/controller.c:
392         (gst_test_mono_source_get_property),
393         (gst_test_mono_source_set_property),
394         (gst_test_mono_source_class_init), (GST_START_TEST):
395           While we're at it, add some float stuff to unit test.
397 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
399         * docs/README:
400         * docs/images/gdp-header.svg:
401           add a gdp image
402         * docs/libs/Makefile.am:
403         * docs/libs/gdp-header.png:
404         * libs/gst/dataprotocol/dataprotocol.c:
405           add it to the API docs
406         * docs/manual/intro-motivation.xml:
407           fix typo
409 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
411         * gst/gst.c: (scan_and_update_registry), (init_post):
412           If the fork()'ed child process can't write the updated registry cache
413           file to disk for some reason, make it exit with a failure exit code,
414           so that the parent can then re-scan the plugins itself and update the
415           registry structures in memory and work with that (rather than failing
416           when creating elements because seemingly no plugins are available).
417           Refactor registry scanning code into separate function for this and
418           also separate fork() and non-fork() code paths. Fixes #344748.
420 2006-06-13  Wim Taymans  <wim@fluendo.com>
422         * docs/manual/advanced-dataaccess.xml:
423         Fix wrong PluginDesc. Fixes #344755.
425 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
427         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
428           Fix silly bug that prevented us from creating
429           ~/.gstreamer-0.10 and writing the registry in one
430           go (the first call to g_mkstemp() would overwrite the
431           placeholder in the template string, so the second call
432           to g_mkstemp() after creating the missing directory
433           would then error out with 'invalid argument').
435 2006-06-13  Edward Hervey  <edward@fluendo.com>
437         * gst/gst.c: (init_post):
438         Free string.
440 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
442         * gst/glib-compat-private.h:
443         * gst/glib-compat.c:
444         * gst/glib-compat.h:
445         * gst/gstvalue.c: (gst_value_serialize_flags):
446           remove GLib 2.6 compatibility code
448 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
450         * gst/parse/Makefile.am:
451           Fix build with 'make -j N' even more (#340016).
453 2006-06-12  Wim Taymans  <wim@fluendo.com>
455         * docs/gst/gstreamer-sections.txt:
456         Fix docs.
458 2006-06-12  Wim Taymans  <wim@fluendo.com>
460         * gst/gstsegment.c: (gst_segment_set_duration),
461         (gst_segment_set_last_stop), (gst_segment_set_seek),
462         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
463         (gst_segment_to_running_time), (gst_segment_clip):
464         Use G_UNLIKELY to help the compiler a bit.
466 2006-06-12  Wim Taymans  <wim@fluendo.com>
468         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
470         * gst/gstevent.c: (gst_event_get_type):
471         * gst/gstmessage.c:
472         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
473         (gst_pad_push):
474         constify quark registration strings. Fixes #344115
475         Avoid unneeded type checking is _pad_push() by internally
476         calling gst_pad_chain_unchecked().
478 2006-06-12  Wim Taymans  <wim@fluendo.com>
480         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
481         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
482         (gst_subbuffer_finalize), (gst_buffer_create_sub),
483         (gst_buffer_is_span_fast), (gst_buffer_span):
484         Init _type for consistency.
485         Use _FLAGS macro to avoid type check.
486         Avoid unneeded type checks in subbufer code.
488 2006-06-12  Wim Taymans  <wim@fluendo.com>
490         * gst/gst.c: (gst_debug_help):
491         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
492         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
493         (gst_plugin_feature_list_free):
494         * gst/gstregistry.c: (gst_registry_add_plugin),
495         (gst_registry_add_feature), (gst_registry_plugin_filter),
496         (gst_registry_feature_filter), (gst_registry_find_plugin),
497         (gst_registry_find_feature), (gst_registry_get_plugin_list),
498         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
499         * gst/gstregistryxml.c: (load_feature),
500         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
501         * gst/gstminiobject.c: (gst_mini_object_unref),
502         (gst_mini_object_replace), (gst_value_mini_object_free),
503         (gst_value_mini_object_copy):
504         Use _CAST macros to avoid unneeded type checking.
505         Added some more G_UNLIKELY.
507 2006-06-12  Wim Taymans  <wim@fluendo.com>
509         * gst/gstbuffer.h:
510         Avoid unneeded type checking.
511         API: GST_BUFFER_IS_DISCONT
513         * gst/gstminiobject.h:
514         Avoid type check in flag accessor.
516         * gst/gstelementfactory.h:
517         * gst/gstplugin.h:
518         * gst/gstpluginfeature.h:
519         Add _CAST macros.
520         API: GST_ELEMENT_FACTORY_CAST
521         API: GST_PLUGIN_CAST
522         API: GST_PLUGIN_FEATURE_CAST
524 2006-06-12  Wim Taymans  <wim@fluendo.com>
526         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
527         (gst_object_unref):
528         Add G_UNLIKELY in type registration.
529         Avoid type check in _ref/_unref since that is also
530         done in glib.
532 2006-06-12  Wim Taymans  <wim@fluendo.com>
534         * gst/gsterror.c: (gst_g_error_get_type):
535         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
536         (gst_static_pad_template_get_type):
537         * gst/gsttaglist.c: (gst_tag_list_get_type):
538         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
539         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
540         * gst/gsturi.c: (gst_uri_handler_get_type):
541         * gst/gstvalue.c: (gst_date_get_type):
542         * gst/gstxml.c: (gst_xml_get_type):
543         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
544         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
545         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
546         Add G_UNLIKELY in type registration.
548 2006-06-12  Wim Taymans  <wim@fluendo.com>
550         * tools/gst-inspect.c: (print_signal_info):
551         Properly print enum values.
553 2006-06-12  Wim Taymans  <wim@fluendo.com>
555         * gst/gstinfo.c: (gst_debug_set_active),
556         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
557         * gst/gstinfo.h:
558         Add some G_[UN]LIKELY.
559         Maintain __gst_debug_min to avoid formatting the arguments of
560         debug messages that will be dropped anyway to avoid a lot of 
561         overhead from the debugging system.
563 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
565         * po/POTFILES.in:
566         * po/POTFILES.skip:
567           add missing files containing translatable strings, tell intltool about
568           one exception
570 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
572         * tests/check/libs/.cvsignore:
573         add test-binary to ignore list
575 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
577         * docs/libs/gstreamer-libs-docs.sgml:
578         reorder (put dp into a chapter) and indent
580 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
582         * configure.ac:
583           back to HEAD
585 === release 0.10.8 ===
587 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
589         * configure.ac:
590           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
592 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
594         * gst/gst.c: (init_post):
595           move pid declaration to declaration block
597 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
599         * gst/gst.c: (init_post):
600           use _exit() instead of exit() in our forked child; this ensures
601           that none of the registered exit handlers from whatever is using
602           GStreamer get executed.  This fixes gnome-mixer-applet failing
603           to load, because ORBit would shut down.
604           Spotted by: Edward Hervey  <edward@fluendo.com>
605           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
606           Fixes #344474
608 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
610         * configure.ac:
611           back to TRUNK
613 === release 0.10.7 ===
615 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
617         * configure.ac:
618           releasing 0.10.7, "Soepeke, ik zie ou"
620 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
622         * configure.ac:
623         * po/af.po:
624         * po/az.po:
625         * po/bg.po:
626         * po/ca.po:
627         * po/cs.po:
628         * po/de.po:
629         * po/en_GB.po:
630         * po/fr.po:
631         * po/it.po:
632         * po/nb.po:
633         * po/nl.po:
634         * po/ru.po:
635         * po/sq.po:
636         * po/sr.po:
637         * po/sv.po:
638         * po/tr.po:
639         * po/uk.po:
640         * po/vi.po:
641         * po/zh_CN.po:
642         * po/zh_TW.po:
643         * win32/common/config.h:
644           0.10.6.2 prerelease
646 2006-06-07  Wim Taymans  <wim@fluendo.com>
648         * gst/gstindex.c: (gst_index_gtype_resolver):
649         * tools/gst-xmlinspect.c: (print_plugin_info):
650         Fix leak spotted by coverity checker. Fixes #343827
651         Fix another other leak found by paolo borelli.
653 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
655         * libs/gst/dataprotocol/dataprotocol.c:
656         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
657         (gst_dp_version_get_type), (gst_dp_init),
658         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
659         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
660         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
661         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
662         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
663         (gst_dp_packetizer_free):
664         * libs/gst/dataprotocol/dataprotocol.h:
665           API: add a GstDPPacketizer object, and create/free functions
666           API: add GstDPVersion enum
667           Add 1.0 event function that uses the string serialization
668           Serialize more useful buffer flags
669           Fixes #343988
671 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
673         * tests/check/Makefile.am:
674         * tests/check/gst/gstabi.c:
675         * tests/check/gst/struct_ppc64.h:
676         * tests/check/libs/libsabi.c:
677         * tests/check/libs/struct_ppc64.h:
678           add ppc64 structure sizes
680 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
682         * tests/check/Makefile.am:
683         * tests/check/gst/gstabi.c:
684         * tests/check/gst/struct_x86_64.h:
685         * tests/check/libs/libsabi.c:
686         * tests/check/libs/struct_x86_64.h:
687           generate and add structure size lists for x86_64
689 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
691         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
692         * libs/gst/check/gstcheck.h:
693           factor out the method from tests that checks size of structures,
694           and add code to generate the header containing these sizes
695         * tests/check/gst/gstabi.c: (GST_START_TEST):
696         * tests/check/gst/struct_i386.h:
697         * tests/check/libs/libsabi.c: (GST_START_TEST):
698         * tests/check/libs/struct_i386.h:
699           use it
701 2006-06-06  Michael Smith  <msmith@fluendo.com>
703         * gst/gstsegment.h:
704           Don't use c++-style comments, fixes #343929
706 2006-06-05  Edward Hervey  <edward@fluendo.com>
708         * gst/gst.c:
709         plugin_paths is not used if we build without registry support.
711         * gst/gstsegment.c: (gst_segment_copy): 
712         _copy() was always returning NULL...
714 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
716         * libs/gst/dataprotocol/dataprotocol.c:
717         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
718         (gst_dp_packet_from_event):
719           factor out CRC code
721 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
723         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
724           make sure we unset caps
726 2006-06-02  Michael Smith  <msmith@fluendo.com>
728         * libs/gst/check/gstcheck.c: (gst_check_init),
729         (gst_check_chain_func):
730         * libs/gst/check/gstcheck.h:
731           Add a cond/mutex to the check support lib, signal this whenever we
732           add to the buffers list. This will allow tests to not busy-wait on
733           the buffer-list.
735 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
737         * libs/gst/dataprotocol/dataprotocol.c:
738         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
739         (gst_dp_packet_from_event):
740           factor out some common header init code
742 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
744         * docs/libs/gstreamer-libs-sections.txt:
745         * docs/libs/tmpl/gstdataprotocol.sgml:
746         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
747         * libs/gst/dataprotocol/dataprotocol.h:
748           API: make gst_dp_crc() public
750 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
752         * plugins/indexers/gstindexers.c: (plugin_init):
753         conditionally register fileindexer (fixes #343598)
755 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
757         * gst/gsttagsetter.h:
758         Can't cast ifaces to a class
760         * libs/gst/net/gstnetclientclock.h:
761         * libs/gst/net/gstnettimeprovider.h:
762         * plugins/elements/gstfakesink.h:
763         * plugins/elements/gstfakesrc.h:
764         * plugins/elements/gstfdsink.h:
765         * plugins/elements/gstfdsrc.h:
766         * plugins/elements/gstfilesink.h:
767         * plugins/elements/gstfilesrc.h:
768         * plugins/elements/gstidentity.h:
769         * plugins/elements/gstqueue.h:
770         * plugins/elements/gsttee.h:
771         * plugins/indexers/gstfileindex.c:
772         * plugins/indexers/gstmemindex.c:
773         * tests/old/examples/plugins/example.h:
774         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
776 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
778         * libs/gst/dataprotocol/dataprotocol.c:
779         (gst_dp_header_from_buffer):
780           make sure we zero the whole ABI-compatible area
782 2006-06-01  Wim Taymans  <wim@fluendo.com>
784         Patch by: Alessandro Decina <alessandro at nnva dot org>
786         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
787         Make sure the EOS flag is cleared from pads after a flush
788         or stop. Fixes #343538.
790         * tests/check/libs/collectpads.c: (GST_START_TEST),
791         (gst_collect_pads_suite):
792         Added test for collectpads reusage after EOS.
794 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
796         * gst/gst.c:
797          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
798         * win32/common/libgstbase.def:
799          export gst_collect_pads_set_flushing
800         * win32/common/libgstreamer.def:
801          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
802          gst_value_fraction_multiply
803         * win32/vs6/gst_inspect.dsp:
804          add a link to intl.lib
806 2006-05-30  Wim Taymans  <wim@fluendo.com>
808         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
809         (gst_collect_pads_chain):
810         Handle the case where a pad is removed from the collection
811         that could cause the other pads to become collectable.
813 2006-05-30  Wim Taymans  <wim@fluendo.com>
815         * gst/gstelement.c:
816         Clarify the use of _release_request_pad() and
817         _get_request_pad() a bit better.
819         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
820         (gst_adapter_take_buffer):
821         Fix some doc and comment typos.
823 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
825         * docs/gst/gstreamer-sections.txt:
826         * docs/libs/gstreamer-libs-sections.txt:
827           add declared symbols
829 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
831         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
832         Add debug that can be enabled using a #define at the top of the file,
833         for dumping stats about how late/early we were when waking up from
834         waiting on the clock.
836 2006-05-30  Wim Taymans  <wim@fluendo.com>
838         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
839         When rebuilding the pad list, don't leak the previous list.
841 2006-05-30  Wim Taymans  <wim@fluendo.com>
843         Patch by: Lutz Mueller <lutz at topfrose dot de>
845         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
846         (gst_base_src_get_query_types), (gst_base_src_update_length):
847         Publish supported query types.
848         Update last_stop field in get_range mode so the position
849         query works. Fixes #342321.
851 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
853         * docs/gst/gstreamer-sections.txt:
854         * gst/gsttaglist.c: (_gst_tag_initialize):
855         * gst/gsttaglist.h:
856           API: add GST_TAG_PREVIEW_IMAGE (#343341).
858 2006-05-30  Wim Taymans  <wim@fluendo.com>
860         Patch by: Alessandro Decina <alessandro at nnva dot org>
862         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
863         Unlock mutex when removing an unknown pad.
864         Fixes #343334.
866         * tests/check/Makefile.am:
867         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
868         (push_event), (setup), (teardown), (GST_START_TEST),
869         (gst_collect_pads_suite), (main):
870         Added collecpads check, disabled for now as check crashes for
871         some reason.
873 2006-05-29  Wim Taymans  <wim@fluendo.com>
875         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
876         Don't leak pads lists.
878 2006-05-29  Wim Taymans  <wim@fluendo.com>
880         * docs/libs/gstreamer-libs-sections.txt:
881         * libs/gst/base/gstcollectpads.c:
882         (gst_collect_pads_set_flushing_unlocked),
883         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
884         (gst_collect_pads_stop):
885         * libs/gst/base/gstcollectpads.h:
886         API: gst_collect_pads_set_flushing()
887         Added api to set the pads to flushing, useful for seeking
888         code in elements using collectpads.
889         Clear segment when receiving a flush.
891 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
893         * gst/gst.c: (add_path_func), (init_post):
894           Don't scan registry paths passed via --gst-plugin-path immediately
895           (will crash, because absolutely nothing is set up and no types are
896           registered etc.); do this later in init_post(). Fixes #343057.
898 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
900         * gst/gst.c: (init_post):
901           if we have fork, fork while reading/rebuilding the registry
902           so the parent doesn't take the hit of having all plugins loaded
903           in memory.  Fixes #342777.
904         * configure.ac:
905           Check if we have fork()
906         * win32/common/config.h.in:
907           no fork() on win32
909 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
911         * plugins/elements/gstelements.c:
912         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
913         (gst_file_src_init), (gst_file_src_set_property),
914         (gst_file_src_get_property), (gst_file_src_start):
915         * plugins/elements/gstfilesrc.h:
916           API: GstFileSrc::use-mmap
918         Add a use-mmap property to enable easier testing of all code paths.
919         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
920         in the absence of gnomevfssrc. (Closes #340501)
922 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
924         * tools/gst-inspect.c:
925         Add missing include, removes warning of ngettext not being defined on
926         some arches.
928 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
930         * gst/gstvalue.c: (gst_value_deserialize_fraction):
931         Handle NULL input and output pointers silently as a failed conversion,
932         rather than g_warnings.
934 2006-05-25  Wim Taymans  <wim@fluendo.com>
936         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
937         Initialize variable before using. Fixes #342820.
939 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
941         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
942           Fix off-by-one bug that would only allow peeks of N-1 bytes
943           from the start even if the buffer to typefind on contains
944           in fact N bytes of data (makes vorbis typefinding from a
945           vorbis identification header buffer work).
947         * tests/check/Makefile.am:
948         * tests/check/libs/.cvsignore:
949         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
950         (gst_typefindhelper_suite), (main), (foobar_typefind),
951         (plugin_init):
952           Add very basic unit test for gst_type_find_helper_for_buffer()
953           that checks for the problem fixed above.
955 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
957         * tools/gst-inspect.c: (print_interfaces),
958         (print_element_properties_info), (print_element_list), (main):
959           add more translatable strings
961 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
963         Patch by: Julien Moutte  <julien at moutte net>
965         * docs/gst/gstreamer-sections.txt:
966           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
967           
968         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
969         (gst_fake_sink_preroll):
970         * plugins/elements/gstfakesink.h:
971           API: Add new GstFakeSink::preroll-handoff signal (#337100).
973 2006-05-23  Wim Taymans  <wim@fluendo.com>
975         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
976         * gst/gstpad.h:
977         Added _CUSTOM error and success GstFlowReturn that can be
978         used be elements internally. 
979         Added macro to check for SUCCESS flowreturns.
980         API: GST_FLOW_CUSTOM_SUCCESS
981         API: GST_FLOW_CUSTOM_ERROR
982         API: GST_FLOW_IS_SUCCESS
984         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
985         Added check for GstFlowReturn sanity.
987 2006-05-23  Wim Taymans  <wim@fluendo.com>
989         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
992         (gst_collect_pads_event):
993         clear/reset segment info in FLUSH_STOP.
994         Fixes #336929.
996 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
998         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
999         (gst_collect_pads_check_collected):
1000         Flush queued buffer on _stop(), fixes playing again (#342454)
1002 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1004         * tests/check/gst/gststructure.c: (GST_START_TEST),
1005         (gst_structure_suite):
1006           add a test for a complete structure
1008 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1010         * docs/faq/developing.xml:
1011         * docs/faq/faq.xml:
1012         * docs/faq/troubleshooting.xml:
1013         * docs/faq/using.xml:
1014           Some minor FAQ updates that won't change the fact that
1015           our FAQ is badly structured, full of information hardly
1016           anyone new to GStreamer needs to know and lacking lots
1017           of information people constantly ask for.
1018           
1019 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1021         * gst/gstpad.c: (gst_pad_set_caps):
1022           Short-circuit gst_pad_set_caps if setting the existing
1023           caps pointer again, and avoid printing debug and 
1024           reffing/unreffing the caps.
1026         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1027           There's actually no need to set the caps before pushing -
1028           the acceptcaps method will handle it anyway.
1030 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1032         * docs/gst/gstreamer-sections.txt:
1033         * win32/common/libgstreamer.def:
1034         * gst/gstutils.c: (gst_element_seek_simple):
1035         * gst/gstutils.h:
1036           API: add gst_element_seek_simple() (#342238).
1038 2006-05-18  Edward Hervey  <edward@fluendo.com>
1040         * gst/gsttypefind.c: (gst_type_find_get_type):
1041         * gst/gsttypefind.h:
1042         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1043         registered for GstTypeFind pointers. This allows wrapping the structure
1044         in bindings (i.e. gst-python).
1046 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1048         * gst/gsttagsetter.c:
1049           Docs additions and fixes (see #339918).
1051 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1053         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1054         The caps intersection algorithm can produce multiple copies of the
1055         caps. Until that is fixed, we need to simplify the result to be
1056         sure whether the allowed caps are fixed or not.
1058         * plugins/elements/gstqueue.c: (gst_queue_init),
1059         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1060         (gst_queue_push_one):
1061         Proxied buffer alloc should not set the caps on the source pad.
1062         When pushing buffers, we always accept the caps change that triggers.
1063         This prevents negotiation errors caused by caps changing mid-stream 
1064         and then being refused on our source pad (because upstream is now
1065         refusing those caps).
1067 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1069         * tests/examples/helloworld/helloworld.c: (main):
1070           Must plug audioconvert and audioresample between decoder
1071           and audio sink.
1073 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1075         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1076         (load_feature), (load_plugin):
1077         Allow empty strings for some of the plugin fields so we don't 
1078         drop valid plugin entries that were written out correctly
1079         (Fixes #341479)
1081 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1082         
1083         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1084           Use g_remove and g_rename instead of remove and rename that don't 
1085           handle utf8 characters. rename was failing for users who had specific
1086           characters in their name then the registry was built at each 
1087           gstreamer init.
1088         * win32/vs6/gst_inspect.dsp:
1089         * win32/vs6/gst_launch.dsp:
1090         * win32/vs6/libgstbase.dsp:
1091         * win32/vs6/libgstcoreelements.dsp:
1092         * win32/vs6/libgstreamer.dsp:
1093           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1094           build of libgstreamer and clean unused libraries in projects link 
1095           settings.
1097 2006-05-17  Edward Hervey  <edward@fluendo.com>
1099         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1100         The queue is not responsible for pushing an EOS when receiving a fatal
1101         flow error. It's up to the real element driving the pipeline to do that.
1103 2006-05-16  Edward Hervey  <edward@fluendo.com>
1105         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1106         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1107         buffer returned a fatal error. It should just send an EOS and stop
1108         its task.
1109         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1110         when pushing buffers on the queue and will be able to handle the event.
1112 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1114         * docs/manual/basics-bins.xml:
1115         * docs/manual/basics-init.xml:
1116           Fix typos and minor errors in sample code (#341856).
1118 2006-05-16  Wim Taymans  <wim@fluendo.com>
1120         * docs/design/part-qos.txt:
1121         Fix indexes in formulas to make more sense.
1123 2006-05-15  Wim Taymans  <wim@fluendo.com>
1125         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1126         Don't report POSITION based on clock time if sync is
1127         disabled in a sink.
1129 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1131         * gst/gstobject.h:
1132           Add cast to make compiler happy - refcount variable was a gint
1133           in GstObject but is a guint in GObject and g_atomic_int_get()
1134           wants a gint *.
1136 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1138         * gst/parse/Makefile.am:
1139           chain commands using &&, which also makes parallel make work
1141 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1143         * docs/gst/gstreamer-sections.txt:
1144         * gst/gstevent.c:
1145         * gst/gstevent.h:
1146         * gst/gstmessage.h:
1147           Minor docs fixes.
1149 === release 0.10.6 ===
1151 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1153         * configure.ac:
1154           releasing 0.10.6, "Take the cannoli"
1156 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1158         * tools/gst-launch.c: (print_tag):
1159           Fix use of uninitialized variable in the hypothetical
1160           case that some broken plugin creates a GST_TAG_IMAGE
1161           tag containing a NULL buffer (#341667).
1163 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1165         * tools/gst-launch.c: (print_tag):
1166           Print something more intelligible for image tags when
1167           using the -t switch (#341556).
1169 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1171         * Makefile.am:
1172           updates for win32
1173         * configure.ac:
1174           define GST_MAJORMINOR so we have it available in win32/common/config.h
1175           Possibly remove it from our Makefile.am files later
1176         * win32/common/config.h:
1177         * win32/common/config.h.in:
1178           added GST_MAJORMINOR
1179         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1180         * win32/common/gstversion.h:
1181           updated
1183 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1185         * win32/MANIFEST:
1186           Update win32 files listing.
1187         * win32/common/gstversion.h:
1188           Add GST_MAJORMINOR definition.
1189         * win32/common/libgstreamer.def:
1190           Add new exported functions.
1191           
1192 2006-05-12  Michael Smith  <msmith@fluendo.com>
1194         * gst/gstplugin.c: (gst_plugin_load_file):
1195           If an so file has no plugin entry point, unload the module.
1197 2006-05-11  Wim Taymans  <wim@fluendo.com>
1199         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1200         (gst_queue_set_property):
1201         Don't forget to signal the _chain or _loop function 
1202         when the queue size or thresholds change since that might
1203         cause them to make progres again.
1205 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1207         * gst/gstclock.c: (gst_clock_class_init):
1208         * gst/gstindex.c: (gst_index_class_init):
1209         * gst/gstobject.c: (gst_object_class_init):
1210         * gst/gstpad.c: (gst_pad_class_init):
1211         * gst/gstpipeline.c: (gst_pipeline_class_init):
1212         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1213         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1214         * libs/gst/base/gstbasetransform.c:
1215         (gst_base_transform_class_init):
1216         * libs/gst/net/gstnetclientclock.c:
1217         (gst_net_client_clock_class_init):
1218         * libs/gst/net/gstnettimeprovider.c:
1219         (gst_net_time_provider_class_init):
1220         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1221         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1222         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1223         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1224         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1225         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1226         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1227         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1228         * plugins/elements/gsttee.c: (gst_tee_class_init):
1229         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1230         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1231           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1233 2006-05-11  Wim Taymans  <wim@fluendo.com>
1235         * gst/gstbuffer.c: (_gst_buffer_initialize):
1236         Register subbufer along with the buffer type so that
1237         it does not accidentally gets registered from N
1238         different streaming threads in a non threadsafe way.
1240 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1242         * gst/gstbuffer.h:
1243         * gst/gstevent.h:
1244         * gst/gstmessage.h:
1245           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1246           gst_event_ref() and gst_message_ref() functions again
1247           (ugly hack, please do fix if there's a better way besides
1248           overrides.txt, which doesn't seem to work).
1250 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1252         * libs/gst/check/gstcheck.h:
1253           add an assert for setting state to avoid lots of repetitive code
1254           in the future
1256 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1258         * gst/gstvalue.c: (gst_value_serialize_flags):
1259           fix a leak if no flags are set
1260         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1261           fix leak in tests
1263 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1265         * docs/manual/basics-pads.xml:
1266           Expand a bit on caps and filtered links and update
1267           examples that were still using the no longer existing
1268           gst_pad_link_filtered() (#338206).
1270 2006-05-10  Wim Taymans  <wim@fluendo.com>
1272         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1273         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1274         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1275         (gst_collect_pads_stop):
1276         * libs/gst/base/gstcollectpads.h:
1277         No need to call _stop in _finalize.
1278         Iterate the main pad list in _finalize.
1279         Added some more debug.
1280         Free lists and data in the right order.
1281         Also free data whem doing _remove_pad when stopped for
1282         backward compatibility protect ::started with PAD_LOCK as
1283         well.
1285 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1287         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1288         (gst_structure_parse_value):
1289           add some comments
1290           rename a method so that it actually says what it does better
1292 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1294         * gst/gstevent.c: (_gst_event_initialize):
1295         * gst/gstformat.c: (_gst_format_initialize):
1296           make sure some essential types used by events are registered
1297           as part of gst_init()
1298         * gst/gstvalue.c: (gst_value_serialize_flags):
1299           if no flags are set, serialize them to a value that represents NONE
1300           so that deserializing them works
1301         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1302           add tests for serialization and deserialization of flags
1304 2006-05-10  Wim Taymans  <wim@fluendo.com>
1306         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1307         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1308         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1309         (gst_collect_pads_event), (gst_collect_pads_chain):
1310         Update docs.
1311         Better debug info.
1312         Catch and return errors from the collect function
1313         Refuse data on eos pads.
1315 2006-05-10  Edward Hervey  <edward@fluendo.com>
1317         * gst/gstinterface.h:
1318         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1319         GInterface type checking.
1320         They were previously using non-defined macros.
1322 2006-05-09  Wim Taymans  <wim@fluendo.com>
1324         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1325         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1326         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1327         (gst_collect_pads_start), (gst_collect_pads_stop),
1328         (gst_collect_pads_peek), (gst_collect_pads_pop),
1329         (gst_collect_pads_available), (gst_collect_pads_read),
1330         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1331         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1332         (gst_collect_pads_chain):
1333         * libs/gst/base/gstcollectpads.h:
1334         Clean up the mess that is collectpads, add comments and
1335         FIXMEs where needed.
1336         Maintain a separate pad list so we can add pads while
1337         collecting the other ones. For this we need a new separate 
1338         lock (see comics).
1339         Fix memory leak in finalize.
1340         Refactor some weird code to set/unset pad flushing flags, mark
1341         with comments.
1342         Don't crash in _available, _read, _flush when we're EOS.
1344         * tests/check/libs/.cvsignore:
1345         Ignore adapter check binary.
1347 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1349         * gst/gstindex.c: (gst_index_resolver_get_type):
1350         * plugins/elements/gstfakesink.c:
1351         (gst_fake_sink_state_error_get_type):
1352         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1353         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1354         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1355           Const-ify GEnumValue arrays.
1357 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1359         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1360           Add test case for flags + gst_buffer_make_metadata_writable().
1362 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1364         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1365           gst_buffer_make_metadata_writable() should maintain the
1366           buffer flags (those that make sense at least) (see #340859).
1368 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1370         * tools/gst-inspect.c:
1371         * tools/gst-launch.c:
1372         * tools/gst-typefind.c:
1373         * tools/gst-xmlinspect.c:
1374         * tools/tools.h:
1375           Fix up includes: need to include stdlib.h in tools.h for exit().
1377 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1379         * gst/gsttaglist.c: (_gst_tag_initialize):
1380         * gst/gsttaglist.h:
1381           API: add GST_TAG_IMAGE tag (#340721).
1383 2006-05-08  Wim Taymans  <wim@fluendo.com>
1385         * gst/gstquery.c:
1386         Added some docs for the segment query.
1388 2006-05-08  Wim Taymans  <wim@fluendo.com>
1390         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1391         (gst_base_src_loop), (gst_base_src_change_state):
1392         Always push non-flushing serialized events in the streaming 
1393         thread.
1395 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1397         * gst/gsterror.c: (_gst_stream_errors_init):
1398           Add a missing error string.
1400 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1402         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1403         Add applied_rate to the debug
1405         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1406         Copy applied_rate into the outgoing NEWSEGMENT event
1408 2006-05-08  Wim Taymans  <wim@fluendo.com>
1410         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1412         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1413         (gst_base_sink_change_state):
1414         call ::unlock before taking the PREROLL_LOCK so we can safely
1415         handle elements that lock in ::render.
1416         Fixes #340174.
1418 2006-05-08  Edward Hervey  <edward@fluendo.com>
1420         * autogen.sh: (CONFIGURE_DEF_OPT): 
1421         Darwin's libtoolize is in fact called glibtoolize.
1422         Adding glibtoolize to the list of accepted names for libtoolize.
1424 2006-05-08  Wim Taymans  <wim@fluendo.com>
1426         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1427         Unify error handling, don't post an error message
1428         when a push() returns EOS but perform our normal EOS
1429         handling code. Fixes #340772.
1431 2006-05-08  Wim Taymans  <wim@fluendo.com>
1433         * docs/design/part-overview.txt:
1434         Make upsteam/downstream concepts more clear.
1435         Give an example of serialized/non-serialized events.
1437         * docs/design/part-events.txt:
1438         * docs/design/part-streams.txt:
1439         Mention applied_rate.
1441         * docs/design/part-trickmodes.txt:
1442         Mention applied rate, flesh out some more use cases.
1444         * gst/gstevent.c: (gst_event_new_new_segment),
1445         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1446         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1447         (gst_event_parse_tag), (gst_event_new_buffer_size),
1448         (gst_event_parse_buffer_size), (gst_event_new_qos),
1449         (gst_event_parse_qos), (gst_event_parse_seek),
1450         (gst_event_new_navigation):
1451         * gst/gstevent.h:
1452         Add applied_rate field to NEWSEGMENT event.
1453         API: gst_event_new_new_segment_full()
1454         API: gst_event_parse_new_segment_full()
1456         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1457         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1458         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1459         * gst/gstsegment.h:
1460         Add applied_rate to GstSegment structure.
1461         Make calculation of stream_time and running_time more correct
1462         wrt rate/applied_rate.
1463         Add some more docs.
1464         API: GstSegment::applied_rate field
1465         API: gst_segment_set_newsegment_full();
1467         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1468         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1469         * libs/gst/base/gstbasetransform.c:
1470         (gst_base_transform_sink_eventfunc),
1471         (gst_base_transform_handle_buffer):
1472         Parse and use applied_rate in the GstSegment field.
1474         * tests/check/gst/gstevent.c: (GST_START_TEST):
1475         Add check for applied_rate field.
1477         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1478         (gstsegments_suite):
1479         Add more checks for various GstSegment operations.
1481 2006-05-08  Wim Taymans  <wim@fluendo.com>
1483         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1484         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1485         (gst_base_sink_get_position), (gst_base_sink_change_state):
1486         Store the sync time of the buffer end position separatly in a
1487         new variable eos_rtime so we can properly sync the EOS event.
1488         Fixes #340697.
1489         Fix the docs for gst_base_sink_set_qos_enabled().
1490         Don't set segment start to invalid value when we receive a 
1491         non TIME newsegment.
1492         get closer to handling position reporting for negative rates 
1493         correctly.
1495 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1497         * gst/gstcaps.c:
1498         Docs about how to print caps for debug purposes.
1500         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1501         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1503 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1505         * gst/gstelement.c:
1506           use full enum names and preprend a '%' in docs strings to make recent 
1507           gtk-doc turn that into a link
1509 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1511         * docs/manual/basics-bins.xml:
1512         * docs/manual/basics-bus.xml:
1513         * docs/manual/basics-pads.xml:
1514           Some typo fixes, some additions, some clarifications. 
1516 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1518         * tools/gst-inspect.c: (main):
1519         * tools/gst-launch.c: (main):
1520         * tools/gst-run.c: (main):
1521         * tools/gst-typefind.c: (main):
1522         * tools/gst-xmlinspect.c: (main):
1523           Use the string passed to g_option_context_new() for
1524           what it's intended for - the program name is already
1525           printed elsewhere.
1527 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1529         * tools/Makefile.am:
1530         * tools/gst-inspect.c: (main):
1531         * tools/gst-launch.c: (main):
1532         * tools/gst-xmlinspect.c: (main):
1533         * tools/tools.h:
1534           Add back --version command line option (#340460).
1536         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1537           Add --version option and use GOption for argument parsing; refactor a
1538           bit; accept directories as arguments and recurse into them; lastly,
1539           print a decent error message when things go wrong.
1541 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1543         * docs/manual/basics-bins.xml:
1544         Don't mention GstThread (#340611)
1545         * docs/manual/basics-elements.xml:
1546         Update link to GObject tutorial (#340607)
1547         
1548 2006-05-05  Wim Taymans  <wim@fluendo.com>
1550         * gst/gstbuffer.h:
1551         * gst/gstminiobject.c:
1552         Add note about refcounting and miniobject/buffer writeability
1553         to docs. Fixes #340604
1555         * gst/gstelementfactory.h:
1556         Added some explanation about @klass.
1558 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1560         * docs/manual/intro-motivation.xml:
1561         * docs/manual/manual.xml:
1562         Avoid CORBA & Bonobo references (#340598)
1564 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1566         * docs/manual/basics-bus.xml:
1567         * docs/manual/basics-pads.xml:
1568         Fix up some inaccuracies and omissions (#340609)
1569         
1570 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1572         * gst/gstghostpad.c:
1573           Small typo in docs (#340625)
1575 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1577         * gst/parse/Makefile.am:
1578           Make 'make -j' proof (see #340698).
1580 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1582         * configure.ac:
1583           Require GLib-2.8 here as well.
1585 2006-05-05  Wim Taymans  <wim@fluendo.com>
1587         * gst/glib-compat.c:
1588         * gst/gst.c: (init_pre):
1589         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1590         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1591         (gst_object_dispatch_properties_changed):
1592         * gst/gstobject.h:
1593         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1594         * gst/gststructure.c: (gst_structure_set_valist):
1595         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1596         Remove pre glib2.8 compatibility, fixes #340508
1598 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1600         * gst/gsttaglist.h:
1601           Mention type of tags in doc blurbs.
1603 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1605         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1606         (gst_pad_configure_src), (gst_pad_push):
1607         Restore acceptcaps checking behaviour now that good plugins have
1608         been released.
1610 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1612         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1614         * gst/gst.c:
1615         * gst/gstbus.c:
1616         * gst/gstclock.c:
1617         * gst/gstevent.c:
1618         * gst/gstformat.c:
1619         * gst/gstmessage.c:
1620         * gst/gstparse.c:
1621         * gst/gstquery.c:
1622         * gst/gstutils.c:
1623         * gst/parse/Makefile.am:
1624         * libs/gst/base/gstadapter.c:
1625         * libs/gst/base/gstbasesrc.c:
1626         * libs/gst/base/gstpushsrc.c:
1627         * libs/gst/base/gsttypefindhelper.c:
1628         * plugins/elements/gstfakesrc.c:
1629         * plugins/elements/gstidentity.c:
1630           Make sure gstprivate.h and/or config.h are
1631           always included first, otherwise some of our
1632           defines (like _FILE_OFFSET_BITS) might be
1633           redefined in the system headers. Fixes build
1634           on opensolaris (#340016).
1636 2006-05-04  Wim Taymans  <wim@fluendo.com>
1638         * docs/libs/gstreamer-libs-sections.txt:
1639         API: addition: gst_adapter_take_buffer()
1640         
1641         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1642         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1643         (gst_adapter_available_fast):
1644         * libs/gst/base/gstadapter.h:
1645         Prepare for optimizing the hell out of this hugely inefficient
1646         piece of code. 
1647         Added gst_adapter_take_buffer() so we can at least start thinking
1648         about subbuffering and merging.
1649         Added some comments.
1651         * tests/check/Makefile.am:
1652         * tests/check/libs/adapter.c: (GST_START_TEST),
1653         (gst_adapter_suite), (main):
1654         Added GstAdapter check.
1656 2006-05-04  Wim Taymans  <wim@fluendo.com>
1658         * docs/design/part-overview.txt:
1659         Fix some typos, add blurb about buffer flags.
1661 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1663         * docs/libs/gstreamer-libs-sections.txt:
1664           make sure GstBaseTransformClass shows up in the docs
1665         * libs/gst/base/gstbasetransform.c:
1666         * libs/gst/base/gstbasetransform.h:
1667           move docs so gtk-doc picks it up now
1669 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1671         * docs/libs/gstreamer-libs-sections.txt:
1672           add missing symbols to docs
1674 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1676         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1677           back out the newsegment handling change, see #340060 for ongoing
1678           discussion
1680 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1682         * tools/gst-run.c: (get_candidates), (main):
1683           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1684           work); fix typo in error message. Fixes #340079.
1686 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1688         * common/Makefile.am:
1689         * docs/Makefile.am:
1690         * docs/faq/Makefile.am:
1691         * docs/gst/Makefile.am:
1692         * docs/libs/Makefile.am:
1693         * docs/manual/Makefile.am:
1694         * docs/plugins/Makefile.am:
1695         * docs/pwg/Makefile.am:
1696         * docs/slides/Makefile.am:
1697         * docs/upload.mak:
1698         * common/upload.mak:
1699           move upload.mak to common
1701 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1703         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1704           add more asserts on refcounts
1705           do more cleanup at end of tests
1706           fix test leaks showing in FC5
1708 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1710         * plugins/elements/gsttypefindelement.c:
1711         (gst_type_find_element_handle_event):
1712         reverted wrong change and reflowed code to avoid others falling into
1713         this trap
1715 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1717         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1718           fix changelog entry about last collectpads change,
1719           add notes about proper fix
1721 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1723         * gst/gst.c:
1724         * gst/gstregistry.c: (gst_registry_scan_path_level),
1725         (gst_registry_scan_path):
1726         * gst/gstregistry.h:
1727           only write out registry if it has changed, fixes #338339
1729 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1731         * gst/gstbin.c:
1732         * gst/gstpipeline.c:
1733         * plugins/elements/gstcapsfilter.c:
1734         * plugins/elements/gstfakesink.c:
1735         * plugins/elements/gstfakesrc.c:
1736         * plugins/elements/gstfdsink.c:
1737         * plugins/elements/gstfdsrc.c:
1738         * plugins/elements/gstfilesink.c:
1739         * plugins/elements/gstfilesrc.c:
1740         * plugins/elements/gstidentity.c:
1741         * plugins/elements/gstqueue.c:
1742         * plugins/elements/gsttee.c:
1743         * plugins/elements/gsttypefindelement.c:
1744         (gst_type_find_element_handle_event):
1745           make GstElementDetails const
1747 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1749         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1751         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1752           more detailed debug and formatting cleanup,
1753           forward newsegments to src-pad (so that e.g. adder not eats them)
1755 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1757         * gst/gstutils.c: (gst_element_link_pads):
1758           cleanup double code
1760 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1762         * libs/gst/controller/gstcontroller.c:
1763         (gst_controller_sync_values):
1764           some little tuning
1765         * tests/check/libs/controller.c: (GST_START_TEST),
1766         (gst_controller_suite):
1767           a new test for live value handling
1769 2006-04-28  Wim Taymans  <wim@fluendo.com>
1771         * gst/gstutils.c: (push_and_ref):
1772         Added some more docs.
1773         Fix refcount issue whith gst_element_found_tags() helper 
1774         function. Fixes #338335
1776         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1777         Added testsuite for gst_element_found_tags().
1779 2006-04-28  Michael Smith  <msmith@fluendo.com>
1781         * gst/gstvalue.c: (gst_value_serialize_flags):
1782           Avoid NULL dereference when trying to serialize flags containing
1783           invalid values.
1785 2006-04-28  Michael Smith  <msmith@fluendo.com>
1787         * plugins/elements/gsttypefindelement.c:
1788         (gst_type_find_element_handle_event):
1789           If we get EOS before any data is accumulated, don't use
1790           uninitialised local variables.
1792 2006-04-28  Michael Smith  <msmith@fluendo.com>
1794         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1795         (gst_dp_event_from_packet):
1796           Fixes in reading/writing events over GDP (not currently used?) - 
1797           dereferencing NULL events for unknown/invalid event types, memory
1798           leak, and change g_warning to GST_WARNING.
1800 2006-04-28  Wim Taymans  <wim@fluendo.com>
1802         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1803         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1804         (gst_base_sink_get_position), (gst_base_sink_change_state):
1805         When frame dropping is enabled, we should not ignore frames
1806         without a duration.
1807         Update some documentation.
1809 2006-04-28  Wim Taymans  <wim@fluendo.com>
1811         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1812         (gst_base_src_send_event), (gst_base_src_change_state):
1813         Documentation updates.
1815 2006-04-28  Wim Taymans  <wim@fluendo.com>
1817         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1818         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1819         handle EAGAIN, EINTR and short writes correctly. Also clean
1820         up some error cases, avoid a deadlock on bad file descriptors and
1821         use GST_DEBUG_OBJECT.
1822         Fixes #339843
1824 2006-04-28  Wim Taymans  <wim@fluendo.com>
1826         * gst/gstvalue.c: (gst_value_serialize_buffer),
1827         (gst_value_deserialize_buffer):
1828         Don't try to serialize a GValue with a NULL buffer. 
1829         Fixes #339821.
1831         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1832         Added check for serialisation of NULL buffers.
1834 2006-04-28  Wim Taymans  <wim@fluendo.com>
1836         * gst/gstminiobject.c: (gst_value_take_mini_object):
1837         Taking a NULL miniobject is valid, fix the case where
1838         we try to unref the NULL miniobject.
1840 2006-04-28  Wim Taymans  <wim@fluendo.com>
1842         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1844         * gst/gstbin.c: (gst_bin_handle_message_func):
1845         Update docs.
1846         Don't leak bin refcount when a state recalc is
1847         in progress and we delay another one #339808.
1849 2006-04-28  Wim Taymans  <wim@fluendo.com>
1851         * docs/design/part-TODO.txt:
1852         Mention QoS as an ongoing work item.
1854         * docs/design/part-buffering.txt:
1855         New doc about buffering that needs to be fleshed out
1856         at some point.
1858         * docs/design/part-qos.txt:
1859         More QoS policy for decoders/demuxers/transforms
1861         * docs/design/part-trickmodes.txt:
1862         Small update.
1864 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1866         * configure.ac:
1867           back to HEAD
1869 === release 0.10.5 ===
1871 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1873         * configure.ac:
1874           releasing 0.10.5, "Fogo"
1876 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1878         patch by: Wim Taymans
1880         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1881         (gst_pad_configure_src), (gst_pad_push):
1882         * gst/gstpipeline.c: (gst_pipeline_init):
1883           Fix internal data flow errors.  Fixes #338711.
1885 2006-04-12  Wim Taymans  <wim@fluendo.com>
1887         * tests/check/gst/gstelement.c: (GST_START_TEST):
1888         Don't leak the factory.
1890 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1892         * configure.ac:
1893         * win32/common/config.h:
1894           prerelease
1896 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1898         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1899         (gst_controller_unset_all):
1900           Free allocated GstTimedValues when freeing list nodes.
1901           Should fix leaks 'make check-valgrind' complains about.
1903         * win32/common/libgstcontroller.def:
1904           Add gst_controller_unset_all.
1906 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1908         * docs/libs/gstreamer-libs-sections.txt:
1909         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1910         (gst_controller_unset_all):
1911         * libs/gst/controller/gstcontroller.h:
1912         API: Added new method gst_controller_unset_all()
1913         fixed gst_controller_unset()
1914         * tests/check/libs/controller.c: (GST_START_TEST),
1915         (gst_controller_suite):
1916         Added two testcases for new and fixed method
1918 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1920         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1921           MSG_DONTWAIT is not defined on Cygwin, so work
1922           around that (fixes #317048).
1923           
1924 2006-04-11  Wim Taymans  <wim@fluendo.com>
1926         * gst/gstelementfactory.c: (gst_element_register),
1927         (gst_element_factory_create), (gst_element_factory_make):
1928         Some cleanups.
1929         Fixed a FIXME.
1930         Updated docs (Fixes #131079)
1932         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1933         Small cleanups.
1935         * tests/check/gst/gstelement.c: (GST_START_TEST),
1936         (gst_element_suite):
1937         Added testcase for elementfactory class field.
1939 2006-04-10  Wim Taymans  <wim@fluendo.com>
1941         * gst/gstsegment.c:
1942         Added some more docs.
1944         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1945         (gst_base_sink_reset_qos):
1946         Calculate more accurate rate values.
1948 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1950         * gst/gst_private.h:
1951           add a new #ifdef to use __declspec(dllimport) only for
1952           other modules and not for gstreamer core
1953         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1954           use gst_guint64_to_gdouble for conversion
1955         * win32/common/libgstreamer.def:
1956           add new exported functions
1957         * win32/vs6/gst_inspect.dsp:
1958         * win32/vs6/gst_launch.dsp:
1959         * win32/vs6/libgstbase.dsp:
1960         * win32/vs6/libgstcontroller.dsp:
1961         * win32/vs6/libgstcoreelements.dsp:
1962         * win32/vs6/libgstdataprotocol.dsp:
1963         * win32/vs6/libgstnet.dsp:
1964           update project files
1966 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1968         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1969         * gst/gstclock.c: (gst_clock_class_init):
1970         * gst/gstelement.c: (gst_element_class_init):
1971         * gst/gstindex.c: (gst_index_class_init):
1972         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1973         * gst/gstobject.c: (gst_object_class_init),
1974         (gst_signal_object_class_init):
1975         * gst/gstpad.c: (gst_pad_class_init):
1976         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1977         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1978         * gst/gstregistry.c: (gst_registry_class_init):
1979         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1980         * gst/gsttask.c: (gst_task_class_init):
1981         * gst/gstxml.c: (gst_xml_class_init):
1982         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1983         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1984         (gst_base_src_loop):
1985         * libs/gst/controller/gstcontroller.c:/
1986         (_gst_controller_class_init):
1987         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1988         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1989         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1990         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1991         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1992         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1994 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1996         * gst/gstpad.c: (gst_pad_link):
1997           Must set peer pads before calling the link function, otherwise
1998           a task started from a link function might get a flow-not-linked
1999           result when trying to push because the other thread where the
2000           linking happens hasn't had a chance to set the peers yet. This
2001           might happen for example when a queue gets linked to a downstream
2002           element, as queue starts a streaming task when its source pad
2003           gets linked. Happens in real life when playing back flac/musepack
2004           files in playbin (#332390).
2005           
2006 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2008         * gst/gstindex.h:
2009         * gst/gstxml.h:
2010         * libs/gst/base/gstadapter.h:
2011         * libs/gst/base/gstbasesink.h:
2012         * libs/gst/base/gstbasesrc.h:
2013         * libs/gst/base/gstbasetransform.h:
2014         * libs/gst/base/gstcollectpads.h:
2015         * libs/gst/base/gstpushsrc.h:
2016         Fix broken GObject macros
2018 2006-04-07  Wim Taymans  <wim@fluendo.com>
2020         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2021         Initialize start and stop times, thanks valgrind.
2023 2006-04-07  Wim Taymans  <wim@fluendo.com>
2025         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2026         Be a bit nicer to badly behaving upstream elements that expect
2027         us to deal with non TIME segments and timestamps (such as fakesrc
2028         in the testsuite).
2030 2006-04-07  Wim Taymans  <wim@fluendo.com>
2032         * gst/gstbus.c:
2033         Small documentation clarification about the signal watch.
2035         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2036         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2037         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2038         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2039         (gst_base_sink_get_position_last),
2040         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2041         Convert and store timestamps in stream time and running time, the
2042         raw timestamps are not usefull, also document this better.
2043         Use different window sizes for good and bad QoS observations so
2044         we react to badness a little quicker.
2045         Keep track of the amount of rendered and dropped buffers.
2046         Send QoS timestamps in running time.
2048         * libs/gst/base/gstbasetransform.c:
2049         (gst_base_transform_sink_eventfunc),
2050         (gst_base_transform_handle_buffer):
2051         Compare QoS timestamps against running time.
2053 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2055         * gst/gstpad.c:
2056           Typo fixes in docs.
2058 2006-04-06  Michael Smith  <msmith@fluendo.com>
2060         * gst/gstpad.c: (gst_pad_set_property):
2061           Use g_value_get_object() instead of g_value_dup_gst_object(),
2062           to avoid double-reffing the pad template (which we then sink,
2063           so this worked previously if (and only if) the pad template
2064           was floating.
2066         * gst/gstpadtemplate.c: (gst_pad_template_init),
2067         (gst_pad_template_pad_created):
2068           Never return floating references to pad templates, create
2069           them as initially-sunken.
2071           Document an extra function (and make this stop sinking our
2072           pad template, since that is now guaranteed to do nothing,
2073           since we created it sunken).
2075         * gst/gstghostpad.c:
2076           Fix docs typo.
2078 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2080         * gst/gstinfo.c: (__gst_in_valgrind):
2081           Add some newlines.
2083         * plugins/elements/gsttypefindelement.c:
2084         (gst_type_find_element_chain):
2085           Don't leak buffer caps.
2087 2006-04-06  Michael Smith  <msmith@fluendo.com>
2089         * gst/parse/grammar.y:
2090           Fix a leak in parse-launch for any source-or-sink named element 
2091           references used.
2093         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2094           Unref the pipeline if it exists after we've failed parsing.
2096 2006-04-05  Michael Smith  <msmith@fluendo.com>
2098         * gst/gstpipeline.c: (gst_pipeline_init):
2099           When we create a pipeline bus, initially create it in flushing mode.
2100           Fixes leaks in at least one test, and makes a new pipeline work the
2101           same as one that has gone to READY and then back to NULL.
2103         * gst/gstelement.c:
2104           Typo fix in docs.
2106 2006-04-05  Michael Smith  <msmith@fluendo.com>
2108         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2109           Unref a pad we reffed.
2110         * tests/check/gst/gstutils.c: (GST_START_TEST):
2111           Unref bins
2113 2006-04-05  Michael Smith  <msmith@fluendo.com>
2115         * gst/gstquery.c: (gst_query_set_formats),
2116         (gst_query_set_formatsv):
2117           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2119 2006-04-05  Michael Smith  <msmith@fluendo.com>
2121         * tests/check/generic/sinks.c: (GST_START_TEST):
2122           Fix a variety of memleaks in sinks check, which are only sometimes 
2123           shown by running the tests under valgrind (weird?).
2125 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2127         * docs/version.entities.in:
2128           Fix the substituted entity name after thomas' changes on the
2129           weekend.
2131 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2133         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2134         VALGRIND_PRINTF
2135         
2136 2006-04-05  Andy Wingo  <wingo@pobox.com>
2138         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2140         * libs/gst/base/gstbasetransform.c
2141         (gst_base_transform_sink_eventfunc): When resetting our segment on
2142         FLUSH_STOP, also update the flag saying we haven't seen a
2143         newsegment.
2145 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2147         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2149         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2150         (gst_plugin_check_license):
2151           minor clean-ups: G_DEFINE_TYPE already takes care of the
2152           parent_class stuff, no need to do it twice. Mark array of
2153           license strings as constant. (#337103)
2154           
2155 2006-04-04  Michael Smith  <msmith@fluendo.com>
2157         * tools/gst-inspect.c: (print_element_list):
2158           Free the right plugin list; fixes a memory leak.
2160 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2162         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2164         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2165           Don't error out on empty buffers (#336945).
2166           
2167 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2169         * docs/libs/gstreamer-libs-sections.txt:
2170         * gst/gsttaglist.c:
2171         * libs/gst/base/gstbasesink.c:
2172         * libs/gst/base/gstbasesink.h:
2173         * libs/gst/base/gstbasesrc.c:
2174         * libs/gst/base/gstbasesrc.h:
2175           Documentation updates. Make BaseSink and BaseSrc docs contain the
2176           class structure so that people can actually see the prototypes for
2177           virtual functions they're supposed to be overriding.
2179 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2181         * plugins/elements/gsttypefindelement.c:
2182         (gst_type_find_element_chain):
2183           More debug info; when skipping typefinding, send cached
2184           events in all cases.
2186 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2188         * configure.ac:
2189           use new AS_VERSION and AS_NANO macros
2190         * gst/gst-i18n-lib.h:
2191         * gst/gst.c:
2192         * gst/gsterror.c:
2193         * gst/gstversion.h.in:
2194         * win32/common/config.h:
2195         * win32/common/config.h.in:
2196           update accordingly
2198 2006-03-31  Michael Smith  <msmith@fluendo.com>
2200         * plugins/elements/gsttypefindelement.c:
2201         (gst_type_find_element_chain):
2202           Do not typefind content if the buffers already have caps.
2203           Neccesary for icydemux (#333657), and the right thing to do anyway.
2205 2006-03-30  Wim Taymans  <wim@fluendo.com>
2207         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2208         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2209         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2210         (gst_base_sink_record_qos_observation),
2211         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2212         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2213         (gst_base_sink_change_state):
2214         More QoS measurements as described in the design doc.
2215         Get rid of ringbuffer with observations, running average is
2216         more simple and equally good.
2217         Calculates valid proportion now.
2218         Added beginning of flood measurement.
2220 2006-03-29  Wim Taymans  <wim@fluendo.com>
2222         * docs/design/part-qos.txt:
2223         * gst/gstclock.c:
2224         Small documentation updates and additions.
2226 2006-03-29  Wim Taymans  <wim@fluendo.com>
2228         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2229         (gst_base_src_send_event), (gst_base_src_loop),
2230         (gst_base_src_change_state):
2231         Perform the EOS logic when we reach the segment stop position.
2232         Fix compilation on gcc4.1
2234 2006-03-29  Wim Taymans  <wim@fluendo.com>
2236         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2238         * plugins/elements/gstqueue.c: (gst_queue_init),
2239         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2240         (gst_queue_set_property):
2241         * plugins/elements/gstqueue.h:
2242         In queue, when EOS is received, if minimum threshold > max_size -
2243         current_level, there is chance that queue blocks forever in conditional
2244         item del wait. This is because the queue is not emptied completely due
2245         to minimum threshold.  Here is another approach. Instead of setting
2246         cur_levels to max in EOS, just zero all minimum threshold levels. This
2247         should make sure that queue gives out all data. When going to READY
2248         (stop) state, just reset the original minimum threshold levels.
2249         Fixes #336336.
2251 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2253         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2254         (gst_type_find_element_handle_event),
2255         (gst_type_find_element_send_cached_events),
2256         (gst_type_find_element_change_state):
2257         * plugins/elements/gsttypefindelement.h:
2258           When typefinding is done in push mode, we should cache
2259           events we receive during typefinding instead of just
2260           dropping them (e.g. newsegment, custom events from
2261           dvdreadsrc etc.) and then send them out once we've
2262           determined the type of the stream (and decodebin
2263           has had a chance to plug in a decoder/demuxer).
2264           
2265 2006-03-27  Wim Taymans  <wim@fluendo.com>
2267         * docs/design/part-qos.txt:
2268         First QoS ideas.
2270 2006-03-27  Wim Taymans  <wim@fluendo.com>
2272         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2274         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2275         (gst_base_src_send_event), (gst_base_src_change_state):
2276         Handle element seek correctly when we are streaming.
2277         Fixes #326998.
2279 2006-03-24  Michael Smith  <msmith@fluendo.com>
2281         * docs/faq/gst-uninstalled:
2282           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2283           allow you to correctly run intalled applications built against old 
2284           core, using plugins that require updated core (e.g. running
2285           installed totem against a full uninstalled gstreamer stack)
2287 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2289         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2290         more debug details
2292 2006-03-24  Wim Taymans  <wim@fluendo.com>
2294         * docs/gst/gstreamer-sections.txt:
2295         Rearrange the order of the methods so that related methods
2296         are grouped together in sections.
2298 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2300         * gst/gstelement.c:
2301           Little clarification in the docs
2303 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2305         * docs/README:
2306         formatting fix
2307         * plugins/elements/gstidentity.c:
2308         * plugins/elements/gstqueue.c:
2309         * plugins/elements/gsttee.c:
2310         * plugins/elements/gsttypefindelement.c:
2311         GST_ELEMENT_DETAILS formatting
2313 2006-03-24  Wim Taymans  <wim@fluendo.com>
2315         * libs/gst/base/gstbasesink.h:
2316         Only add fields, not insert or we break ABI.
2318 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2320         * win32/common/libgstbase.def:
2321         * win32/common/libgstreamer.def:
2322           Update, add recently added functions.
2324 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2326         * docs/gst/gstreamer-sections.txt:
2327         * gst/gstutils.c: (gst_pad_query_peer_position),
2328         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2329         * gst/gstutils.h:
2330           API: add some new utility functions:
2331            - gst_pad_query_peer_position()
2332            - gst_pad_query_peer_duration()
2333            - gst_pad_query_peer_convert()
2334           
2335 2006-03-23  Wim Taymans  <wim@fluendo.com>
2337         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2338         (gst_base_sink_init), (gst_base_sink_finalize),
2339         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2340         (gst_base_sink_set_property), (gst_base_sink_get_property),
2341         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2342         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2343         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2344         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2345         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2346         (gst_base_sink_preroll_object), (gst_base_sink_event),
2347         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2348         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2349         (gst_base_sink_query), (gst_base_sink_change_state):
2350         Decouple max-lateness and the fact that QoS messages are generated
2351         with a new property (qos).
2352         added API: GstBaseSink::async_play()
2353         Add vmethod so subclasses can be notified of ASYNC playing
2354         state changes.
2355         Collect timestamp start and stop to report better current
2356         position in EOS/PLAYING/PAUSED/READY/NULL.
2357         Refactor QoS/frame dropping and other measurements.
2358         API: GstBaseSrc::qos
2359         Fixes #326311
2361         * libs/gst/base/gstbasesink.h:
2362         Added Private struct.
2363         API: gst_base_sink_set_qos_enabled()
2364         API: gst_base_sink_is_qos_enabled()
2366 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2368         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2369           If compiling against GLib-2.8 or newer, try to read the
2370           registry file using GMappedFile first before falling back
2371           to fopen() + fread() (#332151).
2373 2006-03-22  Wim Taymans  <wim@fluendo.com>
2375         * gst/gstinfo.c: (gst_debug_set_active),
2376         (gst_debug_category_set_threshold):
2377         Disable debugging unless explicitly activated.
2378         Fixes #335480.
2380 2006-03-22  Wim Taymans  <wim@fluendo.com>
2382         * gst/gstelement.c: (gst_element_set_locked_state),
2383         (gst_element_dispose):
2384         Cleanup the error case.
2386         * gst/gstobject.c: (gst_object_dispose):
2387         print a critical when some object was disposed with
2388         a parent, also revive the object since it might
2389         crash the parent.
2391 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2393         * tools/gst-launch.1.in:
2394           Fix another typo.
2396 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2398         * configure.ac:
2399         * tests/check/Makefile.am:
2400           disable some tests when we don't have a registry
2401         * tests/check/gst/gstutils.c: (gst_utils_suite):
2402           don't build the part that needs parsing
2404 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2406         * gst/Makefile.am
2407         * tests/examples/Makefile.am:
2408           fix --disable-parse build
2410 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2412         * tools/gst-feedback.1.in:
2413           Fix typo: s/feeback/feedback/ (#133494).
2415 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2417         * tools/Makefile.am:
2418         * tools/gst-launch.1.in:
2419           Add FILES section and correct entry about GST_REGISTRY_PATH
2420           environment variable (#133495; #133494).
2422 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2424         * tools/Makefile.am:
2425         * tools/gst-md5sum.1.in:
2426         * tools/gst-md5sum.c:
2427           Remove gst-md5sum and man page (the md5sink element
2428           required was removed ages ago)
2430 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2432         * gst/gststructure.c: (gst_structure_id_set_value):
2433           Make sure that string fields in structures/taglists
2434           contain valid UTF-8 - we don't want to pass rubbish to
2435           applications because of a buggy plugin (cp. #334167).
2437 2006-03-21  Edward Hervey  <edward@fluendo.com>
2439         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2440         (gst_bin_handle_message_func):
2441         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2442         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2443         (gst_element_set_bus_func):
2444         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2445         * gst/gstminiobject.c: (gst_value_set_mini_object),
2446         (gst_value_take_mini_object):
2447         * gst/gstpad.c: (gst_pad_set_pad_template):
2448         * gst/gstpipeline.c: (gst_pipeline_dispose),
2449         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2450         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2451         (gst_collect_pads_chain):
2452         * libs/gst/net/gstnettimeprovider.c:
2453         (gst_net_time_provider_set_property):
2454         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2455         It's in fact all issues with gst_*object_replace().
2457 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2459         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2460         
2461         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2462         * pkgconfig/gstreamer-check.pc.in:
2463           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2465 2006-03-21  Edward Hervey  <edward@fluendo.com>
2467         * gst/gstbuffer.h:
2468         * gst/gstevent.h:
2469         * gst/gstmessage.h:
2470         gst_[buffer|event|message]_ref() macros are replaced by a static
2471         inline functions because gcc-4.1 will about if the return value
2472         isn't used.
2473         * tests/check/gst/gstevent.c: (event_probe):
2474         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2476 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2478         * gst/gstutils.h:
2479         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2480         the type' case. (Closes: #335195 for now). In the future, when we
2481         depend on GLib 2.10, we could also intern the type name using
2482         g_intern_static_string()
2484 2006-03-20  Wim Taymans  <wim@fluendo.com>
2486         * gst/gstbin.c: (gst_bin_handle_message_func),
2487         (bin_query_max_init), (bin_query_position_fold),
2488         (bin_query_position_done), (gst_bin_query):
2489         Position query should also take max of all streams.
2491 2006-03-20  Wim Taymans  <wim@fluendo.com>
2493         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2494         (gst_fake_src_finalize):
2495         Fix leaks in fakesrc.
2497         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2498         Fix leaks in the testcase.
2500 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2502         * gst/gst_private.h:
2503           add win32 specific import decoration(__declspec(dllimport)) 
2504           for all extern GstDebugCategory * variables
2505         * win32/common/libgstbase.def:
2506         * win32/common/libgstcontroller.def:
2507         * win32/common/libgstreamer.def:
2508           Add some exports, remove empty lines
2509         * win32/common/libgstdataprotocol.def:
2510         * win32/common/libgstdataprotocol.dsp:
2511         * win32/common/libgstnet.def:
2512         * win32/common/libgstnet.dsp:
2513           new project files and exportation files added
2514         
2515 2006-03-19  Wim Taymans  <wim@fluendo.com>
2517         * tests/check/libs/basesrc.c: (eos_event_counter):
2518         Use proper return value for probe.
2520 2006-03-17  Wim Taymans  <wim@fluendo.com>
2522         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2523         (gst_pad_push):
2524         Don't leak buffers, caps and pads on negotiation errors.
2526 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2528         * docs/faq/cvs.xml:
2529         * docs/faq/dependencies.xml:
2530         * docs/faq/developing.xml:
2531         * docs/faq/faq.xml:
2532         * docs/faq/general.xml:
2533         * docs/faq/getting.xml:
2534         * docs/faq/legal.xml:
2535         * docs/faq/troubleshooting.xml:
2536         * docs/faq/using.xml:
2537         Faq review and update.
2539 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2541         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2542         (gst_pad_push):
2543         Don't pound the cpu to pieces by checking get_caps when accept_caps
2544         is called with the same caps as the pad already has.
2545         Use GST_DEBUG_OBJECT when outputting caps change information.
2547 2006-03-15  Wim Taymans  <wim@fluendo.com>
2549         * gst/gstclock.c: (gst_clock_class_init):
2550         Fix docs.
2552 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2554         * gst/gstbuffer.h:
2555         Documentation fix.
2557         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2558         (gst_pad_accept_caps), (gst_pad_configure_sink),
2559         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2560         Make the default acceptcaps behaviour be to check the requested 
2561         caps against the gst_pad_get_caps output. 
2563         Ensure that gst_pad_accept_caps is used to check caps when a pad
2564         doesn't have a setcaps function, so that pads automatically refuse 
2565         caps that they don't allow in their pad template. (Fixes #332986)
2567         When a buffer with attached caps is pushed, ensure that the source 
2568         pad receives those caps even if the element didn't call
2569         gst_pad_set_caps first.
2571 2006-03-15  Wim Taymans  <wim@fluendo.com>
2573         * libs/gst/base/gstadapter.c:
2574         Add some docs.
2576 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2578         * win32/common/libgstbase.def:
2579         * win32/common/libgstcontroller.def:
2580         * win32/common/libgstreamer.def:
2581           Add a whole bunch of missing functions (#334434).
2583 2006-03-14  Wim Taymans  <wim@fluendo.com>
2585         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2586         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2587         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2588         Better debug info when we receive a segment event.
2589         Reorganize a bit so we can pass the get_times() results around.
2590         Use the segment format when calculating the running time.
2591         Don't do QoS is sync is disabled or we have no clock or the
2592         element does not want us to sync to the clock.
2593         Don't drop buffers if QoS is disabled for now.
2595 2006-03-14  Wim Taymans  <wim@fluendo.com>
2597         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2598         Marked the stats property as unimplemented so people don't get
2599         wild ideas.
2600         Add debug message when regression goes wrong.
2601         Added some more docs.
2603 2006-03-14  Wim Taymans  <wim@fluendo.com>
2605         * gst/gstsegment.c: (gst_segment_to_stream_time):
2606         Return correct return type in case of errors.
2608 2006-03-14  Wim Taymans  <wim@fluendo.com>
2610         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2611           Don't segfault on invalid formats.
2613 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2615         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2616           Can't use gst_segment_to_running_time() when the segment
2617           is not in GST_TIME_FORMAT (like with filesink, for example).
2618           Stops flac encoding pipelines from spewing critical warnings
2619           at EOS (#331248).
2620           
2621 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2623         * gst/gstpipeline.c: (gst_pipeline_class_init):
2624           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2626         * plugins/elements/gsttypefindelement.c:
2627         (gst_type_find_element_handle_event):
2628           Don't try to typefind empty streams.
2630 2006-03-14  Wim Taymans  <wim@fluendo.com>
2632         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2633         (gst_base_sink_do_qos):
2634         Separate QoS calculation.
2635         Only drop buffers when lateness is bigger than the 
2636         duration of the buffer.
2638 2006-03-13  Wim Taymans  <wim@fluendo.com>
2640         * gst/gstpipeline.c: (gst_pipeline_set_property),
2641         (gst_pipeline_get_property), (do_pipeline_seek),
2642         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2643         (gst_pipeline_get_delay):
2644         Don't deadlock when reading properties.
2646 2006-03-13  Wim Taymans  <wim@fluendo.com>
2648         * libs/gst/base/gstbasetransform.c:
2649         (gst_base_transform_class_init), (gst_base_transform_init),
2650         (gst_base_transform_sink_event),
2651         (gst_base_transform_sink_eventfunc),
2652         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2653         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2654         (gst_base_transform_set_property),
2655         (gst_base_transform_get_property),
2656         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2657         (gst_base_transform_set_qos_enabled),
2658         (gst_base_transform_is_qos_enabled):
2659         * libs/gst/base/gstbasetransform.h:
2660         Make basetransform virtual method for src events too.
2661         Handle QOS in basetransform.
2662         API: gst_base_transform_update_qos()
2663         API: gst_base_transform_set_qos_enabled()
2664         API: gst_base_transform_is_qos_enabled()
2666 2006-03-13  Wim Taymans  <wim@fluendo.com>
2668         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2669         (gst_base_sink_do_sync):
2670         Small cleanups.
2671         Use QOS debug category.
2673 2006-03-13  Wim Taymans  <wim@fluendo.com>
2675         * plugins/elements/gstqueue.c:
2676         Very small doc update.
2678 2006-03-13  Wim Taymans  <wim@fluendo.com>
2680         * gst/gst_private.h:
2681         * gst/gstinfo.c: (_gst_debug_init):
2682         Added QOS debug category
2684 2006-03-13  Wim Taymans  <wim@fluendo.com>
2686         * docs/gst/gstreamer-sections.txt:
2687         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2688         * gst/gstbin.h:
2689         * gst/gstbus.c: (gst_bus_class_init):
2690         * gst/gstbus.h:
2691         * gst/gstclock.c:
2692         * gst/gstelement.c: (gst_element_set_locked_state):
2693         * gst/gstsegment.c:
2694         Documentation updates.
2696         * gst/gstpipeline.c: (gst_pipeline_get_type),
2697         (gst_pipeline_class_init), (gst_pipeline_init),
2698         (gst_pipeline_dispose), (gst_pipeline_set_property),
2699         (gst_pipeline_get_property), (do_pipeline_seek),
2700         (gst_pipeline_send_event), (gst_pipeline_change_state),
2701         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2702         (gst_pipeline_get_delay):
2703         * gst/gstpipeline.h:
2704         Added methods for setting the delay.
2705         API: gst_pipeline_set_delay()
2706         API: gst_pipeline_get_delay()
2707         Add pipeline debug category
2708         Various cleanups.
2709         Updated docs.
2710         Don't reset stream time when seek failed.
2712 2006-03-13  Wim Taymans  <wim@fluendo.com>
2714         * docs/design/draft-klass.txt:
2715         * docs/design/part-clocks.txt:
2716         * docs/design/part-events.txt:
2717         * docs/design/part-gstbin.txt:
2718         * docs/design/part-gstpipeline.txt:
2719         * docs/design/part-messages.txt:
2720         * docs/design/part-negotiation.txt:
2721         * docs/design/part-overview.txt:
2722         * docs/design/part-preroll.txt:
2723         * docs/design/part-seeking.txt:
2724         * docs/design/part-states.txt:
2725         * docs/design/part-streams.txt:
2726         Documentation updates.
2728 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2730         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2731         us to leak strings...
2733 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2735         * libs/gst/net/gstnettimeprovider.c:
2736           fix docs
2737         * win32/common/config.h:
2738           update
2740 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2742         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2744         * configure.ac:
2745           Don't check for libgnomeui (leftover from old examples
2746           that aren't built or disted any longer) (#334303).
2747           
2748 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2750         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2751         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2752           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2753           there's no space left on the device.
2755 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2757         * gst/gstclock.h:
2758           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2759           to cast the input to GstClockTime before comparing with
2760           another GstClockTime value.
2762 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2764         * configure.ac:
2765           back to trunk
2767 === release 0.10.4 ===
2769 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2771         * configure.ac:
2772           releasing 0.10.4, "Light"
2774 2006-03-10  Michael Smith  <msmith@fluendo.com>
2776         * libs/gst/dataprotocol/dataprotocol.c:
2777           Fix docs for dataprocotol to not get the return types completely
2778           wrong for a few functions.
2780 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2782         * docs/gst/gstreamer-sections.txt:
2783         * gst/gstpipeline.c: (gst_pipeline_class_init),
2784         (gst_pipeline_init), (gst_pipeline_set_property),
2785         (gst_pipeline_get_property), (gst_pipeline_change_state),
2786         (gst_pipeline_set_auto_flush_bus),
2787         (gst_pipeline_get_auto_flush_bus):
2788         * gst/gstpipeline.h:
2789           Add new API: gst_pipeline_set_auto_flush_bus() and
2790           gst_pipeline_get_auto_flush_bus() to disable automatic
2791           flushing of the pipeline's GstBus when going from READY
2792           to NULL state (#332045).
2794 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2796         * docs/gst/gstreamer-sections.txt:
2797         * gst/gsturi.c: (gst_uri_has_protocol):
2798         * gst/gsturi.h:
2799            Add new API: gst_uri_has_protocol() (#333779).
2801 2006-03-09  Wim Taymans  <wim@fluendo.com>
2803         * gst/gstclock.c: (gst_clock_entry_new),
2804         (gst_clock_id_compare_func), (gst_clock_id_wait),
2805         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2806         (gst_clock_init), (gst_clock_get_internal_time),
2807         (gst_clock_set_master), (do_linear_regression),
2808         (gst_clock_add_observation), (gst_clock_set_property):
2809         * gst/gstclock.h:
2810         Review docs.
2811         Small cleanups.
2812         Fix a possible segfault when the window-size is made smaller.
2813         Calculate jitter before performing the clock wait. Ideally
2814         the clock implementation should calculate jitter but we need
2815         API breakage for that.
2817         * gst/gstsystemclock.c: (gst_system_clock_init):
2818         Docs review.
2819         
2820         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2821         Remove leftover else
2823         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2824         (gst_systemclock_suite):
2825         Added check to test GST_CLOCK_DIFF.
2827 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2829         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2830         (gst_type_find_helper_get_range):
2831           If we are provided with the size, we should implement
2832           GstTypeFind::get_length, so that typefind functions who
2833           want to can actually peek at the middle of a file.
2835 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2837         * docs/manual/advanced-dataaccess.xml:
2838           Add some very very basic error checking.
2840         * docs/pwg/appendix-checklist.xml:
2841           Some updates to the list of things to check when writing an element.
2843 2006-03-08  Wim Taymans  <wim@fluendo.com>
2845         * docs/design/part-element-transform.txt:
2846         Added some docs about the design of tranform elements.
2848         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2849         (gst_base_src_loop), (gst_base_src_change_state):
2850         Mark buffers with the DISCONT flag.
2852 2006-03-08  Michael Smith  <msmith@fluendo.com>
2854         * gst/gstregistry.h:
2855         * gst/gstregistryxml.c: (gst_registry_save),
2856         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2857         (gst_registry_xml_save_pad_template),
2858         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2859         (gst_registry_xml_write_cache):
2860           Rewrite registry-saving to avoid race conditions and check for
2861           failed writes.
2863 2006-03-08  Wim Taymans  <wim@fluendo.com>
2865         * libs/gst/base/gstbasetransform.c:
2866         (gst_base_transform_transform_caps),
2867         (gst_base_transform_transform_size),
2868         (gst_base_transform_prepare_output_buffer),
2869         (gst_base_transform_get_unit_size),
2870         (gst_base_transform_buffer_alloc),
2871         (gst_base_transform_handle_buffer),
2872         (gst_base_transform_change_state):
2873         Cleanups, separate normal flow from errors, add sensible
2874         DEBUG lines.
2875         Don't try to renegotiate when allocating an output buffer.
2876         Also copy DISCONT buffer flag when copying a buffer.
2877         Reset the transform after we finish streaming, not during.
2879 2006-03-08  Wim Taymans  <wim@fluendo.com>
2881         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2882         Use last buffer timestamp in qos message.
2884 2006-03-07  Wim Taymans  <wim@fluendo.com>
2886         Patch by: Christophe Fergeau
2888         * docs/pwg/advanced-tagging.xml:
2889         * docs/pwg/building-pads.xml:
2890           fixes #333416
2892 2006-03-07  Wim Taymans  <wim@fluendo.com>
2894         * docs/libs/gstreamer-libs-sections.txt:
2895         Added basesink new methods.
2897         * gst/gstevent.c:
2898         * gst/gstevent.h:
2899         Docs updates. Flesh out the QoS docs.
2901         * libs/gst/base/gstadapter.c:
2902         Small doc clarification about ownership and flushing.
2904         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2905         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2906         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2907         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2908         * libs/gst/base/gstbasesink.h:
2909         API additions: 
2910         Added new methods to allow subclass to control max-lateness 
2911         and sync.
2912         Generate very basic QoS events based on last sync observation.
2913         Updated docs, fix typo, added some QoS blurb.
2915         * libs/gst/base/gstbasesrc.c:
2916         Remove obsolete _get_state() calls from docs.
2918 2006-03-07  Wim Taymans  <wim@fluendo.com>
2920         * docs/libs/gstreamer-libs-sections.txt:
2921         * libs/gst/base/gstbasetransform.h:
2922         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2923         Fix docs for GstBaseSrc.
2925 2006-03-07  Wim Taymans  <wim@fluendo.com>
2927         * docs/gst/gstreamer-sections.txt:
2928         * gst/gstbuffer.h:
2929         * gst/gstvalue.c:
2930         * libs/gst/base/gstbasetransform.h:
2931         Small documentation fixes.
2933 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2935         * gst/gstvalue.c:
2936           Document thread-unsafety of gst_value_register_foo_func()
2937           when used at the same time as gst_value_foo() (#322628).
2939 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2941         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2942         (gst_push_src_check_get_range):
2943           Push sources don't support pull mode by default.
2945 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2947         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2948         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2949         (gst_base_src_default_check_get_range):
2950         * libs/gst/base/gstbasesrc.h:
2951           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2952           provide default implementation, and rename
2953           gst_base_src_check_get_range() to
2954           gst_base_src_pad_check_get_range() for clarity.
2956 2006-03-06  Wim Taymans  <wim@fluendo.com>
2958         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2959         Make property overridable.
2961 2006-03-06  Wim Taymans  <wim@fluendo.com>
2963         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2964         (gst_base_sink_init), (gst_base_sink_set_property),
2965         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2966         * libs/gst/base/gstbasesink.h:
2967         API addition: Make max-lateness a property.
2969 2006-03-06  Wim Taymans  <wim@fluendo.com>
2971         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2972         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2973         Don't ever draw a frame that is >10ms late.
2975 2006-03-06  Michael Smith  <msmith@fluendo.com>
2977         * gst/gstmessage.c: (_gst_message_copy):
2978           When copying a message, set the parent_refcount of the enclosed
2979           structure to point at the copy, not the original message.
2981 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2983         Patch by: Christophe Fergeau
2985         * gst/gstutils.h:
2986           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2987           usable in c++ code (#333417)
2989 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2991         * gst/gstclock.h:
2992           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2994 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2996         * libs/gst/base/gstbasetransform.c:
2997         (gst_base_transform_transform_caps):
2998           Make sure caps are writable before passing them to
2999           gst_caps_append().
3001 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3003         * gst/gsterror.h:
3004           Fix some minor docs errors.
3006 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3008           Patch by: Ross Burton <ross at burtonini dot com>
3010         * gst/gsterror.c: (_gst_resource_errors_init):
3011         * gst/gsterror.h:
3012           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3014 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3016         * gst/gst.c:
3017         Add a check and output a g_warning when GStreamer is built
3018         against GLib 2.6 but running against 2.8 or higher, and vice 
3019         versa. (Closes: #323542)
3021 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3023         * gst/parse/parse.l:
3024           Commit patch for parse_launch syntax from #331255. Removes 
3025           support for quoted strings and mimetypes when writing filtered 
3026           caps. See the bug report for more details - I'm pretty sure this
3027           obscure feature is not in use by _anyone_ anywhere.
3029           With this simple change, the size of the gstreamer.so here 
3030           drops from 2193KB to 1565KB.
3032 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3034         * plugins/elements/gsttypefindelement.h:
3035         * plugins/elements/gsttypefindelement.c:
3036         (gst_type_find_element_src_event), (start_typefinding),
3037         (stop_typefinding), (gst_type_find_element_handle_event),
3038         (gst_type_find_element_chain),
3039         (gst_type_find_element_chain_do_typefinding):
3040           Use gst_type_find_helper_for_buffer() for chain-based
3041           typefinding.
3043 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3045         * plugins/elements/gsttypefindelement.c:
3046         (gst_type_find_element_class_init),
3047         (gst_type_find_element_set_property),
3048         (gst_type_find_element_get_property):
3049           Deprecate "maximum" property (not only was it only taken into
3050           account for typefinding in push-mode anyway, it also was never
3051           actually possible to set it in the first place because the
3052           property was registered with the numeric property ID for the
3053           "minimum" property). Register "maximum" property correctly,
3054           for the sake of future copy'n'pasters. Remove some cruft
3055           from property get/set functions.
3057 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3059         * plugins/elements/gsttypefindelement.c:
3060         (gst_type_find_element_activate):
3061           Use gst_type_find_helper_get_range() here, so we
3062           can honour the "minimum" property and also emit
3063           the signal with the correct probability of the found caps.
3065 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3067         * docs/libs/gstreamer-libs-sections.txt:
3068         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3069         (helper_find_suggest), (gst_type_find_helper_get_range),
3070         (gst_type_find_helper):
3071         * libs/gst/base/gsttypefindhelper.h:
3072           New API: gst_type_find_helper_get_range() (#333042).
3074 2006-03-02  Michael Smith  <msmith@fluendo.com>
3076         * gst/gstregistryxml.c: (load_feature):
3077           Asserting on a failure to read part of the registry is Not Cool.
3078           Just log a warning and return NULL (which is already handled)
3080 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3082         * win32/common/libgstbase.def:
3083           added export of gst_type_find_helper_for_buffer
3084         * win32/common/libgstbase.def:
3085           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3086           gst_ghost_pad_get_target
3088 2006-02-28  Wim Taymans  <wim@fluendo.com>
3090         * docs/design/draft-klass.txt:
3091         We use Filter now.
3092         Added Connector to mark elements that are only used to
3093         allow pipeline connections.
3094         Moved Debug to extra feature since most of them are 
3095         functionally something else.
3097 2006-02-28  Wim Taymans  <wim@fluendo.com>
3099         * docs/design/draft-klass.txt:
3100         Some updates and clarifications.
3102 2006-02-28  Wim Taymans  <wim@fluendo.com>
3104         * docs/design/draft-klass.txt:
3105         Proposal for klass field values.
3107         * docs/design/part-streams.txt:
3108         Start of a doc describing stream anatomy.
3110 2006-02-28  Wim Taymans  <wim@fluendo.com>
3112         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3113         Help the compiler a bit with type registration.
3114         Use existing forward cod path instead of duplicating it when 
3115         handling a message.
3116         
3117         * gst/gstbus.c: (gst_bus_get_type):
3118         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3119         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3120         * gst/gstclock.c: (gst_clock_get_type):
3121         * gst/gstelement.c: (gst_element_get_type),
3122         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3123         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3124         * gst/gstminiobject.c: (gst_mini_object_get_type):
3125         * gst/gstpad.c: (gst_pad_get_type):
3126         * gst/gstsegment.c: (gst_segment_get_type):
3127         * gst/gststructure.c: (gst_structure_get_type):
3128         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3129         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3130         * gst/gstvalue.c:
3131         Help compiler with type registration.
3133         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3134         Small doc update.
3136 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3138         * plugins/elements/gsttypefindelement.c:
3139         (gst_type_find_element_handle_event):
3140           When we get an EOS event and have not found a type yet
3141           (most likely because we had not yet accumulated
3142           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3143           type given the data we have so far. Fixes typefinding
3144           for very short streams again, most notably quicktime
3145           redirections as used on Apple's trailer site (#331701).
3147 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3149         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3150         (gst_type_find_helper):
3151           Try typefinding factories with the highest rank first.
3153 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3155         * docs/libs/gstreamer-libs-docs.sgml:
3156         * docs/libs/gstreamer-libs-sections.txt:
3157         * libs/gst/base/gsttypefindhelper.c:
3158           Add section for typefind helper and add documentation
3159           for the old and the new function.
3161 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3163         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3164         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3165         (gst_type_find_helper_for_buffer):
3166         * libs/gst/base/gsttypefindhelper.h:
3167           New API: gst_type_find_helper_for_buffer() (#332723).
3168           
3169 2006-02-27  Michael Smith  <msmith@fluendo.com>
3171         Patch by: Loïc Minier
3173         * configure.ac:
3174         * docs/Makefile.am:
3175         * docs/slides/Makefile.am:
3176           prevent CVS directories getting disted.
3178 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3180         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3181           Use the REFCOUNTING category for caps refcounting.
3182           
3183 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3185         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3186           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3188 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3190         * plugins/elements/gsttypefindelement.c:
3191         (gst_type_find_element_activate):
3192           Use gst_pad_check_pull_range() before _activate_pull()
3193           to avoid unnecessary open/close (see #331690).
3195 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3197         * gst/gstutils.c:
3198           Docs enhancement: make it crystal clear what the
3199           gst_pad_add_*_probe() callbacks should look like.
3201 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3203         * libs/gst/base/gstbasesrc.c:
3204           Document how applications can stop recording from
3205           live sources (see #330996).
3207 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3209         * tests/check/Makefile.am:
3210         * tests/check/libs/basesrc.c: (eos_event_counter),
3211         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3212         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3213         (gst_basesrc_suite), (main):
3214           ... and add some tests for the base source EOS stuff.
3216 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3218         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3219           Test case originally showed the problem fixed below,
3220           but was then amended. Add checks back at the place
3221           where they used to be.
3223 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3225         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3226         (gst_base_src_init), (gst_base_src_loop),
3227         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3228         (gst_base_src_change_state):
3229         * libs/gst/base/gstbasesrc.h:
3230           Don't unconditionally send EOS when going from PAUSED to
3231           READY state, esp. make sure we don't send two EOS events
3232           in some cases (e.g. one when reaching EOS and one when
3233           going from PAUSED to READY). Also, we don't want to send
3234           EOS events when operating in pull mode. However, we do
3235           want to send an EOS event when shutting down a live
3236           source explicitly, for example (fixes #330996).
3237           
3238 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3240         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3241           Update src->read_position after a seek when not using mmap.
3242           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3244 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3246         * gst/Makefile.am:
3247         * gst/gstparse.h:
3248         * gst/gstutils.c:
3249         * gst/gstutils.h:
3250         Make things work with --disable-parse as they do with 
3251         --disable-load-save - the symbols involved disappear, but the
3252         header is still installed and GST_DISABLE_PARSE is included via
3253         gstconfig.h
3255 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3257         * libs/gst/base/gstbasetransform.c:
3258         (gst_base_transform_change_state): Fix a stupid bug. I was 
3259         sure I compiled that.
3261 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3263         * gst/gstpad.c: (gst_pad_set_blocked_async):
3264         * gst/gstutils.c: (gst_pad_add_data_probe),
3265         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3266         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3267         (gst_pad_remove_buffer_probe): Make those function act on the
3268         ghostpad target when it's a ghostpad. (Closes #331727)
3270 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3272         * libs/gst/base/gstbasetransform.c:
3273         (gst_base_transform_change_state): Make basetransform reusable.
3274         (Closes #331898)
3276 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3278         * docs/random/release:
3279         Move the current documentation of how to do a release to the top
3280         of the file.
3282         * gst/gstbin.c: (gst_bin_class_init),
3283         (gst_bin_handle_message_func):
3284         Allow multiple state-recalculation threads. (Closes #328873)
3286 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3288         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3289         * gst/gstpad.c: (gst_pad_set_event_function),
3290         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3291         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3292         2 strings. You can't use the STR_NULL macro on that.
3294 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3296         * gst/gstpad.c: (gst_pad_set_event_function),
3297         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3298         (gst_pad_set_getcaps_function)
3299         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3300           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3301           So now, we can use --gst-debug-level=5 on Windows
3302         * win32/common/libgstcontroller.def:
3303           Added export of gst_controller_init
3304         * win32/vs6/libgstcontroller.dsp:
3305           Fixed Release post build configuration
3307 2006-02-17  Wim Taymans  <wim@fluendo.com>
3309         * tests/check/gst/gstquery.c: (GST_START_TEST):
3310         Added another check.
3312 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3314         * plugins/elements/gsttypefindelement.c: (find_peek):
3315           We can do peeks at non-zero offsets, as long as they
3316           fall within the buffer we have.
3318 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3320         * tests/check/Makefile.am:
3321         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3322         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3323         (parse_suite), (main):
3324           Add testsuite for parse launch syntax
3326 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3328         * plugins/elements/gsttypefindelement.c:
3329         (gst_type_find_element_chain):
3330           When typefinding is unsuccessful in the chain function, don't
3331           error out immediately. Only error out with NO_CAPS_FOUND if
3332           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3333           otherwise simply wait for more data so we can try typefinding
3334           again with more data later. Also, don't attempt to typefind
3335           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3336           this should improve typefinding from network sources where the
3337           size of the first buffer can be somewhat random.
3339 2006-02-14  Wim Taymans  <wim@fluendo.com>
3341         * docs/gst/gstreamer-sections.txt:
3342         * gst/gstpadtemplate.c:
3343         * gst/gstpadtemplate.h:
3344         Fix padtemplate docs, fixes #328805.
3346 2006-02-14  Wim Taymans  <wim@fluendo.com>
3348         * tools/gst-launch.c: (main):
3349         NO_PREROLL is not an ERROR so don't send confusing messages
3350         to the user.
3352 2006-02-14  Wim Taymans  <wim@fluendo.com>
3354         Patch by: Torsten Schoenfeld
3356         * gst/gstregistry.c: (gst_registry_get_default),
3357         (_gst_registry_cleanup):
3358         Protect default registry with lock and ref/sink it.
3359         Fixes #324818
3361 2006-02-14  Wim Taymans  <wim@fluendo.com>
3363         * gst/gstbuffer.c:
3364         * gst/gstquery.c: (gst_query_list_add_format),
3365         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3366         (gst_query_parse_formats_nth):
3367         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3368         Docs fixes.
3370 2006-02-14  Wim Taymans  <wim@fluendo.com>
3372         * docs/gst/gstreamer-sections.txt:
3373         Reworked query docs.
3375         * gst/gstquery.c: (gst_query_new_formats),
3376         (gst_query_list_add_format), (gst_query_set_formats),
3377         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3378         (gst_query_parse_formats_nth):
3379         * gst/gstquery.h:
3380         Flesh out formats query, added some new methods.
3381         Fix part of #324398.
3383         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3384         Added query creation tests.
3386 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3388         * gst/gstpad.c: (fixate_value):
3389         Add a default fixation for fraction lists.
3391 2006-02-13  Wim Taymans  <wim@fluendo.com>
3393         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3394         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3395         (gst_task_join):
3396         * gst/gsttask.h:
3397         Detect and warn for obvious deadlocks. fixes #320340
3398         Fix error case where lock was not released.
3400         * tests/check/Makefile.am:
3401         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3402         (task_func), (gst_element_suite), (main):
3403         Add task check.
3405 2006-02-13  Wim Taymans  <wim@fluendo.com>
3407         * docs/gst/gstreamer-sections.txt:
3408         * gst/gstbus.c:
3409         Add new functions to docs.
3411 2006-02-13  Wim Taymans  <wim@fluendo.com>
3413         * docs/design/part-TODO.txt:
3414         Updated TODO list, basesrc supports seeking to non-bytes
3415         formats.
3417         * docs/design/part-element-sink.txt:
3418         Update docs.
3420         * gst/gstbin.c: (bin_replace_message),
3421         (gst_bin_handle_message_func):
3422         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3423         * gst/gstevent.c: (gst_event_finalize):
3424         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3425         (gst_pad_send_event):
3426         Use shiny new _TYPE_NAME macros.
3428         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3429         Move debug statement up.
3431         * gst/gstelement.c: (gst_element_set_locked_state):
3432         Add some debugging.
3434 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3436         * docs/gst/gstreamer-sections.txt:
3437         * gst/gstmessage.h:
3438         * gst/gstquery.h:
3439           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3440           macros (#330906). Also, document the already existing
3441           GST_QUERY_TYPE macro.
3443 2006-02-13  Wim Taymans  <wim@fluendo.com>
3445         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3446         (event_probe), (GST_START_TEST):
3447         Only events up to the pipeline EOS are counted, there are
3448         some more when going to NULL currently which we don't care
3449         about for now.
3451 2006-02-13  Wim Taymans  <wim@fluendo.com>
3453         * gst/gstpad.c: (gst_pad_send_event):
3454         Correctly check flushing and emit probes. fixes #330125
3456 2006-02-10  Andy Wingo  <wingo@pobox.com>
3458         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3459         structure.
3460         (gst_bus_init): Cache the location of the private data in the
3461         instance structure.
3462         (gst_bus_enable_sync_message_emission) 
3463         (gst_bus_disable_sync_message_emission): Implement new public
3464         functions.
3465         (gst_bus_post): Emit the sync-message signal if the user asked for
3466         it. Fixes #330684.
3468         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3469         location of the bus-private structure.
3470         (gst_bus_enable_sync_message_emission)
3471         (gst_bus_disable_sync_message_emission): API addition
3473 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3475         Patch by: Vincent Torri
3477         * docs/pwg/building-boiler.xml:
3478         PWG patch from #326800
3480 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3482         * configure.ac:
3483         * docs/Makefile.am:
3484         * docs/design/Makefile.am:
3485           Dist design docs.
3487 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3489         * configure.ac:
3490           back to CVS
3492 === release 0.10.3 ===
3494 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3496         * configure.ac:
3497           releasing 0.10.3, "Like a virgin"
3499 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3501         * configure.ac:
3502           2nd prerelease of 0.10.3
3503           Bump libtool versioning.
3505 2006-02-07  Andy Wingo  <wingo@pobox.com>
3507         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3508         update last_stop if we're in TIME format and the timestamp is
3509         valid.
3511         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3512         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3513         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3514         If we get a new newsegment with a different format, adapt
3515         accordingly.
3517         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3518         of 0. Not a problem, really.
3520         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3521         warn if sync=true.
3523 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3525         * configure.ac:
3526           Prelease of 0.10.3
3528 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3530         * win32/vs7:
3531           project files updated to the default vs7 configuration
3532         * win32/common/libgstbase.def:
3533         * win32/common/libgstreamer.def:
3534           added new symbols,
3535           removed empty lines,
3536           sorted all exported symbols alphabetically
3537         * win32/common/dirent.c:
3538         * win32/common/dirent.h:
3539         * win32/common/gchar.h:
3540           use windows line end.
3541           
3542 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3544         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3545           Send EOS event when stopping.
3547 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3549         * docs/README:
3550           Tell folks what to do if the plugin-foobar.xml file
3551           hasn't been generated for a newly-added plugin.
3553 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3555         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3556         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3557         (gst_collect_pads_start), (gst_collect_pads_stop),
3558         (gst_collect_pads_event): Collectpads now holds a reference
3559         to the GstPad that was added. Indeed we don't want to look
3560         at pads that might just go away with no warning...
3562 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3564         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3565         (gst_collect_pads_start), (gst_collect_pads_stop),
3566         (gst_collect_pads_event), (gst_collect_pads_chain):
3567         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3568         Mark Nauwelaerts's patch on bug #328491.
3570 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3572         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3573         (gst_utils_suite):
3574           Add some simple tests for gst_parse_bin_from_description() and
3575           gst_bin_find_unconnected_pad() (#329069).
3577 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3579         * tools/gst-launch.c: (event_loop), (main):
3580           Catch errors during preroll (#320084).
3582 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3584         * plugins/elements/gsttypefindelement.c:
3585         (gst_type_find_element_activate):
3586           Post TYPE_NOT_FOUND error message when typefinding
3587           is unsuccessful in the activate function as well.
3589 2006-02-02  Wim Taymans  <wim@fluendo.com>
3591         * docs/design/part-element-sink.txt:
3592         Updated doc.
3594 2006-02-02  Wim Taymans  <wim@fluendo.com>
3596         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3597         (gst_base_sink_render_object),
3598         (gst_base_sink_queue_object_unlocked):
3599         Only keep track of prerollable items when we are 
3600         prerolling.
3601         Before rendering after preroll, always check if we
3602         have queued items.
3603         Added some more debugging.
3605 2006-02-02  Wim Taymans  <wim@fluendo.com>
3607         * gst/gstelement.c: (gst_element_continue_state),
3608         (gst_element_set_state_func), (gst_element_change_state):
3609         Fixed #326576, been running this for quite some time with
3610         no regressions at all.
3612 2006-02-02  Wim Taymans  <wim@fluendo.com>
3614         * common/gst.supp:
3615         Added more suppressions
3617 2006-02-02  Wim Taymans  <wim@fluendo.com>
3619         * docs/design/part-element-sink.txt:
3620         Updated document.
3622         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3623         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3624         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3625         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3626         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3627         (gst_base_sink_preroll_object),
3628         (gst_base_sink_queue_object_unlocked),
3629         (gst_base_sink_queue_object), (gst_base_sink_event),
3630         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3631         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3632         (gst_base_sink_get_position), (gst_base_sink_change_state):
3633         * libs/gst/base/gstbasesink.h:
3634         Totally refactored matching the design doc.
3635         Use two segments, one to clip incomming buffers and another to
3636         perform sync.
3637         Handle queueing correctly, bypass the queue when playing.
3638         Make EOS cancelable.
3639         Handle errors correctly when operating in pull based mode.
3641         * tests/check/elements/fakesink.c: (GST_START_TEST),
3642         (fakesink_suite):
3643         Added new check for sinks.
3645 2006-02-02  Wim Taymans  <wim@fluendo.com>
3647         * gst/gstsegment.c: (gst_segment_clip):
3648         No reason to refuse to clip when start == -1
3650 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3652         * docs/README:
3653         * docs/manual/intro-basics.xml:
3654         * docs/manual/intro-preface.xml:
3655         * docs/manual/manual.xml:
3656         * docs/pwg/advanced-dparams.xml:
3657         * docs/pwg/intro-basics.xml:
3658         * docs/pwg/intro-preface.xml:
3659         * docs/pwg/pwg.xml:
3660           describe dparams (controller) for plugins
3661           unify docs a little more
3663 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3665         * docs/gst/gstreamer-sections.txt:
3666         * gst/gstutils.c: (element_find_unconnected_pad),
3667         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3668         * gst/gstutils.h:
3669           Add new API: gst_parse_bin_from_description() and
3670           gst_bin_find_unconnected_pad() (#329069).
3672 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3674         * docs/manual/README:
3675           uncover a nasty detail of the docs build
3677 2006-01-31  Wim Taymans  <wim@fluendo.com>
3679         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3680         Don't cache duration messages if we're not going to use or
3681         free them.
3683 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3685         * docs/manual/advanced-dparams.xml:
3686         * docs/pwg/advanced-dparams.xml:
3687           more dparam docs
3688         * gst/gstindex.c:
3689           fix docs
3690         * libs/gst/controller/lib.c: (gst_controller_init):
3691           init just once
3693 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3695         * gst/gstelement.c: (gst_element_message_full):
3696           also show file/line/func if no additional debug was given
3698 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3699         
3700         * win32/vs7/grammar.vcproj:
3701           activate copy of autogenerated files for Release mode
3703 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3704         
3705         * win32/common/libgstreamer.def:
3706           export gst_value_compare
3708 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3710         * plugins/elements/Makefile.am:
3711         * plugins/elements/gstelements.c:
3712         * plugins/elements/gstfdsink.c: (_do_init),
3713         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3714         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3715         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3716         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3717         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3718         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3719         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3720         * plugins/elements/gstfdsink.h:
3721         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3723 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3725         * docs/manual/advanced-dparams.xml:
3726           describe controller
3727         * docs/manual/advanced-position.xml:
3728         * docs/manual/basics-init.xml:
3729         * docs/manual/manual.xml:
3730         * docs/manual/titlepage.xml:
3731         * docs/pwg/pwg.xml:
3732         * docs/pwg/titlepage.xml:
3733           cleanup xml (more to come)
3734         * libs/gst/controller/gstcontroller.c:
3735           fix typo
3737 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3738         
3739         * win32/vs6/grammar.dsp:
3740           add autogen of gstmarshal.c,h for Release mode
3741                 
3742 2006-01-30  Wim Taymans  <wim@fluendo.com>
3744         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3745         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3746         (gst_base_sink_handle_object), (gst_base_sink_event),
3747         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3748         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3749         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3750         (gst_base_sink_deactivate), (gst_base_sink_activate),
3751         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3752         (gst_base_sink_query), (gst_base_sink_change_state):
3753         Basesink cleanups, remove some old code.
3754         Handle the case where a subclass can preroll in the render
3755         method (mostly audiosinks).
3756         Handle more events.
3757         Remove some locks around variables that are now protected
3758         with the PREROLL_LOCK (clock_id, flushing, ..).
3759         Optimize position query some more, do correct locking.
3760         Remove old code to push queue in state change, this is not
3761         needed anymore since preroll blocks on all prerollable items 
3762         now.
3763         Almost implemented as described in design doc.
3765 2006-01-30  Wim Taymans  <wim@fluendo.com>
3767         * tests/check/gst/gstbin.c: (GST_START_TEST):
3768         Wait for refcount to settle down before checking.
3770 2006-01-30  Wim Taymans  <wim@fluendo.com>
3772         * docs/design/part-element-sink.txt:
3773         Pseudo code overview of desired sink behaviour regarding
3774         preroll.
3776 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3777         * win32/vs6/grammar.dsp:
3778           fix some bugs in Release mode for autogenerated files
3779                 
3780 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3781         * win32/common/libgstbase.def:
3782         * win32/common/libgstreamer.def:
3783           export some new symbols: gst_base_src_set_format,
3784           gst_iterator_next, gst_structure_set_valist
3786 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3788         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3789         Set pad functions unconditionally. Fixes #329105.
3791 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3792         * win32/vs8:
3793           add vs8 project files created by Sergey Scobich
3795 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3797         * gst/gstutils.c: (gst_element_unlink_pads):
3798         Don't leak pad references.
3800         * tests/check/elements/fakesink.c: (GST_START_TEST):
3801         * tests/check/generic/sinks.c: (GST_START_TEST):
3802         * tests/check/generic/states.c: (GST_START_TEST):
3803         * tests/check/gst/gstbin.c: (GST_START_TEST):
3804         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3805         * tests/check/gst/gstelement.c: (GST_START_TEST):
3806         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3807         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3808         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3809         Fix a bunch of leaks. Make generic/sinks.c
3810         use a bit less cpu by slowing the buffer rate
3811         between fakesrc and fakesink.
3812         
3813 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3814         * gst/gstcaps.c:
3815         * gst/gstelement.c: (gst_element_send_event):
3816         * gst/gstevent.c:
3817         * gst/gstinfo.c:
3818         * gst/gstiterator.c:
3819         * gst/gstiterator.h:
3820         * gst/gstpad.c: (gst_pad_send_event):
3821         * gst/gststructure.c:
3822         * gst/gsturi.c:
3823         * gst/gstutils.c:
3824         * gst/gstvalue.c:
3825         * libs/gst/base/gstadapter.c:
3826           doc fixes, to link to function, just write gst_cool_function(), don't
3827           prefix with '#'
3829 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3831         * plugins/elements/gsttee.c: (gst_tee_do_push),
3832         (gst_tee_handle_buffer):
3833         Always prefer an actual return value from a src
3834         pad in place of NOT_LINKED. This means we return
3835         WRONG_STATE when all src pads are WRONG_STATE
3836         instead of NOT_LINKED.
3838         Lock when replacing the last message to prevent
3839         racing with the get_property method.
3841         Add debug output
3843 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3845         * tests/check/Makefile.am:
3846         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3847         (main):
3848         Add a very simple check that should have caught the memleak I fixed
3849         last night (if not for the slice allocator hiding it)
3851 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3853         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3854         (gst_bin_remove_func), (gst_bin_handle_message_func),
3855         (bin_query_duration_fold), (bin_query_generic_fold):
3856         Clean up references to the clock provider when disposed or when
3857         handling a clock-lost message from it.
3859         Unref sinks when performing a query via gst_iterator_fold, as the
3860         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3862         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3863         (gst_clock_set_master):
3864         Drop our reference to the master clock, if any, when we are disposed.
3866         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3867         Chain up in dispose. 
3869 2006-01-26  Wim Taymans  <wim@fluendo.com>
3871         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3872         Add some debugging.
3874 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3876         * plugins/elements/gsttee.c: (gst_tee_do_push),
3877         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3878         handles pad being NOT_LINKED or in WRONG_STATE.
3880 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3882         * win32/MANIFEST:
3883           more updating
3885 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3887         * win32/MANIFEST:
3888           remove obsolete entry
3890 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3892         * docs/gst/gstreamer-sections.txt:
3893         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3894         (gst_bin_iterate_sources), (gst_bin_send_event):
3895         * gst/gstbin.h:
3896         * gst/gstelement.c: (gst_element_send_event):
3897         * gst/gstevent.c:
3898         * gst/gstpad.c: (gst_pad_send_event):
3899           added code for downstream events, reviewed docs in gstevent.c
3901 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3903         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3904         We only query position using the clock in the playing state.
3905         Query peer in the other cases.
3906         * win32/common/config.h: Updates.
3908 2006-01-24  Wim Taymans  <wim@fluendo.com>
3910         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3911         A clock entry that is scheduled for the exact time of the
3912         clock is still in time.
3914         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3915         (gst_base_sink_do_sync):
3916         Add some more debug info.
3918 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3920         * win32/vs7:
3921           Add new vs7 project files and solution.
3923 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3925         * win32/vs7:
3926           all files removed as they were out-dated.
3928 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3930         * docs/random/release:
3931           update notes
3932         * gst/gstbin.c: (gst_bin_init):
3933         * gst/gstbus.c: (gst_bus_new):
3934         * gst/gstbus.h:
3935         * gst/gstpipeline.c: (gst_pipeline_init):
3936           use gst_bus_new(), improve logging, fix docs
3937         * win32/common/config.h:
3938           update for cvs build
3940 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3942         * autogen.sh:
3943           up required version of automake to 1.7
3945 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3947         * win32/common/libgstreamer.def:
3948           export gst_buffer_is_metadata_writable
3950 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3952         * docs/gst/gstreamer-sections.txt:
3953         * gst/gstevent.h:
3954           Add gst_event_replace() (#327001)
3956 2006-01-20  Wim Taymans  <wim@fluendo.com>
3958         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3959         Make it actually compile too..
3961 2006-01-20  Wim Taymans  <wim@fluendo.com>
3963         * gst/gstcaps.c:
3964         Clarify behaviour of _is_equal() when passing NULL parameters.
3966         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3967         (gst_pad_set_caps):
3968         Cleanups. Don't unref NULL caps.
3969         When setting the same caps, protect caps of the pad with
3970         proper lock.
3971         Use full functionality of _is_equal() when comparing caps.
3973 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3975         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3976         Don't loop infinitely if there are no buffers to present. Partially
3977         fixes #327197, but collectpads is just broken for reusing elements
3978         to do multiple encodes atm.
3980 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3982         * tools/gst-inspect.c: (print_element_features):
3983         * tools/gst-xmlinspect.c: (main):
3984         URL_HANDLER is not a plugin feature we can search for in
3985         the registry.
3987 2006-01-19  Edward Hervey  <edward@fluendo.com>
3989         * gst/gstelement.c: (gst_element_pads_activate): 
3990         When activating, do src pads first, then sink pads.
3991         When de-activating, do sink pads first, then src pads.
3993 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3995         * docs/gst/gstreamer-sections.txt:
3996         Add gst_index_add_associationv to the docs
3998 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4000         * gst/gstevent.c:
4001           Fix docs typo
4003         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4004         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4005           Do some refactoring. Doesn't actually change functionality,
4006           but makes landing the DRAIN event easier later.
4008 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4010         * docs/pwg/advanced-scheduling.xml:
4011           Update from 0.9.x to 0.10 API and make example a bit
4012           clearer.
4014 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4016         * docs/gst/gstreamer-sections.txt:
4017         Add gst_buffer_(is|make)_metadata_writable methods.
4019 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4021         * docs/design/part-sparsestreams.txt:
4022         Update sparse streams doc, hopefully for greater clarity
4024 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4026         * docs/design/part-events.txt:
4027         Remove mention of FILLER events.
4028         Add DRAIN event.
4030         * docs/design/part-sparsestreams.txt:
4031         Write some things about using NEWSEGMENT to keep sparse streams
4032         flowing.
4034 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4036         * gst/gstbin.c: (gst_bin_dispose):
4037           Guard gst_object_unref call against a NULL object (dispose
4038           can theoretically be called multiple times).
4039           
4040 2006-01-18  Wim Taymans  <wim@fluendo.com>
4042         * gst/gstbin.c: (gst_bin_element_set_state):
4043         * gst/gstclock.c: (gst_clock_id_wait):
4044         Added some more debug info.
4046         * libs/gst/base/gstadapter.c:
4047         Added more docs.
4049         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4050         (gst_base_sink_do_sync), (gst_base_sink_chain):
4051         Added some comments.
4053 2006-01-18  Wim Taymans  <wim@fluendo.com>
4055         * tests/check/Makefile.am:
4056         * tests/check/elements/fakesink.c: (chain_async_buffer),
4057         (chain_async), (chain_async_return), (GST_START_TEST),
4058         (fakesink_suite), (main):
4059         Added fakesink test that checks prerolling and clipping
4060         behaviour.
4062         * tests/check/gst/gstutils.c: (GST_START_TEST):
4063         Make check run faster so that buildbots don't timeout.
4065 2006-01-18  Wim Taymans  <wim@fluendo.com>
4067         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4068         (gst_base_sink_do_sync):
4069         Some cleanups.
4070         When the sink finishes blocking on the preroll buffer, it can
4071         immediatly render it instead of rendering when the next buffer
4072         arrives.
4074 2006-01-18  Wim Taymans  <wim@fluendo.com>
4076         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4077         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4078         (gst_base_sink_chain):
4079         Small cleanups.
4080         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4081         Don't store _last_stop if the buffer is dropped.
4083 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4085         * plugins/elements/gsttypefindelement.c:
4086         (gst_type_find_element_class_init):
4087           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4088           object method handler that sets the caps on the pad and we want
4089           that to happen before we emit the signal (fixes e.g. feeding a
4090           plain text file to decodebin).
4092 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4094         * gst/gstplugin.c: Add MPL and Proprietary as license options
4096 2006-01-18  Andy Wingo  <wingo@pobox.com>
4098         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4099         symbol was exported before, it appears this was just an oversight.
4100         Fixes #168703.
4101         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4103         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4104         prototype to gint. OK since this prototype was not in the header.
4106 2006-01-17  Andy Wingo  <wingo@pobox.com>
4108         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4109         registry while we remove plugins.
4111         * tools/gst-inspect.c (print_element_info): Don't unref the
4112         factory arg, that should be the responsibility of whatever code
4113         received the ref. Fixes a double-free when called from
4114         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4115         (main): Unref the factory if we have one.
4116         (print_element_list): No change -- relies on the
4117         plugin_feature_list_free to free the list of features.
4119 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4121         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4122         (gst_buffer_make_metadata_writable):
4123         * gst/gstbuffer.h:
4124         * libs/gst/base/gstbasetransform.c:
4125         (gst_base_transform_prepare_output_buf):
4126         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4127         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4128           Replace gst_buffer_(make|is)_metadata_writable patch now
4129           that the release is out.
4131 2006-01-17  Andy Wingo  <wingo@pobox.com>
4133         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4134         in the present tense without reference to versions.
4136         * gst/gstregistry.c (gst_registry_add_plugin)
4137         (gst_registry_remove_plugin, gst_registry_remove_feature)
4138         (gst_registry_find_feature, gst_registry_get_feature_list)
4139         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4140         (gst_registry_lookup, gst_registry_scan_path)
4141         (_gst_registry_remove_cache_plugins)
4142         (gst_registry_get_feature_list_by_plugin): Add argument
4143         validation.
4145 === release 0.10.2 ===
4147 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4149         * configure.ac:
4150           releasing 0.10.2, "If man is five"
4152 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4154         * gst/gstbuffer.c:
4155         * gst/gstbuffer.h:
4156         * libs/gst/base/gstbasetransform.c:
4157         (gst_base_transform_prepare_output_buf):
4158         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4159         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4160           Back out patch until after the release.
4162 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4164         * gst/gstminiobject.c:
4165           Spelling fix in docs.
4166         * ChangeLog - remove conflict indicator
4168 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4170         Reviewed By: Andy Wingo
4172         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4173         (gst_buffer_make_metadata_writable):
4174         * gst/gstbuffer.h:
4175           Add gst_buffer_(is|make)_metadata_writable as analogues of
4176           gst_buffer_(is|make)_writable.
4178         * libs/gst/base/gstbasetransform.c:
4179         (gst_base_transform_prepare_output_buf):
4180         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4181           Use name gst_buffer_(is|make)_metadata_writable functions.
4183         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4184           Test gst_buffer_(is|make)_metadata_writable
4185         
4186           (Closes: #324162)
4188 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4190         * docs/manual/Makefile.am:
4191           don't do parallel make
4192         * configure.ac:
4193           AC_SUBST HOST_CPU
4194         * win32/common/config.h.in:
4195           add generations for HOST_CPU and GST_MAJORMINOR
4196         * win32/common/config.h:
4197           commit generated result
4199 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4201         * docs/manual/appendix-integration.xml:
4202           Update GNOME integration section to use gst_init_get_option_group()
4203           instead of the old popt stuff (#322911). Also, GNOME applications
4204           should  now use gconf*sink and gconf*src instead of the old gconf
4205           helper lib we had.
4207 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4210         * docs/gst/gstreamer-docs.sgml:
4211         * docs/gst/gstreamer-sections.txt:
4212         * docs/libs/gstreamer-libs-sections.txt:
4213           add new API entries to the docs
4214         * libs/gst/controller/Makefile.am:
4215         * libs/gst/controller/gstcontroller.c:
4216         * libs/gst/controller/gstcontroller.h:
4217         * libs/gst/controller/gstcontrollerprivate.h:
4218         * libs/gst/controller/gsthelper.c:
4219         * libs/gst/controller/gstinterpolation.c:
4220           move private structs to private header
4221         * po/README:
4222           gstreamer-0.7 -> gstreamer-0.10
4223         * tests/check/libs/struct_i386.h:
4224           remove private structs
4226 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4228         * plugins/indexers/Makefile.am:
4229           Fixes as part of #317048
4231 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4233         * plugins/indexers/Makefile.am:
4234           fix #316086 - compilation when mmap is missing
4236 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4238         * libs/gst/base/gstbasesink.c:
4239           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4240           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4241         * win32/common/config.h:
4242           added some defines GST_MAJORMINOR and HOST_CPU
4243         * win32/common/libgstbase.def:
4244         * win32/common/libgstreamer.def:
4245           added some exported functions.
4247 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4249         * libs/gst/controller/gstcontroller.c:
4250         (gst_controlled_property_set_interpolation_mode),
4251         (gst_controlled_property_new):
4252         * libs/gst/controller/gstcontroller.h:
4253         * libs/gst/controller/gstinterpolation.c:
4254         (interpolate_none_get_string_value_array):
4255           make G_TYPE_STRING controlable
4257 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4259         * tools/README:
4260         * tools/gst-feedback.1.in:
4261         * tools/gst-inspect.1.in:
4262         * tools/gst-launch.1.in:
4263         * tools/gst-md5sum.1.in:
4264         * tools/gst-typefind.1.in:
4265         * tools/gst-xmlinspect.1.in:
4266         * tools/gst-xmllaunch.1.in:
4267           cleanup man-pages, remove reference to gst-register, document env-vars
4269 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4271         * gst/gstbuffer.c: (gst_buffer_span):
4272           gst_buffer_span should copy the timestamp of the first buffer
4273           if they were both originally overlapping subbuffers of the 
4274           same parent, using the same logic as the 'slow copy' case.
4276 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4278         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4279           Need to awaken ALL the pads when we pop a buffer, otherwise
4280           collectpads only works when there is 2 input streams.
4282 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4284         * docs/random/ensonic/media-device-daemon.txt:
4285           more ideas (dbus)
4286         * gst/gstbuffer.c:
4287           fix doc example, add clarification
4288         * tools/gst-launch.1.in:
4289           add initial info about GST_PLUGIN_PATH, needs more work
4291 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4293         * docs/manual/basics-bins.xml:
4294         * docs/manual/basics-elements.xml:
4295         * docs/manual/intro-basics.xml:
4296           Some more minor docs additions and updates.
4298 2006-01-11  Wim Taymans  <wim@fluendo.com>
4300         * docs/manual/basics-bins.xml:
4301         * docs/manual/basics-elements.xml:
4302         Some small fixes as pointed out by Ser-ver on IRC.
4304 2006-01-10  Edward Hervey  <edward@fluendo.com>
4306         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4307         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4308         the single-segment mode.
4310 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4312         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4314         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4315         (gst_base_src_perform_seek), (gst_base_src_send_event),
4316         (gst_base_src_set_property), (gst_base_src_get_property),
4317         (gst_base_src_loop), (gst_base_src_start),
4318         (gst_base_src_activate_push):
4319         * libs/gst/base/gstbasesrc.h:
4320           Name (private) union; makes Sun's Forte compiler happy (#324900).
4322 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4324         * README:
4325           gst-register is gone.
4327 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4329         * gst/gstvalue.c: (_gst_value_initialize):
4330           make the G_TYPE_DATE instantiation work if debug is disabled
4332 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4334         * gst/gstmessage.c: (gst_message_parse_tag),
4335         (gst_message_parse_error), (gst_message_parse_warning):
4336           Don't crash when return location for error/warning debug
4337           string is NULL; add fact that return locations can be
4338           NULL to docs where appropriate.
4340 2006-01-05  Wim Taymans  <wim@fluendo.com>
4342         * gst/gstplugin.c: (gst_plugin_load_file):
4343         Replace strdup by g_strdup.
4345 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4347         * docs/pwg/advanced-types.xml:
4348           fix doc borkage
4350 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4352         submitted by: Abel Cheung
4354         * po/LINGUAS:
4355         * po/zh_TW.po:
4356           Added Chinese (traditional) translation
4358 2006-01-04  Wim Taymans  <wim@fluendo.com>
4360         * docs/manual/basics-pads.xml:
4361         * docs/plugins/Makefile.am:
4362         * docs/plugins/gstreamer-plugins-docs.sgml:
4363         * docs/plugins/gstreamer-plugins-sections.txt:
4364         * docs/pwg/advanced-clock.xml:
4365         * docs/pwg/advanced-scheduling.xml:
4366         * docs/pwg/advanced-types.xml:
4367         * plugins/elements/gstfdsink.c:
4368         * plugins/elements/gstfdsrc.c:
4369         * plugins/elements/gstfdsrc.h:
4370         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4371         * plugins/elements/gstidentity.h:
4372         * plugins/elements/gstqueue.h:
4373         * plugins/elements/gsttee.c:
4374         * plugins/elements/gsttee.h:
4375         * plugins/elements/gsttypefindelement.c:
4376         (gst_type_find_element_class_init):
4377         * plugins/elements/gsttypefindelement.h:
4378         Small updates to various docs.
4379         Added core plugins to docs.
4381 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4383         * common/gst.supp:
4384           add a suppression for liboil's uninitialized variable
4386 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4388         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4390         * gst/gstutils.h:
4391           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4392           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4393           compiler switch is being used (#325429).
4395 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4397         * gst/gstbin.c: (gst_bin_query):
4398           Disable duration query caching in bins until it gets
4399           fixed (see #324807).
4401 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4403         * tools/gst-inspect.c: (print_element_properties_info):
4404           Handle properties of POINTER and BOXED type.
4406 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4408         * gst/gst.c: (init_post):
4409           Init tags stuff and some other things before loading
4410           any static plugins (there may be other static plugins
4411           than just the GStreamer ones, and they may want to
4412           register their own tags or formats or whatever, and
4413           preferably without segfaulting).
4415         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4416           Print at least a warning in the debug logs if we drop a
4417           query just because we don't know how to adjust the value
4418           in the particular format.
4420 2005-12-24  David Schleef  <ds@schleef.org>
4422         * tools/gstreamer-completion:
4423           Replacement for gst-complete written in sh and sed.  Only
4424           completes names of features, but that's 90% of what I want
4425           it for.  Properties are not available in registry.xml.  (Maybe
4426           they should be...)
4428 === release 0.10.1 ===
4430 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4432         * configure.ac:
4433           releasing 0.10.1, "Nollaig chridheil"
4435 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4437         * docs/faq/cvs.xml:
4438           Add missing quote, should be make ERROR_CFLAGS="".
4440 2005-12-20  Wim Taymans  <wim@fluendo.com>
4442         * docs/design/part-trickmodes.txt:
4443         More documentation on trickmodes.
4445 2005-12-20  Edward Hervey  <edward@fluendo.com>
4447         * gst/gstcaps.c: (gst_static_caps_get_type):
4448         * gst/gstcaps.h:
4449           API addition: GST_TYPE_STATIC_CAPS
4450         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4451         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4452         * gst/gstpadtemplate.h:
4453           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4454         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4455         bindings.
4457 2005-12-18  Wim Taymans  <wim@fluendo.com>
4459         * libs/gst/base/gstadapter.c:
4460         * libs/gst/base/gstadapter.h:
4461         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4462         (gst_base_sink_get_position):
4463         * libs/gst/base/gstbasesink.h:
4464         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4465         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4466         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4467         (gst_base_src_send_event), (gst_base_src_update_length),
4468         (gst_base_src_get_range), (gst_base_src_loop),
4469         (gst_base_src_start):
4470         * libs/gst/base/gstbasesrc.h:
4471         * libs/gst/base/gstbasetransform.h:
4472         * libs/gst/base/gstcollectpads.h:
4473         * libs/gst/base/gstpushsrc.c:
4474         * libs/gst/base/gstpushsrc.h:
4475         * libs/gst/dataprotocol/dataprotocol.c:
4476         * libs/gst/dataprotocol/dataprotocol.h:
4477         * libs/gst/net/gstnetclientclock.h:
4478         * libs/gst/net/gstnettimeprovider.h:
4479         Documentation updates.
4481 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4483         * docs/manual/basics-helloworld.xml:
4484           Remove superfluous closing bracket in helloworld example.
4486 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4488         * tools/gst-launch.1.in:
4489           Update gst-launch man page; add a section with useful
4490           environment variables. Fixes #323882.
4492 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4494         * gst/gst.c:
4495         * gst/gst_private.h:
4496           change some char* into char[]
4498 2005-12-16  Wim Taymans  <wim@fluendo.com>
4500         * gst/gstregistryxml.c: (load_feature):
4501         Cleanups.
4502         Don't use g_object_unref on GstObjects so that we avoid
4503         leaks on unsafe glibs.
4505 2005-12-16  Wim Taymans  <wim@fluendo.com>
4507         * gst/gstbin.c: (gst_bin_recalc_state):
4508         Small doc updates.
4510 2005-12-16  Wim Taymans  <wim@fluendo.com>
4512         * common/check.mak:
4513         Added make forever target for check.
4515 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4517         * gst/gst.c: (init_post):
4518           make the registry cache file HOST_CPU-dependent
4520 2005-12-16  Andy Wingo  <wingo@pobox.com>
4522         * plugins/elements/gstbufferstore.c
4523         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4524         return value.
4526         * tests/check/gst/gstobject.c
4527         (test_fake_object_name_threaded_unique): Pay attention to
4528         g_list_sort return value.
4530 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4532         * tools/gst-feedback-m.m:
4533           Update for 0.9/0.10 (fixes #323870).
4535 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4537         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4538           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4539           
4540         * tests/check/gst/gstminiobject.c: (my_foo_init),
4541         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4542         (test_value_collection), (gst_mini_object_suite):
4543           Add test to ensure refcounts end up as expected when passing
4544           GstMiniObjects through g_object_get() and g_object_set().
4546 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4548         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4549         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4550         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4551         of collectpads. This version removes a lot of races without
4552         touching API/ABI. Yay !
4554 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4556         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4557           Don't allow activation of a srcpad in pull_range if it has no
4558           getrange function.
4559           Change some debug statements to be a little clearer
4561         * plugins/elements/gsttypefindelement.c:
4562         (gst_type_find_handle_src_query):
4563           Check that we have a peer before executing queries thereupon.
4565         * tests/examples/metadata/read-metadata.c: (message_loop):
4566           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4567           immediately return us any available message with 0 timeout.
4569 2005-12-12  Michael Smith  <msmith@fluendo.com>
4571         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4572           Don't unref factories after calling them.
4573         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4574         * plugins/elements/gsttypefindelement.c:
4575         (gst_type_find_element_chain):
4576           Free lists of factories after using them. Fixing typefinding memory
4577           leaks.
4579 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4581         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4582         (gst_plugin_feature_load):
4583           more meaningful debug output
4584         * configure.ac:
4585         * tests/Makefile.am:
4586         * tests/old/examples/Makefile.am:
4587           make make distcheck happy again
4589 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4591         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4592           Catch the special case where we are operating chain-based,
4593           but the downstream peer pad has no chain function. Emit a
4594           custom error message in this case instead of letting the
4595           core generate one implying that this is some sort of core
4596           bug. It's not, it just means that whatever got plugged
4597           into the pipeline downstream when we announced the type
4598           can only operate pull-based, while our source can only
4599           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4600           Error string has not been marked for translation yet, as
4601           it probably needs some more work first.
4603         (gst_type_find_element_get_best_possibility):
4604           Add helper function to find the best of all available
4605           found possibilities that qualify given the min. threshold.
4607         (gst_type_find_element_handle_event):
4608           Fix the case where we get an EOS while still in TYPEFIND
4609           mode (we want to chose the best of all possible types,
4610           not just the first type that happens to be in our unsorted
4611           list of possible types).
4613         (gst_type_find_element_chain):
4614           Make sure we return GST_FLOW_ERROR when we errored out
4615           in stop_typefinding(); also, don't just find the best of
4616           all found type entries and then use the last examined
4617           type entry, but actually use the best entry.
4619 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4621         * tests/examples/typefind/typefind.c: (type_found):
4622         * tests/examples/xml/runxml.c: (xml_loaded):
4623           More gcc4 fixes and a mem leak fix.
4625 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4627         * tests/examples/xml/createxml.c: (object_saved):
4628           gcc 4 fixes
4630 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4632         * tests/Makefile.am:
4633           enable the examples even more
4635 2005-12-12  Andy Wingo  <wingo@pobox.com>
4637         * libs/gst/net/gstnettimeprovider.c
4638         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4639         (gst_net_time_provider_set_property)
4640         (gst_net_time_provider_get_property):
4641         API addition: Export "active" as a GObject property.
4642         (gst_net_time_provider_thread): Only respond to time queries if
4643         the time provider is active.
4645         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4646         NetTimeProvider, preserving binary compat.
4648 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4650         * tests/examples/controller/audio-example.c: (main):
4651         * tests/examples/launch/Makefile.am:
4652           convert comments again
4654 2005-12-12  Wim Taymans  <wim@fluendo.com>
4656         * libs/gst/base/gstpushsrc.c:
4657         Fix typo.
4659 2005-12-12  Wim Taymans  <wim@fluendo.com>
4661         * docs/libs/gstreamer-libs-sections.txt:
4662         Added new symbol to docs.
4664         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4665         (gst_base_src_init), (gst_base_src_set_format),
4666         (gst_base_src_default_query), (gst_base_src_query),
4667         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4668         (gst_base_src_perform_seek), (gst_base_src_send_event),
4669         (gst_base_src_default_event), (gst_base_src_event_handler),
4670         (gst_base_src_set_property), (gst_base_src_get_property),
4671         (gst_base_src_wait), (gst_base_src_do_sync),
4672         (gst_base_src_update_length), (gst_base_src_get_range),
4673         (gst_base_src_check_get_range), (gst_base_src_loop),
4674         (gst_base_src_default_negotiate), (gst_base_src_start),
4675         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4676         (gst_base_src_change_state):
4677         * libs/gst/base/gstbasesrc.h:
4678         Implement seeking to other formats than _BYTES.
4679         Implement more seeking methods correctly.
4680         Doc updates.
4681         Added query vmethod.
4682         Added do_seek vmethod to make life easier for subclasses
4683         when seeking.
4684         API addition: gst_base_src_set_format()
4686 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4688         * tests/examples/Makefile.am:
4689           added that too
4691 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4693         * configure.ac:
4694         * docs/random/ensonic/media-device-daemon.txt:
4695         * tests/examples/controller/.cvsignore:
4696         * tests/examples/controller/Makefile.am:
4697         * tests/examples/controller/audio-example.c: (main):
4698         * tests/examples/helloworld/.cvsignore:
4699         * tests/examples/helloworld/Makefile.am:
4700         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4701         * tests/examples/launch/.cvsignore:
4702         * tests/examples/launch/Makefile.am:
4703         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4704         * tests/examples/metadata/.cvsignore:
4705         * tests/examples/metadata/Makefile.am:
4706         * tests/examples/metadata/read-metadata.c: (message_loop),
4707         (make_pipeline), (print_tag), (main):
4708         * tests/examples/queue/.cvsignore:
4709         * tests/examples/queue/Makefile.am:
4710         * tests/examples/queue/queue.c: (event_loop), (main):
4711         * tests/examples/typefind/.cvsignore:
4712         * tests/examples/typefind/Makefile.am:
4713         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4714         (main):
4715         * tests/examples/xml/.cvsignore:
4716         * tests/examples/xml/Makefile.am:
4717         * tests/examples/xml/createxml.c: (object_saved), (main):
4718         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4719         * tests/old/examples/Makefile.am:
4720         * tests/old/examples/TODO:
4721         * tests/old/examples/controller/.cvsignore:
4722         * tests/old/examples/controller/Makefile.am:
4723         * tests/old/examples/controller/audio-example.c:
4724         * tests/old/examples/helloworld/.cvsignore:
4725         * tests/old/examples/helloworld/Makefile.am:
4726         * tests/old/examples/helloworld/helloworld.c:
4727         * tests/old/examples/launch/.cvsignore:
4728         * tests/old/examples/launch/Makefile.am:
4729         * tests/old/examples/launch/mp3parselaunch.c:
4730         * tests/old/examples/launch/mp3play:
4731         * tests/old/examples/manual/Makefile.am:
4732         * tests/old/examples/metadata/Makefile.am:
4733         * tests/old/examples/metadata/read-metadata.c:
4734         * tests/old/examples/queue/.cvsignore:
4735         * tests/old/examples/queue/Makefile.am:
4736         * tests/old/examples/queue/queue.c:
4737         * tests/old/examples/typefind/.cvsignore:
4738         * tests/old/examples/typefind/Makefile.am:
4739         * tests/old/examples/typefind/typefind.c:
4740         * tests/old/examples/xml/.cvsignore:
4741         * tests/old/examples/xml/Makefile.am:
4742         * tests/old/examples/xml/createxml.c:
4743         * tests/old/examples/xml/runxml.c:
4744           applied some simple fixing to some examples
4745           re-enabled the working examples
4747 2005-12-12  Wim Taymans  <wim@fluendo.com>
4749         * gst/gstsegment.c: (gst_segment_init),
4750         (gst_segment_set_last_stop), (gst_segment_set_seek),
4751         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4752         (gst_segment_to_running_time):
4753         Added more documentation.
4754         Make sure the last_pos value is updated properly.
4755         Make sure to_stream_time and to_running_time don't
4756         operate on wrong values.
4758         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4759         Update check.
4761 2005-12-12  Michael Smith  <msmith@fluendo.com>
4763         * plugins/elements/gsttypefindelement.c: (free_entry),
4764         (gst_type_find_element_chain):
4765           Now that we're not leaking factories, make sure we keep references
4766           to them while we need them.
4768 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4770         * tests/check/gst/struct_i386.h:
4771           ifdef out the XML structs
4773 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4775         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4776           floor is not needed, F is always positive; this obviates the
4777           need for adding -lm when building without libxml
4779 2005-12-12  Wim Taymans  <wim@fluendo.com>
4781         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4782         Take current playback rate into account when reporting
4783         the position.
4785 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4787         * docs/manual/mime-world.fig:
4788           Let's try this again, this time with a file that is
4789           actually in XFig format.
4791 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4793         * docs/manual/mime-world.fig:
4794           Add audioconvert element to diagram so that it
4795           matches the text and the code (fixes #319526).
4797 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4799         * docs/pwg/building-chainfn.xml:
4800         * docs/pwg/building-pads.xml:
4801         * docs/pwg/building-state.xml:
4802         * docs/pwg/other-source.xml:
4803           Update state change stuff for 0.10 (fixes #322969).
4805 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4807         * docs/manual/advanced-dataaccess.xml:
4808         * docs/manual/appendix-checklist.xml:
4809         * docs/manual/appendix-programs.xml:
4810         * docs/manual/basics-pads.xml:
4811         * docs/manual/highlevel-components.xml:
4812         * docs/manual/manual.xml:
4813           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4814           add converters in front of pipelines; remove curly
4815           brackets for threads stuff, they no longer exist; use
4816           GST_TYPE_FRACTION for framerates; update some pieces of
4817           code to 0.10, but there's plenty more to do.
4819         * docs/manual/appendix-porting.xml:
4820           Expand on asynchroneous state changes; s/0.9/0.10/;
4821           mention disappearance of gst_init_get_popt_table()
4822           (fixes #322916).
4824 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4826         * docs/faq/using.xml:
4827           Spider no longer exists, and neither does gst-launch-ext.
4828           Update examples to use decodebin and playbin and put
4829           converters in front of sinks (fixes #323726).
4831 2005-12-09  Michael Smith  <msmith@fluendo.com>
4833         * plugins/elements/gsttypefindelement.c: (find_peek),
4834         (gst_type_find_element_chain):
4835           Fix leaking element factories in typefinding.
4836           Fix problem where we forgot about a probable type on non-seekable
4837           files, and thus later mis-typefound it.
4839 2005-12-09  Michael Smith  <msmith@fluendo.com>
4841         * common/m4/gst-makecontext.m4:
4842         * common/m4/gst-mcsc.m4:
4843         * configure.ac:
4844         * win32/common/config.h:
4845         * win32/common/config.h.in:
4846           Remove makecontext stuff; not used in 0.10 and causes problems on
4847           HPUX according to bug #322441
4849 2005-12-07  Wim Taymans  <wim@fluendo.com>
4851         * tests/check/Makefile.am:
4852         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4853         (main):
4854         * tests/check/libs/struct_i386.h:
4855         Added ABI check for libs
4857 2005-12-07  Wim Taymans  <wim@fluendo.com>
4859         * tests/check/Makefile.am:
4860         And add the struct_i386.h to dist.
4862 2005-12-07  Wim Taymans  <wim@fluendo.com>
4864         * tests/check/Makefile.am:
4865         * tests/check/gst/.cvsignore:
4866         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4867         (main):
4868         * tests/check/gst/struct_i386.h:
4869         Added check for ABI compatibility.
4871 2005-12-07  Wim Taymans  <wim@fluendo.com>
4873         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4874         (gst_fake_src_get_times), (gst_fake_src_create):
4875         Fix broken sync option, fixes #323259
4877 2005-12-07  Wim Taymans  <wim@fluendo.com>
4879         * gst/gstbuffer.c:
4880         Small docs update.
4882         * gst/gstcaps.c: (gst_caps_is_equal):
4883         Don't assert on NULL <--> X. Fixes #323260
4885         * gst/gstminiobject.c: (gst_mini_object_replace):
4886         If we're doing atomic operations, we might just as well use
4887         the proper way to get an atomic pointer.
4889         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4890         Clean up debugging.
4892 2005-12-07  Michael Smith  <msmith@fluendo.com>
4894         * gst/parse/grammar.y:
4895           Remove handling of { } for threads.
4897 2005-12-06  David Schleef  <ds@schleef.org>
4899         * libs/gst/base/gstbasetransform.c: speling fix.
4901 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4903         * docs/libs/tmpl/gstdataprotocol.sgml:
4904         * docs/random/omega/testing/gstobject.c:
4905         * gst/gst.c:
4906         * gst/gstclock.c:
4907         * gst/gstelement.c:
4908         * gst/gstelementfactory.c:
4909         * gst/gsterror.c:
4910         * gst/gstevent.c:
4911         * gst/gstghostpad.c:
4912         * gst/gstinfo.c:
4913         * gst/gstpadtemplate.c:
4914         * gst/gstregistryxml.c:
4915         * gst/gsttaglist.c:
4916         * gst/gsttagsetter.c:
4917         * gst/gsttypefind.c:
4918         * gst/gstvalue.c:
4919         * libs/gst/base/gstbasesrc.c:
4920         * libs/gst/net/gstnetclientclock.c:
4921         * libs/gst/net/gstnettimeprovider.c:
4922         * plugins/elements/gstfakesrc.c:
4923         * plugins/elements/gstfdsrc.c:
4924         * plugins/elements/gstfilesrc.c:
4925         * plugins/elements/gstidentity.c:
4926         * plugins/elements/gstqueue.c:
4927         * plugins/elements/gsttypefindelement.c:
4928         * plugins/indexers/gstfileindex.c:
4929         * plugins/indexers/gstmemindex.c:
4930         * tests/check/gst/gsttag.c:
4931         * tests/old/examples/cutter/cutter.c:
4932         * tests/old/examples/mixer/mixer.c:
4933         * tests/old/examples/xml/runxml.c: (main):
4934         * tests/old/testsuite/caps/normalisation.c:
4935         * tests/old/testsuite/debug/global.c:
4936         * tests/old/testsuite/parse/parse1.c:
4937         * tools/gst-xmlinspect.c:
4938         * win32/common/dirent.c:
4939           expand tabs
4941 === release 0.10.0 ===
4943 2005-12-05   <thomas (at) apestaart (dot) org>
4945         * configure.ac:
4946           releasing 0.10.0, "Maroilles"
4948 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4950         submitted by: Funda Wang <fundawang@linux.net.cn>
4952         * po/LINGUAS:
4953         * po/zh_CN.po:
4954           added Chinese (Traditional) translation
4956 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4958         * docs/gst/gstreamer-sections.txt:
4959         * docs/libs/tmpl/gstdataprotocol.sgml:
4960         * docs/random/thomasvs/TODO:
4961         * gst/gstutils.c:
4962         * gst/gstutils.h:
4963           fix docs
4965 2005-12-05  Andy Wingo  <wingo@pobox.com>
4967         patch by: Wim Taymans <wim@fluendo.com>
4969         * libs/gst/base/gstbasetransform.c
4970         (gst_base_transform_prepare_output_buf)
4971         (gst_base_transform_buffer_alloc):
4972         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4973         alloc_buffer_and_set_caps.
4975         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4976         set_caps on the source pad.
4977         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4978         alloc_buffer used to do. Fixes #322874.
4980         * docs/gst/gstreamer-sections.txt: 
4981         * docs/design/part-negotiation.txt: 
4982         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4983         changes.
4985 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4987         patch by: Sebastien Moutte
4989         * win32/MANIFEST:
4990         * win32/common/config.h.in:
4991         * win32/vs6/libgstcontroller.dsp:
4992           win32 build fixes
4994 2005-12-05  Wim Taymans  <wim@fluendo.com>
4996         * gst/gstcaps.c: (gst_caps_is_equal):
4997         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4998         (gst_fake_src_create):
4999         Back out previous code changes, leave doc updates, file bugs 
5000         instead. 
5002 2005-12-05  Wim Taymans  <wim@fluendo.com>
5004         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5005         (gst_fake_src_get_times), (gst_fake_src_create):
5006         * plugins/elements/gstfakesrc.h:
5007         Fix broken sync code.
5009 2005-12-05  Wim Taymans  <wim@fluendo.com>
5011         * gst/gstcaps.c: (gst_caps_is_equal):
5012         Comparing NULL against !NULL yields different caps, not a
5013         failure.
5015 2005-12-05  Wim Taymans  <wim@fluendo.com>
5017         * gst/gstpipeline.c:
5018         Fix small typo in docs.
5020 2005-12-05  Andy Wingo  <wingo@pobox.com>
5022         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5024         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5025         registries/plugins with a MAJORMINOR one.
5026         (plugin_desc): Rename library from gstcoreleements to
5027         staticelements. Fixes #323222.
5029 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5031         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5032           Change debug category to 'collectpads' from 'collect_pads'
5033           (fixes #323250).
5035 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5037         patch by: Sebastien Moutte
5039         * libs/gst/controller/gstinterpolation.c:
5040           use convert function for uint64/double
5041         * win32/vs6/libgstcontroller.dsp:
5042           link to GLib
5044 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5046         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5047         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5048         * gst/gstutils.h:
5049         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5050           add tests that seem to show that the guint64/gdouble conversions
5051           are correct.
5053 2005-12-02  Wim Taymans  <wim@fluendo.com>
5055         * gst/gstregistry.c: (gst_registry_add_path):
5056         * gst/gstregistry.h:
5057         * gst/gstregistryxml.c:
5058         Fix docs again.
5060 2005-12-02  Wim Taymans  <wim@fluendo.com>
5062         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5063         (gst_util_uint64_scale_int):
5064         Small cleanup.
5066         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5067         Add debug log line.
5069         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5070         Add FIXME.
5072 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5074         * win32/MANIFEST:
5075         * win32/common/config.h:
5076         * win32/vs6/gstreamer.dsw:
5077         * win32/vs6/libgstcoreelements.dsp:
5078         * win32/vs6/libgstelements.dsp:
5079           renamed core elements plugin
5081 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5083         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5084         (get_candidates):
5085           do piece-wise major/minor comparison so 0.9 < 0.10
5086           also allow .exe extensions for tools
5088 2005-12-02  Michael Smith  <msmith@fluendo.com>
5090         * gst/gst.c:
5091           Escape a % to make gtkdoc happier; bug 322958.
5093 === release 0.9.7 ===
5095 2005-12-01   <thomas (at) apestaart (dot) org>
5097         * configure.ac:
5098           releasing 0.9.7, "My Dog Has No Nose"
5100 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5102         * common/gst-xmlinspect.py:
5103         * configure.ac:
5104         * docs/libs/tmpl/gstdataprotocol.sgml:
5105         * docs/random/release:
5106         * po/af.po:
5107         * po/az.po:
5108         * po/bg.po:
5109         * po/ca.po:
5110         * po/cs.po:
5111         * po/de.po:
5112         * po/en_GB.po:
5113         * po/fr.po:
5114         * po/it.po:
5115         * po/nb.po:
5116         * po/nl.po:
5117         * po/ru.po:
5118         * po/sq.po:
5119         * po/sr.po:
5120         * po/sv.po:
5121         * po/tr.po:
5122         * po/uk.po:
5123         * po/vi.po:
5124         * win32/common/config.h:
5125         * win32/common/config.h.in:
5126         * win32/vs6/gst_inspect.dsp:
5127         * win32/vs6/gst_launch.dsp:
5128         * win32/vs6/libgstbase.dsp:
5129         * win32/vs6/libgstelements.dsp:
5130         * win32/vs6/libgstreamer.dsp:
5131         * win32/vs7/GStreamer.vcproj:
5132         * win32/vs7/gst-inspect.vcproj:
5133         * win32/vs7/gst-launch.vcproj:
5134         * win32/vs7/libgstbase.vcproj:
5135           bump GST_MAJORMINOR to 0.10
5136           reset libtool version
5138 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5140         * po/LINGUAS:
5141         * po/bg.po:
5142           Added Bulgarian translation by (Alexander Shopov)
5144 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5146         * tests/check/gst/gstplugin.c:
5147           fix test
5149 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5151         * common/gst-xmlinspect.py:
5152         * common/gtk-doc-plugins.mak:
5153         * configure.ac:
5154         * docs/Makefile.am:
5155         * docs/gst/Makefile.am:
5156         * docs/gst/gstreamer-docs.sgml:
5157         * docs/gst/gstreamer-sections.txt:
5158         * docs/gst/gstreamer.types:
5159         * docs/gst/gstreamer.types.in:
5160         * docs/plugins/Makefile.am:
5161         * docs/plugins/gstreamer-plugins-docs.sgml:
5162         * docs/plugins/gstreamer-plugins-sections.txt:
5163         * docs/plugins/gstreamer-plugins.types:
5164         * docs/plugins/inspect.stamp:
5165         * docs/plugins/inspect/plugin-coreelements.xml:
5166         * docs/plugins/inspect/plugin-coreindexers.xml:
5167         * docs/plugins/scanobj-build.stamp:
5168         * gstreamer.spec.in:
5169         * plugins/elements/Makefile.am:
5170         * plugins/elements/gstelements.c:
5171         * plugins/elements/gstfakesink.c:
5172         * plugins/elements/gstfakesrc.c:
5173         * plugins/elements/gstfilesink.c:
5174         * plugins/elements/gstfilesrc.c:
5175         * plugins/elements/gstqueue.c:
5176         * plugins/indexers/Makefile.am:
5177         * plugins/indexers/gstindexers.c:
5178           document core plugins in a separate document just like all the
5179           others
5180           rename these plugins to something starting with core
5182 2005-12-01  Andy Wingo  <wingo@pobox.com>
5184         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5185         padding here before, but it missed the commit.
5187 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5189         * libs/gst/controller/gstinterpolation.c:
5190           whitespace prices have crashed, we should feel free to use some now
5191           use gst_guint64_to_gdouble
5193 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5195         * libs/gst/controller/gstcontroller.c:
5196         * libs/gst/controller/gsthelper.c:
5197         * libs/gst/controller/gstinterpolation.c:
5198         * libs/gst/controller/lib.c:
5199           wrap config.h include
5201 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5203         * docs/gst/gstreamer-sections.txt:
5204           update docs
5206 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5208         * plugins/elements/gstelements.c:
5209         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5210         (gst_fd_sink__class_init), (gst_fd_sink__init),
5211         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5212         (gst_fd_sink__get_property):
5213         * plugins/elements/gstfdsink.h:
5214         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5215         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5216         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5217         (gst_fd_src_unlock), (gst_fd_src_set_property),
5218         (gst_fd_src_get_property), (gst_fd_src_create),
5219         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5220         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5221         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5222         (gst_fd_src_uri_handler_init):
5223         * plugins/elements/gstfdsrc.h:
5224         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5225           more anal cleanup
5227 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5229         * docs/gst/Makefile.am:
5230         * docs/gst/gstreamer.types.in:
5231         * gst/Makefile.am:
5232           fix the docs build
5234 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5236         * configure.ac:
5237         * gst/Makefile.am:
5238         * gst/gst.c:
5239         * gst/gstplugin.h:
5240         * gst/gstregistry.h:
5241         * tests/benchmarks/complexity.c:
5242         * tests/benchmarks/mass-elements.c:
5243         * tests/check/Makefile.am:
5244         * tools/Makefile.am:
5245         * tools/gst-inspect.c:
5246         * tools/gst-xmlinspect.c:
5247           various fixes to make
5248           --disable-nls --disable-registry --disable-loadsave
5249           --disable-parse --disable-gst-debug
5250           work and get the core .so down to 360444 bytes after stripping
5252 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5254         * Makefile.am:
5255         * configure.ac:
5256           descend into tests
5257         * docs/random/thomasvs/TODO:
5258         * tests/Makefile.am:
5259         * tests/README:
5260           add a README
5262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5264         * win32/GStreamer.vcproj:
5265         * win32/MANIFEST:
5266         * win32/Makefile:
5267         * win32/Makefile.inspect:
5268         * win32/Makefile.launch:
5269         * win32/Makefile.register:
5270         * win32/README.txt:
5271         * win32/gst-inspect.vcproj:
5272         * win32/gst-launch.vcproj:
5273         * win32/gst-register.vcproj:
5274         * win32/gstelements.vcproj:
5275         * win32/gstgetbits.def:
5276         * win32/gstgetbits.vcproj:
5277         * win32/gstreamer-dbg.def:
5278         * win32/gstreamer.def:
5279         * win32/libgstbase.def:
5280         * win32/libgstbase.vcproj:
5281         * win32/link_oldruntime.c:
5282         * win32/mman.c:
5283         * win32/mman.h:
5284         * win32/mman.inl:
5285         * win32/msvc71.sln:
5286           move even more stuff, win32/ is nice and clean now
5288 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5290         * libs/gst/control/.cvsignore:
5291         * win32/MANIFEST:
5292         * win32/config.h:
5293         * win32/dirent.c:
5294         * win32/dirent.h:
5295         * win32/gstbytestream.def:
5296         * win32/gstbytestream.vcproj:
5297         * win32/gstconfig.h:
5298         * win32/gstenumtypes.c:
5299         * win32/gstenumtypes.h:
5300         * win32/gstoptimalscheduler.vcproj:
5301         * win32/gstversion.h:
5302         * win32/gtchar.h:
5303         * win32/testsuite/bins.vcproj:
5304         * win32/testsuite/bytestream.vcproj:
5305         * win32/testsuite/caps.vcproj:
5306         * win32/testsuite/cleanup.vcproj:
5307         * win32/testsuite/clock.vcproj:
5308         * win32/testsuite/debug.vcproj:
5309         * win32/testsuite/dlopen.vcproj:
5310         * win32/testsuite/dynparams.vcproj:
5311         * win32/testsuite/elements.vcproj:
5312         * win32/testsuite/ghostpads.vcproj:
5313         * win32/testsuite/indexers.vcproj:
5314         * win32/testsuite/negotiation.vcproj:
5315         * win32/testsuite/parse.vcproj:
5316         * win32/testsuite/plugin.vcproj:
5317         * win32/testsuite/refcounting.vcproj:
5318         * win32/testsuite/schedulers.vcproj:
5319         * win32/testsuite/states.vcproj:
5320         * win32/testsuite/tags.vcproj:
5321         * win32/testsuite/threads.vcproj:
5322           remove old win32 stuff that isn't maintained and should be
5323           reorganized
5325 2005-11-30  Andy Wingo  <wingo@pobox.com>
5327         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5328         loading the gst.interfaces python module bork.
5330         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5331         available since GLib 2.2. Fixes #318031.
5333 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5335         * Makefile.am:
5336         * check/.cvsignore:
5337         * check/Makefile.am:
5338         * check/elements/.cvsignore:
5339         * check/elements/fakesrc.c:
5340         * check/elements/fdsrc.c:
5341         * check/elements/identity.c:
5342         * check/generic/.cvsignore:
5343         * check/generic/states.c:
5344         * check/gst-libs/.cvsignore:
5345         * check/gst-libs/controller.c:
5346         * check/gst-libs/gdp.c:
5347         * check/gst/.cvsignore:
5348         * check/gst/capslist.h:
5349         * check/gst/gst.c:
5350         * check/gst/gstbin.c:
5351         * check/gst/gstbuffer.c:
5352         * check/gst/gstbus.c:
5353         * check/gst/gstcaps.c:
5354         * check/gst/gstelement.c:
5355         * check/gst/gstevent.c:
5356         * check/gst/gstghostpad.c:
5357         * check/gst/gstiterator.c:
5358         * check/gst/gstmessage.c:
5359         * check/gst/gstminiobject.c:
5360         * check/gst/gstobject.c:
5361         * check/gst/gstpad.c:
5362         * check/gst/gstpipeline.c:
5363         * check/gst/gstplugin.c:
5364         * check/gst/gstsegment.c:
5365         * check/gst/gststructure.c:
5366         * check/gst/gstsystemclock.c:
5367         * check/gst/gsttag.c:
5368         * check/gst/gstutils.c:
5369         * check/gst/gstvalue.c:
5370         * check/net/.cvsignore:
5371         * check/net/gstnetclientclock.c:
5372         * check/net/gstnettimeprovider.c:
5373         * check/pipelines/.cvsignore:
5374         * check/pipelines/cleanup.c:
5375         * check/pipelines/simple_launch_lines.c:
5376         * check/pipelines/stress.c:
5377         * check/states/.cvsignore:
5378         * check/states/sinks.c:
5379         * configure.ac:
5380         * examples/Makefile.am:
5381         * examples/appreader/.cvsignore:
5382         * examples/appreader/Makefile.am:
5383         * examples/appreader/appreader.c:
5384         * examples/controller/.cvsignore:
5385         * examples/controller/Makefile.am:
5386         * examples/controller/audio-example.c:
5387         * examples/cutter/.cvsignore:
5388         * examples/cutter/Makefile.am:
5389         * examples/cutter/cutter.c:
5390         * examples/cutter/cutter.h:
5391         * examples/events/Makefile.am:
5392         * examples/events/seek.c:
5393         * examples/helloworld/.cvsignore:
5394         * examples/helloworld/Makefile.am:
5395         * examples/helloworld/helloworld.c:
5396         * examples/helloworld2/.cvsignore:
5397         * examples/helloworld2/Makefile.am:
5398         * examples/helloworld2/helloworld2.c:
5399         * examples/launch/.cvsignore:
5400         * examples/launch/Makefile.am:
5401         * examples/launch/mp3parselaunch.c:
5402         * examples/launch/mp3play:
5403         * examples/manual/.cvsignore:
5404         * examples/manual/Makefile.am:
5405         * examples/manual/extract.pl:
5406         * examples/metadata/Makefile.am:
5407         * examples/metadata/read-metadata.c:
5408         * examples/mixer/.cvsignore:
5409         * examples/mixer/Makefile.am:
5410         * examples/mixer/mixer.c:
5411         * examples/mixer/mixer.h:
5412         * examples/pingpong/.cvsignore:
5413         * examples/pingpong/Makefile.am:
5414         * examples/pingpong/pingpong.c:
5415         * examples/plugins/.cvsignore:
5416         * examples/plugins/Makefile.am:
5417         * examples/plugins/example.c:
5418         * examples/plugins/example.h:
5419         * examples/pwg/.cvsignore:
5420         * examples/pwg/Makefile.am:
5421         * examples/pwg/extract.pl:
5422         * examples/queue/.cvsignore:
5423         * examples/queue/Makefile.am:
5424         * examples/queue/queue.c:
5425         * examples/queue2/.cvsignore:
5426         * examples/queue2/Makefile.am:
5427         * examples/queue2/queue2.c:
5428         * examples/queue3/.cvsignore:
5429         * examples/queue3/Makefile.am:
5430         * examples/queue3/queue3.c:
5431         * examples/queue4/.cvsignore:
5432         * examples/queue4/Makefile.am:
5433         * examples/queue4/queue4.c:
5434         * examples/retag/.cvsignore:
5435         * examples/retag/Makefile.am:
5436         * examples/retag/retag.c:
5437         * examples/retag/transcode.c:
5438         * examples/thread/.cvsignore:
5439         * examples/thread/Makefile.am:
5440         * examples/thread/thread.c:
5441         * examples/typefind/.cvsignore:
5442         * examples/typefind/Makefile.am:
5443         * examples/typefind/typefind.c:
5444         * examples/xml/.cvsignore:
5445         * examples/xml/Makefile.am:
5446         * examples/xml/createxml.c:
5447         * examples/xml/runxml.c:
5448         * tests/Makefile.am:
5449         * tests/check/Makefile.am:
5450         * testsuite/.cvsignore:
5451         * testsuite/Makefile.am:
5452         * testsuite/Rules:
5453         * testsuite/caps/.cvsignore:
5454         * testsuite/caps/Makefile.am:
5455         * testsuite/caps/app_fixate.c:
5456         * testsuite/caps/audioscale.c:
5457         * testsuite/caps/caps.c:
5458         * testsuite/caps/caps.h:
5459         * testsuite/caps/caps_strings:
5460         * testsuite/caps/compatibility.c:
5461         * testsuite/caps/deserialize.c:
5462         * testsuite/caps/enumcaps.c:
5463         * testsuite/caps/eratosthenes.c:
5464         * testsuite/caps/filtercaps.c:
5465         * testsuite/caps/fixed.c:
5466         * testsuite/caps/fraction-convert.c:
5467         * testsuite/caps/fraction-multiply-and-zero.c:
5468         * testsuite/caps/intersect2.c:
5469         * testsuite/caps/intersection.c:
5470         * testsuite/caps/normalisation.c:
5471         * testsuite/caps/random.c:
5472         * testsuite/caps/renegotiate.c:
5473         * testsuite/caps/sets.c:
5474         * testsuite/caps/simplify.c:
5475         * testsuite/caps/string-conversions.c:
5476         * testsuite/caps/structure.c:
5477         * testsuite/caps/subtract.c:
5478         * testsuite/caps/union.c:
5479         * testsuite/debug/.cvsignore:
5480         * testsuite/debug/Makefile.am:
5481         * testsuite/debug/category.c:
5482         * testsuite/debug/commandline.c:
5483         * testsuite/debug/global.c:
5484         * testsuite/debug/output.c:
5485         * testsuite/debug/printf_extension.c:
5486         * testsuite/dlopen/.cvsignore:
5487         * testsuite/dlopen/Makefile.am:
5488         * testsuite/dlopen/dlopen_gst.c:
5489         * testsuite/dlopen/loadgst.c:
5490         * testsuite/elements/.cvsignore:
5491         * testsuite/elements/Makefile.am:
5492         * testsuite/elements/gst-inspect-check.in:
5493         * testsuite/elements/struct_i386.h:
5494         * testsuite/elements/struct_size.c:
5495         * testsuite/indexers/.cvsignore:
5496         * testsuite/indexers/Makefile.am:
5497         * testsuite/indexers/cache1.c:
5498         * testsuite/indexers/indexdump.c:
5499         * testsuite/parse/.cvsignore:
5500         * testsuite/parse/Makefile.am:
5501         * testsuite/parse/parse1.c:
5502         * testsuite/parse/parse2.c:
5503         * testsuite/plugin/.cvsignore:
5504         * testsuite/plugin/Makefile.am:
5505         * testsuite/plugin/README:
5506         * testsuite/plugin/dynamic.c:
5507         * testsuite/plugin/linked.c:
5508         * testsuite/plugin/loading.c:
5509         * testsuite/plugin/registry.c:
5510         * testsuite/plugin/static.c:
5511         * testsuite/plugin/static2.c:
5512         * testsuite/plugin/testplugin.c:
5513         * testsuite/plugin/testplugin2.c:
5514         * testsuite/plugin/testplugin2_s.c:
5515         * testsuite/plugin/testplugin_s.c:
5516         * testsuite/refcounting/.cvsignore:
5517         * testsuite/refcounting/Makefile.am:
5518         * testsuite/refcounting/bin.c:
5519         * testsuite/refcounting/element.c:
5520         * testsuite/refcounting/element_pad.c:
5521         * testsuite/refcounting/mainloop.c:
5522         * testsuite/refcounting/mem.c:
5523         * testsuite/refcounting/mem.h:
5524         * testsuite/refcounting/object.c:
5525         * testsuite/refcounting/pad.c:
5526         * testsuite/refcounting/sched.c:
5527         * testsuite/refcounting/thread.c:
5528         * testsuite/states/.cvsignore:
5529         * testsuite/states/Makefile.am:
5530         * testsuite/states/bin.c:
5531         * testsuite/states/locked.c:
5532         * testsuite/states/parent.c:
5533         * testsuite/threads/.cvsignore:
5534         * testsuite/threads/159566.c:
5535         * testsuite/threads/159852.c:
5536         * testsuite/threads/Makefile.am:
5537         * testsuite/threads/queue.c:
5538         * testsuite/threads/signals.c:
5539         * testsuite/threads/staticrec.c:
5540         * testsuite/threads/thread.c:
5541         * testsuite/threads/threadb.c:
5542         * testsuite/threads/threadc.c:
5543         * testsuite/threads/threadd.c:
5544         * testsuite/threads/threade.c:
5545         * testsuite/threads/threadf.c:
5546         * testsuite/threads/threadg.c:
5547         * testsuite/threads/threadh.c:
5548         * testsuite/threads/threadi.c:
5549           move all of these under tests
5551 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5553         * configure.ac:
5554         * tests/Makefile.am:
5555           fix distcheck
5557 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5559         * docs/gst/gstreamer-sections.txt:
5560         * tests/sched/.cvsignore:
5561         * tests/sched/Makefile.am:
5562         * tests/sched/cases/(fs-fs).xml:
5563         * tests/sched/cases/(fs-i-fs).xml:
5564         * tests/sched/cases/(fs-i-i-fs).xml:
5565         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5566         * tests/sched/dynamic-pipeline.c:
5567         * tests/sched/interrupt1.c:
5568         * tests/sched/interrupt2.c:
5569         * tests/sched/interrupt3.c:
5570         * tests/sched/runtestcases:
5571         * tests/sched/runxml.c:
5572         * tests/sched/sched-stress.c:
5573         * tests/sched/sort.c:
5574         * tests/sched/testcases:
5575         * tests/sched/testcases1.tc:
5576         * tests/seeking/.cvsignore:
5577         * tests/seeking/Makefile.am:
5578         * tests/seeking/seeking1.c:
5579         * tests/threadstate/.cvsignore:
5580         * tests/threadstate/Makefile.am:
5581         * tests/threadstate/test1.c:
5582         * tests/threadstate/test2.c:
5583         * tests/threadstate/threadstate1.c:
5584         * tests/threadstate/threadstate2.c:
5585         * tests/threadstate/threadstate3.c:
5586         * tests/threadstate/threadstate4.c:
5587         * tests/threadstate/threadstate5.c:
5588           remove obsolete tests
5589         * configure.ac:
5590         * tests/bench-complexity.scm:
5591         * tests/bench-mass_elements.scm:
5592         * tests/complexity.c:
5593         * tests/complexity.gnuplot:
5594         * tests/instantiate/.cvsignore:
5595         * tests/instantiate/Makefile.am:
5596         * tests/instantiate/caps.c:
5597         * tests/mass_elements.c:
5598         * tests/network-clock-utils.scm:
5599         * tests/network-clock.scm:
5600         * tests/plot-data:
5601         First pass at cleaning up tests/ dir before moving the rest
5602         Combined with CVS surgery
5604 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5606         * po/POTFILES.in:
5607           queue has moved, update
5609 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5611         * docs/gst/gstreamer-sections.txt:
5612           remove double entries from the docs
5613         * gst/gst_private.h:
5614         * gst/gstinfo.c: (_gst_debug_init):
5615           remove the THREAD debug category
5616         * gst/Makefile.am:
5617         * gst/gstqueue.c:
5618         * gst/gstqueue.h:
5619         * docs/gst/gstreamer.types:
5620         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5621         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5622           completely move queue and fix up debugging categories
5624 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5626         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5627           make initialization portable, using LL is not
5629 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5631         * win32/common/gstconfig.h:
5632           add large padding
5634 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5636         * win32/common/libgstreamer.def:
5637           rename symbols; sort base section
5639 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5641         * gst/gstclock.c: (do_linear_regression):
5642           remove crack non-portable handrolled DEBUG macro
5644 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5646         * docs/random/release:
5647           update notes
5648         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5649         (gst_object_flags_get_type), (register_gst_bin_flags),
5650         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5651         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5652         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5653         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5654         (gst_caps_flags_get_type), (register_gst_clock_return),
5655         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5656         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5657         (gst_clock_flags_get_type), (register_gst_state),
5658         (gst_state_get_type), (register_gst_state_change_return),
5659         (gst_state_change_return_get_type), (register_gst_state_change),
5660         (gst_state_change_get_type), (register_gst_element_flags),
5661         (gst_element_flags_get_type), (register_gst_core_error),
5662         (gst_core_error_get_type), (register_gst_library_error),
5663         (gst_library_error_get_type), (register_gst_resource_error),
5664         (gst_resource_error_get_type), (register_gst_stream_error),
5665         (gst_stream_error_get_type), (register_gst_event_type_flags),
5666         (gst_event_type_flags_get_type), (register_gst_event_type),
5667         (gst_event_type_get_type), (register_gst_seek_type),
5668         (gst_seek_type_get_type), (register_gst_seek_flags),
5669         (gst_seek_flags_get_type), (register_gst_format),
5670         (gst_format_get_type), (register_gst_index_certainty),
5671         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5672         (gst_index_entry_type_get_type),
5673         (register_gst_index_lookup_method),
5674         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5675         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5676         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5677         (gst_index_flags_get_type), (register_gst_debug_level),
5678         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5679         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5680         (gst_iterator_result_get_type), (register_gst_iterator_item),
5681         (gst_iterator_item_get_type), (register_gst_message_type),
5682         (gst_message_type_get_type), (register_gst_mini_object_flags),
5683         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5684         (gst_pad_link_return_get_type), (register_gst_flow_return),
5685         (gst_flow_return_get_type), (register_gst_activate_mode),
5686         (gst_activate_mode_get_type), (register_gst_pad_direction),
5687         (gst_pad_direction_get_type), (register_gst_pad_flags),
5688         (gst_pad_flags_get_type), (register_gst_pad_presence),
5689         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5690         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5691         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5692         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5693         (gst_plugin_flags_get_type), (register_gst_rank),
5694         (gst_rank_get_type), (register_gst_query_type),
5695         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5696         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5697         (gst_tag_flag_get_type), (register_gst_task_state),
5698         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5699         (gst_alloc_trace_flags_get_type),
5700         (register_gst_type_find_probability),
5701         (gst_type_find_probability_get_type), (register_gst_uri_type),
5702         (gst_uri_type_get_type), (register_gst_parse_error),
5703         (gst_parse_error_get_type):
5704         * win32/common/gstenumtypes.h:
5705         * win32/common/gstversion.h:
5706           update visual studio generated files
5708 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5710         * win32/vs6/libgstbase.dsp:
5711         * win32/vs6/libgstelements.dsp:
5712           update project files for new locations
5714 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5716         * Makefile.am:
5717           remove some files
5718         * README:
5719           reinstate and update
5720         * DEVEL:
5721         * REQUIREMENTS:
5722           removed
5723         * LICENSE:
5724         * docs/random/LICENSE:
5725           moved to random
5727 2005-11-30  Edward Hervey  <edward@fluendo.com>
5729         * gst/gsttypefind.c: (gst_type_find_register):
5730         * gst/gsttypefind.h:
5731         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5732         (gst_type_find_factory_dispose):
5733         * gst/gsttypefindfactory.h:
5734         Fix memory leak in GstTypeFindFactory.
5736 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5738         * gst/gst.c:
5739         * plugins/elements/Makefile.am:
5740         * plugins/elements/gstelements.c:
5741         * plugins/elements/gstqueue.c:
5742           move queue from core to the elements plugin
5744 2005-11-29  Andy Wingo  <wingo@pobox.com>
5746         * libs/gst/base/gstbasetransform.h: 
5747         * libs/gst/base/gstbasesrc.h: 
5748         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5750         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5751         of pointers by which to pad very extensible base classes (like the
5752         ones in libs/gst/base).
5754 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5756         * docs/gst/gstreamer-docs.sgml:
5757         * docs/gst/gstreamer-sections.txt:
5758         * docs/libs/gstreamer-libs-docs.sgml:
5759         * docs/libs/gstreamer-libs-sections.txt:
5760           moving documentation from core to lib
5762 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5764         * check/Makefile.am:
5765         * configure.ac:
5766         * docs/gst/Makefile.am:
5767         * gst/Makefile.am:
5768         * gst/base/.cvsignore:
5769         * gst/base/Makefile.am:
5770         * gst/base/README:
5771         * gst/base/gstadapter.c:
5772         * gst/base/gstadapter.h:
5773         * gst/base/gstbasesink.c:
5774         * gst/base/gstbasesink.h:
5775         * gst/base/gstbasesrc.c:
5776         * gst/base/gstbasesrc.h:
5777         * gst/base/gstbasetransform.c:
5778         * gst/base/gstbasetransform.h:
5779         * gst/base/gstcollectpads.c:
5780         * gst/base/gstcollectpads.h:
5781         * gst/base/gstpushsrc.c:
5782         * gst/base/gstpushsrc.h:
5783         * gst/base/gsttypefindhelper.c:
5784         * gst/base/gsttypefindhelper.h:
5785         * gst/check/Makefile.am:
5786         * gst/check/gstcheck.c:
5787         * gst/check/gstcheck.h:
5788         * gst/net/Makefile.am:
5789         * gst/net/gstnet.h:
5790         * gst/net/gstnetclientclock.c:
5791         * gst/net/gstnetclientclock.h:
5792         * gst/net/gstnettimepacket.c:
5793         * gst/net/gstnettimepacket.h:
5794         * gst/net/gstnettimeprovider.c:
5795         * gst/net/gstnettimeprovider.h:
5796         * libs/gst/Makefile.am:
5797         * libs/gst/base/Makefile.am:
5798         * libs/gst/base/gstbasetransform.c:
5799         * libs/gst/check/Makefile.am:
5800         * plugins/elements/Makefile.am:
5801         * po/POTFILES.in:
5802           CVS surgery + support to move base, check, and net out of gst
5803           and into libs/gst
5805 2005-11-29  Andy Wingo  <wingo@pobox.com>
5807         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5809         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5810         padding.
5812         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5814         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5816         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5818         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5819         padding; reduces object size by about 30%. We don't expect
5820         anything else to go into gstobject.
5822         * gst/gstminiobject.h (struct _GstMiniObject)
5823         (struct _GstMiniObjectClass): Only one pointer of padding; the
5824         payload is only a pointer and two ints anyway. For the class there
5825         are only two methods as well.
5826         
5827         * gst/gstelement.h (struct _GstElementClass): Removed
5828         the state_changed signal callback, it is not used.
5830 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5832         * docs/gst/gstreamer.types:
5833           fix includes, though they are a little dinky
5835 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5837         * check/Makefile.am:
5838           look in the right place for elements, a lot more chance of
5839           success
5840         * gst/Makefile.am:
5841           remove indexers and elements subdirs
5842         * plugins/Makefile.am:
5843           make indexers conditional
5845 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5847         * Makefile.am:
5848         * configure.ac:
5849         * plugins/elements/Makefile.am:
5850         * plugins/elements/gstcapsfilter.c:
5851         * plugins/elements/gstfilesink.c:
5852         * plugins/elements/gstfilesrc.c:
5853         * plugins/elements/gstidentity.c:
5854         * plugins/indexers/Makefile.am:
5855           do CVS surgery and related build fixery to move elements
5856           and indexers in a new gstreamer/plugins directory, out of the
5857           gst/ directory
5859 2005-11-29  Andy Wingo  <wingo@pobox.com>
5861         * check/Makefile.am:
5862         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5863         * pkgconfig/gstreamer-net.pc.in:
5864         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5865         #322257.
5867 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5869         * tools/Makefile.am:
5870         * tools/gst-complete.1.in:
5871         * tools/gst-complete.c:
5872         * tools/gst-compprep.1.in:
5873         * tools/gst-compprep.c:
5874           removing -compprep and -complete
5876 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5878         * gst/gstevent.c: (gst_event_new_new_segment),
5879         (gst_event_parse_new_segment):
5880         * gst/gstevent.h:
5881           fix #320529 - clean up new_segment API and structure.
5882           Let's hope everyone was using the methods, and not the structure.
5884 2005-11-29  Edward Hervey  <edward@fluendo.com>
5886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5887         (gst_base_sink_event), (gst_base_sink_do_sync),
5888         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5889         Properly handle non GST_FORMAT_TIME segment
5890         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5891         Properly handle non GST_FORMAT_TIME segment
5892         * gst/gstsegment.c:
5893         This function is valid if the accumulator is 0 and the format
5894         is different from the requested format.
5895         
5896 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5898         * docs/gst/gstreamer-sections.txt:
5899         Add gst_query_new_seeking and gst_query_parse_seeking to the
5900         docs.
5902 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5904         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5905           Treat a pad alloc with new caps the same as if we were not
5906           negotiated, in order to allow a changing upstream output
5907           to produce a new format of data.
5909 2005-11-29  Edward Hervey  <edward@fluendo.com>
5911         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5912         (gst_base_transform_event), (gst_base_transform_eventfunc):
5913         The event virtual method is now properly implemented, with a default
5914         handler
5915         Sub classes should call the parent_class event method. They should
5916         return FALSE if they had a problem handling the given event, or don't
5917         want GstBaseTransform to send that even downstream
5918         * gst/elements/gstidentity.c: (gst_identity_class_init),
5919         (gst_identity_init), (gst_identity_event),
5920         (gst_identity_transform_ip), (gst_identity_set_property),
5921         (gst_identity_get_property):
5922         * gst/elements/gstidentity.h:
5923         Added the single-segment boolean property.
5924         If set to TRUE, it will output a single segment of data, starting from
5925         0, will eat up all incoming newsegment, and modify the timestamp of the
5926         buffers accordingly
5928 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5930         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5931           Don't ref NULL target pad (#322751). Improve docs.
5933 2005-11-29  Michael Smith  <msmith@fluendo.com>
5935         * gst/gstregistryxml.c: (load_plugin):
5936           Don't crash if we failed to load a feature from a plugin. 
5938 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5940         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5941         (GST_START_TEST):
5942           use more check API and less GLib API
5944 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5946         * Makefile.am:
5947           don't run checks if we don't have check
5948         * common/check.mak:
5949           remove the registry when running make torture
5950         * docs/gst/gstreamer-sections.txt:
5951           remove second multiply
5952         * gst/gstqueue.c: (gst_queue_loop):
5953           fix a compile warning when disabling debug
5955 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5957         * gst/gstinfo.h:
5958         Hey! Let's print the pad name if the pointer != NULL instead
5959         of when it == NULL :-)
5961 2005-11-28  Wim Taymans  <wim@fluendo.com>
5963         * check/gst/gstutils.c: (GST_START_TEST):
5964         Updated check, add some scaling accuracy checking code.
5966         * gst/gstutils.c: (gst_util_div128_64),
5967         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5968         (gst_util_uint64_scale_int):
5969         Fix 6 times faster division code. Optimize for common 
5970         1/1 and less common X/1 cases.
5972 2005-11-28  Wim Taymans  <wim@fluendo.com>
5974         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5975         More checks.
5977         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5978         (do_linear_regression), (gst_clock_add_observation):
5979         Cleanups.
5980         Release lock when the clock cannot be slaved.
5981         Catch the case where the regression returned an invalid denominator.
5983         * gst/gstutils.c: (gst_util_div128_64_iterate),
5984         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5985         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5986         Add protentially more performant non-iterative 128/64 divide function
5987         that unfortunatly does not work yet.
5988         Shortcut the trivial 0/X = 0 case.
5989         Remove the warnings on overflow.
5991 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5993         * gst/gstplugin.c: (gst_plugin_register_func):
5994           everything causing a plugin not to load should be at least a WARNING
5996 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5998         * docs/random/ensonic/dparams.txt:
5999           some TODOs for the next dev cycle
6000         * libs/gst/controller/gstcontroller.c:
6001         (gst_controlled_property_set_interpolation_mode),
6002         (gst_controlled_property_new):
6003         * libs/gst/controller/gstcontroller.h:
6004           use base type to assign acccessor functions
6006 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6008         * check/Makefile.am:
6009         Oops, that should have been top_srcdir
6011 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6013         * check/Makefile.am:
6014         * check/elements/fdsrc.c: (GST_START_TEST):
6015         Use a cmdline define to specify the location of a file to use for
6016         testing, to avoid breaking distcheck.
6018 2005-11-28  Andy Wingo  <wingo@pobox.com>
6020         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6022 2005-11-28  Edward Hervey  <edward@fluendo.com>
6024         * tools/gst-launch.c: (main):
6025         Clarify the output strings, makes it easier to translate.
6026         Fixes #322626
6028 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6030         * gst/Makefile.am:
6031           don't try and build net if we don't even have <sys/socket.h>
6033 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6035         * check/Makefile.am:
6036         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6037         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6038           Add tests for fdsrc seekability
6040         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6041         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6042         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6043         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6044         * gst/elements/gstfdsrc.h:
6045           fdsrc should not be a 'live' source.
6046           Implement seeking on seekable fd's.
6048         * gst/gstquery.c: (gst_query_new_seeking),
6049         (gst_query_parse_seeking):
6050         * gst/gstquery.h:
6051           Implement SEEKING query functions: 
6052             *_new_seeking and *_parse_seeking
6054 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6056         * gst/gstelement.c: (gst_element_dispose):
6057           don't loop forever
6059         * gst/gstiterator.c:
6060         * gst/gststructure.c:
6061           doc fixes
6063         * libs/gst/controller/gstcontroller.c:
6064         (gst_controlled_property_set_interpolation_mode):
6065         * libs/gst/controller/gstcontroller.h:
6066         * libs/gst/controller/gstinterpolation.c:
6067         (interpolate_none_get_enum_value_array):
6068           support controlling enums
6070 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6072         * gst/gstvalue.c:
6073           Improve documentation for gst_value_union().
6075         * gst/gstvalue.h:
6076           Change return value for union, intersect and subtract functions
6077           from gint to gboolean.
6079 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6081         * gst/gstvalue.c: (gst_value_serialize_any_list),
6082         (gst_value_transform_any_list_string),
6083         (gst_value_deserialize_list), (gst_value_deserialize_array),
6084         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6085         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6086         (gst_value_set_fraction_range_full),
6087         (gst_value_deserialize_fraction_range),
6088         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6089         (gst_value_deserialize_boolean),
6090         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6091         (gst_value_serialize_float), (gst_value_deserialize_float),
6092         (gst_string_wrap), (gst_value_deserialize_string),
6093         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6094         (gst_value_union_int_range_int_range),
6095         (gst_value_intersect_int_range_int_range),
6096         (gst_value_intersect_double_range_double_range),
6097         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6098         (gst_value_subtract_int_range_int_range),
6099         (gst_value_subtract_double_double_range),
6100         (gst_value_subtract_double_range_double_range),
6101         (gst_value_deserialize_fraction):
6102         * gst/gstvalue.h:
6103           Use gint, gdouble and gchar in our API instead of int, double and
6104           char (and make usage in gstvalue.c more consistent).
6106 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6108         * check/Makefile.am:
6109         * libs/gst/controller/Makefile.am:
6110         * libs/gst/dataprotocol/Makefile.am:
6111           fix up Makefile.am and remove GST_ENABLE_NEW
6113 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6115         * configure.ac:
6116         * gst/Makefile.am:
6117         * gst/base/Makefile.am:
6118         * gst/check/Makefile.am:
6119         * gst/elements/Makefile.am:
6120         * gst/net/Makefile.am:
6121           update LDFLAGS use some more
6123 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6125         * common/m4/gst-doc.m4:
6126           Fixes #312589
6128 2005-11-26  Edward Hervey  <edward@fluendo.com>
6130         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6131         This shouldn't issue a g_warning since it returns NULL if it
6132         couldn't find the plugin, and all functions using this behave
6133         properly on a NULL return. Switching to a GST_WARNING.
6135 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6137         * gst/gstbin.c: (gst_bin_handle_message_func):
6138         Don't leak clock messages.
6140 2005-11-25  Wim Taymans  <wim@fluendo.com>
6142         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6143         (gst_util_uint64_scale_int):
6144         Optimisations, remove unneeded vars.
6146 2005-11-25  Wim Taymans  <wim@fluendo.com>
6148         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6149         Added more checks for the high precision uint64 cases.
6151         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6152         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6153         Implement high precision (guint64 * guint64) / guint64.
6155 2005-11-24  Wim Taymans  <wim@fluendo.com>
6157         * gst/base/gstbasesrc.c: (gst_base_src_query):
6158         Fix wrong percentage query.
6160         * gst/gstutils.c: (gst_util_uint64_scale),
6161         (gst_util_uint64_scale_int):
6162         Add some more common cases that can be handled 
6163         efficiently to _scale.
6165 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6167         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6168         (gst_mini_object_suite):
6169           don't use check calls from threads; check probably isn't
6170           threadsafe and using a lock to make it threadsafe would
6171           defeat the purpose of this check
6172         * gst/check/gstcheck.c:
6173         * gst/check/gstcheck.h:
6174           use GST_DEBUG some more
6176 2005-11-24  Wim Taymans  <wim@fluendo.com>
6178         * gst/gstutils.c: (gst_util_uint64_scale),
6179         (gst_util_uint64_scale_int):
6180         Chain trivial case to _scale_int.
6182 2005-11-24  Wim Taymans  <wim@fluendo.com>
6184         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6185         Added test for scaling.
6187         * gst/gstclock.h:
6188         Small doc fix.
6190         * gst/gstutils.c: (gst_util_uint64_scale_int):
6191         Implemented high precision scaling code.
6193 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6195         * gst/gstinfo.h:
6196           do not crash on pad==NULL
6198 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6200         Patch by: Stefan Kost
6202         * common/gtk-doc.mak:
6203         * docs/gst/Makefile.am:
6204         * docs/libs/Makefile.am:
6205           Fix distcheck issues for the libraries docs build
6206           Closes #319599.
6208 2005-11-24  Michael Smith <msmith@fluendo.com>
6210         * docs/manual/basics-helloworld.xml:
6211           Fix bug #315027: memory leak in example code in docs.
6213 2005-11-24  Michael Smith <msmith@fluendo.com>
6215         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6216           Unlock the PREROLL_LOCK in a failure case.
6218 2005-11-24  Wim Taymans  <wim@fluendo.com>
6220         * docs/gst/gstreamer-sections.txt:
6221         * gst/base/gstadapter.h:
6222         * gst/base/gstbasesink.h:
6223         * gst/base/gstbasesrc.h:
6224         * gst/base/gstbasetransform.h:
6225         * gst/base/gstpushsrc.h:
6226         * gst/elements/gstfakesink.h:
6227         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6228         * gst/elements/gstfakesrc.h:
6229         * gst/elements/gstfilesink.h:
6230         * gst/elements/gstfilesrc.h:
6231         * gst/gst.c:
6232         * gst/gstbin.c:
6233         * gst/gstbuffer.c: (_gst_buffer_copy):
6234         * gst/gstbus.h:
6235         * gst/gstcaps.c:
6236         * gst/gstchildproxy.c:
6237         * gst/gstclock.c:
6238         * gst/gstelement.c:
6239         * gst/gstelementfactory.c:
6240         * gst/gstelementfactory.h:
6241         * gst/gstevent.c:
6242         * gst/gstghostpad.h:
6243         * gst/gstindex.h:
6244         * gst/gstinterface.h:
6245         * gst/gstminiobject.c:
6246         * gst/gstminiobject.h:
6247         * gst/gstpad.c:
6248         * gst/gstpad.h:
6249         * gst/gstpadtemplate.h:
6250         * gst/gstpipeline.h:
6251         * gst/gstpluginfeature.h:
6252         * gst/gstquery.h:
6253         * gst/gstqueue.h:
6254         * gst/gsttaglist.c:
6255         * gst/gsttaglist.h:
6256         * gst/gsttagsetter.c:
6257         * gst/gsttagsetter.h:
6258         * gst/gsttrace.c:
6259         * gst/gsttrace.h:
6260         * gst/gsttypefind.h:
6261         * gst/gsturi.h:
6262         * gst/gstvalue.c:
6263         * gst/net/gstnetclientclock.c:
6264         * gst/net/gstnetclientclock.h:
6265         * gst/net/gstnettimepacket.c:
6266         * gst/net/gstnettimeprovider.c:
6267         * gst/net/gstnettimeprovider.h:
6268         Doc fixes.
6270 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6272         * configure.ac: back to HEAD
6274 === release 0.9.6 ===
6276 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6278         * configure.ac:
6279           releasing 0.9.6, "Always On Time"
6281 2005-11-23  Wim Taymans  <wim@fluendo.com>
6283         * docs/gst/gstreamer-sections.txt:
6284         * gst/glib-compat.c:
6285         * gst/gsttagsetter.c:
6286         * gst/gstvalue.c:
6287         * gst/net/gstnetclientclock.c:
6288         * gst/net/gstnettimepacket.h:
6289         Doc updates.
6291 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6293         * docs/faq/using.xml:
6294         * docs/libs/tmpl/gstcontrol.sgml:
6295         * docs/manual/advanced-dparams.xml:
6296         * docs/manual/appendix-checklist.xml:
6297         * docs/manual/basics-elements.xml:
6298         * docs/pwg/other-source.xml:
6299         * docs/random/moving-plugins:
6300         * gst/gstpad.c:
6301         * tools/gst-launch.1.in:
6302           remove mentions of sinesrc
6304 2005-11-23  Michael Smith <msmith@fluendo.com>
6306         * docs/gst/gstreamer-sections.txt:
6307           Update for new API and API changes.
6308         * gst/gstobject.h:
6309           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6310         * gst/gstvalue.c:
6311           Documentation typo fix.
6312         * gst/net/gstnettimepacket.c:
6313           Documentation fixes for arguments.
6315 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6317         * gst/gststructure.c: (gst_structure_get_fraction),
6318         (gst_structure_parse_value),
6319         (gst_structure_fixate_field_nearest_fraction):
6320         * gst/gststructure.h:
6321         * gst/gstutils.c: (gst_util_uint64_scale_int):
6322         * gst/gstutils.h:
6323         * scripts/update-funcnames:
6324         API Changes. 
6325         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6326         Make gst_structure_fixate_field_nearest_fraction take a numerator
6327         and denominator argument instead of a GValue
6328         add gst_structure_get_fraction helper function.
6330 2005-11-23  Wim Taymans  <wim@fluendo.com>
6332         * docs/design/part-TODO.txt:
6333         Update TODO.
6335         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6336         * gst/net/gstnetclientclock.h:
6337         Use parent fields for timeout and window_size.
6339 2005-11-23  Andy Wingo  <wingo@pobox.com>
6341         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6342         rate_num/rate_denom change.
6344         * gst/net/gstnetclientclock.c
6345         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6346         OBJECT_LOCK. Don't call add_observation with the lock.
6348         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6349         fraction.
6350         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6351         rate fraction.
6352         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6353         deal with rate as a fraction whose numerator and denominator are
6354         GstClockTime values.
6355         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6356         master; the other fields are protected by the SLAVE_LOCK.
6357         (do_linear_regression): Note that this must be called with the
6358         SLAVE_LOCK.
6359         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6360         OBJECT_LOCK. Call set_calibration instead of touching the
6361         variables directly.
6362         (gst_clock_set_property, gst_clock_get_property): Protect
6363         master/slave parameters with the SLAVE_LOCK.
6365         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6366         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6367         note that all of the instance variables that add_observation and
6368         the set_master functions use are protected by that lock and not
6369         the OBJECT_LOCK.
6370         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6372         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6373         the caller to take the object lock.
6375 2005-11-23  Wim Taymans  <wim@fluendo.com>
6377         * gst/gsterror.c: (_gst_core_errors_init):
6378         * gst/gsterror.h:
6379         Add error for clock stuff.
6381         * gst/gstpipeline.c: (gst_pipeline_change_state),
6382         (gst_pipeline_set_clock):
6383         Post clock error when clock cannot be used in a pipeline.
6385 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6387         * docs/gst/gstreamer-sections.txt:
6388           make two symbols from gstinfo private for the docs
6389         * gst/base/gstcollectpads.h:
6390         * gst/gstutils.c:
6391           fix doc typos, update docs
6393 2005-11-22  Wim Taymans  <wim@fluendo.com>
6395         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6396         (gst_base_sink_wait), (gst_base_sink_do_sync),
6397         (gst_base_sink_handle_event):
6398         * gst/base/gstbasesink.h:
6399         No need to store the clock, the parent element class already
6400         has it.
6402         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6403         Updates for clock_set returning a gboolean
6405         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6406         (gst_clock_id_wait_async), (gst_clock_class_init),
6407         (gst_clock_init), (gst_clock_finalize),
6408         (gst_clock_get_internal_time), (gst_clock_get_time),
6409         (gst_clock_slave_callback), (gst_clock_set_master),
6410         (gst_clock_get_master), (do_linear_regression),
6411         (gst_clock_add_observation), (gst_clock_set_property),
6412         (gst_clock_get_property):
6413         * gst/gstclock.h:
6414         Implement master/slave. When setting a clock as a slave, a
6415         periodic timeout is scheduled to sample master and slave times.
6416         Then the slave clock is recalibrated to match offset and rate
6417         of the master clock.
6418         Update logging a bit.
6419         Add flag so that a clock can state that is cannot be slaved to
6420         another clock.
6422         * gst/gstelement.c: (gst_element_set_clock):
6423         * gst/gstelement.h:
6424         The set clock returns a gboolean for when an element cannot
6425         deal with the selected clock in the pipeline. 
6427         * gst/gstpipeline.c: (gst_pipeline_change_state),
6428         (gst_pipeline_set_clock):
6429         * gst/gstpipeline.h:
6430         Handle the case where the selected clock cannot be set on
6431         the pipeline.
6433         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6434         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6435         (gst_net_client_clock_set_property),
6436         (gst_net_client_clock_get_property),
6437         (gst_net_client_clock_observe_times):
6438         * gst/net/gstnetclientclock.h:
6439         Use regression code in GstClock parent, remove duplicated
6440         functionality.
6442 2005-11-22  Michael Smith <msmith@fluendo.com>
6444         * gst/gstutils.c: (gst_util_clock_time_scale):
6445         * gst/gstutils.h:
6446         * docs/gst/gstreamer-sections.txt:
6447           Rename method to have extra underscore.
6449 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6451         * gst/elements/Makefile.am:
6452         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6453         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6454         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6455         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6456         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6457         * gst/elements/gstfakesrc.h:
6458         * gst/gstqueue.c: (queue_leaky_get_type):
6459           correctly fix GEnumValues so that nick is the short lowercase
6460           dashed tag
6461         * tools/gst-inspect.c: (print_element_properties_info):
6462           also show the nick, since it's useful to use from parse_launch
6463           syntax
6464           Fixes #322139
6466 2005-11-22  Michael Smith <msmith@fluendo.com>
6468         * gst/gstutils.c: (gst_util_clocktime_scale):
6469         * gst/gstutils.h:
6470         * docs/gst/gstreamer-sections.txt:
6471           Add util method for scaling a clocktime by a fraction. Useful 
6472           implementation is left as an exercise for the reader.
6474 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6476         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6477         If needed, allocate storage in the destination value during
6478         collection.
6480 2005-11-22  Edward Hervey  <edward@fluendo.com>
6482         * docs/gst/gstreamer-sections.txt:
6483         * gst/Makefile.am:
6484         * gst/gst.h:
6485         * gst/gsturitype.c:
6486         * gst/gsturitype.h:
6487         * gst/gstutils.c: (gst_util_set_object_arg):
6488         * tools/gst-compprep.c: (main):
6489         * tools/gst-inspect.c: (print_element_properties_info):
6490         Removed GstURI, closes bug #321061
6492 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6494         * check/gst/gststructure.c: (GST_START_TEST):
6495         * gst/gststructure.c: (gst_structure_parse_value):
6496           Oops, broke automatic string type parsing.
6497           Add a test to catch it in future.
6499 2005-11-22  Andy Wingo  <wingo@pobox.com>
6501         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6502         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6503         Actually rename the function implementations. Grr.
6505 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6507         * check/gst/capslist.h:
6508           Comment test cases
6509         * check/gst/gststructure.c: (GST_START_TEST),
6510         (gst_structure_suite):
6511           Test automatic value type detection in gst_structure_from_string.
6512         * gst/gststructure.c: (gst_structure_parse_value):
6513           Add fraction as a type we try and guess automatically in
6514           caps/structure strings.
6516 2005-11-22  Andy Wingo  <wingo@pobox.com>
6518         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6520         * gst/gsttagsetter.h:
6521         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6522         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6523         (gst_tag_setter_add_tag_valist)
6524         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6525         _add_values, _add_valist, and _add_valist_values. Since this is an
6526         interface the function suffixes should be more explicit so
6527         language binding don't end up with element.add_valist ->
6528         gst_tag_setter_add_valist, for example. Fixes #322069.
6530 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6532         * check/gst/gstcaps.c: (GST_START_TEST):
6533           Extend caps string tests to check that a caps to string
6534           conversion is reversible and produces the same caps.
6536         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6537           Output "fraction" as the generic type fraction range, so caps
6538           serialisation and deserialisation works.
6539         * check/gst/capslist.h:
6540         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6541           Support 'MIN' and 'MAX' for deserialising fractions.
6543 2005-11-22  Andy Wingo  <wingo@pobox.com>
6545         * gst/gstevent.h (gst_event_new_new_segment)
6546         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6547         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6548         Renamed from *_newsegment, *_buffersize, *_notarget.
6550         * scripts/update-funcnames: New script, performs the changes
6551         listed above.
6553 2005-11-22  Wim Taymans  <wim@fluendo.com>
6555         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6556         Make sure the GstFlowReturn is returned.
6558         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6559         (gst_bus_add_signal_watch):
6560         * gst/gstbus.h:
6561         add gst_bus_add_signal_watch_full.
6563         * gst/gstplugin.c: (gst_plugin_load_file):
6564         Small style cleanup.
6566 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6568         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6569           Block the fakesrc srcpad when we send an event, to avoid
6570           contention on the stream_lock causing random test failures.
6572 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6574         * check/gst/gstvalue.c: (GST_START_TEST):
6575         * gst/gstvalue.c: (gst_value_fraction_subtract):
6576           Fix subtraction.
6578 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6580         * gst/gst.h:
6581           include "gstchildproxy.h"
6582         * gst/gstchildproxy.h:
6583         * libs/gst/controller/gstcontroller.h:
6584           use G_GNUC_NULL_TERMINATED
6586 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6588         * check/gst/capslist.h:
6589         * check/gst/gstcaps.c: (GST_START_TEST):
6590         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6591         * gst/gststructure.c: (gst_structure_parse_range),
6592         (gst_structure_fixate_field_nearest_fraction):
6593         * gst/gststructure.h:
6594         * gst/gstvalue.c: (gst_value_init_fraction_range),
6595         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6596         (gst_value_collect_fraction_range),
6597         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6598         (gst_value_set_fraction_range_full),
6599         (gst_value_get_fraction_range_min),
6600         (gst_value_get_fraction_range_max),
6601         (gst_value_serialize_fraction_range),
6602         (gst_value_transform_fraction_range_string),
6603         (gst_value_compare_fraction_range),
6604         (gst_value_deserialize_fraction_range),
6605         (gst_value_intersect_fraction_fraction_range),
6606         (gst_value_intersect_fraction_range_fraction_range),
6607         (gst_value_subtract_fraction_fraction_range),
6608         (gst_value_subtract_fraction_range_fraction),
6609         (gst_value_subtract_fraction_range_fraction_range),
6610         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6611         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6612         (gst_value_transform_string_fraction), (_gst_value_initialize):
6613         * gst/gstvalue.h:
6614           Implement fraction ranges and extend GstFraction to support
6615           arithmetic subtraction, as well as deserialization from integer
6616           strings such as "100"
6617           Add a testsuite as for int and double range set operations
6619 2005-11-21  Andy Wingo  <wingo@pobox.com>
6621         * gst/gsttaglist.h: 
6622         * gst/gstcaps.h: 
6623         * gst/gststructure.h: Add glib-compat.h.
6625 2005-11-21  Wim Taymans  <wim@fluendo.com>
6627         * gst/gstbin.c: (gst_bin_change_state_func):
6628         Fix for #321595
6630 2005-11-21  Wim Taymans  <wim@fluendo.com>
6632         * gst/gstsegment.h:
6633         And add a nice define too.
6635 2005-11-21  Wim Taymans  <wim@fluendo.com>
6637         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6638         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6639         (gst_segment_set_duration), (gst_segment_set_last_stop),
6640         (gst_segment_set_seek), (gst_segment_set_newsegment),
6641         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6642         (gst_segment_clip):
6643         * gst/gstsegment.h:
6644         Make binding friendly.
6646 2005-11-21  Andy Wingo  <wingo@pobox.com>
6648         * gst/gsttagsetter.h: 
6649         * gst/gsttaglist.h: 
6650         * gst/gststructure.h: 
6651         * gst/gstcaps.h: 
6652         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6653         #319940.
6655         * gst/gsterror.c (_gst_core_errors_init):
6656         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6657         category.
6659         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6660         (noinst_HEADERS): noinst the -private.
6662 2005-11-21  Michael Smith <msmith@fluendo.com>
6664         * gst/gstplugin.h:
6665         * gst/gstregistry.h:
6666           Remove unimplemented declarations for which we can see no sensible
6667           use.
6669 2005-11-21  Andy Wingo  <wingo@pobox.com>
6671         * gst/gst.h: Include glib-compat.h.
6673         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6675         * gst/glib-compat.c: Include the public and the private header.
6677         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6679         * gst/gstvalue.c: 
6680         * gst/gstpad.c: 
6681         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6683         * check/gst/gstevent.c (create_custom_events): Check that
6684         FLUSH_STOP is serialized.
6686         * check/elements/identity.c (event_func): 
6687         * check/elements/fakesrc.c (event_func): No stream lock, the core
6688         takes it.
6690         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6691         stream lock taking, yay.
6693         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6694         ensure that core takes the stream lock.
6696         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6697         lock name change.
6699         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6700         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6701         it already. For the flush start we do take it though so we get the
6702         right preroll state change messages.
6704         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6705         the stream lock here, the core does it for us.
6707         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6708         GST_STREAM_GET_LOCK.
6709         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6710         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6711         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6712         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6713         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6714         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6716         * gst/gstpad.c: Update for stream lock name change.
6718         * gst/base/gstbasesink.c: Update for preroll lock name change.
6720 2005-11-21  Wim Taymans  <wim@fluendo.com>
6722         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6723         (gst_clock_get_master):
6724         * gst/gstclock.h:
6725         * gst/gstsystemclock.c: (gst_system_clock_init):
6726         Convert Clock flags to object flags.
6727         Added methods to manage master/slave clocks.
6729 2005-11-21  Wim Taymans  <wim@fluendo.com>
6731         * check/gst/gstsegment.c: (GST_START_TEST):
6732         * docs/design/part-TODO.txt:
6733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6734         (gst_base_sink_event), (gst_base_sink_do_sync),
6735         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6736         (gst_base_sink_query), (gst_base_sink_change_state):
6737         * gst/base/gstbasesink.h:
6738         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6739         (gst_base_src_default_newsegment),
6740         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6741         (gst_base_src_get_range), (gst_base_src_loop),
6742         (gst_base_src_change_state):
6743         * gst/base/gstbasesrc.h:
6744         * gst/base/gstbasetransform.c:
6745         (gst_base_transform_prepare_output_buf),
6746         (gst_base_transform_event), (gst_base_transform_change_state):
6747         * gst/base/gstbasetransform.h:
6748         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6749         (gst_collect_pads_event):
6750         * gst/base/gstcollectpads.h:
6751         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6752         (gst_fake_src_create):
6753         * gst/elements/gstfakesrc.h:
6754         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6755         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6756         (gst_segment_set_last_stop), (gst_segment_set_seek),
6757         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6758         (gst_segment_to_running_time), (gst_segment_clip):
6759         * gst/gstsegment.h:
6760         More segment updates, replace code in plugins with segment
6761         helper functions.
6763 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6765         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6766         Don't ignore sscanf results
6768 2005-11-21  Andy Wingo  <wingo@pobox.com>
6770         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6772         * *.h:
6773         * *.c: Ran scripts/update-macros. Oh yes.
6775         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6776         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6777         GST_GET_LOCK, etc.
6779         * scripts/update-macros: New script. Run it on your files to
6780         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6781         well.
6783 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6785         * docs/gst/Makefile.am:
6786         * docs/gst/gstreamer-docs.sgml:
6787         * docs/gst/gstreamer-sections.txt:
6788         * docs/gst/gstreamer.types:
6789         * gst/gstinfo.h:
6790           more docs fixes, add new api to the docs
6792 2005-11-21  Andy Wingo  <wingo@pobox.com>
6794         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6795         state_broadcast call.
6797         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6799 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6801         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6802         function calls for arrays.
6804 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6806         * docs/random/ensonic/media-device-daemon.txt:
6807           wild idea, can this be done?
6808         * docs/gst/gstreamer-sections.txt:
6809         * gst/gsterror.h:
6810         * gst/gstfilter.c:
6811         * gst/gstfilter.h:
6812         * gst/gstplugin.h:
6813         * gst/gstpluginfeature.c:
6814         * gst/gsttrace.c:
6815         * gst/gstvalue.c:
6816         * gst/gstvalue.h:
6817           doc fixes and additions
6819 2005-11-21  Andy Wingo  <wingo@pobox.com>
6821         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6822         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6823         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6824         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6825         private to the basesrc implementation.
6827         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6828         behalf of event function if necessary. It should no longer be
6829         necessary to take the stream lock in pad's event functions. Fixes
6830         #320299.
6832 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6833         * docs/gst/gstreamer-sections.txt:
6834         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6835         (gst_structure_fixate_field_nearest_double),
6836         (gst_structure_fixate_field_boolean):
6837         * gst/gststructure.h:
6838         * win32/common/libgstreamer.def:
6839         * win32/gstreamer.def:
6841         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6842         (#322027)
6844 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6846         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6847         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6848         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6849         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6850         (gst_fdsrc_uri_handler_init):
6851         * gst/elements/gstfdsrc.h:
6852           Port fd:// URI handler from 0.8 to fdsrc
6854 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6856         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6857         (gst_value_serialize_fourcc):
6858         * gst/gstvalue.h:
6859           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6860           consistent with our other format defines (#320324).
6862 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6864         * gst/gstvalue.c: (gst_value_is_fixed):
6865           Revert previous commit. Value lists are by definition
6866           not fixed, as they are a list of possible values.
6868 2005-11-21  Andy Wingo  <wingo@pobox.com>
6870         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6871         during the stable series if we need it. Fixes #319178.
6873         * gst/gstevent.c (gst_event_new_filler): Removed.
6875         * check/gst/gstevent.c: Update comment about filler events.
6877 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6879         * gst/gstvalue.c: (gst_value_is_fixed):
6880           Should handle both value arrays and value lists.
6882 2005-11-21  Andy Wingo  <wingo@pobox.com>
6884         patch by: Alessandro Dessina <alessandro nnva org>
6886         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6887         functions to access arrays. Fixes #321962.
6889 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6891         * docs/gst/gstreamer.types:
6892           gst_collectpads_get_type => gst_collect_pads_get_type.
6893           
6894         * gst/base/gstbasetransform.c:
6895           Remove unused SIGNAL_HANDOFF enum.
6897 2005-11-21  Andy Wingo  <wingo@pobox.com>
6899         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6900         the event type (upstream, downstream, serialized). Renamed
6901         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6902         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6903         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6905         * gst/gstevent.c: Update for new CUSTOM event names.
6907         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6909         * gst/gstevent.h:
6910         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6911         bug #319392.
6913 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6915         * docs/gst/gstreamer-sections.txt:
6916         * win32/common/libgstbase.def:
6917         * win32/libgstbase.def:
6918         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6919         (gst_collect_pads_class_init), (gst_collect_pads_init),
6920         (gst_collect_pads_finalize), (gst_collect_pads_new),
6921         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6922         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6923         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6924         (gst_collect_pads_start), (gst_collect_pads_stop),
6925         (gst_collect_pads_peek), (gst_collect_pads_pop),
6926         (gst_collect_pads_available), (gst_collect_pads_read),
6927         (gst_collect_pads_flush), (gst_collect_pads_event),
6928         (gst_collect_pads_chain):
6929         * gst/base/gstcollectpads.h:
6930           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6931           unimplemented functions as unimplemented. Add padding to
6932           GstCollectData. (#320766, #320423)
6934 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6936         * gst/gstmessage.c:
6937           Improve docs for DURATION message (usage of duration parameter)
6938           (#320113)
6940 2005-11-20  Wim Taymans  <wim@fluendo.com>
6942         * check/Makefile.am:
6943         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6944         (main):
6945         * gst/Makefile.am:
6946         * gst/gst.h:
6947         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6948         (gst_segment_set_seek), (gst_segment_set_newsegment),
6949         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6950         (gst_segment_clip):
6951         * gst/gstsegment.h:
6952         Added segment helper structure and methods. Not fully implemented
6953         yet.
6954         Added segment check.
6956 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6958         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6959           Add a deserialisation test for fractions
6960         * examples/metadata/read-metadata.c: (message_loop),
6961         (make_pipeline), (main):
6962           Fix up metadata reading sample.
6963         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6964           Debug format fix
6965         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6966           Don't try and fixate empty caps
6967         * gst/gst_private.h:
6968           Wrap in G_BEGIN_DECLS/G_END_DECLS
6969         * gst/gstvalue.c: (gst_value_collect_fraction),
6970         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6971         (gst_value_transform_string_fraction),
6972         (gst_value_compare_fraction):
6973           Add some extra guards to ensure that we don't end up 
6974           with an invalid denominator of 0 in a gstfraction and
6975           that fractions always get reduced.
6977 2005-11-20  Wim Taymans  <wim@fluendo.com>
6979         * docs/gst/gstreamer-sections.txt:
6980         * gst/gstbuffer.h:
6981         * gst/gstelement.c:
6982         * gst/gstformat.c:
6983         * gst/gstformat.h:
6984         * gst/gstindex.h:
6985         * gst/gstquery.c:
6986         * gst/gstquery.h:
6987         * gst/gstvalue.c:
6988         Doc fixes.
6990 2005-11-20  Wim Taymans  <wim@fluendo.com>
6992         * docs/design/part-TODO.txt:
6993         * gst/gstcaps.h:
6994         Make a proper enum of the flag.
6996 2005-11-19  Wim Taymans  <wim@fluendo.com>
6998         * docs/design/part-TODO.txt:
6999         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7000         (gst_format_to_quark), (gst_format_register):
7001         * gst/gstformat.h:
7002         * gst/gstquery.c: (_gst_query_initialize),
7003         (gst_query_type_get_name), (gst_query_type_to_quark),
7004         (gst_query_type_register):
7005         * gst/gstquery.h:
7006         Add type to quark and type to string conversions.
7008 2005-11-19  Andy Wingo  <wingo@pobox.com>
7010         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7011         #320097.
7013 2005-11-19  Wim Taymans  <wim@fluendo.com>
7015         * docs/design/part-TODO.txt:
7016         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7017         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7018         (gst_bin_handle_message_func):
7019         * gst/gstbin.h:
7020         Make message handling overridable.
7022 2005-11-19  Andy Wingo  <wingo@pobox.com>
7024         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7026         * gst/gstclock.h:
7027         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7028         be a GstClockTime.
7029         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7030         is a GstClockTime. Fixes #321710.
7032         * gst/gstclock.h (GstClock): Remove offset property. Add
7033         internal_calibration and external_calibration. Fix padding. Pad
7034         also by GstClockTime so we don't run into problems.
7036         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7037         (gst_clock_get_rate_offset): Remove.
7038         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7040         * gst/gstutils.h:
7041         * gst/gstutils.c (g_static_rec_cond_wait)
7042         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7044         * gst/gstbin.c: Remove terrible continue_state prototype.
7046         * gst/gstelement.h (gst_element_continue_state): Make public.
7048         * gst/gstelement.h:
7049         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7050         by continue_state. Fixes #319389.
7052         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7053         Really fixes #168438. However I don't see anywhere where the
7054         filter function is called... stupid GStreamer...
7055         
7056         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7057         don't have a dispose function, so it won't get called when the
7058         object is unreffed, but oh well!
7060         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7061         allows a destroy function to be set so user_data can be freed.
7062         Fixes #168438.
7063         (gst_index_set_filter): Call gst_index_set_filter_full.
7065         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7067         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7068         string should produce an error, given the lack of a way to
7069         represent NULL strings. Fixes #165650.
7070         
7071         * gst/gstvalue.h: 
7072         * gst/gstvalue.c (gst_value_array_append_value) 
7073         (gst_value_array_prepend_value, gst_value_array_get_size) 
7074         (gst_value_array_get_value): New API, copied from
7075         gst_value_list_*, only operates on arrays.
7076         (gst_value_list_append_value, gst_value_list_prepend_value) 
7077         (gst_value_list_concat, gst_value_list_get_size) 
7078         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7080         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7081         init_list, because it works on both.
7082         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7083         (gst_value_copy_list_or_array): Renamed from copy_list.
7084         (gst_value_free_list_or_array): Renamed from free_list.
7085         (gst_value_collect_list_or_array): Renamed from collect_list.
7086         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7087         (gst_value_list_or_array_peek_pointer): Renamed from
7088         list_peek_pointer.
7089         (_gst_value_array_value_table, _gst_value_list_value_table):
7090         Update value table functions.
7091         (gst_value_compare_list_or_array): Renamed from compare_list.
7093         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7094         some constness.
7096         * gst/gsttaglist.c:
7097         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7098         GstTagList*. Fixes #143472.
7100         * gst/gststructure.h: Clarify what the foreach/map functions can
7101         or can't do to their arguments.
7103 2005-11-18  Wim Taymans  <wim@fluendo.com>
7105         * gst/gstclock.c: (gst_clock_set_calibration),
7106         (gst_clock_get_calibration):
7107         Doc and API fixes.
7108         Calibration can be set with internal time equal to current
7109         internal time too.
7111 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7113         * gst/gsterror.c:
7114         * gst/gsterror.h:
7115           document
7117 2005-11-18  Andy Wingo  <wingo@pobox.com>
7119         * configure.ac: 
7120         * pkgconfig/gstreamer-net.pc.in:
7121         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7122         * pkgconfig/Makefile.am: Add net pkgconfig files.
7124 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7126         * gst/gstcaps.c:
7127         * gst/gstghostpad.c:
7128         * gst/gsttrace.c:
7129         * gst/gstvalue.c:
7130         * gst/gstvalue.h:
7131           docs fixes
7133 2005-11-18  Andy Wingo  <wingo@pobox.com>
7135         * gst/net/gstnetclientclock.c: Turn off debugging.
7137         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7138         times connverge somewhat. Can't make a real test.
7140         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7141         integer arithmetic. Return the minimum of the domain, which can be
7142         set as "internal" for gst_clock_set_calibration.
7143         (gst_net_client_clock_observe_times): Call _set_calibration.
7144         (gst_net_client_clock_new): Call _set_calibration instead of
7145         rate_offset.
7147         * check/net/gstnetclientclock.c (test_functioning): Use the right
7148         adjustment api.
7150         * gst/gstclock.h:
7151         * gst/gstclock.c (gst_clock_get_calibration) 
7152         (gst_clock_set_calibration): New functions, obsolete the ones I
7153         added yesterday. Doh. Precision issues mean we have to extrapolate
7154         from a point in the more recent past than 1970.
7155         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7156         obsolete.
7157         (gst_clock_adjust_unlocked): Use the right calibration data.
7159 2005-11-18  Edward Hervey  <edward@fluendo.com>
7161         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7162         Also reset the ->current_* values in READY->PAUSED
7164 2005-11-18  Andy Wingo  <wingo@pobox.com>
7166         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7167         Whoops, check the right fd. Also add some debugging.
7168         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7169         (do_linear_regression): Add a crapload of debugging. Subtract off
7170         the minimum values from the input series to discard unneeded bits.
7171         Use only int arithmetic. There is still double arithmetic when
7172         calculating the intercept that needs fixing. Return boolean to
7173         indicate success; FALSE would mean the domain or range is too
7174         great. Still needs fixes.
7176 2005-11-18  Wim Taymans  <wim@fluendo.com>
7178         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7179         For the current position in stream time, we need to subtract
7180         accumulated time.
7181         
7182         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7183         Release lock before calling the callback function of async
7184         entries.
7186 2005-11-18  Andy Wingo  <wingo@pobox.com>
7188         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7189         Port goes all the way to MAXUINT16.
7191         * gst/net/gstnettimeprovider.c: Make the port range the same as
7192         for the kernel: 0 assigns, otherwise ports are less than
7193         MAXUINT16.
7195         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7196         port change.
7198         * check/net/gstnetclientclock.c (test_functioning): Add the start
7199         of another test. 
7201 2005-11-18  Wim Taymans  <wim@fluendo.com>
7203         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7204         (gst_bin_remove_func), (bin_bus_handler):
7205         * gst/gstbin.h:
7206         Removing a clock provider from a bin, triggers a clock lost message
7207         so that a new clock will be selected.
7208         Adding a clock to a bin triggers a clock provider message.
7209         Make sure we reselect a clock when we received a clock lost message.
7210         Keep a reference to the element that provided the clock.
7212 2005-11-18  Andy Wingo  <wingo@pobox.com>
7214         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7215         the clock initially so it produces values around the base time.
7216         (gst_net_client_clock_class_init): Typo fix.
7217         (gst_net_client_clock_thread): Add note on when the socket gets
7218         closed.
7220 2005-11-17  Wim Taymans  <wim@fluendo.com>
7222         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7223         Free remote and local time arrays.
7225 2005-11-17  Wim Taymans  <wim@fluendo.com>
7227         * gst/net/gstnetclientclock.c: (do_linear_regression),
7228         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7229         Fix compilation, uninitialized vars and a forgotten continue.
7231 2005-11-17  Andy Wingo  <wingo@pobox.com>
7233         * check/Makefile.am (check_PROGRAMS): 
7234         * check/net/gstnetclientclock.c: Add a most minimal test for the
7235         net client clock. More to come later.
7237         * gst/net/gstnet.h: 
7238         * gst/net/Makefile.am: Add netclientclock.
7240         * gst/net/gstnetclientclock.h:
7241         * gst/net/gstnetclientclock.c: New files, implement an untested
7242         GstClock that takes its time from a network time provider.
7243         Implements the algorithm in network-clock.scm.
7245         * tests/network-clock.scm (*window-size*): Rename from
7246         *queue-length*.
7247         * tests/network-clock.scm (network-time): 
7248         * tests/network-clock-utils.scm (q-push): Update callers.
7250 2005-11-17  Wim Taymans  <wim@fluendo.com>
7252         * gst/gstbin.c: (gst_bin_provide_clock_func),
7253         (gst_bin_sort_iterator_new):
7254         And unref the child too..
7256 2005-11-17  Wim Taymans  <wim@fluendo.com>
7258         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7259         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7260         Refactor the sort iterator so it can be used while holding the
7261         LOCK too.
7262         Make clock selection select a clock closest to the source.
7264 2005-11-17  Michael Smith <msmith@fluendo.com>
7266         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7267         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7268         * gst/gstclock.h:
7269           Anonymous structs are a gcc (and some other compilers) extension, so
7270           don't use them. Since this is only for ABI-compatibility, and our
7271           API/ABI freeze is over in a few days, this whole thing will only
7272           last a few days, so don't bother trying to think up a meaningful
7273           name for the struct.
7275 2005-11-17  Andy Wingo  <wingo@pobox.com>
7277         * gst/gstclock.h (GstClock): Add rate and offset properties,
7278         preserving ABI stability. Add rate/offset accessors. Will file bug
7279         for the freeze break.
7281         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7282         and offset, trying to keep precision and avoiding
7283         underflow/overflow.
7284         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7285         functions. Make gst_clock_set_time_adjust obsolete.
7286         (gst_clock_set_time_adjust): Note that this function is obsolete.
7287         Will file bug soon.
7289         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7290         greppable by using GST_PADDING-1+1.
7292 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7294         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7296         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7297           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7299         * gst/gstpadtemplate.h:
7300         * gst/gstpluginfeature.h:
7301           Don't use c++ style comments in headers (#321638).
7303 2005-11-16  Andy Wingo  <wingo@pobox.com>
7305         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7306         buffer.
7308         * check/net/gstnettimeprovider.c: Check to see that the time
7309         provider actually provides times. Works, yo!
7311 2005-11-16  Wim Taymans  <wim@fluendo.com>
7313         * check/Makefile.am:
7314         Enable more tests.
7316         * check/elements/fakesrc.c: (GST_START_TEST):
7317         Set element to NULL before disposing it.
7319 2005-11-16  Andy Wingo  <wingo@pobox.com>
7321         * gst/net/Makefile.am:
7322         * gst/net/gstnet.h:
7323         * gst/net/gstnettimeprovider.c: 
7324         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7325         provider, include it from gstnet.h, and add it to the build.
7327         * gst/net/gstnettimepacket.h: 
7328         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7329         sending and receiving.
7331 2005-11-16  Wim Taymans  <wim@fluendo.com>
7333         * check/Makefile.am:
7334         Enable valgrind check.
7336         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7337         (gst_fake_src_alloc_buffer):
7338         Fix memleak.
7340 2005-11-16  Wim Taymans  <wim@fluendo.com>
7342         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7343         Call parent finalize too.
7345 2005-11-16  Wim Taymans  <wim@fluendo.com>
7347         * check/Makefile.am:
7348         Enable valgrind check that should work fine now.
7350         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7351         * gst/gstqueue.c: (gst_queue_init):
7352         Fix memleaks in pad allocation.
7354 2005-11-16  Andy Wingo  <wingo@pobox.com>
7356         * gst/net/Makefile.am:
7357         * gst/net/gstnet.h: New part of core to hold network elements and
7358         objects. Put in core because it exposes API that applications want
7359         to use. The library is named libgstnet-tempname right now because
7360         of the existing libgstnet in gst-plugins-base. Solution is
7361         probably to rename the one in plugins-base; will file a bug for
7362         the freeze break.
7364         * gst/net/gstnettimeprovider.c: 
7365         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7366         get_time call over the network.
7368         * configure.ac: 
7369         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7371         * check/Makefile.am:
7372         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7373         get additions shortly.
7375 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7377         * gst/gstpad.c: (gst_pad_new_from_static_template):
7378         * gst/gstpad.h:
7379           add gst_pad_new_from_static_template functions
7380         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7381         (gst_check_setup_sink_pad):
7382         * gst/elements/gsttee.c: (gst_tee_init):
7383           and use them
7385 2005-11-16  Wim Taymans  <wim@fluendo.com>
7387         * gst/gstpad.c: (gst_pad_pause_task):
7388         Removed warning, it's not really an error either.
7390 2005-11-16  Wim Taymans  <wim@fluendo.com>
7392         * gst/base/gstbasetransform.c:
7393         (gst_base_transform_prepare_output_buf),
7394         (gst_base_transform_event):
7395         Check if the caps are NULL, this can happen if the element
7396         is shutting down and the pad caps are set to NULL.
7398 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7400         * gst/elements/gsttee.c: (gst_tee_init):
7401           fix pad template leak in tee
7403 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7405         * gst/glib-compat.c: (g_value_dup_gst_object):
7406         * gst/glib-compat.h:
7407         * gst/gstpad.c: (gst_pad_set_property):
7408           use gst_object_ref when setting the pad template; this will
7409           trigger the pad template leaks on GLib 2.6 and the slaves
7411 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7413         * gst/glib-compat.c: (gst_flags_get_first_value):
7414         * gst/glib-compat.h:
7415         * gst/gstregistryxml.c:
7416           remove functions copied from GLib 2.6
7418 2005-11-16  Michael Smith <msmith@fluendo.com>
7420         * gst/Makefile.am:
7421           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7422           do, but only breaks with newer valgrind versions. We're not a
7423           valgrind tool, we have no link-time dependencies on libcoregrind.
7425 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7427         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7428           some debug changes
7429         * gst/gstmessage.h:
7430           typo fixes
7432 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7434         * gst/base/gstbasesrc.c: (gst_base_src_init):
7435         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7436         * gst/gstqueue.c: (gst_queue_init):
7437         * gst/gstregistryxml.c: (load_feature):
7438           Revert all these unrefs, they don't even pass make check !
7440 2005-11-15  Johan Dahlin  <johan@gnome.org>
7442         * gst/base/gstbasesrc.c: (gst_base_src_init):
7443         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7444         * gst/gstqueue.c: (gst_queue_init): 
7445         Free pad templates, fixes a couple of leaks.
7447 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7449         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7451         * gst/gstpad.c: (gst_pad_get_property):
7452           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7453           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7454           (#321452)
7456 2005-11-15  Wim Taymans  <wim@fluendo.com>
7458         * gst/gstevent.c:
7459         Small doc update.
7461 2005-11-15  Andy Wingo  <wingo@pobox.com>
7463         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7465         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7466         using GST_CLOCK_TIME_NONE to disable base time management.
7467         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7468         time if it was NONE before.
7469         (gst_pipeline_change_state): Only munge the base time if
7470         stream_time != GST_CLOCK_TIME_NONE.
7472         * check/gst/gstpipeline.c (test_base_time): Punt around the
7473         problem of the probe not being called, because that's not the
7474         issue I'm looking at. Add a check that setting stream_time to NONE
7475         disables base time management.
7476         
7477 2005-11-15  Wim Taymans  <wim@fluendo.com>
7479         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7480         segment_stop == -1 at startup.
7482         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7483         (gst_base_transform_change_state):
7484         Init segment values at start.
7486 2005-11-15  Wim Taymans  <wim@fluendo.com>
7488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7489         0 segment values are 0 in any format.
7491         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7492         * gst/base/gstbasetransform.h:
7493         Parse newsegment correctly in basetransform
7495         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7496         Sync to clock using updated segment values.
7498 2005-11-15  Andy Wingo  <wingo@pobox.com>
7500         * check/gst/gstpipeline.c (test_base_time): Add check that the
7501         base time and stream time are reset correctly.
7503 2005-11-15  Wim Taymans  <wim@fluendo.com>
7505         * docs/design/part-TODO.txt:
7506         Some more TODO items.
7508 2005-11-15  Andy Wingo  <wingo@pobox.com>
7510         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7511         error if the user selected "no clock" as the clocking method.
7513         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7514         timestamps with live capture.
7516         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7517         is 0 but we are a live source, timestamp the buffers using the
7518         element's clock.
7520 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7522         * docs/gst/gstreamer-sections.txt:
7523         * gst/gsterror.c:
7524         * gst/gstghostpad.c:
7525         * gst/gstobject.h:
7526         * gst/gstxml.c:
7527           more section docs
7529 2005-11-14  Wim Taymans  <wim@fluendo.com>
7531         * common/gst.supp:
7532           add suppressions from Wim's Debian machine
7534 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7536         * common/gst.supp:
7537           add suppressions from Andy's AMD64 Ubuntu machine
7539 2005-11-14  Andy Wingo  <wingo@pobox.com>
7541         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7542         STATE_LOCK not necessary. Fixes #311489.
7544         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7545         #305291.
7547         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7548         this function is not implemented.
7550 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7552         * gst/base/gstbasetransform.c:
7553         (gst_base_transform_prepare_output_buf):
7554         Ref the source pad caps while we need them.
7555         Fixes (#321386)
7557 2005-11-11  Wim Taymans  <wim@fluendo.com>
7559         * docs/gst/gstreamer-sections.txt:
7560         Added some docs for GstCollectData.
7562         * gst/base/gstadapter.c:
7563         Some small code example fix.
7565         * gst/base/gstcollectpads.c:
7566         * gst/base/gstcollectpads.h:
7567         Document some more.
7569 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7571         * configure.ac: back to HEAD
7573 === release 0.9.5 ===
7575 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7577         * configure.ac:
7578           releasing 0.9.5, "Bike Lunch Day"
7580 2005-11-11  Wim Taymans  <wim@fluendo.com>
7582         * gst/gstbuffer.c: (_gst_buffer_copy):
7583         Copy more flags.
7585         * gst/gstcaps.c: (gst_caps_is_equal):
7586         Fix some docs.
7587         Make _is_equal fast in the trivial cases.
7589         * gst/gstminiobject.c:
7590         * gst/gstminiobject.h:
7591         More docs. Spifify .h file.
7593         * gst/gstutils.c:
7594         Small doc update.
7596 2005-11-11  Wim Taymans  <wim@fluendo.com>
7598         * gst/base/gstbasetransform.c:
7599         (gst_base_transform_prepare_output_buf),
7600         (gst_base_transform_handle_buffer):
7601         Small cleanups.
7602         If we're processing a buffer and need to allocate an output
7603         buffer, we cannot accept a format change. If we did get a 
7604         format change, we have to alloc a buffer ourselves of the 
7605         right size.
7607 2005-11-11  Wim Taymans  <wim@fluendo.com>
7609         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7610         While checking the flag for reentrancy in the gstcaps function
7611         is nice to detect recursive invocations, it also makes it 
7612         impossible to call getcaps from multiple threads, which must be
7613         possible. So, checking for recursive calls has to go.
7615 2005-11-11  Michael Smith <msmith@fluendo.com>
7617         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7618           Don't sync on buffers that fall partially outside our current
7619           segment. Prevents an assertion failure/abort playing some files.
7621 2005-11-10  Andy Wingo  <wingo@pobox.com>
7623         * check/gst/gstbin.c (test_message_state_changed_children): Style
7624         fix..
7626         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7627         gst_bus_poll with the signal watch. Ensures that poll and a signal
7628         watch see the same messages.
7630         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7631         a poll and a watch at the same time get the same messages.
7633 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7635         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7636         * gst/gstcaps.c: (gst_caps_intersect):
7637           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7638           and it's not needed.
7640 2005-11-10  Wim Taymans  <wim@fluendo.com>
7642         * docs/design/part-TODO.txt:
7643         Updated todo.
7645 2005-11-10  Wim Taymans  <wim@fluendo.com>
7647         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7648         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7649         (gst_base_src_do_sync), (gst_base_src_get_range):
7650         Implement clock sync in base class.
7652 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7654         patch by: Tim-Philipp Müller <tim at centricular dot net>
7656         * gst/gststructure.c: (gst_structure_parse_field),
7657         (gst_structure_from_string):
7658           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7659           so that gst_parse_launch() can deal with spaces in filtered link
7660           caps (fixes #164479)
7661         * check/gst/capslist.h:
7662         * check/gst/gststructure.c: (GST_START_TEST):
7663           add unit tests for this change
7665 2005-11-10  Wim Taymans  <wim@fluendo.com>
7667         * docs/gst/gstreamer-sections.txt:
7668         * gst/gstelement.c:
7669         * gst/gstelement.h:
7670         Fix docs, move some STATE macros to private.
7672 2005-11-10  Wim Taymans  <wim@fluendo.com>
7674         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7675         Added check for bug #317341
7677         * gst/gstbuffer.c:
7678         * gst/gstbuffer.h:
7679         Some more spiffifying.
7681         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7682         Call peer linkfunction if we are a source pad. Totally fixes
7683         #317341
7685         * gst/gstpad.c:
7686         Update docs, source pads should call the peer linkfunction
7687         so they can atomically perform the pad link.
7689 2005-11-09  Wim Taymans  <wim@fluendo.com>
7691         * gst/gstbuffer.c:
7692         * gst/gstbuffer.h:
7693         Uber-spiffy-spiffify some more.
7695 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7697         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7698         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7699         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7700         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7701         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7702         * gst/gstpad.c: (gst_pad_init):
7703           Use GST_DEBUG_FUNCPTR() more extensively.
7705 2005-11-09  Wim Taymans  <wim@fluendo.com>
7707         * gst/gstobject.c: (gst_object_class_init):
7708         * gst/gstobject.h:
7709         Documentation fixes.
7711 2005-11-09  Edward Hervey  <edward@fluendo.com>
7713         * gst/gsttypefindfactory.c:
7714         Fix docs.
7715         
7716 2005-11-09  Edward Hervey  <edward@fluendo.com>
7718         * gst/base/gsttypefindhelper.c:
7719         * gst/gsttypefind.c:
7720         * gst/gsttypefind.h:
7721         Fix docs.
7723 2005-11-09  Wim Taymans  <wim@fluendo.com>
7725         * gst/gstiterator.c:
7726         Fix revision data.
7728         * gst/gsttask.c:
7729         * gst/gsttask.h:
7730         Fix docs.
7732 2005-11-09  Wim Taymans  <wim@fluendo.com>
7734         * gst/gstevent.h:
7735         * gst/gsturi.h:
7736         Fix docs.
7738 2005-11-09  Wim Taymans  <wim@fluendo.com>
7740         * docs/gst/gstreamer-sections.txt:
7741         Moved the message async delivery private lock and cond
7742         to the private section.
7744         * gst/gstmessage.c:
7745         * gst/gstmessage.h:
7746         Fixed docs.
7748 2005-11-09  Edward Hervey  <edward@fluendo.com>
7750         * docs/gst/gstreamer-sections.txt:
7751         * gst/gsturi.c:
7752         * gst/gsturi.h:
7753         Document GstURIHandler
7755 2005-11-09  Wim Taymans  <wim@fluendo.com>
7757         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7758         (gst_iterator_find_custom):
7759         * gst/gstiterator.h:
7760         Fix iterator docs.
7762 2005-11-09  Wim Taymans  <wim@fluendo.com>
7764         * gst/gstbin.h:
7765         Document another field.
7767         * gst/gststructure.c:
7768         * gst/gststructure.h:
7769         Document.
7771 2005-11-09  Wim Taymans  <wim@fluendo.com>
7773         * gst/gstbin.h:
7774         Documented structs.
7776 2005-11-09  Wim Taymans  <wim@fluendo.com>
7778         * docs/gst/gstreamer-sections.txt:
7779         Added some new macros.
7781         * gst/gstclock.c:
7782         * gst/gstclock.h:
7783         * gst/gstobject.h:
7784         Docs updates.
7786 2005-11-09  Wim Taymans  <wim@fluendo.com>
7788         * docs/design/part-TODO.txt:
7789         Some more items for the TODO
7791         * gst/gstcaps.c:
7792         * gst/gstcaps.h:
7793         Document GstCaps.
7795 2005-11-09  Andy Wingo  <wingo@pobox.com>
7797         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7798         to work on something else now tho...
7800         * gst/base/gstadapter.c: More adapter docs.
7802         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7803         (gst_file_sink_stop): New functions, replace the state change
7804         handler.
7805         (gst_file_sink_class_init): Hook up the start and stop functions.
7806         (gst_file_sink_base_init): Don't set the state change handler any
7807         more. It was a bit ugly too, being set from here...
7808         (gst_file_sink_get_property, gst_file_sink_set_property):
7809         Cleanups...
7810         (gst_file_sink_set_location): More robust check that doesn't call
7811         GST_STATE. Ugggggg.
7813 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7815         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7816           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7818 2005-11-08  Wim Taymans  <wim@fluendo.com>
7820         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7821         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7822         (gst_base_sink_chain), (gst_base_sink_change_state):
7823         * gst/base/gstbasesink.h:
7824         * gst/base/gstbasesrc.h:
7825         * gst/gstelement.h:
7826         * gst/gstevent.h:
7827         Avoid excessive typechecking in macros.
7829         * gst/gstminiobject.c: (gst_mini_object_get_type),
7830         (gst_mini_object_init), (gst_mini_object_new),
7831         (gst_mini_object_free):
7832         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7833         (gst_object_finalize):
7834         Remove cruft code, optimize alloc_trace.
7836 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7838         * docs/faq/gst-uninstalled:
7839           fix up PS1 for systems that try to reset it
7841 2005-11-07  Wim Taymans  <wim@fluendo.com>
7843         * gst/base/gstbasesrc.c: (gst_base_src_init),
7844         (gst_base_src_get_range):
7845         Set the segment_end to -1 initially. Fixed typefind.
7847 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7849         * gst/base/gstadapter.c:
7850           Debug category should be 'adapter', not 'GstAdapter'.
7851           
7852         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7853         (gst_collectpads_class_init), (gst_collectpads_init),
7854         (gst_collectpads_peek), (gst_collectpads_pop),
7855         (gst_collectpads_event), (gst_collectpads_chain):
7856           Add debug category and some debugging output. Use boilerplate
7857           macros. Remove some extraneous words from docs.
7859 2005-11-05  Andy Wingo  <wingo@pobox.com>
7861         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7862         macro.
7864 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7866         * docs/gst/gstreamer-sections.txt:
7867         * gst/gstcaps.h:
7868         * gst/gstinfo.c:
7869         * gst/gstminiobject.h:
7870         * gst/gstobject.h:
7871         * gst/gstutils.h:
7872           more docs added
7874 2005-11-04  Wim Taymans  <wim@fluendo.com>
7876         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7877         Small update to stop at the configured segment_end
7878         position.
7880 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7882         * gst/gstregistry.c:
7883         * gst/gstregistry.h:
7884           added missing docs
7886 2005-11-04  Edward Hervey  <edward@fluendo.com>
7888         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7889         Check if we are doing a segment seek and have arrived at the
7890         end of that segment.
7892 2005-11-04  Wim Taymans  <wim@fluendo.com>
7894         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7895         Don't leak a mutex unlock in case of an error.
7897         * gst/gstbus.h:
7898         Doc fixes.
7900 2005-11-04  Wim Taymans  <wim@fluendo.com>
7902         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7903         (gst_bus_post):
7904         Get the context to wake up only once.
7906 2005-11-03  Wim Taymans  <wim@fluendo.com>
7908         * check/states/sinks.c: (GST_START_TEST):
7909         Uncomment fixed check.
7911         * docs/design/part-TODO.txt:
7912         Updated TODO.
7914         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7915         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7916         (gst_base_sink_get_position):
7917         If we are going to PLAYING, post the right pending state
7918         when we post the intermediate paused message.
7920         * gst/gstelement.c: (gst_element_continue_state),
7921         (gst_element_set_state_func), (gst_element_change_state):
7922         Don't post state changes that were between the same state
7923         and were not ASYNC.
7925 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7927         * docs/gst/gstreamer-sections.txt:
7928         * gst/gstcaps.h:
7929         * gst/gstinfo.c:
7930         * gst/gstminiobject.h:
7931         * gst/gstobject.h:
7932         * gst/gstutils.h:
7933           more docs and doc style fixes
7935 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7937         * docs/gst/gstreamer-sections.txt:
7938         * gst/gstelement.c:
7939         * gst/gstminiobject.c:
7940         doc fixes
7942 2005-11-03  Andy Wingo  <wingo@pobox.com>
7944         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7945         state-changed messages actually have the right order and the right
7946         values.
7948 2005-11-03  Wim Taymans  <wim@fluendo.com>
7950         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7951         Added some more checks. Specifically the case where NO_PREROLL
7952         elements are in the pipeline.
7954         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7955         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7956         (gst_base_sink_get_position):
7957         Post READY->PAUSED state change messages too.
7958         Fix bug where VOID was posted as pending state...
7960         * gst/gstbin.c: (gst_bin_recalc_state):
7961         use _element_continue_state() to continue the state change.
7963         * gst/gstelement.c: (gst_element_continue_state),
7964         (gst_element_commit_state), (gst_element_set_state_func),
7965         (gst_element_change_state), (gst_element_change_state_func):
7966         Lots of state change cleanups, assign the STATE_RETURN in
7967         a new continue_state() function that also propagates the
7968         last return value from a state change to the app.
7969         Update some debug statements with proper category.
7971 2005-11-03  Wim Taymans  <wim@fluendo.com>
7973         * docs/design/part-events.txt:
7974         * docs/design/part-gstpipeline.txt:
7975         * docs/design/part-messages.txt:
7976         * docs/design/part-overview.txt:
7977         * docs/design/part-seeking.txt:
7978         * docs/design/part-states.txt:
7979         * docs/design/part-trickmodes.txt:
7980         * docs/manual/advanced-position.xml:
7981         Small docs updates.
7983         * gst/gstobject.h:
7984         People think !! is ugly, this looks better.
7986         * gst/gstpad.c: (gst_pad_set_blocked_async):
7987         Remove !! since it's fixed elsewhere now.
7989 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7991         * gst/gstminiobject.h:
7992         * gst/gstobject.h:
7993           Add !! to _FLAG_IS_SET macros to make the result boolean.
7995 2005-11-03  Edward Hervey  <edward@fluendo.com>
7997         * gst/gstpad.c: (gst_pad_set_blocked_async):
7998         comparing a flag and a gboolean rarely returns coherent results...
7999         Added two characters (!!) to make that work correctly.
8000         
8001 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8003         * gst/gstbus.c: (gst_bus_class_init):
8004           Fix some typos.
8005           
8006         * gst/gstqueue.c: (gst_queue_loop):
8007           Don't assume a miniobject that isn't a buffer is an
8008           event (it could be that there is a refcounting
8009           problem somewhere and the pointer is stale and
8010           refers to an already destroyed miniobject).
8012 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8014         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8016 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8018         * docs/manual/advanced-position.xml:
8019           Update seek example and explanations to current 0.9 API.
8021         * gst/elements/gsttypefindelement.c:
8022         (gst_type_find_element_activate):
8023           Remove FIXME comment now that the found caps
8024           are unreffed.
8026 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8028         * gst/gstregistryxml.c: (load_feature):
8029           Add another GST_STR_NULL instance
8031 2005-11-02  Edward Hervey  <edward@fluendo.com>
8033         * gst/gstpad.c: (handle_pad_block):
8034         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8035         
8036 2005-11-02  Wim Taymans  <wim@fluendo.com>
8038         * gst/gstbin.c:
8039         Fix typo in docs.
8041         * gst/gstelement.c: (gst_element_commit_state):
8042         Remove unused value.
8044         * gst/gstiterator.c:
8045         Mention that the returned element is reffed in the docs.
8047 2005-11-02  Wim Taymans  <wim@fluendo.com>
8049         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8050         (gst_pad_push), (gst_pad_push_event):
8051         Unlock blocked pads when they are flushed.
8053 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8055         * docs/README:
8056         * docs/gst/gstreamer-sections.txt:
8057         * gst/gstbin.c:
8058           doc updates
8059         * gst/gstregistry.c: (gst_registry_scan_path_level):
8060           fix for a nasty little missed situation where an installed plug-in
8061           which was in the cache did not get overridden by an uninstalled one
8062           which was earlier in the plugin path because the newly created plugin
8063           for the uninstalled one (not in the registry) didn't get its
8064           ->registered set to TRUE
8066 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8068         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8069         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8070         (gst_collectpads_is_active), (gst_collectpads_collect),
8071         (gst_collectpads_collect_range), (gst_collectpads_start),
8072         (gst_collectpads_stop), (gst_collectpads_peek),
8073         (gst_collectpads_pop), (gst_collectpads_available),
8074         (gst_collectpads_read), (gst_collectpads_flush):
8075           Guard public API with assertions.
8076         
8077         * gst/gstpad.c:
8078           Fix docs for gst_pad_set_link_function().
8080 2005-11-02  Johan Dahlin  <johan@gnome.org>
8082         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8083         Unref found_caps after we used it.
8085 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8087         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8088           Don't try to ref NULL.
8090 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8092         * win32/common/config.h.in:
8093           provide a GST_FUNCTION that just gives a string for now
8095 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8097         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8098         (gst_object_flags_get_type), (register_gst_bin_flags),
8099         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8100         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8101         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8102         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8103         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8104         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8105         (gst_clock_flags_get_type), (register_gst_state),
8106         (gst_state_get_type), (register_gst_state_change_return),
8107         (gst_state_change_return_get_type), (register_gst_state_change),
8108         (gst_state_change_get_type), (register_gst_element_flags),
8109         (gst_element_flags_get_type), (register_gst_core_error),
8110         (gst_core_error_get_type), (register_gst_library_error),
8111         (gst_library_error_get_type), (register_gst_resource_error),
8112         (gst_resource_error_get_type), (register_gst_stream_error),
8113         (gst_stream_error_get_type), (register_gst_event_type),
8114         (gst_event_type_get_type), (register_gst_seek_type),
8115         (gst_seek_type_get_type), (register_gst_seek_flags),
8116         (gst_seek_flags_get_type), (register_gst_format),
8117         (gst_format_get_type), (register_gst_index_certainty),
8118         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8119         (gst_index_entry_type_get_type),
8120         (register_gst_index_lookup_method),
8121         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8122         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8123         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8124         (gst_index_flags_get_type), (register_gst_debug_level),
8125         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8126         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8127         (gst_iterator_result_get_type), (register_gst_iterator_item),
8128         (gst_iterator_item_get_type), (register_gst_message_type),
8129         (gst_message_type_get_type), (register_gst_mini_object_flags),
8130         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8131         (gst_pad_link_return_get_type), (register_gst_flow_return),
8132         (gst_flow_return_get_type), (register_gst_activate_mode),
8133         (gst_activate_mode_get_type), (register_gst_pad_direction),
8134         (gst_pad_direction_get_type), (register_gst_pad_flags),
8135         (gst_pad_flags_get_type), (register_gst_pad_presence),
8136         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8137         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8138         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8139         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8140         (gst_plugin_flags_get_type), (register_gst_rank),
8141         (gst_rank_get_type), (register_gst_query_type),
8142         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8143         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8144         (gst_tag_flag_get_type), (register_gst_task_state),
8145         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8146         (gst_alloc_trace_flags_get_type),
8147         (register_gst_type_find_probability),
8148         (gst_type_find_probability_get_type), (register_gst_uri_type),
8149         (gst_uri_type_get_type), (register_gst_parse_error),
8150         (gst_parse_error_get_type):
8151         * win32/common/gstversion.h:
8152           update win32 copies
8154 2005-11-01  Luca Ognibene  <luogni@tin.it>
8156         * gst/gst.c:
8157           fix docs. popt is dead, long live GOption.
8159 2005-10-31  Wim Taymans  <wim@fluendo.com>
8161         * gst/gstbuffer.h:
8162         Small doc fix.
8164 2005-10-31  Andy Wingo  <wingo@pobox.com>
8166         * Boo!
8168         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8170         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8171         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8172         the possibility of deadlocks here if code calling notify() or
8173         set() has a lock that can be taken in another notify handler (ABBA
8174         with class lock and e.g. python GIL state lock).
8176 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8178         * gst/gstbus.c: Doc updates.
8180 2005-10-28  Wim Taymans  <wim@fluendo.com>
8182         * docs/design/part-TODO.txt:
8183         * gst/gstiterator.c:
8184         * gst/gstsystemclock.c:
8185         * gst/gstsystemclock.h:
8186         Doc updates.
8188 2005-10-28  Edward Hervey  <edward@fluendo.com>
8190         * docs/gst/gstreamer-docs.sgml:
8191         * docs/gst/gstreamer-sections.txt:
8192         the GstURIType documentation page is private, it only defines GstURIType
8193         which should be defined in the GstURIHandler page
8194         
8195 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8197         * gst/gstbin.c: (gst_bin_class_init):
8198         * gst/gstbin.h:
8199         * gst/gstutils.c:
8200         Documentation updates.
8202 2005-10-28  Wim Taymans  <wim@fluendo.com>
8204         * docs/gst/gstreamer-sections.txt:
8205         * gst/gstclock.c:
8206         * gst/gstclock.h:
8207         Documented the clocks.
8209 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8211         * docs/gst/gstreamer-sections.txt:
8212           move some macros to private sections
8213         * gst/gstminiobject.c:
8214         * gst/gstminiobject.h:
8215           add descriptions provided by ds and some more
8216         * gst/gstpad.h:
8217           mark macro as to be removed
8219 2005-10-28  Wim Taymans  <wim@fluendo.com>
8221         * docs/design/part-TODO.txt:
8222         Add an item to TODO.
8224         * gst/gstiterator.c: (gst_iterator_fold),
8225         (gst_iterator_find_custom):
8226         * gst/gstiterator.h:
8227         Add iterator docs.
8229 2005-10-28  Wim Taymans  <wim@fluendo.com>
8231         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8232         (gst_base_transform_init):
8233         Don't leak class.
8235         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8236         An EOS event marks the queue as completely filled.
8238 2005-10-27  Wim Taymans  <wim@fluendo.com>
8240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8241         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8242         Some more debugging.
8244         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8245         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8246         (gst_base_transform_event), (gst_base_transform_getrange),
8247         (gst_base_transform_chain):
8248         * gst/base/gstbasetransform.h:
8249         Fix debugging,
8250         Protect transform and concurrent buffer alloc with a new lock.
8251         Try not to break ABI/API.
8253 2005-10-27  Wim Taymans  <wim@fluendo.com>
8255         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8256         (gst_base_src_init), (gst_base_src_query),
8257         (gst_base_src_default_newsegment),
8258         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8259         (gst_base_src_send_event), (gst_base_src_event_handler),
8260         (gst_base_src_pad_get_range), (gst_base_src_loop),
8261         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8262         (gst_base_src_start), (gst_base_src_deactivate),
8263         (gst_base_src_activate_push), (gst_base_src_change_state):
8264         Move some stuff around and cleanup things.
8266 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8268         * gst/base/gstbasesrc.c: (gst_base_src_query):
8269           Add missing break statements.
8271 2005-10-27  Wim Taymans  <wim@fluendo.com>
8273         * check/gst/gstbin.c: (GST_START_TEST):
8274         An extra refcount is taken in basesrc.
8276         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8277         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8278         (gst_base_src_loop):
8279         Small cleanups, check for flushing after being unlocked from the 
8280         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8281         Don't send out EOS when going to READY.
8283 2005-10-27  Wim Taymans  <wim@fluendo.com>
8285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8286         (gst_base_sink_get_position):
8287         Some more debug.
8289         * gst/gstbin.c: (message_check), (bin_replace_message),
8290         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8291         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8292         (bin_query_duration_init), (bin_query_duration_fold),
8293         (bin_query_duration_done), (bin_query_generic_fold),
8294         (gst_bin_query):
8295         * tools/gst-launch.c: (main):
8296         Remove old option.
8298 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8300         * examples/controller/audio-example.c: (main):
8301         * examples/queue/queue.c: (event_loop):
8302         * gst/base/gstbasetransform.h:
8303         * gst/gstelement.c: (gst_element_send_event):
8304         * gst/gstevent.h:
8305         * gst/gstpad.c: (gst_pad_send_event):
8306           fixing examples
8307           fixing docs typos
8308           changing log priority in error situations
8310 2005-10-25  Wim Taymans  <wim@fluendo.com>
8312         * gst/gstbin.c: (message_check), (bin_replace_message),
8313         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8314         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8315         (bin_query_duration_init), (bin_query_duration_fold),
8316         (bin_query_duration_done), (bin_query_generic_fold),
8317         (gst_bin_query):
8318         Some doc and debug updates.
8319         Cache previously requested query DURATION for speed. invalidate
8320         cached duration if element posts a DURATION message.
8322 2005-10-25  Wim Taymans  <wim@fluendo.com>
8324         * docs/design/part-TODO.txt:
8325         Update TODO.
8327         * gst/gstbin.c: (message_check), (bin_replace_message),
8328         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8329         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8330         (bin_query_duration_init), (bin_query_duration_fold),
8331         (bin_query_duration_done), (bin_query_generic_fold),
8332         (gst_bin_query):
8333         Handle SEGMENT_START/DONE messages correctly.
8334         More evolved query algorithm that handles duration queries
8335         correctly.
8337         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8338         (gst_element_get_state_func), (gst_element_abort_state),
8339         (gst_element_commit_state), (gst_element_lost_state):
8340         Some more debugging.
8342         * gst/gstmessage.h:
8343         Added doc.
8345 2005-10-25  Wim Taymans  <wim@fluendo.com>
8347         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8348         Don't use invalid stream_time.
8350         * gst/gstevent.c: (gst_event_new_newsegment):
8351         stream_time in newsegment cannot be undefined.
8353 2005-10-24  Wim Taymans  <wim@fluendo.com>
8355         * gst/gstbus.c:
8356         Doc fix.
8358         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8359         (gst_queue_loop):
8360         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8362 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8364         * docs/libs/tmpl/gstdparam.sgml:
8365         * docs/libs/tmpl/gstdplinint.sgml:
8366         * docs/libs/tmpl/gstdpman.sgml:
8367         * docs/libs/tmpl/gstdpsmooth.sgml:
8368         * docs/libs/tmpl/gstunitconvert.sgml:
8369           these are obsolete
8371 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8373         * configure.ac:
8374           back to HEAD
8376 === release 0.9.4 ===
8378 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8380         * configure.ac:
8381           releasing 0.9.4, "Tyrannosaurus Rex"
8383 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8385         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8386         (gst_file_sink_get_current_offset):
8387           Use fseeko() and ftello() if available. When falling back on
8388           lseek() to get the current offset, fflush() first to make sure
8389           everything is up-to-date and we get the right offset.
8391 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8393         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8394         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8395         * gst/gsterror.c: (_gst_stream_errors_init):
8396         * gst/gsterror.h:
8397         * gst/gstqueue.c: (gst_queue_loop):
8398         * po/POTFILES.in:
8399           remove prematurely added error category and clean up the instances
8401 2005-10-21  Wim Taymans  <wim@fluendo.com>
8403         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8404         (gst_base_sink_get_position), (gst_base_sink_query),
8405         (gst_base_sink_change_state):
8406         Simply set the right flag when going to playing, that's all
8407         we need to do instead of calling a function inside the object
8408         lock (that could take the lock as well and deadlock)
8410 2005-10-21  Wim Taymans  <wim@fluendo.com>
8412         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8413         (gst_base_src_loop):
8414         Don't warn, the peer element knows what to do best when
8415         the seek failed, it might try something else.
8417 2005-10-21  Wim Taymans  <wim@fluendo.com>
8419         * gst/base/gstbasesrc.c: (gst_base_src_init),
8420         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8421         Fix seeking.
8423 2005-10-21  Wim Taymans  <wim@fluendo.com>
8425         * docs/design/part-segments.txt:
8426         More docs.
8428         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8429         Correctly set caps, even on the subbufer.
8431 2005-10-21  Wim Taymans  <wim@fluendo.com>
8433         * docs/gst/gstreamer-docs.sgml:
8434         * docs/gst/gstreamer-sections.txt:
8435         * gst/gstelement.h:
8436         * gst/gstevent.c:
8437         * gst/gstevent.h:
8438         * gst/gstmessage.h:
8439         * gst/gstpad.h:
8440         * gst/gstparse.h:
8441         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8442         * gst/gsttask.h:
8443         * gst/gstutils.c:
8444         * gst/gstutils.h:
8445         And 2% more doc coverage.
8447 2005-10-21  Andy Wingo  <wingo@pobox.com>
8449         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8450         position reporting.
8452 2005-10-20  Wim Taymans  <wim@fluendo.com>
8454         * gst/gsterror.c: (gst_error_get_message):
8455         * gst/gstparse.h:
8456         * gst/gstquery.h:
8457         * gst/gststructure.c:
8458         * gst/gsttrace.c:
8459         * gst/gstutils.c:
8460         More docs.
8462 2005-10-20  Wim Taymans  <wim@fluendo.com>
8464         * gst/gstbuffer.h:
8465         * gst/gstpad.c:
8466         * gst/gstparse.c:
8467         Another 1% more coverage.
8469 2005-10-20  Wim Taymans  <wim@fluendo.com>
8471         * docs/gst/gstreamer-sections.txt:
8472         * gst/gstelement.c: (gst_element_get_state_func),
8473         (gst_element_abort_state), (gst_element_commit_state),
8474         (gst_element_lost_state):
8475         * gst/gstevent.h:
8476         * gst/gstquery.c: (gst_query_set_position),
8477         (gst_query_parse_position), (gst_query_set_duration),
8478         (gst_query_parse_duration), (gst_query_new_convert):
8479         * gst/gstutils.c:
8480         Yay! 1% more docs coverage.
8482 2005-10-20  Wim Taymans  <wim@fluendo.com>
8484         * gst/gstpad.h:
8485         * gst/gstquery.c: (gst_query_set_position),
8486         (gst_query_parse_position), (gst_query_set_duration),
8487         (gst_query_parse_duration), (gst_query_new_convert):
8488         * gst/gstquery.h:
8489         * gst/gstutils.c: (gst_element_query_convert):
8490         * gst/gstutils.h:
8491         Docs and consistency fixes.
8493 2005-10-20  Wim Taymans  <wim@fluendo.com>
8495         * gst/gsttask.c:
8496         * gst/gsttask.h:
8497         More docs.
8499 2005-10-20  Wim Taymans  <wim@fluendo.com>
8501         * gst/gstbin.c: (message_check), (bin_replace_message),
8502         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8503         (update_degree), (gst_bin_sort_iterator_next),
8504         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8505         Reworked the message handling a bit, cache the messages instead of
8506         only the senders. alows us to do more in the future.
8508 2005-10-20  Wim Taymans  <wim@fluendo.com>
8510         * docs/design/part-TODO.txt:
8511         Update TODO
8513         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8514         (gst_base_sink_query):
8515         Don't use clock time to report position when in EOS.
8517 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8519         * tools/gst-inspect.c: (print_interfaces),
8520         (print_element_properties_info), (print_element_info):
8521           Fix interface output with gst-inspect -a; don't print
8522           newlines after double/float properties.
8524 2005-10-20  Wim Taymans  <wim@fluendo.com>
8526         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8527         (gst_base_sink_query):
8528         Speed up current position calculation.
8530         * gst/base/gstbasesrc.c: (gst_base_src_query),
8531         (gst_base_src_default_newsegment):
8532         Correctly set stream position in newsegment.
8534         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8535         (update_degree), (gst_bin_sort_iterator_next),
8536         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8537         * gst/gstmessage.c: (gst_message_new_custom):
8538         Clean up debugging info
8540         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8541         (gst_queue_loop), (gst_queue_handle_src_query):
8542         Pause task faster.
8544 2005-10-19  Wim Taymans  <wim@fluendo.com>
8546         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8547         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8548         Fix query handling again.
8550 2005-10-19  Wim Taymans  <wim@fluendo.com>
8552         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8553         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8554         * gst/base/gstbasesrc.c: (gst_base_src_query):
8555         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8556         * gst/elements/gsttypefindelement.c:
8557         (gst_type_find_handle_src_query), (find_element_get_length),
8558         (gst_type_find_element_activate):
8559         API change fix.
8561         * gst/gstquery.c: (gst_query_new_position),
8562         (gst_query_set_position), (gst_query_parse_position),
8563         (gst_query_new_duration), (gst_query_set_duration),
8564         (gst_query_parse_duration), (gst_query_set_segment),
8565         (gst_query_parse_segment):
8566         * gst/gstquery.h:
8567         Bundling query position/duration is not a good idea since duration
8568         does not change much and we don't want to recalculate it for every
8569         position query, so they are separated again..
8570         Base value in segment query is not needed.
8572         * gst/gstqueue.c: (gst_queue_handle_src_query):
8573         * gst/gstutils.c: (gst_element_query_position),
8574         (gst_element_query_duration), (gst_pad_query_position),
8575         (gst_pad_query_duration):
8576         * gst/gstutils.h:
8577         Updates for query API change.
8578         Added some docs here and there.
8580 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8582         * check/gst/gstbin.c: (GST_START_TEST):
8583         * check/gst/gstghostpad.c: (GST_START_TEST):
8584         * check/pipelines/cleanup.c: (GST_START_TEST):
8585           wait on thread to die so we can check refcount correctly
8587 2005-10-18  Wim Taymans  <wim@fluendo.com>
8589         * check/pipelines/stress.c: (GST_START_TEST):
8590         Make check a little more time consuming.
8592 2005-10-18  Wim Taymans  <wim@fluendo.com>
8594         * check/Makefile.am:
8595         * check/pipelines/stress.c: (GST_START_TEST),
8596         (simple_launch_lines_suite), (main):
8597         Small state change torture test.
8599         * docs/design/part-states.txt:
8600         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8601         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8602         (gst_base_sink_change_state):
8603         Never take state lock from streaming thread, clean up ugly
8604         hacks. Unfortunatly core does not yet support nice ways to
8605         async commit state.
8606         
8607         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8608         (bin_bus_handler):
8609         Start state recalc if a STATE_DIRTY message is posted, but only
8610         on the toplevel bin.
8612         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8613         (gst_element_get_state_func), (gst_element_abort_state),
8614         (gst_element_commit_state), (gst_element_lost_state),
8615         (gst_element_set_state_func), (gst_element_change_state):
8616         * gst/gstelement.h:
8617         State variables are now protected with the LOCK, the state
8618         lock is only used to serialize _set_state().
8620 2005-10-18  Wim Taymans  <wim@fluendo.com>
8622         * check/gst/gstbin.c: (GST_START_TEST):
8623         * check/gst/gstmessage.c: (GST_START_TEST):
8624         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8625         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8626         (bin_bus_handler):
8627         * gst/gstelement.c: (gst_element_abort_state),
8628         (gst_element_commit_state), (gst_element_lost_state):
8629         * gst/gstmessage.c: (gst_message_new_state_changed),
8630         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8631         (gst_message_new_segment_done), (gst_message_new_duration),
8632         (gst_message_parse_state_changed),
8633         (gst_message_parse_segment_start),
8634         (gst_message_parse_segment_done), (gst_message_parse_duration):
8635         * gst/gstmessage.h:
8636         * tools/gst-launch.c: (event_loop):
8637         Seriously, this is better than a previous commit as we only need
8638         to notify the fact that an element changed state in a streaming
8639         thread, marking the state of the parents dirty, hence the 
8640         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8641         message.
8643 2005-10-18  Wim Taymans  <wim@fluendo.com>
8645         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8646         (gst_bin_recalc_func):
8647         * gst/gstelement.c: (gst_element_set_clock),
8648         (gst_element_abort_state), (gst_element_lost_state):
8649         Cleanups, prepare for state change fixes.
8651 2005-10-18  Wim Taymans  <wim@fluendo.com>
8653         * gst/gstbin.h:
8654         * gst/gstelement.c: (gst_element_class_init),
8655         (gst_element_set_state), (gst_element_set_state_func):
8656         * gst/gstelement.h:
8657         Pending ABI changes.
8658         GThreadPool in GstBinClass to monitor async state changes.
8659         state_cookie in GstElement to detect concurrent gst/set state.
8660         set_state is now virtual too in case a very complicated element
8661         has to be constructed.
8663 2005-10-18  Wim Taymans  <wim@fluendo.com>
8665         * check/gst/gstbin.c: (GST_START_TEST):
8666         * check/gst/gstmessage.c: (GST_START_TEST):
8667         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8668         * gst/gstbin.c: (bin_bus_handler):
8669         * gst/gstelement.c: (gst_element_commit_state),
8670         (gst_element_lost_state):
8671         * gst/gstmessage.c: (gst_message_new_state_changed),
8672         (gst_message_new_segment_start), (gst_message_new_segment_done),
8673         (gst_message_new_duration), (gst_message_parse_state_changed),
8674         (gst_message_parse_segment_start),
8675         (gst_message_parse_segment_done), (gst_message_parse_duration):
8676         * gst/gstmessage.h:
8677         * tools/gst-launch.c: (event_loop):
8678         Make messages future proof.
8679         state-change gets a flag if it was a message comming from the
8680         streaming thread.
8681         segment-start/stop can also be specified in other formats.
8682         A message to notify an app that a pipeline changed playback 
8683         duration.
8684         Also fix a GstMessage leak in -launch
8686 2005-10-18  Andy Wingo  <wingo@pobox.com>
8688         * gst/gstelement.c (gst_element_dispose): More helpful message.
8690 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8692         reviewed by: <delete if not using a buddy>
8694         * common/gtk-doc.mak:
8696 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8698         * gst/gstregistry.c: (gst_registry_scan_path_level):
8699           unref a plug-in we get that was already initialized
8701 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8703         * docs/gst/gstreamer-sections.txt:
8704         * docs/libs/gstreamer-libs-sections.txt:
8705         * gst/gstelement.h:
8706           add new api entries
8707           hide internal macro
8709 2005-10-17  Andy Wingo  <wingo@pobox.com>
8711         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8712         cleanup.
8714         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8716         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8718         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8719         (gst_element_get_state_func): Better debug message.
8720         (gst_element_commit_state): s/INFO/DEBUG/.
8721         (gst_element_lost_state, gst_element_change_state): 
8723         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8724         (gst_message_new_custom): s/INFO/LOG/.
8726 2005-10-17  Michael Smith <msmith@fluendo.com>
8728         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8729           Check if end time is valid using end time, not start time.
8731 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8733         * check/gst-libs/controller.c: (GST_START_TEST),
8734         (gst_controller_suite):
8735         * libs/gst/controller/gstcontroller.c:
8736         (gst_controlled_property_set_interpolation_mode):
8737         * libs/gst/controller/gstcontroller.h:
8738         * libs/gst/controller/gstinterpolation.c:
8739         * testsuite/controller/.cvsignore:
8740         * testsuite/controller/Makefile.am:
8741         * testsuite/controller/interpolator.c:
8742           merge controller testsuites
8743           fix broken tests
8744           remove mem-chunk from docs
8746 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8748         * gst/gstmemchunk.c:
8749         * gst/gstmemchunk.h:
8750         * gst/gsttrashstack.c:
8751         * gst/gsttrashstack.h:
8752           out.  get out.  you're fired.  to the Attic !
8754 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8756         * gst/gstcaps.c: (gst_caps_intersect):
8757           fix signedness issues in a (hopefully) correct way
8758         * gst/gstelement.c: (gst_element_pads_activate):
8759           some debugging
8760         * gst/gstobject.c: (gst_object_set_parent):
8761           some debugging
8763 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8765         * gst/gstvalue.h: Fix prototypes.
8767 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8769         * docs/gst/gstreamer-sections.txt:
8770         * gst/gst.c: (gst_version_string):
8771         * gst/gst.h:
8772         * gst/gstversion.h.in:
8773         * win32/common/libgstreamer.def:
8774           add gst_version_string ()
8776 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8778         * configure.ac:
8779           clean up further
8780         * gst/gst.c: (init_post):
8781         * win32/common/config.h.in:
8782           it's PLUGINDIR now
8783         * gst/gstcaps.c: (gst_caps_intersect):
8784           use gint64, the range could be bigger than a guint
8786 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8788         * gst/gstclock.h:
8789           document potential problem in 2038
8791 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8793         * gst/gstcaps.c: (gst_caps_intersect):
8794           Fix guint j diving under 0
8796 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8798         * configure.ac:
8799         * win32/common/config.h:
8800         * win32/common/config.h.in:
8801           check for process.h, declares getpid() on Windows
8802         * gst/gstinfo.c:
8803           include process.h if we have it
8804         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8805         * gst/gstmemchunk.h:
8806           fix signedness issues
8807         * win32/common/libgstreamer.def:
8808           fix get_type's
8810 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8812         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8813         fix. Because of unsigned ints, caps intersection was going nuts and
8814         trying to access structures with G_MAXUINT index. That fixes
8815         videotestsrc ! ffmpegcolorspace ! fakesink
8816         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8817         consistency.
8819 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8821         * configure.ac:
8822           use the gettext macro
8823         * gst/elements/gstelements.c:
8824         * gst/gst.c:
8825         * gst/indexers/gstindexers.c:
8826           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8827         * win32/common/config.h:
8828           updated config.h
8829         * win32/common/config.h.in:
8830           add the template to generate config.h
8831         * win32/common/gstenumtypes.c:
8832         * win32/common/gstversion.h:
8833           updated copies
8835 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8837         * gst/gst.c: (gst_version):
8838         * gst/gstversion.h.in:
8839           add the nano
8841 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8843         * gst/gstevent.h:
8844           Oops, add missing closing bracket.
8846 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8848         * configure.ac:
8849           use common m4's for argument checking
8851 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8853         * docs/gst/gstreamer-sections.txt:
8854         * gst/gstevent.h:
8855           Add GST_EVENT_TYPE_NAME() macro.
8857 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8859         * gst/gstinfo.c:
8860         * gst/gstpluginfeature.c:
8861         * gst/gsttask.c:
8862           privatize more symbols
8864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8866         * configure.ac:
8867           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8868           everything that uses GStreamer API should have the includes
8870 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8872         * docs/gst/gstreamer-sections.txt:
8873         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8874         * gst/gstvalue.h:
8875           give each value a _get_type, removes the DATA exports
8877 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8879         * gst/gst.c:
8880         * gst/gst.h:
8881           remove _gst_registry_auto_load, not used anymore
8882         * gst/gstbin.c: (gst_bin_get_type):
8883         * gst/gstbin.h:
8884         * gst/gstelement.c: (gst_element_get_type):
8885         * gst/gstelement.h:
8886         * gst/gstobject.c: (gst_object_get_type):
8887         * gst/gstobject.h:
8888         * gst/gstpad.c: (gst_pad_get_type):
8889         * gst/gstpad.h:
8890           make _get_type functions similar, fixes data export from library
8892 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8894         * configure.ac:
8895           correctly make conditionals
8896         * gst/elements/Makefile.am:
8897         * gst/elements/gstelements.c:
8898           fix typo causing fdsrc not to build
8900 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8902         * testsuite/Makefile.am:
8903         * testsuite/bytestream/.cvsignore:
8904         * testsuite/bytestream/Makefile.am:
8905         * testsuite/bytestream/filepadsink.c:
8906         * testsuite/bytestream/gstbstest.c:
8907         * testsuite/bytestream/test1.c:
8908         * testsuite/bytestream/testfile1:
8909         * testsuite/caps/normalisation.c:
8910         * testsuite/caps/random.c: (main):
8911         * testsuite/cleanup/.cvsignore:
8912         * testsuite/cleanup/Makefile.am:
8913         * testsuite/cleanup/cleanup1.c:
8914         * testsuite/cleanup/cleanup2.c:
8915         * testsuite/cleanup/cleanup3.c:
8916         * testsuite/cleanup/cleanup4.c:
8917         * testsuite/cleanup/cleanup5.c:
8918         * testsuite/controller/interpolator.c:
8919         * testsuite/debug/printf_extension.c: (main):
8920         * testsuite/elements/tee.c:
8921         * testsuite/negotiation/.cvsignore:
8922         * testsuite/negotiation/Makefile.am:
8923         * testsuite/negotiation/pad_link.c:
8924         * testsuite/pad/Makefile.am:
8925         * testsuite/pad/chainnopull.c:
8926         * testsuite/pad/getnopush.c:
8927         * testsuite/pad/link.c:
8928         * testsuite/refcounting/sched.c: (create_pipeline):
8929         * testsuite/registry/Makefile.am:
8930         * testsuite/registry/gst-print-formats.c:
8931         * testsuite/schedulers/.cvsignore:
8932         * testsuite/schedulers/142183-2.c:
8933         * testsuite/schedulers/142183.c:
8934         * testsuite/schedulers/143777-2.c:
8935         * testsuite/schedulers/143777.c:
8936         * testsuite/schedulers/147713.c:
8937         * testsuite/schedulers/147819.c:
8938         * testsuite/schedulers/147894-2.c:
8939         * testsuite/schedulers/147894.c:
8940         * testsuite/schedulers/Makefile.am:
8941         * testsuite/schedulers/group_link.c:
8942         * testsuite/schedulers/queue_link.c:
8943         * testsuite/schedulers/relink.c:
8944         * testsuite/schedulers/unlink.c:
8945         * testsuite/schedulers/unref.c:
8946         * testsuite/schedulers/useless_iteration.c:
8947         * testsuite/states/bin.c:
8948           clean out/remove some stuff from the testsuite directories
8950 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8952         * configure.ac:
8953           check for some headers
8954         * gst/elements/Makefile.am:
8955         * gst/elements/gstelements.c:
8956           don't compile fdsrc without sys/socket.h
8957         * gst/indexers/Makefile.am:
8958         * gst/indexers/gstindexers.c: (plugin_init):
8959           don't compile fileindex without mmap
8961 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8963         * configure.ac:
8964           reorganize
8965           clean up
8966           document more
8967           remove cruft
8968         * check/Makefile.am:
8969         * docs/gst/Makefile.am:
8970         * examples/helloworld/Makefile.am:
8971         * gst/Makefile.am:
8972         * gst/base/Makefile.am:
8973         * gst/check/Makefile.am:
8974         * gst/elements/Makefile.am:
8975         * gst/indexers/Makefile.am:
8976         * gst/parse/Makefile.am:
8977         * libs/gst/controller/Makefile.am:
8978         * libs/gst/dataprotocol/Makefile.am:
8979         * examples/helloworld/helloworld.c: (event_loop):
8980           compile fixes, though it's not being compiled currently
8982 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8984         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8985           Add some simple tests for the new taglist date API.
8987 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8989         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8990         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8991           Beautify 'last-message' output: print 'none' for buffer timestamps
8992           and durations if none is set; improve alignment with next messages.
8994 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8996         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8997         * gst/gstpluginfeature.h:
8998         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8999         * gst/gstregistry.h:
9000         * docs/gst/gstreamer-sections.txt:
9001           Add new API to check plugin feature version requirements.
9003         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9004           Some basic tests for the above.         
9006 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9008         * gst/gststructure.c: (gst_structure_to_string):
9009           guard against NULL printf - happens when for example
9010           a message structure with GstClock gets serialized
9012 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9014         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9015           Fix presumable copy'n'pasto.
9017 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9019         * gst/elements/gstfakesrc.h:
9020         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9021         * gst/elements/gsttypefindelement.c:
9022           fix some signedness
9023         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9024           I wonder if this could actually write +2GB files before
9026 2005-10-13  Andy Wingo  <wingo@pobox.com>
9028         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9029         Fix Timmeke Waymans bug.
9030         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9031         string of the proper length to gst_caps_from_string. There's a
9032         potential for, before this fix, that this could cause someone
9033         connecting over the network to cause a segfault if the payload is
9034         not NUL-terminated.
9036 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9038         * docs/design/draft-push-pull.txt:
9039         * docs/design/part-overview.txt:
9040         * docs/random/TODO-pre-0.9:
9041         * docs/random/old/ChangeLog.gstreamer:
9042         * gst/base/gstpushsrc.c:
9043         * gst/gstclock.c:
9044           fixed typos
9046 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9048         * gst/glib-compat.c: (gst_flags_get_first_value):
9049         * gst/glib-compat.h:
9050         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9051         (gst_value_compare_double), (gst_value_serialize_flags):
9052           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9053           infinite loop
9055 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9058         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9059           fix up debugging
9060         * tools/gst-launch.c: (event_loop):
9061           print out clock nicely
9063 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9065         * docs/gst/gstreamer-sections.txt:
9066         * gst/gsttaglist.h:
9067         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9068         (gst_tag_list_get_date_index):
9069           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9070           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9072 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9074         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9075         (gst_collectpads_chain):
9076         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9077         in CollectData.
9079 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9081         * docs/gst/gstreamer-sections.txt:
9082         * gst/gst.c:
9083         * gst/gsterror.h:
9084         * tools/gst-inspect.c: (main):
9085         * tools/gst-launch.c: (main):
9086         * tools/gst-run.c: (main):
9087         * tools/gst-xmlinspect.c: (main):
9088           fix GOption context leaks
9089           doc fixes
9091 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9093         * gst/gstbus.c:
9094           use HAVE_UNISTD_H
9095         * win32/common/config.h:
9096           update config
9097         * win32/vs6/grammar.dsp:
9098         * win32/vs6/libgstelements.dsp:
9099         * win32/vs6/libgstreamer.dsp:
9100           update vs6 files
9102 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9105         * gst/base/gstbasesrc.c: (gst_base_src_query):
9106           fix more guint64<->gdouble conversions
9108 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9110         * Makefile.am:
9111           add win32-update target
9112         * win32/common/gstconfig.h:
9113         * win32/common/gstenumtypes.c:
9114         * win32/common/gstenumtypes.h:
9115         * win32/common/gstversion.h:
9116           add files that visual studio can't generate
9118 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9120         * Makefile.am:
9121           add a win32-update target
9122         * configure.ac:
9124 2005-10-12  Wim Taymans  <wim@fluendo.com>
9126         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9127         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9128         * gst/gstelement.c: (gst_element_commit_state),
9129         (gst_element_set_state):
9130         Protect flags with proper lock.
9131         unref provided cached clock in dispose.
9133 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9135         * gst/gst.c:
9136         * gst/gstminiobject.h:
9137         * gst/gstpad.h:
9138         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9139           removed unused flags from miniobject
9140           doc fixes
9142 2005-10-12  Wim Taymans  <wim@fluendo.com>
9144         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9145         (gst_file_sink_event), (gst_file_sink_render):
9146         Flush before seeking.
9148 2005-10-12  Andy Wingo  <wingo@pobox.com>
9150         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9151         always been the case.
9153 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9155         * check/gst/gstbin.c: (GST_START_TEST):
9156         * docs/gst/gstreamer-sections.txt:
9157         * gst/base/gstbasesink.c: (gst_base_sink_init):
9158         * gst/base/gstbasesrc.c: (gst_base_src_init),
9159         (gst_base_src_get_range), (gst_base_src_check_get_range),
9160         (gst_base_src_start), (gst_base_src_stop):
9161         * gst/base/gstbasesrc.h:
9162         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9163         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9164         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9165         (bin_bus_handler):
9166         * gst/gstbin.h:
9167         * gst/gstbuffer.h:
9168         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9169         * gst/gstbus.h:
9170         * gst/gstelement.c: (gst_element_is_locked_state),
9171         (gst_element_set_locked_state), (gst_element_commit_state),
9172         (gst_element_set_state):
9173         * gst/gstelement.h:
9174         * gst/gstindex.c: (gst_index_init):
9175         * gst/gstindex.h:
9176         * gst/gstminiobject.h:
9177         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9178         (gst_object_set_parent):
9179         * gst/gstobject.h:
9180         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9181         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9182         * gst/gstpad.h:
9183         * gst/gstpadtemplate.h:
9184         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9185         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9186         * gst/gstpipeline.h:
9187         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9188         (gst_file_index_commit):
9189         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9190         * testsuite/pad/link.c: (gst_test_src_init),
9191         (gst_test_filter_init), (gst_test_sink_init):
9192         * testsuite/states/locked.c: (main):
9193           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9194           moved bitshift from macro to enum definition
9196 2005-10-12  Wim Taymans  <wim@fluendo.com>
9198         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9199         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9200         (gst_file_sink_render):
9201         Some more debugging info.
9203 2005-10-12  Wim Taymans  <wim@fluendo.com>
9205         * docs/design/part-states.txt:
9206         * tools/gst-launch.c: (main):
9207         Some doc updates.
9208         Revert non-intentional change.
9210 2005-10-12  Wim Taymans  <wim@fluendo.com>
9212         * check/gst/gstbin.c: (GST_START_TEST):
9213         * check/gst/gstelement.c: (GST_START_TEST):
9214         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9215         * check/gst/gstghostpad.c: (GST_START_TEST):
9216         * check/gst/gstpipeline.c: (GST_START_TEST):
9217         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9218         * check/states/sinks.c: (GST_START_TEST):
9219         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9220         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9221         (gst_bin_remove_func), (gst_bin_get_state_func),
9222         (gst_bin_recalc_state), (gst_bin_change_state_func),
9223         (bin_bus_handler):
9224         * gst/gstelement.c: (gst_element_get_state_func),
9225         (gst_element_get_state), (gst_element_abort_state),
9226         (gst_element_commit_state), (gst_element_set_state),
9227         (gst_element_change_state), (gst_element_change_state_func):
9228         * gst/gstelement.h:
9229         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9230         (gst_pipeline_provide_clock_func):
9231         * gst/gstutils.c: (gst_element_link_pads_filtered):
9232         * tools/gst-launch.c: (main):
9233         * tools/gst-typefind.c: (main):
9234         Use GstClockTime in _get_state() instead of GTimeVal.
9235         Remove old code in gstutils.c
9237 2005-10-12  Andy Wingo  <wingo@pobox.com>
9239         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9240         removed.
9242         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9243         there is no task. Shouldn't affect any code, as nothing in our
9244         plugins checks this return value.
9245         (gst_pad_stop_task): Also take the stream lock if the pad has no
9246         task. Docs updated.
9248 2005-10-12  Wim Taymans  <wim@fluendo.com>
9250         * gst/gstpad.c: (pre_activate), (post_activate),
9251         (gst_pad_activate_pull), (gst_pad_activate_push):
9252         Cleanup activation code. Reset old state if
9253         activation failed.
9255 2005-10-12  Wim Taymans  <wim@fluendo.com>
9257         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9258         (gst_base_sink_change_state):
9259         No need to prerol after receiving EOS.
9261         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9262         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9263         * gst/elements/gstidentity.c: (gst_identity_event):
9264         Print events more verbosely.
9266 2005-10-12  Wim Taymans  <wim@fluendo.com>
9268         * check/Makefile.am:
9269         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9270         * check/states/sinks2.c:
9271         Moved sinks2 testcode in sinks check.
9273         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9274         (gst_bin_remove_func), (gst_bin_recalc_state),
9275         (gst_bin_change_state_func), (bin_bus_handler):
9276         Fix potential race condition when _get_state() iterated over an
9277         ASYNC element right before it posted a state completion.
9279         * gst/gstclock.h:
9280         Do proper cast here.
9282         * gst/gstevent.c: (gst_event_new_newsegment),
9283         (gst_event_parse_newsegment):
9284         A playback rate of 0.0 is not allowed.
9286 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9288         * win32/common/config.h:
9289         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9290         (_trewinddir), (_ttelldir), (_tseekdir):
9291         * win32/common/dirent.h:
9292         * win32/common/gtchar.h:
9293         * win32/common/libgstbase.def:
9294         * win32/common/libgstreamer.def:
9295         * win32/vs6/grammar.dsp:
9296         * win32/vs6/gst_inspect.dsp:
9297         * win32/vs6/gst_launch.dsp:
9298         * win32/vs6/gstreamer.dsw:
9299         * win32/vs6/libgstbase.dsp:
9300         * win32/vs6/libgstelements.dsp:
9301         * win32/vs6/libgstreamer.dsp:
9302           Visual Studio 6 project files, and a new common directory.
9303           Phear.
9305 2005-10-11  Wim Taymans  <wim@fluendo.com>
9307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9308         (gst_base_sink_do_sync), (gst_base_sink_query),
9309         (gst_base_sink_change_state):
9310         * gst/base/gstbasesink.h:
9311         Correctly parse newsegment info.
9313 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9315         * gst/gst.c: (init_post):
9316           split plugin paths correctly
9318 2005-10-11  Wim Taymans  <wim@fluendo.com>
9320         * check/gst/gstevent.c: (GST_START_TEST):
9321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9322         (gst_base_sink_change_state):
9323         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9324         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9325         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9326         * gst/gstevent.c: (gst_event_new_newsegment),
9327         (gst_event_parse_newsegment):
9328         * gst/gstevent.h:
9329         Added extra flag to newsegment for future API freeze.
9330         Updated check and base elements.
9332 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9334         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9335         (gst_collectpads_add_pad), (gst_collectpads_pop),
9336         (gst_collectpads_event), (gst_collectpads_chain):
9337         * gst/base/gstcollectpads.h: Handle EOS correctly.
9339 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9341         * tools/gst-launch.c: (main):
9342           more null protecting
9344 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9346         * gst/gst-i18n-lib.h:
9347           check for ENABLE_NLS, not GETTEXT_PACKAGE
9348         * gst/gstregistry.c: (gst_registry_add_plugin),
9349         (gst_registry_scan_path_level),
9350         (_gst_registry_remove_cache_plugins):
9351           protect possibly NULL strings
9352         * gst/parse/types.h:
9353           config.h already included before
9354         * tools/gst-inspect.c: (main):
9355           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9356           check for ENABLE_NLS, not GETTEXT_PACKAGE
9357         * tools/gst-launch.c: (main):
9358           check for ENABLE_NLS, not GETTEXT_PACKAGE
9360 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9362         * configure.ac:
9363           if we don't have glib, fail before testing 2.8
9364         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9365           fix a leak, should fix plugins-base testsuite
9367 2005-10-11  Andy Wingo  <wingo@pobox.com>
9369         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9370         take the mode we're going to as an arg. Go head and set the mode
9371         and flushing flags now, so that if the activate function starts a
9372         thread all the flags will be in the right state.
9373         (post_activate): Renamed also. Just handle making sure streaming
9374         finishes for the deactivation case, and setting the deactivated
9375         mode.
9376         (gst_pad_set_active): Complain loudly if deactivation fails.
9377         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9378         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9379         remove the terrible hack.
9381 2005-10-11  Wim Taymans  <wim@fluendo.com>
9383         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9384         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9385         (gst_bin_recalc_state), (gst_bin_change_state_func),
9386         (gst_bin_dispose), (bin_bus_handler):
9387         * gst/gstbin.h:
9388         Prepare to make current EOS message queue more generic.
9389         Fix some typos.
9391         * gst/gstevent.c: (gst_event_new_newsegment),
9392         (gst_event_parse_newsegment):
9393         * gst/gstevent.h:
9394         Rename base to stream_time.
9396         * gst/gstmessage.h:
9397         Fix typo in docs.
9399 2005-10-11  Wim Taymans  <wim@fluendo.com>
9401         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9402         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9403         (gst_bin_change_state_func), (bin_bus_handler):
9404         * gst/gstbin.h:
9405         Work on proper clock selection.
9407 2005-10-11  Edward Hervey  <edward@fluendo.com>
9409         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9410         * libs/gst/controller/gstcontroller.h:
9411         Added GList* version of _remove_properties() in order to be able to wrap
9412         it in bindings.
9414 2005-10-11  Wim Taymans  <wim@fluendo.com>
9416         * docs/design/part-states.txt:
9417         Some more docs.
9419         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9420         (gst_bin_change_state_func), (bin_bus_handler):
9421         Doc updates. Don't distribute the same clock over and over again.
9423         * gst/gstclock.c:
9424         * gst/gstclock.h:
9425         Doc updates.
9427         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9428         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9429         (gst_pad_send_event):
9430         * gst/gstpad.h:
9431         Make probe emission threadsafe again.
9432         Register quarks and move _get_name() from utils.
9433         Doc updates.
9435         * gst/gstpipeline.c: (gst_pipeline_class_init),
9436         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9437         Only redistribute the clock of it changed.
9439         * gst/gstsystemclock.h:
9440         Doc updates. 
9442         * gst/gstutils.c:
9443         * gst/gstutils.h:
9444         Moved the _flow_get_name() to GstPad.
9446 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9448         * check/gst-libs/gdp.c: (GST_START_TEST):
9449         * check/gst/gstcaps.c: (GST_START_TEST):
9450         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9451         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9452         (gst_dp_packet_from_caps):
9453           fix more valgrind warnings before turning up the heat
9455 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9457         * gst/parse/grammar.y:
9458           some cleanup before the hacking
9460 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9462         * gst/base/gstbasesrc.c: (gst_base_src_query):
9463           use conversions
9464         * gst/gstutils.c: (gst_guint64_to_gdouble),
9465         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9466         * gst/gstutils.h:
9467           externalize, basesrc uses it
9468           obviously the implementation needs testing
9470 2005-10-10  Wim Taymans  <wim@fluendo.com>
9472         * tests/sched/Makefile.am:
9473         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9474         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9476 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9478         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9479           apparently converting from guint64 to double is not implemented
9480           on MSVC
9482 2005-10-10  Wim Taymans  <wim@fluendo.com>
9484         * check/Makefile.am:
9485         * check/generic/states.c: (GST_START_TEST):
9486         * check/gst/gstbin.c: (GST_START_TEST):
9487         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9488         * check/states/sinks.c: (GST_START_TEST):
9489         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9490         (main):
9491         Check fixes, use API as stated in design docs, remove hacks.
9493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9494         (gst_base_sink_change_state):
9495         Catch stopping our task while we're shutting down.
9497         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9498         (gst_bin_remove_func), (gst_bin_get_state_func),
9499         (gst_bin_recalc_state), (gst_bin_change_state_func),
9500         (bin_bus_handler):
9501         * gst/gstbin.h:
9502         * gst/gstelement.c: (gst_element_init),
9503         (gst_element_get_state_func), (gst_element_abort_state),
9504         (gst_element_commit_state), (gst_element_lost_state),
9505         (gst_element_set_state), (gst_element_change_state),
9506         (gst_element_change_state_func):
9507         * gst/gstelement.h:
9508         New state change algorithm (see #318116)
9510         * gst/gstpipeline.c: (gst_pipeline_class_init),
9511         (gst_pipeline_init), (gst_pipeline_set_property),
9512         (gst_pipeline_get_property), (do_pipeline_seek),
9513         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9514         * gst/gstpipeline.h:
9515         Remove crude state change hacks.
9517         * gst/gstutils.h:
9518         Remove crude hacks.
9520         * tools/gst-launch.c: (main):
9521         Fixes for state change. Needs some more work to fully use the
9522         new stuff.
9524 2005-10-10  Andy Wingo  <wingo@pobox.com>
9526         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9528         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9529         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9530         issue.
9532 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9534         * gst/gstiterator.c: (gst_iterator_new):
9535           Fix my previous commit: GTypes passed to gst_iterator_new()
9536           can be fundamental types.
9538 2005-10-10  Wim Taymans  <wim@fluendo.com>
9540         * gst/gstelement.c: (gst_element_iterate_pad_list),
9541         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9542         (gst_element_iterate_sink_pads):
9543         Use src/sink pads lists for the respective iterators instead
9544         of filtering.
9546 2005-10-10  Andy Wingo  <wingo@pobox.com>
9548         Merged in popt removal + GOption addition patch from Ronald, bug
9549         #169772.
9551         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9552         GstElement macros around, remove popt-related symbols, add goption
9553         stuff.
9555         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9556         
9557         * docs/gst/Makefile.am:
9558         * docs/libs/Makefile.am: No POPT_CFLAGS.
9559         
9560         * examples/manual/Makefile.am:
9561         * docs/manual/basics-init.xml: Doc updates with an example.
9562         
9563         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9564         (gst_init), (parse_one_option), (parse_goption_arg):
9565         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9566         bit of hand merging and debugging to get the GOption stuff working
9567         tho.
9568         
9569         * tests/Makefile.am:
9570         * tools/Makefile.am:
9571         * tools/gst-inspect.c: (main):
9572         * tools/gst-launch.c: (main):
9573         * tools/gst-run.c: (main):
9574         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9576 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9578         * gst/gstiterator.c: (gst_iterator_new):
9579           Add assertions to make sure passed GType is likely to really
9580           be a GType (as the compiler won't catch it if the size and
9581           GType arguments get mixed up, see #318447).
9583 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9585         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9587         * gst/gstbin.c: (gst_bin_iterate_sorted):
9588           Pass GType and size arguments to gst_iterator_new() in the right
9589           order (maybe we should make _new() take the GType as first argument
9590           just like _new_list()?) (#318447).
9591           
9593 2005-10-10  Wim Taymans  <wim@fluendo.com>
9595         * gst/gstelement.c: (gst_element_finalize):
9596         And free the GStaticRecMutex too
9598 2005-10-10  Andy Wingo  <wingo@pobox.com>
9600         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9601         Allocate and free the mutex properly.
9603         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9604         New macros.
9605         (GstElement): The state_lock is now recursive. Rebuild your
9606         plugins, suckers. Old macros adapted.
9608         * docs/gst/gstreamer-sections.txt: Doc updates.
9610         * gst/gstutils.h:
9611         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9612         (g_static_rec_cond_wait): Ported from state changes patch, while
9613         we wait on bug #317802 to be solved in a well-distributed GLib.
9615         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9616         gst_element_change_state, variable name changes.
9617         (gst_element_change_state): Split out of gst_element_set_state in
9618         preparation for the state change merge. Doesn't pay attention to
9619         the 'transition' argument.
9620         (gst_element_set_state): Updates, hopefully purely cosmetic.
9621         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9622         state change patch.
9623         (gst_element_get_state_func): Renamed from get_state, cosmetic
9624         changes.
9626 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9628         * gst/elements/gstelements.c:
9629         * win32/GStreamer.vcproj:
9630         * win32/config.h:
9631         * win32/dirent.c: (_tseekdir):
9632         * win32/gst-inspect.vcproj:
9633         * win32/gst-launch.vcproj:
9634         * win32/gstconfig.h:
9635         * win32/gstelements.vcproj:
9636         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9637         * win32/gstreamer.def:
9638         * win32/msvc71.sln:
9639           updates for the win32 build (patch from Sebastien Moutte)
9641 2005-10-10  Andy Wingo  <wingo@pobox.com>
9643         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9644         gst_bin_get_state, cleaned up (but no logic changes).
9645         (bin_element_is_sink): Comment updates.
9646         (sink_iterator_filter): Remove needless cast.
9647         (gst_bin_iterate_sinks): Doc update.
9648         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9649         cleaned up (but no logic changes).
9651         * check/states/sinks.c (test_src_sink): Cleanups from the state
9652         change patch.
9653         (test_livesrc_sink): Sync on the state.
9655         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9656         the state change patch.
9658         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9659         change patch.
9661         * check/gst/gstbin.c: Merge in some style fixes and additional
9662         checks from Wim's state change patch.
9664 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9666         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9667         (gst_type_find_helper):
9668           Check whether we have the requested data already in our list of
9669           cached buffers before pulling a new buffer; also make the buffer
9670           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9672 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9674         * gst/gstcaps.c:
9675         * gst/gstevent.c:
9676           doc updates
9677         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9678           don't use long long, it's not portable.  Replacing with
9679           gint64 seems to work; let's hope no skeletons fall out of the closet.
9681 2005-10-10  Andy Wingo  <wingo@pobox.com>
9683         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9685 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9687         * docs/gst/gstreamer-sections.txt:
9688         * gst/gstevent.c:
9689         * gst/gstevent.h:
9690         * gst/gstinfo.c:
9691         * gst/gstinfo.h:
9692         * gst/gstmessage.c: (gst_message_parse_state_changed):
9693         * gst/gstpad.c:
9694         * gst/gstpad.h:
9695           more docs, fix compilation
9697 2005-10-09  Philippe Khalaf <burger@speedy.org>
9698         * gst/gstmessage.c:
9699           Fixed a few forgotten variables on previous commit
9701 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9703         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9704           Fix evil typefind crasher: getrange() might return a short
9705           buffer at the end of a file, but gst_type_find_peek() must
9706           either return the full data as requested or NULL, but
9707           never a short buffer.
9709 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9711         * gst/gstmessage.c: (gst_message_new_state_changed),
9712         (gst_message_parse_state_changed):
9713         * gst/gstmessage.h:
9714           don't use "new", it's a C++ keyword
9716 2005-10-08  Wim Taymans  <wim@fluendo.com>
9718         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9719         * gst/gstelement.c: (gst_element_post_message):
9720         * gst/gstpipeline.c: (gst_pipeline_change_state):
9721         Small docs and debug updates.
9723 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9725         * docs/gst/gstreamer-sections.txt:
9726         * gst/gstelementfactory.c:
9727         * gst/gstevent.c:
9728         * gst/gsttaglist.c:
9729           more docs
9731 2005-10-08  Wim Taymans  <wim@fluendo.com>
9733         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9734         (gst_bin_dispose), (bin_bus_handler):
9735         Fix typos, add comments.
9736         Clear EOS list when going to PAUSED from any direction and do it
9737         in a threadsafe way.
9738         Get base time in a threadsafe way too.
9739         Fix confusing debug in the change_state function.
9740         Various other small cleanups.
9741         
9742         * gst/gstelement.c: (gst_element_post_message):
9743         Fix very verbose bus posting code.
9745         * gst/gstpipeline.c: (gst_pipeline_class_init),
9746         (gst_pipeline_set_property), (gst_pipeline_get_property),
9747         (gst_pipeline_change_state):
9748         Small ARG_ -> PROP_ cleanup
9750 2005-10-08  Wim Taymans  <wim@fluendo.com>
9752         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9753         Do a less CPU demanding EOS check because we can.
9755 2005-10-08  Wim Taymans  <wim@fluendo.com>
9757         * libs/gst/dataprotocol/dataprotocol.c:
9758         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9759         (gst_dp_packet_from_event):
9760         * libs/gst/dataprotocol/dataprotocol.h:
9761         * libs/gst/dataprotocol/dp-private.h:
9762         It's about time we bump the version number.
9763         Since event types don't fit in the guint8 anymore describing
9764         the payload type, make payload type 16 bits wide.
9766 2005-10-08  Wim Taymans  <wim@fluendo.com>
9768         * docs/design/part-TODO.txt:
9769         * docs/design/part-clocks.txt:
9770         * docs/design/part-events.txt:
9771         * docs/design/part-gstbin.txt:
9772         * docs/design/part-gstelement.txt:
9773         * docs/design/part-gstpipeline.txt:
9774         * docs/design/part-live-source.txt:
9775         * docs/design/part-messages.txt:
9776         * docs/design/part-overview.txt:
9777         * docs/design/part-states.txt:
9778         Many doc updates.
9780 2005-10-08  Wim Taymans  <wim@fluendo.com>
9782         * gst/gstevent.c:
9783         * gst/gstevent.h:
9784         Fix event quark registration.
9785         Add some space between events so we can insert them in the
9786         right groups.
9788 2005-10-08  Wim Taymans  <wim@fluendo.com>
9790         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9791         (gst_base_sink_handle_buffer):
9792         Better log message.
9794         * gst/gstbus.h:
9795         * gst/gstelement.h:
9796         More docs.
9798         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9799         (gst_queue_set_property), (gst_queue_get_property):
9800         * gst/gstqueue.h:
9801         Remove old unused properties.
9803 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9804         * docs/gst/gstreamer-sections.txt:
9805         * gst/gstmessage.c:
9806         * gst/gstmessage.h:
9807         * gst/gstminiobject.c:
9808         * gst/gstminiobject.h:
9809         * gst/gstobject.h:
9810         * gst/gstpad.h:
9811         * gst/gstutils.h:
9812           lots of new docs and doc fixes
9814 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9816         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9817         * gst/gstplugin.h:
9818         * gst/gstregistry.c: (gst_registry_lookup_locked),
9819         (gst_registry_scan_path_level):
9820         * gst/gstregistryxml.c: (load_plugin):
9821           Only ever load one plugin for a given plugin basename.
9822           This ensures correct overriding of GST_PLUGIN_PATH over
9823           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9824           system installed plugins.
9826 2005-10-08  Wim Taymans  <wim@fluendo.com>
9828         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9829         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9830         Prepare for doing QOS.
9832 2005-10-08  Wim Taymans  <wim@fluendo.com>
9834         * check/gst/gstbin.c: (GST_START_TEST):
9835         * check/pipelines/cleanup.c: (GST_START_TEST):
9836         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9837         Allow new clock message too.
9839 2005-10-08  Wim Taymans  <wim@fluendo.com>
9841         * gst/gstmessage.c: (gst_message_new_error),
9842         (gst_message_new_warning), (gst_message_new_tag),
9843         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9844         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9845         (gst_message_new_segment_start), (gst_message_new_segment_done),
9846         (gst_message_parse_state_changed),
9847         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9848         (gst_message_parse_new_clock):
9849         * gst/gstmessage.h:
9850         Also carry the clock in question.
9852 2005-10-08  Wim Taymans  <wim@fluendo.com>
9854         * gst/gstmessage.c: (gst_message_new_custom),
9855         (gst_message_new_eos), (gst_message_new_error),
9856         (gst_message_new_warning), (gst_message_new_tag),
9857         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9858         (gst_message_new_new_clock), (gst_message_new_segment_start),
9859         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9860         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9861         * gst/gstmessage.h:
9862         Clean up.
9863         Added clock related messages.
9865         * gst/gstpipeline.c: (gst_pipeline_change_state):
9866         Post message when the clock changed.
9868         * tools/gst-launch.c: (event_loop):
9869         Print new clock.
9871 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9873         * tools/gst-inspect.c: (print_element_properties_info):
9874           Can't pass NULL strings to g_print() on windows.
9876 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9878         * docs/Makefile.am:
9879         * docs/gst/Makefile.am:
9880         * docs/gst/gstreamer-docs.sgml:
9881         * docs/gst/running.xml:
9882         * docs/version.entities.in:
9883           add a chapter on running GStreamer.
9884           document GST_DEBUG and GST_PLUGIN* env vars
9886 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9888         * Makefile.am:
9889           remove include dir
9890         * configure.ac:
9891           remove PLUGINS_BUILDDIR stuff
9892         * gst/gst.c: (init_post):
9893           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9894         * idiottest.mak:
9895           remove, it was condescending and not needed
9897 2005-10-08  Wim Taymans  <wim@fluendo.com>
9899         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9900         (gst_base_sink_handle_object), (gst_base_sink_event),
9901         (gst_base_sink_wait), (gst_base_sink_handle_event),
9902         (gst_base_sink_change_state):
9903         * gst/base/gstbasesink.h:
9904         Repost EOS message while going to PLAYING if still EOS.
9905         Make sure that when receiving a FLUSH_START we don't attempt
9906         to sync on the clock anymore.
9908 2005-10-08  Wim Taymans  <wim@fluendo.com>
9910         * tools/gst-launch.c: (event_loop):
9911         Better message printout.
9913 2005-10-08  Wim Taymans  <wim@fluendo.com>
9915         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9916         (gst_bin_child_proxy_get_children_count):
9917         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9918         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9919         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9920         (gst_child_proxy_set_valist):
9921         * gst/parse/grammar.y:
9922         Make ChildProxy threadsafe and fix mem leaks.
9924 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9926         * gst/gst.c: (init_post):
9927           debug the GST_PLUGIN_ env vars
9929 2005-10-08  Wim Taymans  <wim@fluendo.com>
9931         * check/gst/gstbin.c: (GST_START_TEST):
9932         * check/gst/gstmessage.c: (GST_START_TEST):
9933         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9934         * gst/gstelement.c: (gst_element_commit_state),
9935         (gst_element_lost_state):
9936         * gst/gstmessage.c: (gst_message_new_state_changed),
9937         (gst_message_parse_state_changed):
9938         * gst/gstmessage.h:
9939         * tools/gst-launch.c: (event_loop):
9940         Added extra field to STATE_CHANGE message with the pending
9941         state, which will be different from the new state soon.
9943 2005-10-08  Wim Taymans  <wim@fluendo.com>
9945         * gst/gstbus.c: (gst_bus_pop):
9946         * gst/gstclock.c:
9947         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9948         Small cleanups and doc updates.
9950 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9952         * gst/gst.c: (init_pre):
9953         * gst/gstbin.c: (gst_bin_add_func):
9954           log distributing clocks and base time
9955         * gst/gstregistry.c: (gst_registry_add_plugin),
9956         (gst_registry_scan_path_level), (gst_registry_scan_path):
9957           clean up the debugging output a little
9958         * gst/gstutils.c: (gst_element_state_get_name):
9959           warn about a memleak (I've actually seen this be used, though
9960           it was probably a bug)
9962 2005-10-07  Wim Taymans  <wim@fluendo.com>
9964         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9965         (gst_base_src_init), (gst_base_src_default_newsegment),
9966         (gst_base_src_newsegment), (gst_base_src_do_seek),
9967         (gst_base_src_loop), (gst_base_src_start):
9968         * gst/base/gstbasesrc.h:
9969         Make the newsegment event customizable by subclasses.
9971 2005-10-07  Wim Taymans  <wim@fluendo.com>
9973         * gst/gstevent.c: (gst_event_new_buffersize),
9974         (gst_event_parse_buffersize):
9975         * gst/gstevent.h:
9976         New event for future idea.
9978 2005-10-07  Andy Wingo  <wingo@pobox.com>
9980         * gst/gstelement.c (gst_element_post_message): Doc update.
9982         * docs/gst/gstreamer-sections.txt: Update.
9984         * gst/gstmessage.c (gst_message_new_application): Made into a
9985         function like honest API calls.
9986         (gst_message_new_element): New message type.
9988         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9990         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9991         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9992         times.
9994         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9995         NO_PREROLL from gst_element_change_state to fall through.
9997 2005-10-07  Wim Taymans  <wim@fluendo.com>
9999         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10000         (gst_ghost_pad_do_activate_push):
10001         Activating a ghostpad with no internal pad in push mode
10002         is ok.
10004 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10006         * gst/gstobject.h:
10007           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10008           Fixes compilation on Windows.
10010 2005-10-07  Michael Smith <msmith@fluendo.com>
10012         * tools/gst-inspect.c:
10013           Print out feature and plugin count at the end when printing out
10014           all features.
10016 2005-10-04  Michael Smith <msmith@fluendo.com>
10018         * gst/gsterror.c: (_gst_stream_errors_init):
10019           Add another error string used in a few existing plugins.
10021         * gst/gstplugin.c:
10022         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10023         * tools/gst-inspect.c: (print_element_info):
10024           When a feature disappears from a plugin (and the feature exists in
10025           the cached registry file), things went horribly wrong. This isn't a
10026           complete fix, we should actually be removing the 'missing' features
10027           from the features list when we load the actual plugin. That's not
10028           yet implemented. 
10030 2005-10-04  Johan Dahlin  <johan@gnome.org>
10032         * check/gst/gstiterator.c: (GST_START_TEST):
10033         * gst/gstbin.c: (gst_bin_iterate_elements),
10034         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10035         * gst/gstelement.c: (gst_element_iterate_pads):
10036         * gst/gstformat.c: (gst_format_iterate_definitions):
10037         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10038         (gst_iterator_new_list), (gst_iterator_filter):
10039         * gst/gstiterator.h:
10040         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10041         Add a GType to GstIterator, update callsites and tests.
10043 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10045         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10046           give events a chance to be handled by event probes when the pad
10047           is not linked
10049 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10051         * gst/gstevent.c: (gst_event_type_get_name),
10052         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10053         * gst/gstevent.h:
10054           add string representations for event types
10056 2005-10-06  Wim Taymans  <wim@fluendo.com>
10058         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10059         Don't use NULL pointers.
10061 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10063         * gst/gst_private.h:
10064         * gst/gstbus.c:
10065         * gst/gstelement.c:
10066         * gst/gstinfo.c:
10067         * gst/gstpluginfeature.c:
10068           widen the debug category in output to fit the biggest one we have
10069           add a bus category and use it
10070           play with the colors
10071           fix up some categories
10073 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10075         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10076           add push activation of sink ghost pads.
10077           Andye, please verify
10079 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10081         * gst/gstutils.c: (gst_element_link_pads):
10082           fix a bug in the case where neither element has a pad
10083         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10084           add a test for that case
10086 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10088         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10089           emit have-data before checking for peers.  This allows
10090           for probe handlers to connect elements.  This helps autopluggers.
10091         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10092         (gst_pad_suite):
10093           add six checks, linked/unlinked with no/true/false probe
10095 2005-10-04  Wim Taymans  <wim@fluendo.com>
10097         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10098         (gst_fake_sink_event), (gst_fake_sink_preroll),
10099         (gst_fake_sink_render), (gst_fake_sink_change_state):
10100         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10101         (gst_fake_src_get_property), (gst_fake_src_create),
10102         (gst_fake_src_stop):
10103         * gst/elements/gstidentity.c: (gst_identity_stop):
10104         Protect last_message with lock.
10106 2005-10-04  Edward Hervey  <edward@fluendo.com>
10108         * gst/gstformat.h: 
10109         Added precision in the comments for GST_FORMAT_DEFAULT
10111 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10113         * tools/gst-launch.c: (main):
10114           Don't try to run erroneous pipelines.
10116 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10118         * gst/gstbus.c: We don't need this header.
10120 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10122         * configure.ac:
10123           back to development
10125 === release 0.9.3 ===
10127 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10129         * README:
10130         * configure.ac:
10131           Releasing 0.9.3, "Unregistered"
10133 2005-10-03  Andy Wingo  <wingo@pobox.com>
10135         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10136         whereby calling a pad's activatepush() function can start a thread
10137         that starts to push or pull before the pad gets the FLUSHING flag
10138         unset. Hack around it by holding the stream lock until the flag is
10139         set. Need to replace this with a proper solution. Together with
10140         the ghost pad fixes, this fixes mp3 playing/tagreading.
10142         * docs/design/part-gstghostpad.txt: Add a note about activation of
10143         proxy pads outside of ghost pads.
10145         * gst/gstghostpad.c: Implement the ghost pad activation design.
10147 2005-10-02  Andy Wingo  <wingo@pobox.com>
10149         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10150         It is volatile, after all.
10152         * docs/design/part-gstghostpad.txt: Flesh out activation with
10153         ghost pads.
10155         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10156         GST_DEBUG_FUNCPTR.
10158 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10160         * configure.ac:
10161           Fix (unused) AM_CONDITIONAL tests.
10163 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10165         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10167         * gst/gstutils.c: (gst_pad_query_convert):
10168           Add assertion that makes sure src_val is >=0, just like
10169           gst_query_new_convert() has. (#315895)
10171 2005-09-30  Edward Hervey  <edward@fluendo.com>
10173         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10174         Let's not iterate pads we're not interested in, it avoids getting 
10175         sky-high refcounts on sinkpad.
10177 2005-09-30  Wim Taymans  <wim@fluendo.com>
10179         * gst/gstelement.c: (gst_element_set_state),
10180         (gst_element_change_state):
10181         Small tweak, element in ASYNC remains ASYNC.
10183 2005-09-30  Wim Taymans  <wim@fluendo.com>
10185         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10186         Only error is an error.
10188         * gst/gstbin.c: (gst_bin_change_state):
10189         Better debugging.
10191         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10192         Also call pad_block in pad alloc.
10194         * gst/gstutils.c: (gst_flow_get_name):
10195         Better debugging.
10197 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10199         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10200         (gst_base_src_get_range):
10201           Fix documentation typos. Add some more debug info.
10203 2005-09-29  David Schleef  <ds@schleef.org>
10205         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10206           more end-user friendly.
10207         * tools/gst-inspect.c: (main): Check if command-line argument is
10208           a file and attempt to load that file as a plugin.
10210 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10212         * check/gst/gstbin.c:
10213         * check/states/sinks.c:
10214           fix tests for the new warning
10215         * check/gst/gstpipeline.c:
10216           add a test for pipeline and bus interaction
10217         * gst/gstelement.c:
10218           elements should be NULL if they get disposed; add a warning if not
10220 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10222         * gst/gstobject.c:
10223           for 2.6 refcounting, make debug log more correct by printing
10224           the actual refcounts at the time of swap (Wim)
10226 2005-09-29  Andy Wingo  <wingo@pobox.com>
10228         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10229         removes signal watches previously added via
10230         gst_bus_add_signal_watch.
10231         (gst_bus_add_signal_watch): Don't return the source id, just store
10232         it on the bus if there wasn't an id already.
10234         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10235         add_signal_watch and remove_signal_watch.
10237 2005-09-29  Edward Hervey  <edward@fluendo.com>
10239         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10240         Better if we actually iterate the list :)
10242 2005-09-29  Wim Taymans  <wim@fluendo.com>
10244         * check/gst/gstbin.c: (GST_START_TEST):
10245         Change for new bus API.
10247         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10248         (send_messages), (GST_START_TEST), (gstbus_suite):
10249         Change for new bus signal API.
10251         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10252         (gst_bus_source_prepare), (gst_bus_source_check),
10253         (gst_bus_create_watch), (gst_bus_add_watch_full),
10254         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10255         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10256         * gst/gstbus.h:
10257         Remove support for multiple GSources operating on different
10258         message types as it is too complex and unneeded when using
10259         signals.
10260         Added support for receiving signals from the bus.
10262 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10264         * docs/libs/tmpl/gstdataprotocol.sgml:
10265         * docs/manual/advanced-dataaccess.xml:
10266         * gst/elements/gstcapsfilter.c:
10267         * gst/gstutils.c:
10268           rename filter-caps to caps property
10270 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10272         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10273           More robust fraction string parsing.
10275         * docs/pwg/appendix-porting.xml:
10276           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10278 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10280         * gst/gstcaps.c: (gst_caps_do_simplify):
10281           Thou shalt not free a structure and then continue using it
10282           in the next loop iteration.
10284         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10285         (gst_caps_suite):
10286           Add test case for caps simplification.
10288 2005-09-29  Wim Taymans  <wim@fluendo.com>
10290         * check/gst/gstbin.c: (GST_START_TEST):
10291         Oops.
10293 2005-09-29  Wim Taymans  <wim@fluendo.com>
10295         * check/gst/gstbin.c: (GST_START_TEST):
10296         Add bus to bin.
10298         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10299         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10300         (find_element), (gst_bin_sort_iterator_next),
10301         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10302         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10303         (gst_bin_change_state), (gst_bin_dispose):
10304         A bin does not have a bus, it gets the bus from the parent.
10306         * gst/gstelement.c: (gst_element_requires_clock),
10307         (gst_element_provides_clock), (gst_element_is_indexable),
10308         (gst_element_is_locked_state), (gst_element_change_state),
10309         (gst_element_set_bus_func):
10310         Small cleanups.
10312         * gst/gstpipeline.c: (gst_pipeline_class_init),
10313         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10314         The pipeline provides a bus.
10316 2005-09-28  Johan Dahlin  <johan@gnome.org>
10318         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10319         gst_structure_get_enum instead of gst_structure_get_int
10321         * gst/gststructure.c (gst_structure_get_enum): Impl.
10323         * gst/gststructure.h (gst_structure_get_enum): Add
10325         * docs/gst/gstreamer-sections.txt: Ditto
10327         * gst/gstmessage.c (gst_message_new_state_changed): Use
10328         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10329         which does introspection.
10330         Reviewed by Christian Schaller
10332 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10334         * gst/gstinfo.c: (gst_debug_log_default):
10335           don't do dummy g_strdup()s
10336         * libs/gst/controller/gstcontroller.c:
10337         (on_object_controlled_property_changed),
10338         (gst_controlled_property_new), (gst_controller_new_valist),
10339         (gst_controller_new_list),
10340         (gst_controller_remove_properties_valist), (gst_controller_set),
10341         (gst_controller_get), (gst_controller_sync_values),
10342         (gst_controller_get_value_array), (_gst_controller_class_init),
10343         (gst_controller_get_type):
10344         * libs/gst/controller/gstcontroller.h:
10345         * libs/gst/controller/gstinterpolation.c:
10346         (gst_controlled_property_find_timed_value_node):
10347           convert // to /**/ comments
10349 2005-09-28  Wim Taymans  <wim@fluendo.com>
10351         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10352         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10353         (gst_bus_sync_signal_handler):
10354         * gst/gstbus.h:
10355         Added async-message and sync-message signals to the bus.
10356         Added helper BusFunc to emit signals for all posted messages.
10358         * gst/gstmessage.c: (gst_message_type_get_name),
10359         (gst_message_type_to_quark), (gst_message_get_type):
10360         * gst/gstmessage.h:
10361         Register quarks for message names.
10363 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10365         * docs/libs/gstreamer-libs-sections.txt:
10366         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10367         (gst_controller_new_list):
10368         * libs/gst/controller/gstcontroller.h:
10369           added another constructor for language bindings
10371 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10373         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10374           add another check
10375         * gst/gstbus.c:
10376           add some doc
10377         * gst/gstinfo.c: (_gst_debug_init):
10378           slightly more readable color for refcount debugging
10380 2005-09-28  Wim Taymans  <wim@fluendo.com>
10382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10383         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10384         (find_element), (gst_bin_sort_iterator_next),
10385         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10386         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10387         (gst_bin_change_state), (gst_bin_dispose):
10388         Small doc fixes. get_clock -> provide_clock.
10390         * gst/gstelement.c: (gst_element_class_init),
10391         (gst_element_provides_clock), (gst_element_provide_clock),
10392         (gst_element_get_clock), (gst_element_commit_state),
10393         (gst_element_lost_state):
10394         * gst/gstelement.h:
10395         Make get/set_clock() symetric. Add provide_clock vmethod since
10396         that is actually what this function does.
10398         * gst/gstpipeline.c: (gst_pipeline_class_init),
10399         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10400         (gst_pipeline_get_clock):
10401         get_clock -> provide_clock.
10403 2005-09-28  Andy Wingo  <wingo@pobox.com>
10405         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10406         lieu of real docs...
10408         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10410 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10412         * gst/elements/gstcapsfilter.c:
10413         * gst/elements/gstfakesink.c:
10414         * gst/elements/gstfakesrc.c:
10415         * gst/elements/gstfdsink.c:
10416         * gst/elements/gstfdsrc.c:
10417         * gst/elements/gstfilesink.c:
10418         * gst/elements/gstfilesrc.c:
10419         * gst/elements/gstidentity.c:
10420         * gst/elements/gsttee.c:
10421         * gst/elements/gsttypefindelement.c:
10422           Make element details static.
10424 2005-09-28  Wim Taymans  <wim@fluendo.com>
10426         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10427         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10428         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10429         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10430         (gst_bin_change_state), (gst_bin_dispose):
10431         Some documentation updates.
10432         Clean up dispose handlers.
10434         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10435         * gst/gstpad.c: (gst_pad_dispose):
10436         Clean up dispose handler.
10438         * gst/gstpipeline.c: (gst_pipeline_change_state):
10439         Removed spurious UNLOCK.
10441 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10443         * docs/gst/gstreamer-sections.txt:
10444         * gst/base/gstbasesrc.h:
10445         * gst/gstelement.h:
10446         * gst/gstevent.h:
10447         * gst/gstobject.h:
10448         * gst/gstpad.h:
10449         * gst/gstpipeline.c:
10450         * gst/gstpipeline.h:
10451         * gst/gstutils.h:
10452         * gst/gstxml.h:
10453           added two new functions to the docs
10454                 documents all undocumented GstXXXFlags
10455                 completed some incomplete docs 
10457 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10459         * gst/gstbin.c: (gst_bin_dispose):
10460         * gst/gstelement.c: (gst_element_dispose):
10461           remove now useless and leaky resurrection code in dispose
10462         * gst/base/gstbasesrc.c: (gst_base_src_init):
10463         * gst/gstelementfactory.c: (gst_element_factory_create):
10464         * gst/gstobject.c: (gst_object_set_parent):
10465           add some debugging
10467 2005-09-27  Wim Taymans  <wim@fluendo.com>
10469         * docs/design/part-TODO.txt:
10470         Update TODO.
10472         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10473         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10474         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10475         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10476         (gst_bin_change_state):
10477         * gst/gstelement.h:
10478         Remove element variable, we keep element info in the iterator now.
10480 2005-09-27  Andy Wingo  <wingo@pobox.com>
10482         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10483         values.
10485 2005-09-27  Wim Taymans  <wim@fluendo.com>
10487         * check/gst/gstbin.c: (GST_START_TEST):
10488         Enable check that works now.
10490         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10491         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10492         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10493         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10494         (gst_bin_change_state):
10495         * gst/gstbin.h:
10496         Redid the state change algorithm using a topological sort algo.
10497         Handles all cases correctly.
10498         Exposed iterator for state change order.
10500         * gst/gstelement.h:
10501         Temp storage for state changes. Need to get rid of this soon.
10503 2005-09-27  Wim Taymans  <wim@fluendo.com>
10505         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10506         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10507         (link_fold_func), (gst_pad_proxy_setcaps):
10508         Leak fixes, the fold functions need to unref the passed object and
10509         _get_parent_*() returns ref to parent.
10511 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10513         * check/gst/gstbuffer.c: (test_make_writable):
10514           Plug leak in test case and fix 'make check-valgrind'
10516 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10518         * gst/gstbuffer.c: (gst_subbuffer_init):
10519           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10520           works correctly in all circumstances (we could have just copied
10521           the parent buffer's readonly flag, but conceptually it seems
10522           cleaner to mark all subbuffers as read-only). (based on patch
10523           by Alessandro Decina, #314710).
10524         
10525         * check/gst/gstbuffer.c: (create_read_only_buffer),
10526         (test_make_writable), (test_subbuffer_make_writable),
10527         (gst_test_suite):
10528           Add some tests for gst_buffer_make_writable().
10530 2005-09-27  Wim Taymans  <wim@fluendo.com>
10532         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10533         use gst_object_has_ancestor().
10535         * gst/gstobject.c: (gst_object_has_ancestor):
10536         * gst/gstobject.h:
10537         gst_object_has_ancestor() copied from gstbin.c as it is a
10538         usefull function.
10540         * tests/instantiate/create.c: (create_all_elements):
10541         * tests/lat.c: (handoff_src), (handoff_sink):
10542         * tests/sched/runxml.c: (main):
10543         * tests/seeking/seeking1.c: (main):
10544         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10545         (main):
10546         Fix compilation of some tests.
10548 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10550         * gst/gsterror.h:
10551           Remove comment. GST_TYPE_G_ERROR is here to stay,
10552           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10553           (#316961, #300610).
10555 2005-09-26  Wim Taymans  <wim@fluendo.com>
10557         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10558         Added check that shows error in state change order.
10560 2005-09-26  Wim Taymans  <wim@fluendo.com>
10562         * gst/gstbin.c: (gst_bin_change_state):
10563         Make state change function use 3 queues again, we were
10564         adding elements in the wrong order.
10566         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10567         Some debug info,
10569         * gst/gstpad.c: (gst_pad_dispose):
10570         Added some debug info first.
10572 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10574         * docs/design/draft-push-pull.txt:
10575         * docs/design/part-events.txt:
10576         * docs/design/part-overview.txt:
10577         * docs/design/part-scheduling.txt:
10578           Replace all _pull_region() with _pull_range()
10579           
10580 2005-09-26  Andy Wingo  <wingo@pobox.com>
10582         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10584         * check/gst-libs/controller.c: Update for controller api change.
10586         * configure.ac: 
10587         * tests/Makefile.am:
10588         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10589         over by GLib bug 118439.
10590         
10591         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10592         routines to a function.
10594         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10596         * libs/gst/controller/gsthelper.c:
10597         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10598         (gst_object_sync_values): Renamed from sink_values. Ugh.
10600         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10602         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10603         Renamed from controller_key, as it is exported.
10605         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10607 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10609         * gst/Makefile.am:
10610         * gst/gst.h:
10611         * gst/gstpad.h:
10612         * gst/gstpadtemplate.h:
10613         * gst/gstquery.c:
10614         * gst/gstquery.h:
10615         * gst/gstqueryutils.c:
10616         * gst/gstqueryutils.h:
10617           remove queryutils headers after moving the two used functions
10618           to gstquery.  also fixes build problem for gstsiddec
10620 2005-09-26  Michael Smith <msmith@fluendo.com>
10622         * tools/gst-launch.1.in:
10623         Correct documentation in manpage of debug syntax
10625 2005-09-26  Wim Taymans  <wim@fluendo.com>
10627         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10628         (gst_base_src_is_seekable), (gst_base_src_change_state):
10629         Some more debugging info.
10631 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10633         * docs/gst/gstreamer-sections.txt:
10634         * gst/base/gstbasetransform.h:
10635         * gst/gstindex.h:
10636           added more docs
10638 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10640         * docs/gst/.cvsignore:
10641         * docs/gst/tmpl/.cvsignore:
10642         * docs/gst/tmpl/gstpipeline.sgml:
10643         * docs/gst/tmpl/gstplugin.sgml:
10644         * gst/gstpipeline.c:
10645         * gst/gstplugin.c:
10646         * gst/gstplugin.h:
10647           inlined the last two docs files
10648           removed the tmpl directory from cvs (no more conflicts here!)
10650 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10652         * docs/gst/gstreamer-sections.txt:
10653         * docs/gst/tmpl/.cvsignore:
10654         * docs/gst/tmpl/gstpad.sgml:
10655         * docs/gst/tmpl/gstpadtemplate.sgml:
10656         * gst/Makefile.am:
10657         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10658         (gst_pad_finalize), (gst_pad_set_pad_template):
10659         * gst/gstpad.h:
10660         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10661         (gst_pad_template_class_init), (gst_pad_template_init),
10662         (gst_pad_template_dispose), (name_is_valid),
10663         (gst_static_pad_template_get), (gst_pad_template_new),
10664         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10665         (gst_pad_template_pad_created):
10666         * gst/gstpadtemplate.h:
10667           inlined two more docs
10668           factored gstpadtemplate out of gstpad
10670 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10672         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10673         (test_children_state_change_order_semi_sink):
10674           Fix test case: we can't rely on a fixed state change order when
10675           going from READY => PAUSED because the sink might commit its 
10676           new state first when the first buffer created by the source 
10677           reaches the sink before the source has finished its change state.
10678           (Test case still fails at times, see #316856, comment 5 onwards)
10680 2005-09-24  Wim Taymans  <wim@fluendo.com>
10682         * docs/design/part-events.txt:
10683         * docs/design/part-gstbus.txt:
10684         * docs/design/part-gstpipeline.txt:
10685         * docs/design/part-messages.txt:
10686         * docs/design/part-overview.txt:
10687         * docs/design/part-segments.txt:
10688         * gst/gstbin.c:
10689         * gst/gstbuffer.c:
10690         * gst/gstclock.c:
10691         * gst/gstelement.c:
10692         * gst/gstevent.c:
10693         * gst/gstfilter.c:
10694         * gst/gstiterator.c:
10695         Various documentation updates.
10697 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10699         * gst/gstclock.h:
10700           Well, that's embarassing.  Luckily we weren't using
10701           GST_CLOCK_DIFF anywhere.
10703 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10705         * common/gtk-doc.mak:
10706           don't fail on building XML, FC4 slave shows a bunch of doc
10707           missing bits that I don't get
10708         * gst/gstpad.c:
10709         * gst/gstpipeline.c:
10710         * gst/gststructure.c:
10711           some doc updates
10713 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10715         * docs/design/part-gstbin.txt:
10716         * docs/design/part-gstbus.txt:
10717         * gst/gstbus.c:
10718           Add blurb about how the bus goes into flushing mode and
10719           drops all messages when its bin goes from READY into NULL 
10720           state.
10722 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10724         * docs/gst/gstreamer-sections.txt:
10725         * gst/gststructure.c: (gst_structure_get_clock_time):
10726         * gst/gststructure.h:
10727           add a method to get a GstClockTime out of a structure
10729 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10731         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10732         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10733           Added test to check state change order in bins (can still be made
10734           to fail here under heavy disk load; bails out with 'Push on pad
10735           fakesink:sink0, but it was not activated in push mode').
10737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10738           Fix state change order when there is only a semi sink (#316856)
10740         * gst/gstbus.c: (gst_bus_class_init):
10741           Use _class_peek_parent(), not _class_ref(); fix docs to say
10742           'default main context' instead of 'mainloop' where that is
10743           what's meant.
10745         * gst/gstelement.c: (gst_element_commit_state),
10746         (gst_element_set_state):
10747           Fix typos in debug messages
10749 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10751         * docs/README:
10752         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10753         * gst/gstpluginfeature.c:
10754         * gst/gstutils.c:
10755           various doc updates
10756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10757           change an assert into an error until it gets fixed properly
10759 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10761         * docs/gst/gstreamer-sections.txt:
10762         * docs/gst/tmpl/.cvsignore:
10763         * docs/gst/tmpl/gstelement.sgml:
10764         * docs/gst/tmpl/gstinfo.sgml:
10765         * docs/gst/tmpl/gstobject.sgml:
10766         * gst/gstelement.c:
10767         * gst/gstelement.h:
10768         * gst/gstinfo.c:
10769         * gst/gstinfo.h:
10770         * gst/gstobject.c: (gst_object_class_init):
10771         * gst/gstobject.h:
10772           inlined 3 more biiiig doc files and added some missing docs on the fly
10774 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10776         * check/gst/.cvsignore:
10777         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10778         * gst/gstregistryxml.c: (load_plugin),
10779         (gst_registry_xml_save_plugin):
10780           put back source in registry.  add checks for find_plugin.
10781         * testsuite/states/bin.c: (assert_state), (empty_bin),
10782         (test_adding_one_element), (main):
10783         * testsuite/states/locked.c: (main):
10784           some compile/run fixes
10786 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10788         * check/gst/gstvalue.c: (GST_START_TEST):
10789           fix leaks in the test itself
10791 2005-09-22  Wim Taymans  <wim@fluendo.com>
10793         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10794         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10795         (gst_base_sink_query):
10796         Prepare for more accurate position reporting and query
10797         handling.
10799         * gst/gstelement.c: (gst_element_send_event),
10800         (gst_element_set_state):
10801         Add some comment.
10803 2005-09-22  Wim Taymans  <wim@fluendo.com>
10805         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10806         (gst_query_parse_segment):
10807         * gst/gstquery.h:
10808         More documentation.
10809         Add segment query for future use.
10811 2005-09-22  Wim Taymans  <wim@fluendo.com>
10813         * gst/gstbin.c: (gst_bin_add_func):
10814         Some more debug info.
10816         * gst/gstelement.c: (gst_element_send_event):
10817         Simplify send_event
10819         * gst/gstelement.h:
10820         Don't know how flags got broken.
10822         * gst/gstquery.h:
10823         Added new query.
10825 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10827         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10828           Add simplistic test suite for GST_TYPE_DATE serialisation and
10829           deserialisation.
10831 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10833         * docs/gst/gstreamer-sections.txt:
10834         * gst/gststructure.c: (gst_structure_set_valist),
10835         (gst_structure_get_date):
10836         * gst/gststructure.h:
10837         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10838         (gst_date_copy), (gst_value_compare_date),
10839         (gst_value_serialize_date), (gst_value_deserialize_date),
10840         (gst_value_transform_date_string),
10841         (gst_value_transform_string_date), (_gst_value_initialize):
10842         * gst/gstvalue.h:
10843           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10844           bunch of utility functions along with a hack that checks that
10845           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10846           is required. Part of the grand scheme in #170777.
10848 2005-09-22  Andy Wingo  <wingo@pobox.com>
10850         * gst/gstconfig.h.in: Psych out gtk-doc.
10852         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10854         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10856         * tools/gst-inspect.c (print_element_list): Plug some
10857         inconsequential leaks.
10859         * gst/gstregistry.c (gst_registry_get_default): Doc.
10861         * check/gst/gstplugin.c: 
10862         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10863         * gst/gstelementfactory.c (gst_element_factory_create): 
10864         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10865         refcount changes.
10867         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10868         (gst_plugin_feature_load): Doc, don't eat refs.
10870         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10871         (gst_plugin_list_free): Doc.
10872         (gst_plugin_load_file): Doc updates.
10874         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10875         accessors returning refcounted objects, return a ref.
10877         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10878         accessor for caps. IDEMPOTENCE. Oh yes.
10880 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10882         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10884         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10885         (_gst_debug_register_funcptr):
10886           Add mutex to serialise access to the hash table with
10887           the function pointer => function name string mapping;
10888           make that hash table static scope (#316809).
10890         * gst/registries/.cvsignore:
10891           Remove left-over file.
10893 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10895         * docs/pwg/appendix-porting.xml:
10896           And something about newsegment events and caps-on-buffers to
10897           the porting guide (feel free to improve).
10899 2005-09-21  Andy Wingo  <wingo@pobox.com>
10901         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10902         data and event probes on the same pad.
10903         (test_buffer_probe_once): Test that removing probes from within
10904         the probe functions works.
10906 2005-09-21  Andy Wingo  <wingo@pobox.com>
10908         * check/gst/gstutils.c: New file.
10909         (test_buffer_probe_n_times): A simple buffer probe test. More to
10910         come, foolios.
10912         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10913         have-data::buffer, not have-data.
10914         (gst_pad_add_event_probe): Likewise for have-data::event.
10915         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10916         peer' isn't quite right yet though.
10917         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10918         (gst_pad_remove_data_probe): Change to take the guint handler_id
10919         as their arg, not the function+data, which is more glib-like.
10921         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10922         the signal emission to indicate if the data is a buffer or an
10923         event.
10924         (gst_pad_get_type): Initialize buffer and event quarks.
10925         (gst_pad_class_init): have-data is now a detailed signal, yes it
10926         is.
10928 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10930         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10931         * gst/gstutils.c: (gst_util_set_value_from_string),
10932         (gst_util_set_object_arg):
10933           Don't put functional code in g_return_if_fail() or
10934           g_return_val_if_fail() statements, otherwise things will 
10935           break when G_DISABLE_CHECKS is defined during compilation.
10937 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10939         * docs/gst/tmpl/.cvsignore:
10940         * docs/gst/tmpl/gstvalue.sgml:
10941         * gst/gstvalue.c:
10942         * gst/gstvalue.h:
10943           inlied another one and added  some obvious docs
10945 2005-09-21  Wim Taymans  <wim@fluendo.com>
10947         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10948         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10949         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10950         (gst_fdsrc_get_property), (gst_fdsrc_create):
10951         * gst/elements/gstfdsrc.h:
10952         Properly implement fdsrc. Removed signal and timeout,
10953         better implemented somewhere else.
10955 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10957         * docs/gst/tmpl/.cvsignore:
10958         * docs/gst/tmpl/gstimplementsinterface.sgml:
10959         * gst/gstinterface.c:
10960           inlined more docs
10962 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10964         * docs/gst/gstreamer-sections.txt:
10965         * docs/gst/tmpl/.cvsignore:
10966         * docs/gst/tmpl/gstenumtypes.sgml:
10967           remove obsolete doc file
10969 2005-09-21  David Schleef  <ds@schleef.org>
10971         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10972         little beer, fix a little leak.
10974 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10976         * docs/gst/gstreamer-docs.sgml:
10977         * docs/gst/gstreamer-sections.txt:
10978         * docs/gst/tmpl/.cvsignore:
10979         * gst/Makefile.am:
10980         * gst/gst.h:
10981         * gst/gstbin.c:
10982         * gst/gstelement.h:
10983         * gst/gstindex.c: (gst_index_class_init):
10984         * gst/gstindex.h:
10985         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10986         (gst_index_factory_class_init), (gst_index_factory_init),
10987         (gst_index_factory_finalize), (gst_index_factory_new),
10988         (gst_index_factory_destroy), (gst_index_factory_find),
10989         (gst_index_factory_create), (gst_index_factory_make):
10990         * gst/gstindexfactory.h:
10991         * gst/gstpluginfeature.c:
10992         * gst/gstpluginfeature.h:
10993         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10994           more docs inlined, splitted gstindex.{c,h}
10996 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10998         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10999           fix a leak
11001 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11003         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11004           Set sync to FALSE by default.
11006 2005-09-20  Wim Taymans  <wim@fluendo.com>
11008         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11009         (gst_base_sink_init):
11010         Make sync property settable from subclass.
11012         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11013         (gst_fake_sink_change_state):
11014         Set sync to FALSE by default.
11016 2005-09-20  Wim Taymans  <wim@fluendo.com>
11018         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11019         * tools/gst-launch.c: (main):
11020         The timeout handler should have lower priority than the source
11021         so we don't timeout before popping a message with 0 timeout.
11022         Dump error messages after failed state change.
11024 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11026         * tools/gst-inspect.c: (print_element_properties_info):
11027           Fix two typos.
11029 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11031         * check/gst/gstevent.c:
11032         * gst/elements/gstfakesink.c:
11033         * gst/elements/gstfakesink.h:
11034           remove the sync property from fakesink.
11035           has the side effect of setting sync TRUE
11036           for fakesink, which is a change.  Anyone who knows how
11037           to fix this nicely in a GObject-y way, feel free.
11039 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11041         * docs/gst/gstreamer-docs.sgml:
11042           remove probe refsection
11044 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11046         * check/Makefile.am:
11047           disable valgrinding the controller test again
11048         * docs/gst/gstreamer-sections.txt:
11049           update for api-changes
11051 2005-09-20  Wim Taymans  <wim@fluendo.com>
11053         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11054         (gst_base_sink_set_property), (gst_base_sink_get_property),
11055         (gst_base_sink_do_sync):
11056         * gst/base/gstbasesink.h:
11057         Added sync property to basesink to disable clock sync.
11059 2005-09-20  Andy Wingo  <wingo@pobox.com>
11061         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11062         eating the caller's refcount.
11064         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11065         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11066         refcount.
11068         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11069         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11070         of GLib 2.8 public, so we can know which refcount to check in
11071         tests.
11073         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11074         (gst_object_init): Only set the gst refcount if we're going ahead
11075         with the refcount hack.
11077 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11079         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11080         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11081           more leaks plumbed, added more debug-logging
11082         * gst/gstmacros.h:
11083           whitespace fix
11085 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11087         * gst/gstmessage.c:
11088           remove include of gstmemchunk.h
11090 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11092         * gst/gstclock.c: (_gst_clock_id_free):
11093           Commit from the Political Party For More Atomic CVS Commits,
11094           so that people don't waste too much of their day fishing
11095           out obvious leaks out of massive commits.
11096           Oh, and fix a pretty damn obvious leak in the memchunk
11097           removal code.
11099 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11101         * check/Makefile.am:
11102         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11103           plug mem-leak, re-add to valgrindable tests
11105 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11107         * gst/gstplugin.h:
11108           unbreak the build for those who have chronic arthritis
11109           and typing "make check" is just too taxing on the hands
11111 2005-09-20  Andy Wingo  <wingo@pobox.com>
11113         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11114         really want it out, you should fix plugins at the same time.
11116 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11118         * configure.ac:
11119         * docs/gst/gstreamer-sections.txt:
11120         * gst/gstobject.c:
11121           added missing symbols to api docs
11122           disable ref-count hack if we have glib >= 2.8
11124 2005-09-19  David Schleef  <ds@schleef.org>
11126         * docs/gst/Makefile.am: Ignore a few more internal headers
11127         * docs/gst/gstreamer-docs.sgml: Remove old sections
11128         * docs/gst/gstreamer-sections.txt: Remove old sections
11129         * docs/gst/tmpl/gstobject.sgml: update
11130         * docs/gst/tmpl/gstplugin.sgml: update
11131         * docs/gst/tmpl/gstpluginfeature.sgml: update
11132         * docs/random/ds/0.9-suggested-changes: update.
11133         * gst/Makefile.am: remove memchunk and trashstack, since they're
11134           not used.
11135         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11136         * gst/gst.h: don't include some headers
11137         * gst/gstchildproxy.c: add gstmarshal.h
11138         * gst/gstclock.c: Don't use memchunks
11139         * gst/gstminiobject.c: Add some docs
11140         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11141         * gst/gstobject.h: same
11142         * gst/gstplugin.c: include gstmacros.h
11143         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11144         * gst/gstquery.c: don't use memchunks
11145         * gst/gstregistry.c: rename gst_registry_deinit()
11146         * gst/gstregistry.h: same
11148 2005-09-19  David Schleef  <ds@schleef.org>
11150         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11151         * docs/libs/gstreamer-libs-sections.txt:
11152         * docs/libs/tmpl/gstgetbits.sgml:
11153         * docs/libs/tmpl/gstputbits.sgml:
11155 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11157         * win32/gstenumtypes.c:
11158         * win32/gstenumtypes.h:
11159           Update.
11161 2005-09-19  Wim Taymans  <wim@fluendo.com>
11163         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11164         Automatically PAUSE and RESUME a pipeline when a flushing seek
11165         is performed.
11167 2005-09-19  Andy Wingo  <wingo@pobox.com>
11169         * gst/gstregistry.h: Spacing fixen.
11171 2005-09-19  Wim Taymans  <wim@fluendo.com>
11173         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11174         Handle state change failure more correctly.
11176 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11178         * check/Makefile.am:
11179         * check/pipelines/cleanup.c: (run_pipeline):
11180         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11181         (GST_START_TEST):
11182           enable cleanup again after fixing the leak
11183         * docs/README:
11184           some more info on docs
11186 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11188         * check/Makefile.am:
11189           re-enable tests now that leaks are plugged
11190         * check/gst/gst.c:
11191         * check/gst/gstbin.c:
11192         * check/gst/gstpipeline.c:
11193           add some more tests while fixing leaks
11194         * common/check.mak:
11195           make sure binaries are uptodate when valgrinding/gdbing
11196         * gst/gst.c:
11197         * gst/gstelementfactory.c:
11198           remove a ref too many, and add a FIXME for when we get
11199           round to disposing of classes
11200         * gst/gstplugin.c:
11201           fix the refcounting when loading a plugin from a file and
11202           the code pretends that the pointer is the same even though
11203           of course it can change
11204         * gst/gstpluginfeature.c:
11205           unref plugins marked cached (a bit confusing as a name)
11206           as the docs state should be done
11207           various doc additions to explain refcounting
11208         * gst/gstregistry.c:
11209         * gst/gstregistryxml.c:
11210           debugging
11212 2005-09-19  Wim Taymans  <wim@fluendo.com>
11214         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11215         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11216         (send_messages), (GST_START_TEST), (gstbus_suite):
11217         * check/gst/gstpipeline.c: (GST_START_TEST):
11218         * check/pipelines/cleanup.c: (run_pipeline):
11219         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11220         (GST_START_TEST):
11221         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11222         (gst_bus_source_check), (gst_bus_source_dispatch),
11223         (gst_bus_create_watch), (gst_bus_add_watch_full),
11224         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11225         * gst/gstbus.h:
11226         * tools/gst-launch.c: (event_loop):
11227         * tools/gst-md5sum.c: (event_loop):
11228         GstBusHandler -> GstBusFunc, return value has the same meaning as
11229         any other GSource (FALSE == remove source).
11230         _add_watch() and _add_watch_full() now take a MessageType mask to
11231         only handle specific types of messages.
11232         _poll() returns the GstMessage instead of the message type to avoid
11233         race conditions.
11234         _have_pending() takes a MessageType mask now too.
11235         Added testsuite for multiple bus watches.
11236         Fix testsuites and applications for new bus API.
11238 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11240         * check/Makefile.am:
11241           mark a bunch of the tests as to fix until we fix them
11243 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11245         * common/check.mak:
11246           use GST_PLUGIN settings for valgrind tests as well, so we're
11247           valgrinding the correct thing
11248         * gst/gst.c: (init_post):
11249           plug another leak
11251 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11253         * gst/gst.c: (init_post), (gst_deinit):
11254         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11255         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11256         * gst/gstindex.c: (gst_index_factory_class_init),
11257         (gst_index_factory_finalize):
11258         * gst/gstobject.c: (gst_object_dispose):
11259         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11260         (gst_plugin_load_file), (gst_plugin_desc_free):
11261         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11262         (gst_plugin_feature_finalize):
11263         * gst/gstregistry.c: (gst_registry_class_init),
11264         (gst_registry_init), (gst_registry_finalize),
11265         (gst_registry_get_default), (gst_registry_deinit):
11266         * gst/gstregistry.h:
11267         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11268           various cleanups and memleak plugging.  make valgrind is happy now.
11270 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11272         * common/check.mak:
11273           add a check-valgrind target
11275 2005-09-18  David Schleef  <ds@schleef.org>
11277         * tools/gst-inspect.c: Revert the GOption code.
11279 2005-09-17  David Schleef  <ds@schleef.org>
11281         * check/Makefile.am: Fix environment variables.
11282         * check/gst/gstplugin.c: Fix for API changes.
11283         * tools/gst-inspect.c: Fix for API changes.
11284         * tools/gst-xmlinspect.c: Fix for API changes.
11285         * gst/gstelementfactory.c:
11286         * gst/gstplugin.c:
11287         * gst/gstplugin.h:
11288         * gst/gstpluginfeature.c:
11289         * gst/gstpluginfeature.h:
11290         * gst/gstregistry.c:
11291         * gst/gstregistry.h:
11292         * gst/gstregistryxml.c:
11293         * gst/gsttypefind.c:
11294         * gst/gsttypefindfactory.c:
11295         * gst/indexers/gstfileindex.c:
11296         * gst/indexers/gstmemindex.c:
11297         * gst/schedulers/Makefile.am:
11298           Change registry to keep track of both plugins and features,
11299           removing the feature tracking from plugins themselves.
11301 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11303         * check/Makefile.am:
11304         * tools/gst-register.1.in:
11305           remove gst-register
11307 2005-09-15  David Schleef  <ds@schleef.org>
11309         * check/gst/gstplugin.c:
11310         * gst/gstelementfactory.c:
11311         * gst/gstplugin.c:
11312         * gst/gstpluginfeature.c:
11313         * gst/gstregistry.c:
11314           Getting tired of debugging.  Disabled all the unreffing of
11315           plugins and features, which fixes the segfaults, but of
11316           course leaks like crazy.  At least playbin works.
11318 2005-09-15  David Schleef  <ds@schleef.org>
11320         * check/gst/gstplugin.c: (register_check_elements),
11321         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11322         More testing
11323         * gst/elements/gsttypefindelement.c: Fix refcounting.
11324         * gst/gsttypefind.c:
11325         * gst/gsttypefindfactory.c:
11326         * gst/gsttypefindfactory.h:
11328 2005-09-15  David Schleef  <ds@schleef.org>
11330         * gst/gstindex.c: get refcounting correct.
11331         * gst/gstregistry.c: Handle the case where a feature/plugin is
11332           not found.
11334 2005-09-15  David Schleef  <ds@schleef.org>
11336         * check/Makefile.am:
11337         * check/gst/gstplugin.c: Add test
11338         * gst/gstplugin.c: Fix problems noticed by testsuite
11339         * gst/gstplugin.h:
11340         * gst/gstregistry.c: 
11341         * gst/gstregistry.h:
11343 2005-09-15  David Schleef  <ds@schleef.org>
11345         * gst/gstplugin.c: Implement semi-decent recounting and locking
11346           in plugins and plugin features.
11347         * gst/gstplugin.h:
11348         * gst/gstpluginfeature.c:
11349         * gst/gstpluginfeature.h:
11350         * gst/gstregistry.c:
11352 2005-09-15  Michael Smith <msmith@fluendo.com>
11354         * gst/gstregistry.c: (gst_registry_get_feature_list):
11355           Implement this. Makes oggdemux work; decodebin still broken.
11357 2005-09-14  David Schleef  <ds@schleef.org>
11359         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11360           #316076)
11361         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11362         * gst/check/Makefile.am:
11363         * libs/gst/controller/Makefile.am:
11364         * libs/gst/dataprotocol/Makefile.am:
11366 2005-09-14  David Schleef  <ds@schleef.org>
11368         * configure.ac: Remove getbits library.  Nothing uses it, and
11369           it should be in something like liboil if someone did want
11370           to use it.
11371         * libs/gst/Makefile.am:
11372         * libs/gst/getbits/Makefile.am:
11373         * libs/gst/getbits/gbtest.c:
11374         * libs/gst/getbits/getbits.c:
11375         * libs/gst/getbits/getbits.h:
11376         * libs/gst/getbits/gstgetbits_generic.c:
11377         * libs/gst/getbits/gstgetbits_i386.s:
11378         * libs/gst/getbits/gstgetbits_inl.h:
11380 2005-09-14  David Schleef  <ds@schleef.org>
11382         * gst/Makefile.am: Dist glib-compat.h
11384 2005-09-14  David Schleef  <ds@schleef.org>
11386         * configure.ac: Remove gst/registries, since it's no longer used.
11387         * gst/registries/Makefile.am:
11388         * gst/registries/gstlibxmlregistry.c:
11389         * gst/registries/gstlibxmlregistry.h:
11390         * gst/registries/gstxmlregistry.c:
11391         * gst/registries/gstxmlregistry.h:
11392         * gst/registries/registrytest.c:
11394 2005-09-14  David Schleef  <ds@schleef.org>
11396         * gst/glib-compat.h:
11397         * gst/gstregistryxml.c:
11398           Convergence is near.  Seriously.
11400 2005-09-14  David Schleef  <ds@schleef.org>
11402         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11403         * gst/glib-compat.h:
11404           Attempt #4 to appease the buildbots.
11406 2005-09-14  David Schleef  <ds@schleef.org>
11408         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11409           Attempt #3.
11411 2005-09-14  David Schleef  <ds@schleef.org>
11413         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11414         Attempt #2.
11416 2005-09-14  David Schleef  <ds@schleef.org>
11418         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11419           the new functions.
11421 2005-09-14  David Schleef  <ds@schleef.org>
11423         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11424         * gst/glib-compat.h: Add some functions that are in newer versions
11425           of glib than we care to require.
11426         * gst/gstregistryxml.c: Use them.
11428 2005-09-14  David Schleef  <ds@schleef.org>
11430         * po/POTFILES.in: remove gst-register.c
11432 2005-09-14  David Schleef  <ds@schleef.org>
11434         * docs/gst/gstreamer-docs.sgml:
11435         * docs/gst/gstreamer-sections.txt:
11436         * docs/gst/gstreamer.types:
11437         * docs/gst/tmpl/gstelement.sgml:
11438         * docs/gst/tmpl/gstplugin.sgml:
11439         * docs/gst/tmpl/gstpluginfeature.sgml:
11440           Documentation updates for registry changes.
11442 2005-09-14  David Schleef  <ds@schleef.org>
11444         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11445           because we don't require glib-2.8.
11447 2005-09-14  David Schleef  <ds@schleef.org>
11449         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11450           registries directory.
11452 2005-09-14  David Schleef  <ds@schleef.org>
11454         * check/Makefile.am:
11455         * check/generic/states.c:
11456         * gst/Makefile.am:
11457         * gst/gst.c:
11458         * gst/gst.h:
11459         * gst/gst_private.h:
11460         * gst/gstelementfactory.c:
11461         * gst/gstindex.c:
11462         * gst/gstinfo.c:
11463         * gst/gstplugin.c:
11464         * gst/gstplugin.h:
11465         * gst/gstpluginfeature.c:
11466         * gst/gstpluginfeature.h:
11467         * gst/gstregistry.c:
11468         * gst/gstregistry.h:
11469         * gst/gstregistrypool.c: remove
11470         * gst/gstregistrypool.h: remove
11471         * gst/gsttypefind.c:
11472         * gst/gsttypefindfactory.c:
11473         * gst/gsturi.c:
11474         * tools/Makefile.am:
11475         * tools/gst-compprep.c:
11476         * tools/gst-inspect.c:
11477         * tools/gst-register.c: remove
11478         * tools/gst-xmlinspect.c:
11479           Registry rewrite.  Changes registry from being a file created
11480           by a tool into a simple cache file created automatically by 
11481           libgstreamer.  Removed gst-register (because it's no longer
11482           needed).  Remove registry pools, because we only have one
11483           registry implementation (XML).  Fix up other subsystems as
11484           necessary.
11486 2005-09-13  Michael Smith <msmith@fluendo.com>
11488         * gst/gstconfig.h.in:
11489           Don't Use windows linking attributes for MinGW. Fixes #316157
11491 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11493         * gst/gstutils.c: (set_state_async_thread_func),
11494         (gst_element_set_state_async):
11495           Apparently people think it's better if this function doesn't
11496           try to set the state to whatever state was asked for on the first
11497           call to this function for any object.  Seriously.
11499 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11501         * check/gst/gstpipeline.c: (GST_START_TEST):
11502         * docs/gst/gstreamer-sections.txt:
11503         * gst/gstutils.c: (set_state_async_thread_func),
11504         (gst_element_set_state_async):
11505         * gst/gstutils.h:
11506           add a "gst_element_set_state_async" method that
11507           sets the state and starts a thread to make sure the state
11508           change completes as best as it can
11510 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11512         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11513           codify design+behaviour in testsuite after discussion
11515 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11517         * docs/gst/tmpl/gstelement.sgml:
11518         * docs/manual/appendix-quotes.xml:
11519           add a quote
11520         * gst/gstelement.c: (gst_element_set_state):
11521           add some debug
11523 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11525         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11526         (gst_base_transform_prepare_output_buf),
11527         (gst_base_transform_handle_buffer):
11528         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11529         (gst_capsfilter_prepare_buf):
11530           Remove the requirement for sub-classes to call the parent
11531           implementation of prepare_output_buffer with a wrapper function.
11532           
11533         * gst/gsttaglist.h:
11534         * gst/gsttagsetter.h:
11535           Fix #define wrapper
11537 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11539         * docs/gst/gstreamer-sections.txt:
11540           more doc cleanups
11542 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11544         * docs/gst/gstreamer-sections.txt:
11545         * docs/gst/tmpl/gstelement.sgml:
11546         * docs/gst/tmpl/gstplugin.sgml:
11547         * gst/gstminiobject.c:
11548         * gst/gstvalue.h:
11549           docs now stop throwing warnings
11551 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11553         * docs/gst/gstreamer-sections.txt:
11554         * docs/gst/gstreamer.types:
11555         * docs/gst/tmpl/gstpad.sgml:
11556         * docs/gst/tmpl/gsttypes.sgml:
11557         * gst/base/gstadapter.h:
11558         * gst/base/gstbasesink.h:
11559         * gst/base/gstbasesrc.h:
11560         * gst/gstbin.h:
11561         * gst/gstbuffer.h:
11562         * gst/gstbus.h:
11563         * gst/gstcaps.h:
11564         * gst/gstclock.h:
11565         * gst/gstelement.h:
11566         * gst/gstevent.h:
11567         * gst/gstmessage.h:
11568         * gst/gstpad.h:
11569         * gst/gststructure.c:
11570         * gst/registries/gstlibxmlregistry.h:
11571           various documentation fixes
11573 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11575         * docs/gst/gstreamer-sections.txt:
11576         * docs/gst/tmpl/gstvalue.sgml:
11577           rearrange gstvalue section
11578         * gst/gstutils.c: (gst_element_state_get_name):
11579           NONE -> VOID
11580         * gst/gstvalue.c: (_gst_value_initialize):
11581         * gst/gstvalue.h:
11582           doc updates
11584 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11586         * check/gst-libs/controller.c:
11587           Header include fix.
11588         * gst/base/gstbasetransform.c:
11589         (gst_base_transform_default_prepare_buf),
11590         (gst_base_transform_handle_buffer):
11591         * gst/base/gstbasetransform.h:
11592           Some more basetransform changes and fixes to enable sub-classes
11593           that modify buffer metadata only.
11594         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11595         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11596         (gst_capsfilter_prepare_buf):
11597           If the output pad has fixed allowed caps and input buffers 
11598           don't have any, set the fixed caps on outgoing buffers.
11600 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11601         * check/elements/identity.c: (GST_START_TEST):
11602           Make the error a little clearer when the test fails because
11603           identity made a copy of the buffer.
11604         * docs/gst/gstreamer-sections.txt:
11605           New symbols in gstbasetransform.h
11606         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11607         (gst_base_transform_init), (gst_base_transform_transform_size),
11608         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11609         (gst_base_transform_default_prepare_buf),
11610         (gst_base_transform_get_unit_size),
11611         (gst_base_transform_buffer_alloc),
11612         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11613         (gst_base_transform_change_state),
11614         (gst_base_transform_set_passthrough),
11615         (gst_base_transform_set_in_place),
11616         (gst_base_transform_is_in_place):
11617         * gst/base/gstbasetransform.h:
11618           Change BaseTransform to separate in_place operate from same_caps
11619           output. in_place implies that the element can perform the transform
11620           on incoming buffers in-place, even if the caps on the output are
11621           different.
11622           Sub-class elements can now implement special buffer allocation
11623           methods for outgoing buffers if they wish to.
11624           Big documentation addition.
11625         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11626         * gst/elements/gstelements.c:
11627           Changes for basetransform modifications.
11628         * gst/elements/Makefile.am:
11629         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11630           Compile fix. Extra debug output.
11632 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11634         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11635         (gst_pad_suite):
11636           add tests for valid pad naming
11637         * gst/check/gstcheck.c: (gst_check_log_message_func),
11638         (gst_check_log_critical_func):
11639           add ASSERT_WARNING
11640           remove printing of code, it is fragile when the code contains
11641           % and the line number is enough info
11642         * gst/check/gstcheck.h:
11643         * gst/gstpad.c: (gst_pad_template_new):
11644           fix memleaks
11646 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11648         * configure.ac:
11649           say what CHECK flags we use
11650         * docs/libs/gstreamer-libs.types:
11651         * libs/gst/controller/Makefile.am:
11652         * libs/gst/controller/gst-controller.c:
11653         * libs/gst/controller/gst-controller.h:
11654         * libs/gst/controller/gst-helper.c:
11655         * libs/gst/controller/gst-interpolation.c:
11656         * libs/gst/controller/gstcontroller.c:
11657         * libs/gst/controller/gsthelper.c:
11658         * libs/gst/controller/gstinterpolation.c:
11659         * tools/gst-inspect.c: (print_plugin_info):
11660           we don't use dashes in header names
11662 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11664         * check/Makefile.am:
11665         * check/gst/.cvsignore:
11666         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11667         (gst_pipeline_suite), (main):
11668           adding a test for pipelines and state changes
11669         * gst/gstutils.c: (get_state_func):
11670           add some debugging
11671         * gstreamer.spec.in:
11672           fix up spec file
11674 2005-09-08  Michael Smith <msmith@fluendo.com>
11676         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11677         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11678         (gst_file_src_is_seekable), (gst_file_src_get_size),
11679         (gst_file_src_start):
11680         * gst/elements/gstfilesrc.h:
11681           Various fixes for unseekable, unmmapable, and non-normal files, so
11682           that fallback to read() rather than mmap() works.
11683         * gst/gstevent.c: (gst_event_new_newsegment):
11684           Allow newsegment events with segment_start == segment_end, as will
11685           correctly happen if you use filesrc on a zero-size file, for
11686           example.
11688 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11690         * gst/gstplugin.c: (gst_plugin_load_file):
11691           Call g_module_close when we don't load the module
11693         * gst/registries/gstlibxmlregistry.c:
11694         (gst_xml_registry_get_property):
11695           Port leak fix from 0.8
11697 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11699         * docs/gst/gstreamer-docs.sgml:
11700         * docs/gst/tmpl/.cvsignore:
11701         * docs/gst/tmpl/gsttrace.sgml:
11702         * docs/gst/tmpl/gsttrashstack.sgml:
11703         * gst/Makefile.am:
11704         * gst/gst.h:
11705         * gst/gstelement.h:
11706         * gst/gstevent.h:
11707         * gst/gstmessage.c:
11708         * gst/gstmessage.h:
11709         * gst/gsttag.c:
11710         * gst/gsttag.h:
11711         * gst/gsttaginterface.c:
11712         * gst/gsttaginterface.h:
11713         * gst/gsttaglist.c:
11714         * gst/gsttaglist.h:
11715         * gst/gsttagsetter.c:
11716         * gst/gsttagsetter.h:
11717         * gst/gsttrace.c:
11718         * gst/gsttrace.h:
11719         * gst/gsttrashstack.c:
11720           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11721           inlined docs for gsttrace, gsttrashstack
11723 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11725         * gst/Makefile.am:
11726         * gst/elements/gstbufferstore.h:
11727         * gst/elements/gsttypefindelement.c:
11728         * gst/elements/gsttypefindelement.h:
11729         * gst/gst.h:
11730         * gst/gsttypefind.c:
11731         * gst/gsttypefind.h:
11732         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11733         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11734         (gst_type_find_factory_dispose),
11735         (gst_type_find_factory_unload_thyself),
11736         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11737         (gst_type_find_factory_get_caps),
11738         (gst_type_find_factory_get_extensions),
11739         (gst_type_find_factory_call_function):
11740         * gst/gsttypefindfactory.h:
11741         * gst/registries/gstlibxmlregistry.c:
11742         * gst/registries/gstxmlregistry.c:
11743           splitted gsttypefind into gsttypefind, gsttypefindfactory
11745 2005-09-07  Andy Wingo  <wingo@pobox.com>
11747         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11748         condition whereby the pad's task function is entered before the
11749         pad_mode variable was set.
11751 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11753         * gst/gstpad.c: (gst_pad_alloc_buffer):
11754           Catch misbehaving pad_alloc functions that don't
11755           set up caps and do it for them.
11757 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11759         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11760           test for pipe!=NULL
11761         * docs/gst/tmpl/.cvsignore:
11762         * docs/gst/tmpl/gstmemchunk.sgml:
11763         * docs/gst/tmpl/gstparse.sgml:
11764         * docs/gst/tmpl/gsttaglist.sgml:
11765         * docs/gst/tmpl/gsttagsetter.sgml:
11766         * docs/gst/tmpl/gsttypefind.sgml:
11767         * docs/gst/tmpl/gsttypefindfactory.sgml:
11768         * gst/gstmemchunk.c:
11769         * gst/gstparse.c:
11770         * gst/gsttag.c:
11771         * gst/gsttaginterface.c:
11772         * gst/gsttypefind.c:
11773         * gst/gsttypefind.h:
11774           inlined more docs
11776 === release 0.9.2 ===
11778 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11780         * NEWS:
11781         * RELEASE:
11782         * configure.ac:
11783           releasing 0.9.2, "South"
11785 2005-09-05  Andy Wingo  <wingo@pobox.com>
11787         * gst/registries/gstxmlregistry.h:
11788         * gst/registries/gstxmlregistry.c: Um... resurrect...
11789         
11790         * gst/registries/gstxmlregistry.h:
11791         * gst/registries/gstxmlregistry.c: and update to newer API.
11792         Incidentally they should be a bit faster now that they don't have
11793         to parse the caps.
11794         
11795 2005-09-05  Andy Wingo  <wingo@pobox.com>
11797         * gst/registries/gstxmlregistry.h:
11798         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11799         replaced by the libxml registry a while back
11801 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11803         * docs/gst/tmpl/gstplugin.sgml:
11804         * gst/elements/gstelements.c:
11805         * gst/gst.c:
11806         * gst/gstplugin.c: (gst_plugin_register_func),
11807         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11808         (gst_plugin_get_source):
11809         * gst/gstplugin.h:
11810         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11811         (gst_xml_registry_save_plugin):
11812         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11813         (gst_xml_registry_save_plugin):
11814         * tools/gst-inspect.c: (print_plugin_info):
11815           add a "source" plugin description field, to represent the source
11816           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11817           will set it to PACKAGE, which is automake's idea of the name of
11818           the source project.
11820 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11822         * Makefile.am:
11823         * autogen.sh:
11824         * configure.ac:
11825         * docs/Makefile.am:
11826         * docs/faq/Makefile.am:
11827         * docs/gst/tmpl/gstelement.sgml:
11828         * docs/gst/tmpl/gsttypes.sgml:
11829         * docs/htmlinstall.mak:
11830         * docs/manual/Makefile.am:
11831         * docs/pwg/Makefile.am:
11832           reorganize doc build a little
11833           split out docbook and gtk-doc stuff
11834           have two separate --enable's and enable them through autogen
11835           but disable by default in configure (to be similar to other
11836           projects)
11837         * gstreamer.spec.in:
11838           clean up docs install
11839         * po/af.po:
11840         * po/az.po:
11841         * po/ca.po:
11842         * po/cs.po:
11843         * po/de.po:
11844         * po/en_GB.po:
11845         * po/fr.po:
11846         * po/it.po:
11847         * po/nb.po:
11848         * po/nl.po:
11849         * po/ru.po:
11850         * po/sq.po:
11851         * po/sr.po:
11852         * po/sv.po:
11853         * po/tr.po:
11854         * po/uk.po:
11855         * po/vi.po:
11856           translation updates
11858 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11860         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11861           Add comment.
11862           
11863         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11864         (gst_fake_sink_change_state):
11865           Make state change function thread-safe.
11866           
11867         * gst/gstpad.c: (gst_pad_alloc_buffer):
11868           Set offset on generic buffer allocated by fallback.
11870 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11872         * docs/gst/gstreamer-sections.txt:
11873         * docs/gst/tmpl/gstelement.sgml:
11874         * gst/gstpad.c:
11875         * libs/gst/controller/gst-controller.c:
11876         (gst_controlled_property_set_interpolation_mode),
11877         (gst_controlled_property_new),
11878         (gst_controller_find_controlled_property):
11879          run the wingo-magic script against the docs
11881 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11883         * docs/gst/gstreamer-docs.sgml:
11884         * docs/gst/gstreamer-sections.txt:
11885         * docs/gst/tmpl/.cvsignore:
11886         * docs/gst/tmpl/gstelementdetails.sgml:
11887         * docs/gst/tmpl/gstelementfactory.sgml:
11888         * gst/gst.c:
11889         * gst/gstbus.c:
11890         * gst/gstelementfactory.c:
11891         * gst/gstelementfactory.h:
11892           merged elementdetails docs into elementfactory docs
11893           inlined both
11895 2005-09-02  Andy Wingo  <wingo@pobox.com>
11897         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11898         consider this enum an enum and not a flags.
11900 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11902         * docs/gst/gstreamer-docs.sgml:
11903         * docs/gst/tmpl/.cvsignore:
11904         * docs/gst/tmpl/gstghostpad.sgml:
11905         * docs/gst/tmpl/gstiterator.sgml:
11906         * docs/gst/tmpl/gstmacros.sgml:
11907         * docs/gst/tmpl/gstrealpad.sgml:
11908         * docs/gst/tmpl/gstregistry.sgml:
11909         * docs/gst/tmpl/gstregistrypool.sgml:
11910         * docs/gst/tmpl/gststructure.sgml:
11911         * docs/gst/tmpl/gstsystemclock.sgml:
11912         * docs/gst/tmpl/gsttrace.sgml:
11913         * gst/gstghostpad.c:
11914         * gst/gstmacros.h:
11915         * gst/gstmemchunk.c:
11916         * gst/gstmemchunk.h:
11917         * gst/gstqueue.c:
11918         * gst/gstregistry.c:
11919         * gst/gstregistrypool.c:
11920         * gst/gststructure.c:
11921         * gst/gstsystemclock.c:
11922           more docs inlined
11924 2005-09-02  Andy Wingo  <wingo@pobox.com>
11926         * gst/gstelement.h (GstState): Renamed from GstElementState,
11927         changed to be a normal enum instead of flags.
11928         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11929         munged to be GST_STATE_CHANGE_*.
11930         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11931         work with the new state representation.
11932         (GstStateChange): New enumeration of possible state transitions.
11933         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11934         (GstElementClass::change_state): Pass the GstStateChange along as
11935         an argument. Helps language bindings, so they don't have to use
11936         tricky lock-needing macros like GST_STATE_CHANGE ().
11938         * scripts/update-states (file): New script. Run it on a file to
11939         update it for state naming and API changes. Updates files in
11940         place.
11942         * All files updated for the new API.
11944 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11946         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11947         * gst/gstutils.c: (gst_util_set_value_from_string),
11948         (gst_util_set_object_arg):
11949           fix a bunch of unchecked return values
11950         * tools/gst-complete.c: (main):
11951         * gstreamer.spec.in:
11952           clean up a little
11954 2005-09-01  Wim Taymans  <wim@fluendo.com>
11956         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11957         (gst_base_sink_event), (gst_base_sink_do_sync),
11958         (gst_base_sink_handle_event):
11959         * gst/base/gstbasesink.h:
11960         Handle newsegments more correctly.
11962         * gst/gstbus.c:
11963         Fix docs.
11965         * gst/gstevent.c: (gst_event_new_newsegment):
11966         A newsegment cannot have a start_time of -1
11968 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11970         * win32/gstenumtypes.c:
11971         * win32/gstenumtypes.h:
11972           Update
11974 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11976         * libs/gst/controller/gst-controller.c:
11977         (gst_controlled_property_set_interpolation_mode),
11978         (gst_controlled_property_new):
11979          fixed boolean again
11981 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11983         * docs/faq/gst-uninstalled:
11984           add -good
11985         * gst/gstevent.c:
11986         * gst/gstevent.h:
11987           remove wrong docs
11988         * gst/gstutils.c: (gst_element_link_filtered):
11989         * gst/gstutils.h:
11990           add gst_element_link_filtered
11992 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11994         * docs/gst/gstreamer-docs.sgml:
11995         * docs/gst/gstreamer-sections.txt:
11996         * docs/gst/tmpl/.cvsignore:
11997         * docs/gst/tmpl/gsterror.sgml:
11998         * docs/gst/tmpl/gstfilter.sgml:
11999         * docs/gst/tmpl/gsturihandler.sgml:
12000         * docs/gst/tmpl/gsturitype.sgml:
12001         * docs/gst/tmpl/gstutils.sgml:
12002         * docs/gst/tmpl/gstxml.sgml:
12003         * gst/gsterror.c:
12004         * gst/gsterror.h:
12005         * gst/gstfilter.c:
12006         * gst/gsturi.c:
12007         * gst/gsturitype.c:
12008         * gst/gstutils.c:
12009         * gst/gstxml.c:
12010           inlined more docs, fixed double id-ref
12012 2005-08-31  Wim Taymans  <wim@fluendo.com>
12014         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12015         (gst_base_transform_handle_buffer):
12016         Passthrough elements don't need the caps as they don't care.
12018 2005-08-31  Wim Taymans  <wim@fluendo.com>
12020         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12021         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12022         Don't leak refcounts on buffers.
12024 2005-08-31  Wim Taymans  <wim@fluendo.com>
12026         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12027         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12028         (gst_base_transform_chain), (gst_base_transform_change_state):
12029         * gst/base/gstbasetransform.h:
12030         Handle the case where we are not negotiated more gracefully.
12032 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12034         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12035         (gst_file_src_map_region):
12036           Set READONLY flag on mmap'ed buffers, otherwise
12037           gst_buffer_make_writable() won't work properly (#314708).
12039 2005-08-31  Wim Taymans  <wim@fluendo.com>
12041         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12042         passthrough elements can even do inplace on non writable
12043         buffers (as they don't touch them).
12045 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12047         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12048         (gst_test_mono_source_set_property),
12049         (gst_test_mono_source_class_init), (GST_START_TEST),
12050         (gst_controller_suite):
12051           more tests (hehe I have the most)
12052         * gst/gstbus.c:
12053           describe popping messages whenusing mulltiple sources
12054         * libs/gst/controller/gst-controller.c:
12055         (gst_controlled_property_set_interpolation_mode),
12056         (gst_controlled_property_new):
12057         * libs/gst/controller/gst-controller.h:
12058         * libs/gst/controller/gst-interpolation.c:
12059           implement boolean properties
12061 2005-08-31  Wim Taymans  <wim@fluendo.com>
12063         * gst/gstminiobject.c: (gst_mini_object_ref):
12064         Cannot assert that the refcount has to be positive
12065         since a disposed object can be resurrected.
12067 2005-08-31  Wim Taymans  <wim@fluendo.com>
12069         * gst/gstpad.c: (gst_pad_init):
12070         Revert change, need to first fix badly behaving 
12071         apps.
12073 2005-08-30  Wim Taymans  <wim@fluendo.com>
12075         * check/elements/fakesrc.c: (setup_fakesrc):
12076         * check/elements/identity.c: (setup_identity):
12077         Activate pads before using them.
12079 2005-08-30  Wim Taymans  <wim@fluendo.com>
12081         * gst/base/gstadapter.c: (gst_adapter_flush):
12082         Flushing out 0 bytes is ok for this function.
12084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12085         no newsegment gives a warning and sets the start/stop to 
12086         invalid.
12088         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12089         (gst_base_transform_set_passthrough):
12090         Some debug info.
12092         * gst/gstminiobject.c: (gst_mini_object_ref):
12093         Check refcount here too.
12095         * gst/gstpad.c: (gst_pad_init):
12096         Pads are initially flushing and refusing data.
12098         * gst/gstutils.c: (gst_element_link_pads_filtered):
12099         When adding a capsfilter element make sure it has the
12100         same state as the parent bin.
12102 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12104         * docs/gst/tmpl/.cvsignore:
12105         * docs/gst/tmpl/gstformat.sgml:
12106         * docs/gst/tmpl/gstversion.sgml:
12107         * gst/gstbus.h:
12108         * gst/gstformat.c:
12109         * gst/gstformat.h:
12110         * gst/gstversion.h.in:
12111           more docs and two more inlined
12113 2005-08-30  Wim Taymans  <wim@fluendo.com>
12115         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12116         Don't sync to clock.
12118 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12120         * docs/gst/gstreamer-sections.txt:
12121           ultral33t func10ns deserve to appear in the docs actually
12122         * docs/gst/tmpl/.cvsignore:
12123         * docs/gst/tmpl/gstcompat.sgml:
12124         * docs/gst/tmpl/gstconfig.sgml:
12125         * gst/check/gstcheck.c:
12126         * gst/gstcompat.h:
12127         * gst/gstconfig.h.in:
12128           inlined more docs
12130 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12132         * docs/gst/tmpl/.cvsignore:
12133         * docs/gst/tmpl/gstquery.sgml:
12134         * docs/gst/tmpl/gstutils.sgml:
12135         * gst/gstquery.c:
12136         * gst/gstquery.h:
12137           inlined and extended docs
12139 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12141         * check/gst-libs/controller.c: (GST_START_TEST),
12142         (gst_controller_suite):
12143           more tests
12144         * docs/gst/tmpl/gstutils.sgml:
12145         * docs/libs/gstreamer-libs-sections.txt:
12146         * docs/libs/tmpl/gstdataprotocol.sgml:
12147           include path fixes
12148         * examples/controller/audio-example.c: (main):
12149           controller example works now
12150         * gst/gstclock.h:
12151           doc fixes
12152         * tools/gst-inspect.c: (print_element_properties_info):
12153           show param spec flags
12155 2005-08-29  Andy Wingo  <wingo@pobox.com>
12157         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12159 2005-08-28  Andy Wingo  <wingo@pobox.com>
12161         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12162         as having two arguments instead of just one. Allows superclasses
12163         to access information on subclasses -- see the terrible for() loop
12164         in gtype.c:g_type_create_instance for the reason why. All callers
12165         changed.
12167 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12169         * docs/design/part-messages.txt:
12170           update info
12171         * docs/gst/tmpl/.cvsignore:
12172         * docs/gst/tmpl/gstcaps.sgml:
12173         * docs/gst/tmpl/gstclock.sgml:
12174         * gst/gstbus.c:
12175         * gst/gstcaps.c:
12176         * gst/gstcaps.h:
12177         * gst/gstclock.c:
12178         * gst/gstclock.h:
12179         * gst/gstmessage.c:
12180           added descriptions for bus and message
12181           inline caps and clock docs
12183 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12185         * gst/gstmessage.c:
12186         * gst/gstmessage.h:
12187           doc fixes
12189 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12191         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12192           fix div-by-zero
12194 2005-08-26  Andy Wingo  <wingo@pobox.com>
12196         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12197         element_set_state's return val.
12198         (test_2_elements): Add test that's been disabled for months.
12200         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12201         can-activate-pull properties.
12203         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12204         can-activate-pull properties. Implement is_seekable so fakesrc can
12205         operate in pull mode.
12207         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12208         properties.
12209         (gst_base_sink_activate, gst_base_sink_activate_pull)
12210         (gst_base_sink_activate_push): Make activation mode choosing work.
12211         Cleanups.
12212         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12213         is right. Make pull mode work. Post an eos before pausing in pull
12214         mode.
12215         (gst_base_sink_change_state): Pay attention to the core's
12216         change_state() return val.
12217         
12218         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12219         has-getrange properties. Cleanups.
12220         
12221         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12222         has_getrange and replace with can_activate_pull and
12223         can_activate_push.
12225         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12226         locking comments. Remove has_loop, has_chain and replace with
12227         can_activate_pull and can_activate_push.
12229 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12231         * configure.ac:
12232         * examples/Makefile.am:
12233         * examples/metadata/Makefile.am:
12234         * examples/metadata/read-metadata.c: (message_loop),
12235         (have_pad_handler), (make_pipeline), (print_tag), (main):
12236           Add metadata reading example that loops over a list of filenames,
12237           dumping any tags found.
12239         * gst/gstbus.c: (gst_bus_dispose):
12240         * gst/gstelement.c: (gst_element_dispose):
12241           Release a few potentially-held references in dispose.
12243 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12245         * docs/gst/tmpl/gstminiobject.sgml:
12246           do *not* add tmpl/*.sgml files to CVS!
12248 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12250         * libs/gst/bytestream/.cvsignore:
12251         * libs/gst/bytestream/Makefile.am:
12252         * libs/gst/bytestream/adapter.c:
12253         * libs/gst/bytestream/adapter.h:
12254         * libs/gst/bytestream/bytestream.c:
12255         * libs/gst/bytestream/bytestream.h:
12256         * libs/gst/bytestream/filepad.c:
12257         * libs/gst/bytestream/filepad.h:
12258           removing obsolete files
12260 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12262         * docs/gst/gstreamer-docs.sgml:
12263         * docs/libs/gstreamer-libs-docs.sgml:
12264           disabed additional index entries again, as this makes docs-gen just
12265           slow and they aren't useful yet
12266         * docs/libs/gstreamer-libs-sections.txt:
12267           little -section.txt cleanup for libs
12269 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12272         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12273           fix up some debugging
12274         (gst_base_transform_get_unit_size),
12275         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12276         (gst_base_transform_handle_buffer):
12277         * gst/base/gstbasetransform.h:
12278           handle and store timed NEWSEGMENT events so that subclasses that
12279           calculate time by counting samples have a segment_start time they
12280           need to add to their timestamps - see audioresample
12282 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12284         * gst/gstbin.h:
12285           removed ';' from the end of macro defs
12286         * docs/gst/gstreamer-docs.sgml:
12287         * docs/gst/gstreamer-sections.txt:
12288         * docs/gst/tmpl/.cvsignore:
12289         * gst/gstbus.h:
12290         * gst/gstelement.c: (gst_element_class_init),
12291         (gst_element_set_state), (activate_pads),
12292         (gst_element_save_thyself):
12293         * gst/gstevent.c: (gst_event_new_newsegment):
12294         * gst/gstevent.h:
12295         * gst/gstiterator.c:
12296         * gst/gstiterator.h:
12297         * gst/gstpad.c:
12298         * gst/gstprobe.h:
12299         * gst/gstutils.c: (gst_pad_query_convert):
12300         * gst/gstutils.h:
12301           fixed parameter name mismatches between source, header and docs
12302           added some more docs, resolved the last batch of unused elements in
12303           docs (now someone needs to doc them)
12305 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12307         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12308         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12309           don't walk through the plugins backwards.  Where is all this
12310           reversed logic coming from ?
12312 2005-08-25  Wim Taymans  <wim@fluendo.com>
12314         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12315         (gst_base_transform_transform_size),
12316         (gst_base_transform_configure_caps),
12317         (gst_base_transform_get_unit_size),
12318         (gst_base_transform_buffer_alloc),
12319         (gst_base_transform_change_state):
12320         * gst/base/gstbasetransform.h:
12321         Cache caps unit_size.
12322         Make sure we cannot negotiate up and downstream at the
12323         same time.
12325 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12327         * gst/gst.c: (init_pre), (init_post):
12328           register the installed plugin path after the env var
12329         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12330         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12331           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12332           directories, so the tests can prefer uninstalled over installed
12334 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12336         * gst/base/gstbasetransform.h:
12337           comment
12338         * gst/gstpad.c:
12339           add to docs
12341 2005-08-25  Wim Taymans  <wim@fluendo.com>
12343         * gst/gstbin.c: (bin_bus_handler):
12344         Be a bit more conservative about the posted message.
12345         
12346         * gst/gstbus.c: (gst_bus_post):
12347         Some cleanups, warn wrong return values.
12349 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12351         * check/gst/gstbin.c: (GST_START_TEST):
12352         * gst/gstbin.c: (bin_bus_handler):
12353         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12354         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12355         (gst_message_new_warning), (gst_message_new_tag),
12356         (gst_message_new_state_changed), (gst_message_new_segment_start),
12357         (gst_message_new_segment_done), (gst_message_new_custom):
12358         * gst/gstmessage.h:
12359         * tools/gst-launch.c: (event_loop):
12360         * tools/gst-md5sum.c: (event_loop):
12361           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12363 2005-08-25  Wim Taymans  <wim@fluendo.com>
12365         * check/generic/states.c: (GST_START_TEST):
12366         Cleanup can be done at the end.
12368         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12369         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12370         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12371         Oh boy.. Thanks for finding this, Thomas. 
12373 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12375         * docs/gst/gstreamer.types:
12376           added missing types
12378 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12380         * docs/gst/gstreamer-docs.sgml:
12381         * docs/gst/gstreamer-sections.txt:
12382         * docs/gst/tmpl/.cvsignore:
12383         * gst/gstbin.c:
12384         * gst/gstiterator.c:
12385         * gst/gstutils.c:
12386         * gst/registries/gstxmlregistry.h:
12387           added missing classes and symbols (123 more to go)
12388           removed removed symbols from section file
12389           fixed many doc-comments
12391 2005-08-24  Wim Taymans  <wim@fluendo.com>
12393         * check/generic/states.c: (GST_START_TEST):
12394         Make sure all tasks are stopped.
12396         * check/gst/gstbin.c: (GST_START_TEST):
12397         Unref after usage for proper valgrinding.
12399         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12400         Really wait for the task to stop before destroying the
12401         mutex.
12403         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12404         (gst_queue_src_activate_push):
12405         Small cleanups. Don't stop the task when we did not start
12406         it.
12408         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12409         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12410         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12411         (gst_task_join):
12412         * gst/gsttask.h:
12413         Protect the stream lock with the object lock.
12414         Disallow setting the stream lock when running.
12415         Add cleanup_all to wait for the threadpool to finish.
12416         Remove code to autoallocate a mutex if none was provided.
12417         Add _join() to wait for a task to stop.
12418         Protect the thread pool with a global lock.
12420 2005-08-24  Wim Taymans  <wim@fluendo.com>
12422         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12423         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12424         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12425         * gst/base/gstbasesink.h:
12426         Handle newsegment events correctly.
12427         Drop buffers out of the segment range.
12429 2005-08-22  Andy Wingo  <wingo@pobox.com>
12431         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12432         macro, implements an interface and gstimplementsinterface for a
12433         new type.
12435 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12437         * check/Makefile.am:
12438         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12439           add a test that does a bunch of state changes on elements
12440           needs some fixing for valgrind
12441         * check/states/sinks.c: (gst_object_suite):
12442           whitespace
12443         * gst/gstcaps.h:
12444           add prototype for gst_caps_is_equal_fixed
12445         * gst/gstplugin.c:
12446         * gst/gstregistrypool.c:
12447           doc fixes
12449 2005-08-24  Andy Wingo  <wingo@pobox.com>
12451         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12452         convert a negative value. Doesn't make much sense. Mostly this is
12453         here to force callers to ensure -1 maps to -1.
12455 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12457         * docs/pwg/advanced-types.xml:
12458           Well done to Michael for catching my deliberate introduction
12459           of this spelling mistake. 
12460         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12461         * gst/gstelement.h:
12462           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12463           unlink pads before removing the element from the bin.
12465 2005-08-24  Andy Wingo  <wingo@pobox.com>
12467         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12468         the same thing as GST_DEBUG=*:4.
12469         (parse_debug_level, parse_debug_category): New helper parsers.
12471 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12473         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12474         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12475         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12476         (gst_base_transform_buffer_alloc),
12477         (gst_base_transform_handle_buffer):
12478           use gboolean return values and pointers to size so we can use the
12479           full GST_BUFFER_SIZE range (guint) for buffer sizes
12480           use GstPadDirection for transform_caps
12481         * gst/base/gstbasetransform.h:
12482           rename get_size to get_unit_size since that's what it is
12483         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12484           use GstPadDirection for transform_caps
12485         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12486         * gst/gstutils.h:
12487           cleanup and debugging
12489 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12491         * gst/gstelement.c: (gst_element_class_init),
12492         (gst_element_set_state), (activate_pads),
12493         (gst_element_save_thyself):
12494         * tools/gst-compprep.c: (main):
12495         * tools/gst-inspect.c: (print_element_properties_info):
12496         * tools/gst-xmlinspect.c: (print_element_properties):
12497           Fixed long standing mem-leak
12499 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12501         * check/gst/gstbin.c: (GST_START_TEST):
12502         * gst/gstbin.c: (bin_bus_handler):
12503         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12504         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12505         (gst_message_new_warning), (gst_message_new_tag),
12506         (gst_message_new_state_changed), (gst_message_new_segment_start),
12507         (gst_message_new_segment_done), (gst_message_new_custom):
12508         * gst/gstmessage.h:
12509         * tools/gst-launch.c: (event_loop):
12510         * tools/gst-md5sum.c: (event_loop):
12511           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12512           that applications can sensibly post custom messages with references
12513           to their own objects.
12515 2005-08-24  Andy Wingo  <wingo@pobox.com>
12517         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12518         already.
12520 2005-08-24  Wim Taymans  <wim@fluendo.com>
12522         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12523         (gst_base_transform_transform_caps),
12524         (gst_base_transform_transform_size),
12525         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12526         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12527         (gst_base_transform_handle_buffer):
12528         * gst/base/gstbasetransform.h:
12529         Many fixes and new features added by Thomas. Can now also do
12530         transforms with variable sizes and a custom fixate_caps function.
12532 2005-08-24  Wim Taymans  <wim@fluendo.com>
12534         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12535         Some debugging.
12537         * gst/gstclock.h:
12538         Cast to ClockTime before formatting to time.
12540         * gst/gstutils.h:
12541         Cleanups.
12543 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12545         * check/gst-libs/controller.c: (GST_START_TEST),
12546         (gst_controller_suite):
12547         * docs/gst/tmpl/gstcaps.sgml:
12548         * docs/gst/tmpl/gstghostpad.sgml:
12549         * docs/gst/tmpl/gstquery.sgml:
12550         * docs/gst/tmpl/gstutils.sgml:
12551         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12552         (gst_object_sink_values), (gst_object_get_value_arrays),
12553         (gst_object_get_value_array):
12554           gracefully handle helper method calls to objects that are not beeing
12555           controlled, added test case for that          
12557 2005-08-23  Wim Taymans  <wim@fluendo.com>
12559         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12560         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12561         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12562         (gst_event_parse_qos), (gst_event_new_seek),
12563         (gst_event_parse_seek):
12564         * gst/gstevent.h:
12565         Some more debugging output and doc cleanups.
12567         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12568         Fix possible deadlock.
12570 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12572         * docs/gst/gstreamer-docs.sgml:
12573         * docs/gst/gstreamer-sections.txt:
12574         * docs/gst/gstreamer.types:
12575         * docs/gst/tmpl/.cvsignore:
12576         * gst/gstbin.h:
12577         * gst/gstbus.c:
12578         * gst/gstelement.c:
12579         * gst/gstevent.h:
12580           added 100 symbols from gstreamer-unused.txt to the right sections
12581           fixed more broken comments
12582           added GstBus to docs
12584 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12586         * docs/gst/gstreamer-sections.txt:
12587         * docs/gst/tmpl/.cvsignore:
12588         * docs/gst/tmpl/gstbin.sgml:
12589         * docs/gst/tmpl/gstbuffer.sgml:
12590         * gst/base/gstbasesrc.c:
12591         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12592         * gst/gstbuffer.c:
12593         * gst/gstbuffer.h:
12594         * tools/gst-launch.1.in:
12595           inlined more doc comments, added missing comments and fixed comments
12596           fixed typos
12598 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12600         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12601           some debugging
12602         * gst/gstcaps.h:
12603           whitespace fixes
12604         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12605           more debugging
12606         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12607         * gst/gststructure.h:
12608           add a fixate function for booleans; add a FIXME that these func
12609           names should probably be gst_structure_fixate_*
12611 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12613         * docs/gst/gstreamer-docs.sgml:
12614         * docs/gst/gstreamer-sections.txt:
12615         * gst/Makefile.am:
12616         * gst/gstbin.c: (gst_bin_get_type),
12617         (gst_bin_child_proxy_get_child_by_index),
12618         (gst_bin_child_proxy_get_children_count),
12619         (gst_bin_child_proxy_init):
12620         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12621         (gst_child_proxy_get_child_by_index),
12622         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12623         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12624         (gst_child_proxy_get), (gst_child_proxy_set_property),
12625         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12626         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12627         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12628         * gst/gstchildproxy.h:
12629         * gst/parse/grammar.y:
12630         * tools/gst-inspect.c: (print_interfaces),
12631         (print_element_properties_info), (print_element_info):
12632           ported gstchildproxy over from 0.8
12633           ported gst-inspect fixes and enhancements over from 0.8
12635 2005-08-22  Wim Taymans  <wim@fluendo.com>
12637         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12638         (gst_base_transform_handle_buffer):
12639         Also call the transform function if we have ANY caps.
12641         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12642         Fix debug info.
12644 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12646         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12647           Don't pretend to handle seek events if the source is not seekable
12649 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12652           Remove extra parameter to debug output
12654         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12655         (gst_base_src_do_seek), (gst_base_src_activate_push):
12656           Fix seek event handling.
12658         * gst/gstpipeline.c: (gst_pipeline_change_state):
12659         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12660         (gst_queue_src_activate_push):
12661           Don't start the src pad task on FLUSH_STOP if the pad
12662           isn't linked.
12663           Debug changes.
12665 2005-08-22  Wim Taymans  <wim@fluendo.com>
12667         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12668         Added check for gst_static_caps_get() refcounting.
12670 2005-08-22  Wim Taymans  <wim@fluendo.com>
12672         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12673         Make _static_caps_get() refcounting sane.
12674         
12675         * gst/gstelement.c: (gst_element_set_state):
12676         Add g_return_val_if_fail() to protect against segfaults.
12678 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12680         * docs/gst/tmpl/gstevent.sgml:
12681         * gst/gstevent.c:
12682         * gst/gstevent.h:
12683           inlined remaining docs, added missing doc comments
12685 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12687         * check/gst/gstbin.c: (GST_START_TEST):
12688           since we don't know when preroll is done, use refcount range
12689           check for the sink
12690         * gst/check/gstcheck.h:
12691           add macro for checking refcount range
12693 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12695         * check/Makefile.am:
12696           clean up environment for when registry gets built versus
12697           when actual tests are run; valgrind seems to not report
12698           leaks if GST_PLUGIN_PATH is set to some specific values
12699         * check/gst/gstbin.c: (GST_START_TEST):
12700           add more refcounting checks; maybe this exposes a
12701           preroll lock bug ?
12702         * common/check.mak:
12703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12704         * gst/check/gstcheck.h:
12705         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12706         (gst_bin_change_state):
12707         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12708           add/fix debugging/whitespace
12710 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12712         * check/gst/gstevent.c: (event_probe), (test_event),
12713         (GST_START_TEST):
12714          Er, don't call gst_bin_watch_for_state_change you idiot.
12716 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12718         * check/Makefile.am:
12719           Use CHECK_CFLAGS and CHECK_LIBS
12720         * check/gst/gstevent.c: (event_probe), (test_event),
12721         (GST_START_TEST):
12722           Don't leak events.
12723         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12724         (gst_base_src_start), (gst_base_src_stop),
12725         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12726         (gst_base_src_change_state):
12727           Sprinkle gst_base_src_stop liberally around error paths to fix
12728           problems reusing a source after failed state changes.
12729         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12730         (helper_find_suggest), (gst_type_find_helper):
12731           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12732         * gst/gstevent.h:
12733         * docs/gst/tmpl/gstevent.sgml:
12734           Migrate part of the docs from the SGML file. Wait for ensonic to
12735           tell me how I did it wrong ;)
12736         * tools/gst-typefind.c: (main):
12737           Extra robustness to state changes between files.
12739 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12741         * check/Makefile.am:
12742           don't valgrind the controller test - it's leaking - Stefan, HELP
12743         * gst/check/gstcheck.c: (gst_check_message_error),
12744         (gst_check_chain_func), (gst_check_setup_element),
12745         (gst_check_teardown_element), (gst_check_setup_src_pad),
12746         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12747         (gst_check_teardown_sink_pad):
12748         * gst/check/gstcheck.h:
12749           add a bunch of methods to set up elements, and src and sink pads
12750         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12751         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12752         (GST_START_TEST):
12753           use them
12754         * gst/gstmessage.c:
12755         * gst/gsttag.h:
12756           whitespace/doc fixes
12758 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12760         * gst/gstelement.h:
12761           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12762           be handled by the application and not always printed as well
12764 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12766         * check/Makefile.am:
12767           set GST_TOOLS_DIR
12768         * gst/check/gstcheck.c: (gst_check_message_error):
12769         * gst/check/gstcheck.h:
12770           add a fail_unless_equals_int
12771           add fail_unless for error messages
12773 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12775         * check/Makefile.am:
12776         * check/gst.supp:
12777         * common/Makefile.am:
12778         * common/check.mak:
12779         * common/gst.supp:
12780           factor out some of the common stuff so we can use it
12782 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12784         * check/Makefile.am:
12785         * check/gst/gstiterator.c: (GST_START_TEST):
12786         * check/gst/gstsystemclock.c: (GST_START_TEST),
12787         (gst_systemclock_suite):
12788         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12789         * gst/gstclock.c:
12790           valgrind more tests
12792 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12794         * check/elements/.cvsignore:
12795         * check/elements/gstfakesrc.c:
12796           rename to name of element
12797         * check/elements/identity.c: (chain_func), (event_func),
12798         (setup_identity), (cleanup_identity), (GST_START_TEST),
12799         (identity_suite), (main):
12800           add a test for identity
12801         * check/Makefile.am:
12802         * pkgconfig/Makefile.am:
12803         * pkgconfig/gstreamer-check.pc.in:
12804         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12805         * gst/check:
12806         * gst/Makefile.am:
12807         * configure.ac:
12808           move the check stuff to a library that gets installed
12809         * check/gst-libs/controller.c: (GST_START_TEST):
12810         * check/gst-libs/gdp.c:
12811         * check/gst/gst.c: (GST_START_TEST):
12812         * check/gst/gstbin.c:
12813         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12814         * check/gst/gstbus.c:
12815         * check/gst/gstcaps.c: (GST_START_TEST):
12816         * check/gst/gstelement.c:
12817         * check/gst/gstghostpad.c:
12818         * check/gst/gstiterator.c:
12819         * check/gst/gstmessage.c:
12820         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12821         * check/gst/gstobject.c:
12822         * check/gst/gstpad.c: (GST_START_TEST):
12823         * check/gst/gststructure.c: (GST_START_TEST):
12824         * check/gst/gstsystemclock.c: (GST_START_TEST),
12825         (gst_systemclock_suite):
12826         * check/gst/gsttag.c: (gst_tag_suite):
12827         * check/gst/gstvalue.c:
12828         * check/pipelines/cleanup.c:
12829         * check/pipelines/simple_launch_lines.c:
12830         * check/states/sinks.c:
12831           change include statement
12833         * docs/gst/gstreamer-sections.txt:
12834         * docs/gst/tmpl/gstpad.sgml:
12835           document more pad stuff
12836         * gst/gstminiobject.c: (gst_mini_object_ref),
12837         (gst_mini_object_unref):
12838           debug refcounting
12840 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12842         * docs/gst/tmpl/gst.sgml:
12843         * gst/gst.c:
12844           eliminate another tmpl file, fix spelling in the long-description
12846 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12848         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12849         (test_event), (timediff), (gstevents_suite):
12850           Should fix build on 64-bit arch's
12852 2005-08-18  Andy Wingo  <wingo@pobox.com>
12854         Make sure that when a pipeline goes to PLAYING, that data has
12855         actually hit the sink.
12857         * check/states/sinks.c (test_sink): A sink that doesn't get any
12858         data shouldn't return SUCCESS for going to either PLAYING or
12859         PAUSED. Test also the return values on the way back down.
12861         * gst/gstelement.c (gst_element_set_state): When changing the
12862         state of an element currently changing state asynchronously, go to
12863         lost-state after commiting the pending state. Makes future calls
12864         to get_state continue to return ASYNC.
12866         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12867         ASYNC when going to PLAYING if we still don't have preroll, as can
12868         happen with live sources.
12870 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12872         * docs/pwg/advanced-types.xml:
12873           Hack long paragraph into 2 chunks as a workaround for buggy
12874           jadetex version in sid and breezy that loops infinitely and
12875           eats all RAM.
12877 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12879         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12880         (test_event), (timediff), (gstevents_suite):
12881           Provide more error margin in clock measurements to allow for 
12882           g_get_current_time inaccuracies.
12884 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12886         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12887         (test_event), (timediff), (gstevents_suite):
12888            Fix error message output so I might be able to tell why the
12889            test works here but fails on the build farm.
12891 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12893         * check/Makefile.am:
12894         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12895         (test_event), (timediff), (gstevents_suite), (main):
12896           I wrote a test!
12898         * docs/design/part-seeking.txt:
12899           Spelling correction
12901         * docs/gst/tmpl/gstevent.sgml:
12902         * docs/gst/tmpl/gstfakesrc.sgml:
12903           Docs updates.
12905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12906           Treat a buffer-without-newsegment the same as a receiving 
12907           a newsegment not in time format, and disable syncing to the clock
12908           with a warning.
12910         * gst/gstbus.c: (gst_bus_set_sync_handler):
12911           Assert if anyone tries to replace the existing sync_handler for bus, 
12912           as only the owner should be setting it.
12914         * gst/gstevent.h:
12915           Have a fixed set of custom event enums with events identified by
12916           their structure name (as in 0.8), rather than a free-for-all
12917           allowing collisions between enum values from different plugins.
12919         * gst/gstpad.c: (gst_pad_class_init):
12920           Docs change.
12921           
12922         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12923           Handle out-of-band downstream events from the sending thread.
12925 2005-08-17  Andy Wingo  <wingo@pobox.com>
12927         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12928         play-timeout==0 to mean no timeout at all. In that case, don't
12929         bother with a get_state or a warning, just return directly, even
12930         if it's ASYNC.
12932         * gst/base/gstbasetransform.c: Debug changes.
12934         * gst/gstutils.h:
12935         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12936         ensure bins post state change messages. A bit of a hack but I can't
12937         think of a way to avoid it.
12939         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12941 2005-08-16  Andy Wingo  <wingo@pobox.com>
12943         * gst/base/gstadapter.h:
12944         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12945         peek() but you own the data. Not terribly efficient atm.
12947 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12949         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12950         (gst_element_found_tags):
12951         * gst/gstutils.h:
12952           Add two utility functions for tag handling.
12954 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12956         * docs/manual/advanced-dataaccess.xml:
12957         * docs/manual/basics-helloworld.xml:
12958           Fix docs to use _bin_add() before _link(), which fixes the examples
12959           with recent core versions (reported by Madhan Raj M
12960           <raj_madan@rediffmail.com>, #313199).
12962 2005-08-16  Wim Taymans  <wim@fluendo.com>
12964         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12965         Added subtract checks.
12967         * docs/design/part-events.txt:
12968         Some more docs about newsegment
12970         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12971         Fix FIXME
12973         * gst/gstcaps.c: (gst_caps_to_string):
12974         Add comments, cleanups.
12975         
12976         * gst/gstelement.c: (gst_element_save_thyself):
12977         cleanups
12978         
12979         * gst/gstvalue.c: (gst_value_collect_int_range),
12980         (gst_string_unwrap), (gst_value_union_int_int_range),
12981         (gst_value_union_int_range_int_range),
12982         (gst_value_intersect_int_int_range),
12983         (gst_value_intersect_int_range_int_range),
12984         (gst_value_intersect_double_double_range),
12985         (gst_value_intersect_double_range_double_range),
12986         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12987         (gst_value_subtract_int_range_int),
12988         (gst_value_subtract_double_range_double),
12989         (gst_value_subtract_double_range_double_range),
12990         (gst_value_subtract_from_list), (gst_value_subtract_list),
12991         (gst_value_can_compare), (gst_value_compare_fraction):
12992         Cleanups, add comments, remove unneeded asserts.
12994 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12996         * tools/gst-launch.c: (event_loop):
12997           don't convert NULL structures to strings
12999 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13001         * docs/gst/gstreamer-sections.txt:
13002           made some defines private
13003         * docs/gst/tmpl/gstconfig.sgml:
13004         * docs/gst/tmpl/gstqueue.sgml:
13005         * docs/gst/tmpl/gsttaglist.sgml:
13006         * docs/gst/tmpl/gsttypes.sgml:
13007         * docs/gst/tmpl/gstutils.sgml:
13008         * docs/pwg/appendix-porting.xml:
13009         * gst/base/gstbasesink.h:
13010         * gst/base/gstbasesrc.c:
13011         * gst/base/gstbasesrc.h:
13012         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13013         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13014         * gst/gstelement.c: (gst_element_class_init):
13015         * gst/gstpad.c: (gst_pad_class_init):
13016         * gst/gstqueue.c: (gst_queue_class_init):
13017         * gst/gstxml.c: (gst_xml_class_init):
13018           documented all undocumented signal inline
13019         * libs/gst/controller/gst-controller.h:
13020           added padding
13022 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13024         * docs/pwg/appendix-porting.xml:
13025           Document _set_link_function -> _set_setcaps_function.
13027 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13029         * check/Makefile.am:
13030           add a .check target for running the check
13031         * check/gst-libs/controller.c: (GST_START_TEST):
13032           cosmetic fixups
13033         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13034           complete checks for gstbuffer; would be nice if I could get the
13035           gcov stuff to work so I can see if I actually completed gstbuffer.c
13036         * check/gstcheck.h:
13037           add ASSERT_BUFFER_REFCOUNT
13039 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13041         * docs/gst/gstreamer-sections.txt:
13042         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13043         * gst/gsttag.h:
13044           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13045           spew out a warning if a tag that is already registered
13046           is re-registered, unless it is re-registered with a 
13047           different type (#308438).
13049 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13051         * docs/pwg/appendix-porting.xml:
13052         * docs/pwg/building-state.xml:
13053           Add some paragraphs about state changes in 0.9 to the PWG
13054           and the porting guide, in particular about the new meaning
13055           of GST_STATE_PAUSED and how to write state change functions
13056           with concurrent access by multiple threads in mind.
13058 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13060         * docs/gst/gstreamer-docs.sgml:
13061         * docs/libs/gstreamer-libs-docs.sgml:
13062           added deprecation and since indexes
13063         * libs/gst/controller/gst-controller.c:
13064         * libs/gst/controller/gst-helper.c:
13065           added since tags
13068 2005-08-11  Wim Taymans  <wim@fluendo.com>
13070         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13071         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13072         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13073         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13074         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13075         (gst_ghost_pad_set_target):
13076         Actually implement (re)setting the target on a ghostpad
13077         as described in the docs.
13079 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13081         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13082           Check whether GST_DEBUG_NO_COLOR environment variable is
13083           set and disable coloured debug output if that is the case.
13085 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13087         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13088         (gst_type_find_helper):
13089           The memory returned by gst_type_find_peek() needs to
13090           stay valid until the end of a typefind function, and
13091           typefind functions may keep results from different 
13092           offsets around, so we can't just unref the buffer from
13093           the previous _peek(), but have to save all buffers 
13094           returned by _peek() until typefinding is done and only
13095           free them then.
13097 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13099         * docs/gst/gstreamer-sections.txt:
13100         * gst/gstutils.h:
13101           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13103 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13105         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13106           Fix a pretty good memleak.
13108 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13110         * gst/gstiterator.h:
13111           Fix wrong include and 'make distcheck'.
13113 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13115         * gst/gstbin.c: (bin_bus_handler):
13116           Use gst_element_post_message() instead.
13118 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13120         * gst/base/gstadapter.h:
13121         * gst/base/gstbasesink.h:
13122         * gst/base/gstbasesrc.h:
13123         * gst/base/gstbasetransform.h:
13124         * gst/base/gstcollectpads.h:
13125         * gst/base/gstpushsrc.h:
13126         * gst/gstiterator.h:
13127           Add padding to our base elements' class and instance structs and
13128           to GstIterator (you will need to rebuild all plugins and apps!)
13130 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13132         * gst/gstbin.c: (bin_bus_handler):
13133           Make default message forwarding from child->bus to bin->bus
13134           threadsafe and make it not emit warnings if the parent has no bus.
13136 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13138         * gst/gstelement.c: (activate_pads):
13139           On paused->ready, set pad->caps to NULL, as is the documented
13140           behaviour in this state change. Fixes playback of series of
13141           media files when visualization is enabled in Totem.
13143 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13145         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13146           Allow NULL as filter-caps (which means "any").
13148 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13150         * docs/libs/gstreamer-libs-sections.txt:
13151         * libs/gst/controller/gst-controller.c:
13152         * libs/gst/controller/gst-controller.h:
13153         * libs/gst/controller/gst-helper.c:
13154           adding more entries to the docs and fix small doc-bugs
13156 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13158         * docs/gst/gstreamer-docs.sgml:
13159         * docs/gst/gstreamer-sections.txt:
13160         * docs/gst/gstreamer.types:
13161         * docs/gst/tmpl/gstbasesink.sgml:
13162         * docs/gst/tmpl/gstbasesrc.sgml:
13163         * docs/gst/tmpl/gstbasetransform.sgml:
13164         * docs/gst/tmpl/gstfakesrc.sgml:
13165         * gst/base/gstcollectpads.c:
13166         * gst/base/gstcollectpads.h:
13167         * libs/gst/controller/gst-controller.c:
13168         * libs/gst/controller/gst-controller.h:
13169         * libs/gst/controller/gst-helper.c:
13170         * libs/gst/controller/gst-interpolation.c:
13171         * libs/gst/controller/lib.c:
13172           added long/short desc for controller docs
13173           added collectpads base class docs
13174           added correct includes to base-class docs
13176 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13178         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13179         (gst_test_mono_source_set_property),
13180         (gst_test_mono_source_class_init), (GST_START_TEST),
13181         (gst_controller_suite):
13182         * docs/gst/gstreamer-docs.sgml:
13183         * docs/gst/gstreamer-sections.txt:
13184         * docs/gst/gstreamer.types:
13185         * docs/libs/gstreamer-libs-docs.sgml:
13186         * docs/libs/gstreamer-libs-sections.txt:
13187         * gst/base/gstadapter.c:
13188         * libs/gst/controller/gst-controller.c:
13189         (gst_controlled_property_new), (gst_controlled_property_free),
13190         (gst_controller_new_valist),
13191         (gst_controller_remove_properties_valist),
13192         (gst_controller_sink_values), (_gst_controller_finalize):
13193         * libs/gst/controller/gst-controller.h:
13194         * libs/gst/controller/gst-helper.c:
13195         (gst_object_control_properties), (gst_object_uncontrol_properties),
13196         (gst_object_get_controller), (gst_object_set_controller),
13197         (gst_object_sink_values), (gst_object_get_value_arrays),
13198         (gst_object_get_value_array):
13199           more tests (and fixes) for the controller
13200           more docs for the controller
13201           integrated companies docs for the adapter 
13203 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13205         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13206         (GST_START_TEST), (fakesrc_suite):
13207           add tests for sizetype
13209 2005-08-04  Andy Wingo  <wingo@pobox.com>
13211         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13212         fixes buffer_alloc proxying among other things.
13214         * gst/base/gstbasetransform.c:
13215         * gst/base/gstbasetransform.h:
13216         Revert patch to gstbasetransform from 7-28 removing
13217         delay_configure.
13219         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13220         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13221         Semantics changed, should return not the size of the output buffer
13222         but the byte size of a buffer with a given caps.
13224         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13225         debug object.
13226         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13227         out) are not the pad caps until setcaps finishes.
13228         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13229         not-in-place case as well. Deal with changing from in-place to
13230         not-in-place within calling pad_alloc_buffer. Still a bit
13231         concerned about the overhead here...
13233 2005-08-03  Andy Wingo  <wingo@pobox.com>
13235         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13236         fixating is an error.
13238 2005-08-04  Edward Hervey  <edward@fluendo.com>
13240         * gst/base/gstadapter.h: 
13241         Added gst_adapter_get_type() to the header
13243 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13245         * check/Makefile.am:
13246         * check/gst-libs/controller.c:
13247         * libs/gst/controller/gst-controller.c:
13248         (gst_controller_new_valist):
13249           added check test suite for the controller
13250         * gst/base/gstpushsrc.c:
13251           fixed a doc typo
13253 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13255         * docs/gst/Makefile.am:
13256         * docs/gst/gstreamer-docs.sgml:
13257         * docs/gst/gstreamer-sections.txt:
13258         * docs/gst/gstreamer.types:
13259         * docs/gst/tmpl/gstfakesrc.sgml:
13260         * gst/base/README:
13261         * gst/base/gstbasesink.c:
13262         * gst/base/gstbasesink.h:
13263         * gst/base/gstbasesrc.c:
13264         * gst/base/gstbasesrc.h:
13265         * gst/base/gstbasetransform.c:
13266         * gst/base/gstpushsrc.c:
13267         * gst/base/gstpushsrc.h:
13268           add short/long description docs to base classes
13269           add pushsrc to the docs
13270           remove consolidated doc fragments
13272 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13274         * configure.ac:
13275         * docs/libs/Makefile.am:
13276         * docs/libs/gstreamer-libs-docs.sgml:
13277         * docs/libs/gstreamer-libs-sections.txt:
13278         * docs/libs/gstreamer-libs.types:
13279         * examples/Makefile.am:
13280         * examples/controller/.cvsignore:
13281         * examples/controller/Makefile.am:
13282         * examples/controller/audio-example.c: (main):
13283         * libs/gst/Makefile.am:
13284         * libs/gst/controller/.cvsignore:
13285         * libs/gst/controller/Makefile.am:
13286         * libs/gst/controller/gst-controller.c:
13287         (on_object_controlled_property_changed), (gst_timed_value_compare),
13288         (gst_timed_value_find),
13289         (gst_controlled_property_set_interpolation_mode),
13290         (gst_controlled_property_new), (gst_controlled_property_free),
13291         (gst_controller_find_controlled_property),
13292         (gst_controller_new_valist), (gst_controller_new),
13293         (gst_controller_remove_properties_valist),
13294         (gst_controller_remove_properties), (gst_controller_set),
13295         (gst_controller_set_from_list), (gst_controller_unset),
13296         (gst_controller_get), (gst_controller_get_all),
13297         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13298         (gst_controller_get_value_array),
13299         (gst_controller_set_interpolation_mode),
13300         (_gst_controller_finalize), (_gst_controller_init),
13301         (_gst_controller_class_init), (gst_controller_get_type):
13302         * libs/gst/controller/gst-controller.h:
13303         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13304         (g_object_uncontrol_properties), (g_object_get_controller),
13305         (g_object_set_controller), (g_object_sink_values),
13306         (g_object_get_value_arrays), (g_object_get_value_array):
13307         * libs/gst/controller/gst-interpolation.c:
13308         (gst_controlled_property_find_timed_value_node),
13309         (interpolate_none_get), (interpolate_trigger_get),
13310         (interpolate_trigger_get_value_array):
13311         * libs/gst/controller/lib.c: (gst_controller_init):
13312         * pkgconfig/Makefile.am:
13313         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13314         * pkgconfig/gstreamer-control.pc.in:
13315         * testsuite/Makefile.am:
13316         * testsuite/controller/.cvsignore:
13317         * testsuite/controller/Makefile.am:
13318         * testsuite/controller/interpolator.c: (main):
13319           added controller code
13320           removed dparam pc files
13322 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13323         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13324         (gst_collectpads_stop):
13325           Broadcast the condition when shutting down, to make sure we wake all
13326           threads up. Shut down pads on finalize, for safety.
13328 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13329         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13330         (gst_base_transform_handle_buffer),
13331         (gst_base_transform_change_state):
13332           Handle PAUSED->READY->PAUSED transition after negotiation
13333           occurred already.
13334         * gst/gstmessage.c: (gst_message_init):
13335           Extra piece of debug for new messages.
13337 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13339         * configure.ac:
13340         * docs/gst/tmpl/gstbasesrc.sgml:
13341         * docs/gst/tmpl/gstelement.sgml:
13342         * docs/gst/tmpl/gstevent.sgml:
13343         * docs/gst/tmpl/gstfakesrc.sgml:
13344         * docs/gst/tmpl/gstformat.sgml:
13345         * docs/gst/tmpl/gstghostpad.sgml:
13346         * docs/gst/tmpl/gstpad.sgml:
13347         * docs/gst/tmpl/gstquery.sgml:
13348         * docs/gst/tmpl/gststructure.sgml:
13349         * docs/gst/tmpl/gsttaglist.sgml:
13350         * docs/gst/tmpl/gstvalue.sgml:
13351         * docs/libs/gstreamer-libs-docs.sgml:
13352         * docs/libs/gstreamer-libs-sections.txt:
13353         * docs/libs/gstreamer-libs.types:
13354         * libs/gst/Makefile.am:
13355         * libs/gst/control/.cvsignore:
13356         * libs/gst/control/Makefile.am:
13357         * libs/gst/control/control.c:
13358         * libs/gst/control/control.h:
13359         * libs/gst/control/dparam.c:
13360         * libs/gst/control/dparam.h:
13361         * libs/gst/control/dparam_smooth.c:
13362         * libs/gst/control/dparam_smooth.h:
13363         * libs/gst/control/dparamcommon.h:
13364         * libs/gst/control/dparammanager.c:
13365         * libs/gst/control/dparammanager.h:
13366         * libs/gst/control/dplinearinterp.c:
13367         * libs/gst/control/dplinearinterp.h:
13368         * libs/gst/control/unitconvert.c:
13369         * libs/gst/control/unitconvert.h:
13370         * testsuite/Makefile.am:
13371         * testsuite/dynparams/.cvsignore:
13372         * testsuite/dynparams/Makefile.am:
13373         * testsuite/dynparams/dparamstest.c:
13374         * tools/Makefile.am:
13375         * tools/gst-inspect.c: (print_element_info), (main):
13376         * tools/gst-xmlinspect.c: (print_element_info), (main):
13377           deactivate and remove dparams (libgstcontrol)
13379 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13381         * gst/elements/gsttypefindelement.c:
13382         (gst_type_find_element_have_type), (gst_type_find_element_init),
13383         (stop_typefinding), (gst_type_find_element_handle_event),
13384         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13385         * gst/elements/gsttypefindelement.h:
13386           Set caps on all outgoing buffers, not just the first one.
13388 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13390         * gst/elements/gsttypefindelement.c:
13391         (gst_type_find_element_have_type),
13392         (gst_type_find_element_check_set_buffer_caps),
13393         (gst_type_find_element_init), (stop_typefinding),
13394         (gst_type_find_element_handle_event),
13395         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13396         * gst/elements/gsttypefindelement.h:
13397           Set caps on first outgoing buffer when we've found the type.
13399 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13401         * docs/gst/gstreamer-docs.sgml:
13402         * docs/gst/gstreamer-sections.txt:
13403         * docs/gst/tmpl/gstscheduler.sgml:
13404         * docs/gst/tmpl/gstschedulerfactory.sgml:
13405           Remove some old cruft from docs.
13407 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13409         * gst/gstpad.h:
13410           Fix inline docs for GstPadLinkReturn.
13411           
13412         * gst/gststructure.c: (gst_structure_has_name):
13413         * gst/gststructure.h:
13414         * docs/gst/gstreamer-sections.txt:
13415           New API: gst_structure_has_name().
13417 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13419         * configure.ac:
13420           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13421           and _LARGEFILE_SOURCE in config.h as required. Do not 
13422           export those flags in our .pc files any longer (#142209).
13424           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13426         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13427         (gst_file_sink_do_seek), (gst_file_sink_event),
13428         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13429           Redo seek/tell calls with large file support in mind; add some
13430           debugging messages; add log message that tells us when large
13431           file support is unavailable or not enabled for some reason.
13433         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13434           Add log message that tells us when large file support 
13435           is unavailable or not enabled for some reason.
13437 2005-07-29  Wim Taymans  <wim@fluendo.com>
13439         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13440         Added test for removing an element with ghostpad from a bin.
13441         Fixed test as current implementation does the right thing.
13443         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13444         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13445         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13446         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13447         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13448         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13449         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13450         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13451         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13452         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13453         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13454         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13455         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13456         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13457         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13458         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13459         * gst/gstghostpad.h:
13460         Clean up ghostpads, remove properties for internal stuff.
13461         Make threadsafe.
13462         Fix refcounting.
13463         Prepare for switching targets, not all use cases work yet.
13465 2005-07-29  Wim Taymans  <wim@fluendo.com>
13467         * docs/design/part-gstghostpad.txt:
13468         Small update.
13470         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13471         (gst_bin_remove_func):
13472         Unlinking pads while holding the bin LOCK is not a good
13473         idea.
13475         * gst/gstpad.c: (gst_pad_class_init),
13476         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13477         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13478         No prob setting template after creating the pad.
13480 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13482         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13483         (gst_bus_peek), (gst_bus_source_dispatch),
13484         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13485         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13486           gst_bus_poll may be called from other threads. Handle
13487           this nicely by not making poll_data disappear off the
13488           stack once gst_bus_poll returns.
13489           gst_bus_peek now increments the refcount on the returned
13490           message.
13492 2005-07-29  Wim Taymans  <wim@fluendo.com>
13494         * docs/design/part-gstghostpad.txt:
13495         Overview of current GhostPad datastructures and use
13496         cases for changing the target.
13498 2005-07-28  Wim Taymans  <wim@fluendo.com>
13500         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13501         Added checks for hierarchy consistency whan adding linked
13502         elements to bins.
13504         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13505         Added check to test element scheduling without bin/pipeline.
13507         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13508         First add elements to bin, then link.
13509         
13510         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13511         (gst_bin_remove_func):
13512         Unlink pads from elements added/removed from bin to maintain
13513         hierarchy consistency.
13515 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13517         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13518         (gst_base_transform_handle_buffer):
13519         * gst/base/gstbasetransform.h:
13520           Remove broken delay_configure (fixes renegotiation of software
13521           scaling pipelines); remove some leftover printf()s.
13523 2005-07-28  Wim Taymans  <wim@fluendo.com>
13525         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13526         Added some more tests for wrong hierarchy
13528         * docs/design/part-overview.txt:
13529         Some updates.
13531         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13532         Cleanups.
13534         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13535         (gst_element_dispose):
13536         Some more cleanups.
13538         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13539         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13540         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13541         (gst_pad_set_caps), (gst_pad_send_event):
13542         Check for correct hierarchy when linking pads. Moving to
13543         strict requirement for ghostpads when linking elements in
13544         different bins.
13546         * gst/gstpad.h:
13547         Clean ups. Added WRONG_HIERARCHY return value.
13549 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13551         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13552           Better debug if no transform is possible.
13554 2005-07-27  Wim Taymans  <wim@fluendo.com>
13556         * docs/random/wtay/network-transp:
13557         Some old doc I had.
13559 2005-07-27  Wim Taymans  <wim@fluendo.com>
13561         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13562         (gst_dp_event_from_packet):
13563         Fix serialization of seek events.
13565 2005-07-27  Wim Taymans  <wim@fluendo.com>
13567         * check/gst-libs/gdp.c: (GST_START_TEST):
13568         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13569         Fix compilation and fix event serialization.
13571 2005-07-27  Wim Taymans  <wim@fluendo.com>
13573         * CHANGES-0.9:
13574         * docs/design/part-TODO.txt:
13575         * docs/design/part-events.txt:
13576         Some docs updates
13578         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13579         (gst_base_sink_event), (gst_base_sink_do_sync),
13580         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13581         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13582         (gst_base_src_do_seek), (gst_base_src_event_handler),
13583         (gst_base_src_loop):
13584         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13585         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13586         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13587         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13588         (gst_base_transform_set_passthrough),
13589         (gst_base_transform_is_passthrough):
13590         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13591         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13592         Event updates.
13594         * gst/gstbuffer.h:
13595         Use faster casts.
13597         * gst/gstelement.c: (gst_element_seek):
13598         * gst/gstelement.h:
13599         Update gst_element_seek.
13601         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13602         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13603         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13604         (gst_event_new_eos), (gst_event_new_newsegment),
13605         (gst_event_parse_newsegment), (gst_event_new_tag),
13606         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13607         (gst_event_parse_qos), (gst_event_new_seek),
13608         (gst_event_parse_seek), (gst_event_new_navigation):
13609         * gst/gstevent.h:
13610         Make GstEvent use GstStructure. Add parsing code, make sure the
13611         API is sufficiently generic.
13612         Mark possible directions of events and serialization.
13614         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13615         (_gst_message_copy), (gst_message_new_segment_start),
13616         (gst_message_new_segment_done), (gst_message_new_custom),
13617         (gst_message_parse_segment_start),
13618         (gst_message_parse_segment_done):
13619         Small cleanups.
13621         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13622         (gst_pad_set_caps), (gst_pad_send_event):
13623         Update for new events. 
13624         Catch events sent in wrong directions.
13626         * gst/gstqueue.c: (gst_queue_link_src),
13627         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13628         (gst_queue_handle_src_query):
13629         Event updates.
13631         * gst/gsttag.c:
13632         * gst/gsttag.h:
13633         Remove event code from this file.
13635         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13636         (gst_dp_event_from_packet):
13637         Event updates.
13639 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13641         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13642         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13643         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13644           Make debugging actually useful.
13646 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13648         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13649         (gst_pad_fixate_caps):
13650           Implement default fixation once again, so that gst_pad_fixate()
13651           actually does anything at all. This probably needs to be some
13652           sort of a last resort, and use profile-based fixation first, but
13653           since that doesn't exist yet, this is the best we have. Fixes
13654           visualization in Totem.
13656 2005-07-22  Wim Taymans  <wim@fluendo.com>
13658         * docs/design/part-events.txt:
13659         Small update.
13661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13662         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13663         (gst_base_sink_activate_pull):
13664         Some more comments.
13666         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13667         (gst_fake_src_create):
13668         Fix handoff marshall.
13670         * gst/elements/gstidentity.c: (gst_identity_class_init),
13671         (gst_identity_transform_ip):
13672         We're a real inplace element.
13674         * gst/gstbus.c: (gst_bus_post):
13675         Added some comments.
13677         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13678         * tests/muxing/case1.c: (main):
13679         * tests/sched/dynamic-pipeline.c: (main):
13680         * tests/sched/interrupt1.c: (main):
13681         * tests/sched/interrupt2.c: (main):
13682         * tests/sched/interrupt3.c: (main):
13683         * tests/sched/runxml.c: (main):
13684         * tests/sched/sched-stress.c: (main):
13685         * tests/seeking/seeking1.c: (event_received), (main):
13686         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13687         (main):
13688         * tests/threadstate/threadstate3.c: (main):
13689         * tests/threadstate/threadstate4.c: (main):
13690         * tests/threadstate/threadstate5.c: (main):
13691         Fix the tests.
13693 2005-07-21  Wim Taymans  <wim@fluendo.com>
13695         * docs/design/part-seeking.txt:
13696         Some small additions.
13698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13699         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13700         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13701         * gst/base/gstbasesink.h:
13702         discont values are gint64, handle the math correctly.
13704         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13705         Make the basesrc report error if the source pad is not linked.
13707         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13708         (gst_queue_loop), (gst_queue_handle_src_query),
13709         (gst_queue_src_activate_push):
13710         Make queue collect data even if the srcpad is not linked.
13711         Start pushing out data as soon as it is linked.
13713         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13714         * gst/gstutils.h:
13715         Added gst_flow_get_name() to ease error reporting.
13717 2005-07-20  Wim Taymans  <wim@fluendo.com>
13719         * gst/gstmessage.c: (gst_message_new_segment_start),
13720         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13721         (gst_message_parse_segment_done):
13722         * gst/gstmessage.h:
13723         Added a bunch of messages for advanced seeking.
13725         * gst/parse/grammar.y:
13726         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13727         (gst_dpman_state_changed):
13728         Fix some new-pad -> pad-added signals
13730 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13732         * docs/manual/appendix-porting.xml:
13733         * docs/pwg/appendix-porting.xml:
13734           Document new-pad/state-change signal renames and the FixedList
13735           type rename.
13737 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13739         * docs/manual/advanced-autoplugging.xml:
13740         * docs/manual/basics-helloworld.xml:
13741         * docs/manual/basics-pads.xml:
13742         * docs/random/ds/0.9-suggested-changes:
13743         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13744         * gst/gstelement.h:
13745         * gst/gstevent.h:
13746         * gst/gstformat.h:
13747         * gst/gstquery.h:
13748         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13749         (gst_structure_parse_array), (gst_structure_parse_value):
13750         * gst/gstvalue.c: (gst_type_is_fixed),
13751         (gst_value_list_prepend_value), (gst_value_list_append_value),
13752         (gst_value_list_get_size), (gst_value_list_get_value),
13753         (gst_value_transform_array_string), (gst_value_serialize_array),
13754         (gst_value_deserialize_array), (gst_value_intersect_array),
13755         (gst_value_is_fixed), (_gst_value_initialize):
13756         * gst/gstvalue.h:
13757           GstElement::new-pad -> pad-added, GstElement::state-change ->
13758           state-changed, GstValueFixedList -> GstValueArray, add format and
13759           flags as their own arguments in gst_element_seek() (should improve
13760           "bindeability"), remove function generators since they don't work
13761           under a whole bunch of compilers (they were deprecated already
13762           anyway).
13764 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13766         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13767         (_gst_debug_register_funcptr):
13768         * gst/gstinfo.h:
13769           Fix illegal cast on some platforms (#309253).
13771 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13773         * gst/gstmessage.c: (gst_message_new_custom):
13774         * gst/gstmessage.h:
13775           Add _new_custom, make _new_application a macro to _new_custom.
13777 2005-07-20  Wim Taymans  <wim@fluendo.com>
13779         * gst/base/gstbasesrc.c: (gst_base_src_init),
13780         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13781         * gst/base/gstbasesrc.h:
13782         Add a gboolean to decide when to push out a discont.
13784         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13785         (gst_queue_loop), (gst_queue_handle_src_query),
13786         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13787         (gst_queue_set_property), (gst_queue_get_property):
13788         Some cleanups.
13790         * tests/threadstate/threadstate1.c: (main):
13791         Make a thread test compile and run... very silly..
13794 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13796         * docs/manual/appendix-porting.xml:
13797           Mention removal of libgstgconf-0.9.la and existence of gconf
13798           elements.
13800 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13802         * docs/pwg/advanced-clock.xml:
13803         * docs/pwg/appendix-porting.xml:
13804         * docs/pwg/intro-preface.xml:
13805         * docs/pwg/other-base.xml:
13806         * docs/pwg/other-manager.xml:
13807         * docs/pwg/other-nton.xml:
13808         * docs/pwg/other-ntoone.xml:
13809         * docs/pwg/other-oneton.xml:
13810         * docs/pwg/pwg.xml:
13811           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13812           demuxer), remove n-to-n (was never written), fix some code examples
13813           and links and update the porting section to include all this.
13815 2005-07-19  Wim Taymans  <wim@fluendo.com>
13817         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13818         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13819         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13820         (gst_queue_src_activate_push), (gst_queue_change_state),
13821         (gst_queue_get_property):
13822         * gst/gstqueue.h:
13823         Propagate GstFlowReturn more intelligently upstream and output
13824         an ERROR/EOS when streaming stopped due to fatal error.
13826 2005-07-19  Wim Taymans  <wim@fluendo.com>
13828         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13829         Don't block forever for the state change to complete, the
13830         pipeline already did with a sensible timeout.
13832 2005-07-19  Wim Taymans  <wim@fluendo.com>
13834         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13835         Make sure we never call the create function is we
13836         got deactivated.
13838 2005-07-19  Andy Wingo  <wingo@pobox.com>
13840         * gst/parse/parse.l: Attempt to solve bug #172815.
13842 2005-07-19  Wim Taymans  <wim@fluendo.com>
13844         * docs/design/part-clocks.txt:
13845         * docs/design/part-events.txt:
13846         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13847         Small docs updates.
13848         Only update the seeking values when we are not
13849         busy streaming.
13851 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13853         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13854           Oops, ignore the result of gst_pad_push_event here.
13856 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13858         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13859         (gst_base_src_activate_push):
13860           Send discont event from the loop function, as pads
13861           aren't activated yet in the activate_push handler.
13863         * gst/gstbin.c: (bin_bus_handler):
13864           Don't leak element name.
13866 2005-07-18  Andy Wingo  <wingo@pobox.com>
13868         * configure.ac: Use AS_LIBTOOL_TAGS.
13870 2005-07-18  Wim Taymans  <wim@fluendo.com>
13872         * docs/gst/gstreamer.types:
13873         Remove deleted types.
13875 2005-07-18  Wim Taymans  <wim@fluendo.com>
13877         * check/elements/gstfakesrc.c: (GST_START_TEST):
13878         * configure.ac:
13879         * gst/Makefile.am:
13880         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13881         (init_popt_callback):
13882         * gst/gst.h:
13883         * gst/gst_private.h:
13884         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13885         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13886         * gst/gstbin.h:
13887         * gst/gstbus.h:
13888         * gst/gstconfig.h.in:
13889         * gst/gstelement.c: (gst_element_class_init),
13890         (gst_element_set_base_time), (gst_element_get_base_time),
13891         (iterator_fold_with_resync), (gst_element_change_state),
13892         (gst_element_dispose), (gst_element_get_bus):
13893         * gst/gstelement.h:
13894         * gst/gstelementfactory.h:
13895         * gst/gsterror.c: (_gst_core_errors_init):
13896         * gst/gsterror.h:
13897         * gst/gstevent.h:
13898         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13899         * gst/gstindex.c:
13900         * gst/gstinfo.c: (_gst_debug_init):
13901         * gst/gstmessage.c: (_gst_message_copy):
13902         * gst/gstmessage.h:
13903         * gst/gstminiobject.h:
13904         * gst/gstobject.c:
13905         * gst/gstobject.h:
13906         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13907         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13908         * gst/gstpad.h:
13909         * gst/gstparse.h:
13910         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13911         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13912         (gst_pipeline_get_last_stream_time):
13913         * gst/gstpipeline.h:
13914         * gst/gstpluginfeature.h:
13915         * gst/gstquery.h:
13916         * gst/gstscheduler.c:
13917         * gst/gstscheduler.h:
13918         * gst/gststructure.h:
13919         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13920         (gst_task_finalize), (gst_task_func), (gst_task_create),
13921         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13922         (gst_task_stop), (gst_task_pause):
13923         * gst/gsttask.h:
13924         * gst/gsttypefind.h:
13925         * gst/gsttypes.h:
13926         * gst/registries/gstlibxmlregistry.c: (load_feature),
13927         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13928         * gst/registries/gstxmlregistry.c:
13929         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13930         * gst/schedulers/threadscheduler.c:
13931         * libs/gst/control/dparammanager.h:
13932         * tools/gst-inspect.c: (print_element_list),
13933         (print_plugin_features), (print_element_features):
13934         * tools/gst-xmlinspect.c: (print_element_list),
13935         (print_plugin_info), (main):
13936         Removed plugable schedulers.
13937         Removed Scheduler/Manager from elements.
13938         Removed gsttypes.h, rearranged includes.
13939         Removed dependency pad<->element, element<>pipeline, and
13940         various others,  fix includes.
13941         implement gst_pad_get_parent() with gst_object_get_parent()
13942         Make GstTask sefcontained.
13943         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13944         timeout.
13945         Fix endless loop in iterator_fold_with_resync.
13948 2005-07-18  Wim Taymans  <wim@fluendo.com>
13950         * gst/Makefile.am:
13951         * gst/gstarch.h:
13952         Remove old file.
13954 2005-07-18  Wim Taymans  <wim@fluendo.com>
13956         * gst/Makefile.am:
13957         No more cothreads.h
13959 2005-07-18  Wim Taymans  <wim@fluendo.com>
13961         * gst/cothreads.c:
13962         * gst/cothreads.h:
13963         Let's remove these.
13965 2005-07-18  Wim Taymans  <wim@fluendo.com>
13967         * docs/design/part-dynamic.txt:
13968         * docs/design/part-events.txt:
13969         * docs/design/part-seeking.txt:
13970         Some more docs in the works.
13972         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13973         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13974         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13975         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13976         (gst_base_transform_handle_buffer),
13977         (gst_base_transform_sink_activate_push),
13978         (gst_base_transform_src_activate_pull),
13979         (gst_base_transform_set_passthrough),
13980         (gst_base_transform_is_passthrough):
13981         Refcounting fixes.
13983         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13984         Cleanups.
13986         * gst/gstevent.c: (gst_event_finalize):
13987         Set SRC to NULL.
13989         * gst/gstutils.c: (gst_element_unlink),
13990         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13991         (gst_pad_proxy_setcaps):
13992         * gst/gstutils.h:
13993         Add _get_parent_element() to get a pads parent as an element.
13995 2005-07-18  Wim Taymans  <wim@fluendo.com>
13997         * check/gst/gstbin.c: (GST_START_TEST):
13998         Remove bogus test.
14000 2005-07-18  Wim Taymans  <wim@fluendo.com>
14002         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14003         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14004         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14005         (gst_base_sink_event), (gst_base_sink_do_sync),
14006         (gst_base_sink_chain), (gst_base_sink_loop),
14007         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14008         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14009         Refcounting fixes.
14010         Fix logic for returning ASYNC when not prerolled.
14012 2005-07-18  Wim Taymans  <wim@fluendo.com>
14014         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14015         Fix nasty refcount bug.
14017 2005-07-16 Philippe Khalaf <burger@speedy.org>
14019         * gst/elements/gstfdsrc.c:
14020         * gst/elements/gstfdsrc.h:
14021         * gst/elements/gstelements.c:
14022         * gst/elements/Makefile.am:
14023         Ported fdsrc to 0.9.
14025 2005-07-16  Wim Taymans  <wim@fluendo.com>
14027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14028         (gst_base_sink_do_sync):
14029         Fix compile error.
14031 2005-07-16  Wim Taymans  <wim@fluendo.com>
14033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14034         (gst_base_sink_event), (gst_base_sink_get_times),
14035         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14036         * gst/base/gstbasesink.h:
14037         Store and use discont values when syncing buffers as described
14038         in design docs.
14039         
14040         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14041         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14042         (gst_base_src_activate_push):
14043         Push discont event when starting.
14045         * gst/elements/gstidentity.c: (gst_identity_transform):
14046         Small cleanups.
14048         * gst/gstbin.c: (gst_bin_change_state):
14049         Small cleanups in base_time  distribution.
14051         * gst/gstelement.c: (gst_element_set_base_time),
14052         (gst_element_get_base_time), (gst_element_change_state):
14053         * gst/gstelement.h:
14054         Added methods for the base_time of the element.
14055         Some MT fixes.
14057         * gst/gstpipeline.c: (gst_pipeline_send_event),
14058         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14059         (gst_pipeline_get_last_stream_time):
14060         * gst/gstpipeline.h:
14061         MT fixes.
14062         Handle seeking as described in design doc, remove stream_time
14063         hack.
14064         Cleanups clock and stream_time selection code. Added accessors
14065         for the stream_time.
14066         
14068 2005-07-16  Andy Wingo  <wingo@pobox.com>
14070         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14071         (#305291).
14073 2005-07-16  Wim Taymans  <wim@fluendo.com>
14075         * check/gst/gstbin.c: (GST_START_TEST):
14076         Make elements silent as the deep_notify refs the
14077         parent, which might make the test fail.
14079         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14080         Don't hold the lock for too long.
14082 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14084         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14085           Don't unref the caps we passed to gst_caps_make_writable() after
14086           passing them. gst_caps_make_writable() will do that for us.
14088 2005-07-15  Andy Wingo  <wingo@pobox.com>
14090         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14091         (#157311).
14093         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14094         own marshalling function for the handoff signal. Properly type the
14095         buffer as a buffer. Fixes some warnings. Should do a more general
14096         solution.
14097         (gst_identity_class_init): Plug into the right marshaller.
14099 2005-07-15  Wim Taymans  <wim@fluendo.com>
14101         * docs/design/part-TODO.txt:
14102         * docs/design/part-clocks.txt:
14103         * docs/design/part-element-sink.txt:
14104         * docs/design/part-events.txt:
14105         * docs/design/part-gstpipeline.txt:
14106         Updated docs, mostly DISCONT related.
14108 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14110         * docs/pwg/building-pads.xml:
14111           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14113 2005-07-15  Andy Wingo  <wingo@pobox.com>
14115         * tools/gst-typefind.c: Update, add copyright block.
14117         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14118         Normalize and truncate caps before fixation.
14120         * gst/gstcaps.h:
14121         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14122         discards all but the first structure from its argument.
14124 2005-07-15  Wim Taymans  <wim@fluendo.com>
14126         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14127         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14128         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14129         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14130         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14131         (gst_base_transform_chain), (gst_base_transform_change_state),
14132         (gst_base_transform_set_passthrough),
14133         (gst_base_transform_is_passthrough):
14134         * gst/base/gstbasetransform.h:
14135         Make passthrough work using the bufferpools.
14136         Changed API a bit, subclasses have to write into a buffer
14137         provided by the base class.
14138         More debug info in nego functions.
14139         
14140         * gst/elements/gstidentity.c: (gst_identity_init),
14141         (gst_identity_transform):
14142         Port to new base class.
14144 2005-07-15  Wim Taymans  <wim@fluendo.com>
14146         * gst/gstmessage.c: (gst_message_new_state_changed):
14147         * tools/gst-launch.c: (event_loop), (main):
14148         Totally dump messages in -launch with the -m option.
14149         Fix message name for State messages,
14151 2005-07-14  Wim Taymans  <wim@fluendo.com>
14153         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14154         Post error messages on errors.
14156 2005-07-14  Wim Taymans  <wim@fluendo.com>
14158         * gst/gstcaps.c: (gst_caps_do_simplify):
14159         Remove debug info.
14161         * gst/gsterror.h:
14162         Define error for stream stopped.
14164         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14165         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14166         Do proper return values.
14168         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14169         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14170         (gst_pad_get_range):
14171         Better return values.
14173         * gst/gstpad.h:
14174         Reorganise return values, add macro to check for fatal errors.
14176         * gst/gstqueue.c: (gst_queue_chain):
14177         Return proper GstFlowReturn values,
14179 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14181         * docs/gst/gstreamer-sections.txt:
14182         * docs/gst/gstreamer.types:
14183         * docs/gst/tmpl/gst.sgml:
14184         * docs/gst/tmpl/gstbasesink.sgml:
14185         * docs/gst/tmpl/gstbasesrc.sgml:
14186         * docs/gst/tmpl/gstbasetransform.sgml:
14187         * docs/gst/tmpl/gstbin.sgml:
14188         * docs/gst/tmpl/gstbuffer.sgml:
14189         * docs/gst/tmpl/gstcaps.sgml:
14190         * docs/gst/tmpl/gstclock.sgml:
14191         * docs/gst/tmpl/gstcompat.sgml:
14192         * docs/gst/tmpl/gstconfig.sgml:
14193         * docs/gst/tmpl/gstelement.sgml:
14194         * docs/gst/tmpl/gstelementdetails.sgml:
14195         * docs/gst/tmpl/gstelementfactory.sgml:
14196         * docs/gst/tmpl/gstenumtypes.sgml:
14197         * docs/gst/tmpl/gsterror.sgml:
14198         * docs/gst/tmpl/gstevent.sgml:
14199         * docs/gst/tmpl/gstfakesink.sgml:
14200         * docs/gst/tmpl/gstfakesrc.sgml:
14201         * docs/gst/tmpl/gstfilesink.sgml:
14202         * docs/gst/tmpl/gstfilesrc.sgml:
14203         * docs/gst/tmpl/gstfilter.sgml:
14204         * docs/gst/tmpl/gstformat.sgml:
14205         * docs/gst/tmpl/gstghostpad.sgml:
14206         * docs/gst/tmpl/gstimplementsinterface.sgml:
14207         * docs/gst/tmpl/gstindex.sgml:
14208         * docs/gst/tmpl/gstindexfactory.sgml:
14209         * docs/gst/tmpl/gstinfo.sgml:
14210         * docs/gst/tmpl/gstiterator.sgml:
14211         * docs/gst/tmpl/gstmacros.sgml:
14212         * docs/gst/tmpl/gstmemchunk.sgml:
14213         * docs/gst/tmpl/gstminiobject.sgml:
14214         * docs/gst/tmpl/gstobject.sgml:
14215         * docs/gst/tmpl/gstpad.sgml:
14216         * docs/gst/tmpl/gstpadtemplate.sgml:
14217         * docs/gst/tmpl/gstparse.sgml:
14218         * docs/gst/tmpl/gstpipeline.sgml:
14219         * docs/gst/tmpl/gstplugin.sgml:
14220         * docs/gst/tmpl/gstpluginfeature.sgml:
14221         * docs/gst/tmpl/gstquery.sgml:
14222         * docs/gst/tmpl/gstqueue.sgml:
14223         * docs/gst/tmpl/gstregistry.sgml:
14224         * docs/gst/tmpl/gstregistrypool.sgml:
14225         * docs/gst/tmpl/gstscheduler.sgml:
14226         * docs/gst/tmpl/gstschedulerfactory.sgml:
14227         * docs/gst/tmpl/gststructure.sgml:
14228         * docs/gst/tmpl/gstsystemclock.sgml:
14229         * docs/gst/tmpl/gsttaglist.sgml:
14230         * docs/gst/tmpl/gsttagsetter.sgml:
14231         * docs/gst/tmpl/gsttrace.sgml:
14232         * docs/gst/tmpl/gsttrashstack.sgml:
14233         * docs/gst/tmpl/gsttypefind.sgml:
14234         * docs/gst/tmpl/gsttypefindfactory.sgml:
14235         * docs/gst/tmpl/gsttypes.sgml:
14236         * docs/gst/tmpl/gsturihandler.sgml:
14237         * docs/gst/tmpl/gsturitype.sgml:
14238         * docs/gst/tmpl/gstutils.sgml:
14239         * docs/gst/tmpl/gstvalue.sgml:
14240         * docs/gst/tmpl/gstversion.sgml:
14241         * docs/gst/tmpl/gstxml.sgml:
14242         * docs/libs/tmpl/gstcontrol.sgml:
14243         * docs/libs/tmpl/gstdataprotocol.sgml:
14244         * docs/libs/tmpl/gstdparam.sgml:
14245         * docs/libs/tmpl/gstdplinint.sgml:
14246         * docs/libs/tmpl/gstdpman.sgml:
14247         * docs/libs/tmpl/gstdpsmooth.sgml:
14248         * docs/libs/tmpl/gstgetbits.sgml:
14249         * docs/libs/tmpl/gstunitconvert.sgml:
14250         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14251         (gst_push_src_base_init), (gst_push_src_class_init),
14252         (gst_push_src_init), (gst_push_src_create):
14253         * gst/base/gstpushsrc.h:
14254         * gst/elements/gstelements.c:
14255         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14256         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14257         (gst_fake_sink_init), (gst_fake_sink_set_property),
14258         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14259         (gst_fake_sink_event), (gst_fake_sink_preroll),
14260         (gst_fake_sink_render), (gst_fake_sink_change_state):
14261         * gst/elements/gstfakesink.h:
14262         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14263         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14264         (gst_fake_src_base_init), (gst_fake_src_class_init),
14265         (gst_fake_src_init), (gst_fake_src_event_handler),
14266         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14267         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14268         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14269         (gst_fake_src_create_buffer), (gst_fake_src_create),
14270         (gst_fake_src_start), (gst_fake_src_stop):
14271         * gst/elements/gstfakesrc.h:
14272         * gst/elements/gstfilesink.c: (_do_init),
14273         (gst_file_sink_base_init), (gst_file_sink_class_init),
14274         (gst_file_sink_init), (gst_file_sink_dispose),
14275         (gst_file_sink_set_location), (gst_file_sink_set_property),
14276         (gst_file_sink_get_property), (gst_file_sink_open_file),
14277         (gst_file_sink_close_file), (gst_file_sink_query),
14278         (gst_file_sink_event), (gst_file_sink_render),
14279         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14280         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14281         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14282         * gst/elements/gstfilesink.h:
14283         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14284         (gst_file_src_class_init), (gst_file_src_init),
14285         (gst_file_src_finalize), (gst_file_src_set_location),
14286         (gst_file_src_set_property), (gst_file_src_get_property),
14287         (gst_file_src_map_region), (gst_file_src_map_small_region),
14288         (gst_file_src_create_mmap), (gst_file_src_create_read),
14289         (gst_file_src_create), (gst_file_src_is_seekable),
14290         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14291         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14292         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14293         (gst_file_src_uri_handler_init):
14294         * gst/elements/gstfilesrc.h:
14295           more autistic cleanliness in functions/names/defines
14297 2005-07-13  Andy Wingo  <wingo@pobox.com>
14299         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14300         source couldn't negotiate.
14302         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14303         connections again.
14305         * gst/gstutils.h:
14306         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14307         function. I am channeling Hades. Put your boots on suckers!!!
14309 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14311         * testsuite/caps/Makefile.am:
14312         * testsuite/caps/value_compare.c:
14313         * testsuite/caps/value_intersect.c:
14314         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14315           move two testsuite apps over to the check dir
14317 2005-07-12  Wim Taymans  <wim@fluendo.com>
14319         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14320         Added more debug info in the negotiate process.
14322         * gst/gstmessage.h:
14323         Prepare for segment playback.
14325         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14326         Better debugging.
14328         * gst/gstutils.c:
14329         Some more docs.
14331         * tools/gst-launch.c: (main):
14332         NULL pipeline on errors.
14334 2005-07-12  Andy Wingo  <wingo@pobox.com>
14336         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14337         not it comes from a malloc region. Make sure our copy gets freed.
14339 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14341         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14342         * check/gst/gstmessage.c: (GST_START_TEST):
14343         * check/gst/gststructure.c: (GST_START_TEST),
14344         (gst_structure_suite), (main):
14345           more testing
14346         * gst/gstelement.c: (gst_element_message_full):
14347           clean up GError and debug string now that they get copied
14348         * gst/gstmessage.c: (gst_message_new_error),
14349         (gst_message_new_warning), (gst_message_parse_error),
14350         (gst_message_parse_warning):
14351           use GST_TYPE_G_ERROR for structure_new, and take copies of
14352           arguments, so that we don't mess up refcounting
14354 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14356         * check/Makefile.am:
14357           add per-test valgrind targets
14358         * check/gst-libs/gdp.c: (GST_START_TEST),
14359         (gst_data_protocol_suite), (main):
14360           clean up
14362 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14364         * check/Makefile.am:
14365           instate more valgrindable tests
14366         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14367         (GST_START_TEST), (fakesrc_suite):
14368         * check/gst/gstpad.c: (GST_START_TEST):
14369         * check/gst/gststructure.c: (GST_START_TEST):
14370           fix test leaks
14371         * docs/gst/tmpl/gstminiobject.sgml:
14372         * gst/gstpad.c: (gst_pad_finalize):
14373           fix the static mutex leak
14375 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14377         * check/Makefile.am:
14378           add two more tests for valgrinding
14379         * check/gst/gstvalue.c: (GST_START_TEST):
14380           test refcount of deserialized buffer, found a leak
14381         * docs/gst/gstreamer-docs.sgml:
14382         * docs/gst/gstreamer-sections.txt:
14383         * docs/gst/gstreamer.types:
14384         * docs/gst/tmpl/gstminiobject.sgml:
14385           add miniobject to docs
14386         * gst/gstminiobject.c:
14387           add some docs
14388         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14389         (gst_string_unwrap):
14390           fix a hard-to-find invalid write for one of the tests
14391           fix a leak for deserialized buffers
14393 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14395         * docs/pwg/advanced-events.xml:
14396         * docs/pwg/advanced-request.xml:
14397         * docs/pwg/advanced-scheduling.xml:
14398         * docs/pwg/appendix-porting.xml:
14399         * docs/pwg/building-boiler.xml:
14400         * docs/pwg/intro-preface.xml:
14401         * docs/pwg/other-ntoone.xml:
14402           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14403           of example code and explanation for pad activation, loop() and
14404           getrange() functions and a bit more. Remove old comments pointing
14405           to loop-functions.
14406         * examples/pwg/Makefile.am:
14407           Add loop/getrange examples.
14409 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14411         * configure.ac:
14412           check for valgrind binary + some fixes
14413         * check/gst.supp:
14414           valgrind suppressions for the tests
14415         * check/Makefile.am:
14416           add a valgrind: target that valgrinds the unit tests
14417         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14418         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14419         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14420         * check/gst/gstghostpad.c:
14421           added some cleanup
14422         * check/gst/gstdata.c:
14423           removed
14424         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14425         (thread_unref), (gst_mini_object_suite), (main):
14426           added
14427         * gst/gst.c: (gst_deinit):
14428         * gst/gst.h:
14429           add a method to clean up.
14430         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14431         (gst_system_clock_obtain):
14432           allow for disposing the system clock.
14433         * tools/gst-launch.c: (main):
14434           deinit
14436 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14438         * docs/gst/tmpl/gstbasesrc.sgml:
14439         * docs/gst/tmpl/gstfakesrc.sgml:
14440         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14441         (gst_base_src_init), (gst_base_src_set_property),
14442         (gst_base_src_get_property), (gst_base_src_get_range),
14443         (gst_base_src_start):
14444         * gst/base/gstbasesrc.h:
14445           add num-buffers property
14446         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14447         (gst_fakesrc_init), (gst_fakesrc_set_property),
14448         (gst_fakesrc_get_property), (gst_fakesrc_create),
14449         (gst_fakesrc_start):
14450           remove num-buffers property
14452 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14454         * docs/gst/gstreamer-sections.txt:
14455         * docs/gst/tmpl/gstbasesink.sgml:
14456         * docs/gst/tmpl/gstbasesrc.sgml:
14457         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14458         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14459         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14460         (gst_base_sink_set_property), (gst_base_sink_get_property),
14461         (gst_base_sink_handle_object), (gst_base_sink_event),
14462         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14463         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14464         (gst_base_sink_loop), (gst_base_sink_deactivate),
14465         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14466         (gst_base_sink_change_state):
14467         * gst/base/gstbasesink.h:
14468         * gst/base/gstbasesrc.h:
14469         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14470         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14471         (gst_filesink_init):
14472           more macro splitting
14474 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14476         * gst/gstelement.c: (gst_element_get_bus):
14477           add debug
14478         * tools/gst-launch.c: (check_intr), (event_loop):
14479           fix bus leaks
14481 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14483         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14484           fix a caps leak
14486 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14488         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14489         (gst_base_src_finalize):
14490           add finalize method and clean up properly
14491         * gst/gstpipeline.c: (gst_pipeline_dispose):
14492           add debug
14494 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14496         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14497         (gst_bin_suite):
14498           add more things to check
14499         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14500         * gst/gstelement.c:
14501           more debug
14503 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14505         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14506         (GST_START_TEST), (fakesrc_suite):
14507         * check/gst-libs/gdp.c: (GST_START_TEST):
14508         * check/gst/gst.c: (GST_START_TEST):
14509         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14510         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14511         * check/gst/gstbus.c: (GST_START_TEST):
14512         * check/gst/gstcaps.c: (GST_START_TEST):
14513         * check/gst/gstdata.c: (GST_START_TEST):
14514         * check/gst/gstelement.c: (GST_START_TEST):
14515         * check/gst/gstghostpad.c: (GST_START_TEST):
14516         * check/gst/gstiterator.c: (GST_START_TEST):
14517         * check/gst/gstmessage.c: (GST_START_TEST):
14518         * check/gst/gstobject.c: (GST_START_TEST):
14519         * check/gst/gstpad.c: (GST_START_TEST):
14520         * check/gst/gststructure.c: (GST_START_TEST):
14521         * check/gst/gstsystemclock.c: (GST_START_TEST),
14522         (gst_systemclock_suite):
14523         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14524         * check/gst/gstvalue.c: (GST_START_TEST):
14525         * check/pipelines/cleanup.c: (GST_START_TEST):
14526         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14527         * check/states/sinks.c: (GST_START_TEST):
14528         * check/gstcheck.c: (gst_check_init):
14529         * check/gstcheck.h:
14530           add debugging category
14531           use GST_START_TEST now, so we add a debug line
14533 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14535         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14536           add test for state change message on a bin
14537         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14538           add another test
14539         * gst/gstbin.c: (gst_bin_init):
14540         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14541         * gst/gstelement.c: (gst_element_post_message),
14542         (gst_element_set_state):
14543         * gst/gstelementfactory.c: (gst_element_factory_create):
14544         * gst/gstmessage.c: (gst_message_new):
14545         * gst/gstscheduler.c:
14546           various debugging additions and cleanups
14548 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14550         * check/Makefile.am:
14551         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14552         (main):
14553           adding tests for elements
14554         * gst/gstelement.c: (gst_element_dispose):
14556 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14558         * gst/registries/gstlibxmlregistry.c: (load_feature):
14559           plug more leaks.  A simple gst_init() now is leakfree, yay.
14561 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14563         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14564         (gst_xml_registry_load):
14565           plug another memleak
14567 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14569         * configure.ac:
14570           use GST_SET_ERROR_CFLAGS
14571         * docs/faq/cvs.xml:
14572           change to ERROR_CFLAGS
14574 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14576         * configure.ac:
14577           make GST_ERROR_CFLAGS overridable and re-enable Werror
14578         * docs/faq/cvs.xml:
14579           add a note about error CFLAGS
14580         * docs/gst/tmpl/gstfakesrc.sgml:
14581         * gst/elements/gstfakesrc.c:
14582           comment out some unused code
14583         * gst/gst.c: (split_and_iterate):
14584         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14585         (load_feature):
14586           plug some memleaks
14588 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14590         * common/Makefile.am:
14591         * common/gtk-doc.mak:
14592         * docs/gst/Makefile.am:
14593           factor out gtk-doc.mak
14595 2005-07-07  Wim Taymans  <wim@fluendo.com>
14597         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14598         (gst_thread_scheduler_dispose):
14599         Unlock the STREAM_LOCK completely.
14601 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14603         * check/Makefile.am:
14604         * check/elements/.cvsignore:
14605         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14606         (START_TEST), (fakesrc_suite), (main):
14607         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14608         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14609         (gst_fakesrc_create), (gst_fakesrc_start):
14610         * gst/elements/gstfakesrc.h:
14611           adding a first element test
14613 2005-07-07  Andy Wingo  <wingo@pobox.com>
14615         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14616         debug message.
14618 2005-07-07  Wim Taymans  <wim@fluendo.com>
14620         * gst/gstquery.c:
14621         * gst/gstquery.h:
14622         Remove old types
14624 2005-07-07  Wim Taymans  <wim@fluendo.com>
14626         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14627         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14628         Allow subclasses to implement their own negotiation.
14630 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14632         * docs/design/part-gstbin.txt:
14633         * docs/design/part-gstpipeline.txt:
14634           Update design notes to reflect the movement of
14635           responsibility for bus handling from GstPipeline to
14636           GstBin
14638 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14640         * configure.ac:
14641           Remove unnecessary queue2/3/4 examples.
14643 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14645         * examples/Makefile.am:
14646         * examples/helloworld/helloworld.c: (event_loop), (main):
14647         * examples/queue/queue.c: (event_loop), (main):
14648         * examples/queue2/queue2.c: (main):
14649           Update a couple of the examples to work again.
14651         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14652         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14653          Spelling corrections and extra debug.
14654         
14655         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14656         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14657         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14658         * gst/gstbin.h:
14659         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14660         (gst_pipeline_change_state):
14661         * gst/gstpipeline.h:
14662           Move the bus handler for children to the GstBin, and create a
14663           separate bus for receiving messages from children to the one the
14664           bus sends 'upwards' on.
14666 2005-07-06  Wim Taymans  <wim@fluendo.com>
14668         * gst/base/README:
14669         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14670         (gst_base_sink_handle_object), (gst_base_sink_loop),
14671         (gst_base_sink_change_state):
14672         * gst/base/gstbasesink.h:
14673         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14674         (gst_base_src_init), (gst_base_src_setcaps),
14675         (gst_base_src_getcaps), (gst_base_src_loop),
14676         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14677         (gst_base_src_start), (gst_base_src_change_state):
14678         * gst/base/gstbasesrc.h:
14679         Make basesrc negotiate.
14680         Handle the case where preroll fails in basesink.
14681         Update README.
14683 2005-07-06  Wim Taymans  <wim@fluendo.com>
14685         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14686         Implement the fixate function.
14687         Clean up acceptcaps.
14689 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14691         * docs/pwg/building-filterfactory.xml:
14692         * docs/pwg/pwg.xml:
14693           Remove never-written filter-factory chapter; I'll add the various
14694           base classes to part 4 ("other element types") later on.
14696 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14698         * docs/pwg/advanced-negotiation.xml:
14699         * docs/pwg/building-boiler.xml:
14700         * docs/pwg/building-pads.xml:
14701         * docs/pwg/pwg.xml:
14702         * examples/pwg/Makefile.am:
14703           Add a chapter on caps negotiation, simplify the original code
14704           samples a bit w.r.t. caps negotiation, add link to the advanced
14705           section. Add a bunch of examples showing different use cases of
14706           different types of caps negotiation. Upstream renegotiation isn't
14707           fully documented yet since nobody knows how that works.
14709 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14711         * check/gst/gstpad.c:
14712         * check/gstcheck.c:
14713         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14714           if pad has no parent, return NULL as list of internal links
14716 2005-07-05  Andy Wingo  <wingo@pobox.com>
14718         * gst/elements/gstfilesrc.c:
14719         * gst/elements/gstfakesrc.c: 
14720         * gst/base/gstpushsrc.c:
14721         * gst/base/gstbasesrc.h: 
14722         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14723         
14724 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14726         * Makefile.am:
14727           better report generation target (lcov needs a patch)
14729 2005-07-05  Andy Wingo  <wingo@pobox.com>
14731         * gst/elements, testsuite: Null if we got it...
14733 2005-07-05  Wim Taymans  <wim@fluendo.com>
14735         * configure.ac:
14736         * libs/gst/dataprotocol/Makefile.am:
14737         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14738         * libs/gst/dataprotocol/dataprotocol.h:
14739         * pkgconfig/Makefile.am:
14740         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14741         * pkgconfig/gstreamer-dataprotocol.pc.in:
14742         Ported dataprotol to 0.9. 
14743         Added pkgconfig files.
14745 2005-07-05  Andy Wingo  <wingo@pobox.com>
14747         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14748         Default to returning TRUE for the case when tranform_caps returns
14749         a fixed caps, like for identity or volume.
14751         * check/gst/gstbus.c (pound_bus_with_messages): 
14752         * check/gst/gstmessage.c (START_TEST): 
14753         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14754         message API change.
14756         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14757         logic weaks here: always run transform_caps, trying passthrough
14758         operation only if the original caps intersects with the transform.
14760         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14761         source and sink caps.
14763         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14764         Intersect the peer caps with the pad template before going into
14765         transform_caps.
14766         (gst_base_transform_transform_caps): More debugging.
14768         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14769         src argument.
14771 2005-07-04  Edward Hervey  <edward@fluendo.com>
14773         * gst/gstutils.c:
14774         * gst/gstutils.h:
14775         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14776         in bindings.
14778 2005-07-04  Andy Wingo  <wingo@pobox.com>
14780         * check/gst/gstpad.c: Only set explicit caps on pads.
14782 2005-07-01  Andy Wingo  <wingo@pobox.com>
14784         * tests/network-clock.scm: Commentary update.
14786         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14787         Didn't really make sense, not implementable with basetransform,
14788         etc.
14789         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14790         attempt at implementing the sync property, needs an unlock method.
14792         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14793         New func, by default returns the same caps (the identity
14794         transformation).
14795         (gst_base_transform_getcaps): Uses transform_caps to return
14796         something sensible.
14797         (gst_base_transform_setcaps): Complicated logic to get caps on
14798         both pads, even if they are different, and to call set_caps once
14799         for every time both pads get their caps set.
14800         (gst_base_transform_handle_buffer): Give the ref to the transform
14801         function. Allows in-place modification of the buffer.
14803         * gst/base/gstbasetransform.h (transform_caps): New class method.
14804         Given caps on one side, what can I do on the other.
14805         (set_caps): Take two caps, one for each side of the element.
14807         * gst/gstpad.h:
14808         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14809         caps in place. This is safe because we can check the mutability of
14810         the caps, and a good idea because fixate functions are just called
14811         as a matter of last resort. (Not actually implemented.)
14812         (gst_pad_set_caps): If the caps we're setting is actually the same
14813         as the existing pad caps, just update the pointer without calling
14814         setcaps. Assert that caps is either NULL or fixed, as per the
14815         docs.
14817         * gst/gstghostpad.c: Update for fixate changes.
14819 2005-07-02  Andy Wingo  <wingo@pobox.com>
14821         * gst/gstcaps.c:
14822         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14823         two refcounts makes it immutable, which is enough. Doc more.
14825 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14827         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14828           Put the mini_object into GValue as a mini_object,
14829           not a gpointer, since that's how we declared
14830           the signal.
14832 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14834         * examples/pwg/Makefile.am:
14835           Fix buildbot again.
14837 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14839         * docs/pwg/building-testapp.xml:
14840           Add extra check.
14841         * examples/pwg/Makefile.am:
14842           Fix buildbot.
14844 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14846         * configure.ac:
14847         * examples/Makefile.am:
14848         * examples/pwg/Makefile.am:
14849         * examples/pwg/extract.pl:
14850           Enable building the PWG examples.
14851         * docs/pwg/advanced-interfaces.xml:
14852           Add URI interface stub.
14853         * docs/pwg/advanced-types.xml:
14854         * docs/pwg/other-autoplugger.xml:
14855         * docs/pwg/appendix-porting.xml:
14856         * docs/pwg/pwg.xml:
14857           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14858         * docs/pwg/building-boiler.xml:
14859         * docs/pwg/building-chainfn.xml:
14860         * docs/pwg/building-pads.xml:
14861         * docs/pwg/building-props.xml:
14862         * docs/pwg/building-state.xml:
14863         * docs/pwg/building-testapp.xml:
14864           Update the building-*.xml parts for 0.9 changes. All examples
14865           code blocks compile in examples/pwg/*.
14867 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14869         * docs/manual/advanced-autoplugging.xml:
14870         * docs/manual/appendix-checklist.xml:
14871         * docs/manual/appendix-integration.xml:
14872         * docs/manual/highlevel-components.xml:
14873           Fix playbin/decodebin examples, update docs a bit, mention bus
14874           instead of signals in various places, mention kmplayer and
14875           kaffeine since they have a working GStreamer backend in the KDE
14876           section.
14878 2005-06-30  Wim Taymans  <wim@fluendo.com>
14880         * CHANGES-0.9:
14881         * docs/design/draft-ghostpads.txt:
14882         * docs/design/draft-push-pull.txt:
14883         * docs/design/draft-query.txt:
14884         * docs/design/part-TODO.txt:
14885         * docs/design/part-query.txt:
14886         Added CHANGES-0.9 doc, updated status of other docs.
14887         
14888         * gst/gstquery.h:
14889         Remove "hmm" macro
14891 2005-06-30  Wim Taymans  <wim@fluendo.com>
14893         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14894         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14895         (gst_base_sink_change_state):
14896         * gst/base/gstbasesink.h:
14897         Some tweaks, only EOS and a buffer complete a preroll.
14899 2005-06-30  Andy Wingo  <wingo@pobox.com>
14901         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14902         activate_push down to the internal pad as well.
14904 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14906         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14908         * gst/gsttaginterface.c:
14909           Some documentation fixes (#307394 and #307397).
14911 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14913         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14915         * gst/gstvalue.c: (gst_value_intersect_list):
14916           Fix memleak (#309125).
14918 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14920         * docs/manual/advanced-dataaccess.xml:
14921           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14922         * docs/manual/basics-pads.xml:
14923           Add reference for filtered caps to above chapter.
14925 2005-06-30  Wim Taymans  <wim@fluendo.com>
14927         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14928         (gst_bin_change_state):
14929         Probes are gone.
14930         Lame attempt at making the state change function a bit
14931         more readable.
14933 2005-06-30  Wim Taymans  <wim@fluendo.com>
14935         * docs/design/part-clocks.txt:
14936         * docs/design/part-element-sink.txt:
14937         * docs/design/part-events.txt:
14938         * docs/design/part-preroll.txt:
14939         * docs/design/part-states.txt:
14940         Some more tweeks and additions to the docs.
14942 2005-06-30  Wim Taymans  <wim@fluendo.com>
14944         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14945         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14946         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14947         (gst_pad_check_pull_range), (gst_pad_get_range),
14948         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14949         * gst/gstpad.h:
14950         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14951         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14952         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14953         (gst_pad_remove_buffer_probe):
14954         Removed atomic operations, use existing LOCK.
14955         Move exception handling out of main code path.
14957 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14959         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14960         (silly_return_true_function), (gst_pad_class_init),
14961         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14962         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14963         (gst_pad_send_event):
14964           Fix accumulator, add default value by using _emitv() instead
14965           of _emit() for signal emission.
14967 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14969         * docs/manual/advanced-dataaccess.xml:
14970         * examples/manual/Makefile.am:
14971           Add probe example.
14972         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14973           Make work (??).
14975 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14977         * gst/elements/gstfilesink.c: (gst_filesink_render):
14978           Simplify code so that we don't have to handle short
14979           writes and return GST_FLOW_ERROR if an error occured.
14981 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14983         * docs/gst/gstreamer-docs.sgml:
14984           Remove probes more.
14986 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14988         * docs/gst/gstreamer-sections.txt:
14989         * docs/gst/tmpl/gstpad.sgml:
14990         * docs/gst/tmpl/gstprobe.sgml:
14991         * gst/Makefile.am:
14992         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14993         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14994         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14995         (gst_pad_push_event), (gst_pad_send_event):
14996         * gst/gstpad.h:
14997         * gst/gstutils.c: (gst_pad_add_data_probe),
14998         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14999         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15000         (gst_pad_remove_buffer_probe):
15001         * gst/gstutils.h:
15002           Remove old probes, add new g-signal-based probes and some utility
15003           functions.
15005 2005-06-29  Edward Hervey  <edward@fluendo.com>
15007         * gst/gstelementfactory.c:
15008         * gst/gstutils.h:
15009         * gst/gstutils.c:
15010         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15011         the definition to the header file.
15013 2005-06-29  Andy Wingo  <wingo@pobox.com>
15015         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15016         plugins from the source directory.
15018 2005-06-29  Wim Taymans  <wim@fluendo.com>
15020         * docs/gst/tmpl/gstbuffer.sgml:
15021         * docs/gst/tmpl/gstclock.sgml:
15022         Some fixings for blantently wrong text.
15024 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15026         * check/Makefile.am:
15027         * gst/gst.c: (add_path_func), (init_pre):
15028         * gst/gstregistry.c: (gst_registry_add_path):
15029           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15030           only scan the GST_PLUGIN_PATH locations, and not add
15031           system locations
15033 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15035         * docs/gst/gstreamer-sections.txt:
15036         * docs/gst/tmpl/gstbasesrc.sgml:
15037         * gst/gstelement.c:
15038         * gst/gstelement.h:
15039         * gst/gstevent.c:
15040         * gst/gstutils.c:
15041           doc fixes
15043 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15045         * docs/manual/advanced-autoplugging.xml:
15046           Fix autoplugging example.
15048 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15050         * docs/manual/advanced-autoplugging.xml:
15051         * docs/manual/mime-world.fig:
15052           Try to get autoplugging working, fix type detection. Fix text
15053           in hello-world image.
15055 2005-06-29  Wim Taymans  <wim@fluendo.com>
15057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15058         (gst_base_sink_change_state):
15059         Small debug line.
15061         * gst/gstclock.h:
15062         map SIGNAL and BROADCAST to the right function.
15064         * gst/gstobject.h:
15065         Remove redundant braces.
15067         * gst/gstpad.c: (gst_pad_set_caps):
15068         Don't call setcaps function when reseting caps to NULL.
15070         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15071         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15072         (gst_system_clock_id_unschedule):
15073         Use BROADCAST as this is what we do.
15075 2005-06-29  Wim Taymans  <wim@fluendo.com>
15077         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15078         We are actually prerolling before commiting the state
15079         change. 
15081 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15083         * docs/manual/advanced-clocks.xml:
15084         * docs/manual/advanced-interfaces.xml:
15085         * docs/manual/advanced-metadata.xml:
15086         * docs/manual/advanced-position.xml:
15087         * docs/manual/advanced-schedulers.xml:
15088         * docs/manual/advanced-threads.xml:
15089         * docs/manual/appendix-porting.xml:
15090         * docs/manual/basics-bins.xml:
15091         * docs/manual/basics-bus.xml:
15092         * docs/manual/basics-elements.xml:
15093         * docs/manual/basics-helloworld.xml:
15094         * docs/manual/basics-pads.xml:
15095         * docs/manual/highlevel-components.xml:
15096         * docs/manual/manual.xml:
15097         * docs/manual/thread.fig:
15098           Update (until threads/scheduling) Application Development Manual;
15099           remove GstThread, add GstBus, add simple porting checklist, add
15100           documentation for tag writing, clocks, make all examples until this
15101           part compile and run.
15102         * examples/manual/Makefile.am:
15103           Update from changes to Application Development Manual; add bus
15104           example, remove thread example.
15106 2005-06-28  Wim Taymans  <wim@fluendo.com>
15108         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15109         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15110         (gst_bus_source_dispatch):
15111         Add debugging messages.
15112         Make internal methods static.
15113         Handle the case where the bus is flushed in the handler.
15114         
15115         * gst/gstelement.c: (gst_element_get_bus):
15116         Fix refcount in _get_bus();
15118         * gst/gstpipeline.c: (gst_pipeline_change_state),
15119         (gst_pipeline_get_clock_func):
15120         Clock refcounting fixes.
15121         Handle the case where preroll timed out more gracefully.
15122         
15123         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15124         Clean up the internal thread in dispose. This is needed
15125         for subclasses that actually get disposed.
15126         
15127         * gst/schedulers/threadscheduler.c:
15128         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15129         (gst_thread_scheduler_dispose):
15130         Free thread pool in dispose.
15132 2005-06-28  Andy Wingo  <wingo@pobox.com>
15134         * tests/network-clock-utils.scm (debug, print-event): New utils.
15136         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15137         (*packet-loss*): Unified loss probability.
15138         (network-time): Report out-of-band events.
15140         * tests/plot-data: Add support for out-of-band events. Hack it
15141         into this script instead of passing it down the pipe; should fix
15142         this later.
15144 2005-06-28  Wim Taymans  <wim@fluendo.com>
15146         * docs/gst/gstreamer.types:
15147         * docs/gst/tmpl/gstbasesrc.sgml:
15148         * docs/gst/tmpl/gstpad.sgml:
15149         Docs fixes.
15151 2005-06-28  Wim Taymans  <wim@fluendo.com>
15153         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15154         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15155         (gst_proxy_pad_do_fixatecaps):
15156         Correctly proxy the check_pull_range function.
15158 2005-06-28  Andy Wingo  <wingo@pobox.com>
15160         * tests/network-clock.scm: Removed need for slib.
15161         
15162 2005-06-28  Wim Taymans  <wim@fluendo.com>
15164         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15165         (gst_basesink_preroll_queue_flush):
15166         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15167         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15168         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15169         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15170         (gst_proxy_pad_set_property):
15171         * gst/gstpad.c:
15172         * gst/gstpad.h:
15173         * gst/gstqueue.c: (gst_queue_init):
15174         The deprecated pad loop function is removed now.
15176 2005-06-28  Andy Wingo  <wingo@pobox.com>
15178         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15179         New parameters, simulate network packet loss.
15181         * tests/network-clock-utils.scm: Initialize the RNG.
15183 2005-06-28  Wim Taymans  <wim@fluendo.com>
15185         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15186         (gst_basesink_event), (gst_basesink_deactivate):
15187         Flushing the preroll queue always needs to unlock the waiters.
15189 2005-06-28  Edward Hervey  <edward@fluendo.com>
15191         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15192         Wheen a seek was successful on a pipeline, set the stream_time to the
15193         seek offset in order to have a synchronized stream_time.
15195 2005-06-28  Wim Taymans  <wim@fluendo.com>
15197         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15198         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15199         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15200         (gst_proxy_pad_do_fixatecaps):
15201         Call wrapper function instead of just calling the function
15202         pointers. This takes care of any locking and whatmore.
15204 2005-06-28  Wim Taymans  <wim@fluendo.com>
15206         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15207         (gst_pad_pull_range):
15208         * gst/gstpad.h:
15209         CONNECTED -> LINKED.
15211 2005-06-28  Andy Wingo  <wingo@pobox.com>
15213         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15214         source-munging commit!!!
15216         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15217         (gst_object_sink): Take gpointer arguments, not GstObject --
15218         avoids casts. Like GLib.
15220         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15221         activate.
15223 2005-06-27  Andy Wingo  <wingo@pobox.com>
15225         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15226         remaining buffer.
15228         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15229         returns a sorted copy of the trace list.
15230         (gst_alloc_trace_print_live): New API, only prints traces with
15231         live objects. Sort the list.
15232         (gst_alloc_trace_print_all): Sort the list.
15233         (gst_alloc_trace_print): Align columns.
15235         * gst/elements/gstttypefindelement.c:
15236         * gst/elements/gsttee.c:
15237         * gst/base/gstbasesrc.c:
15238         * gst/base/gstbasesink.c:
15239         * gst/base/gstbasetransform.c:
15240         * gst/gstqueue.c: Adapt for pad activation changes.
15242         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15243         sched.
15244         (gst_pipeline_dispose): Drop ref on sched.
15246         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15247         (gst_pad_activate_default): Push mode by default.
15248         (pre_activate_switch, post_activate_switch): New stubs, things to
15249         do before and after switching activation modes on pads.
15250         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15251         the pad's activate function to choose which mode to activate.
15252         Shortcut on deactivation and call the right function directly.
15253         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15254         mode.
15255         (gst_pad_activate_push): New API, same for push mode.
15256         (gst_pad_set_activate_function) 
15257         (gst_pad_set_activatepull_function) 
15258         (gst_pad_set_activatepush_function): Setters for new API.
15260         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15261         Trace all miniobjects.
15262         (gst_mini_object_make_writable): Unref the arg if we copy, like
15263         gst_caps_make_writable.
15265         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15267         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15268         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15269         Adapt for new pad API.
15271         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15273         * gst/gstelement.h:
15274         * gst/gstelement.c (gst_element_iterate_src_pads) 
15275         (gst_element_iterate_sink_pads): New API functions.
15276         
15277         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15278         should fold into gstiterator.c in some form.
15279         (gst_element_pads_activate): Simplified via use of fold and
15280         delegation of decisions to gstpad->activate.
15282         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15283         help in debugging.
15285         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15286         class once in init, like gstmessage. Didn't run into this issue
15287         but it seems correct. Don't initialize a trace, gstminiobject does
15288         that.
15290         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15291         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15292         to the bus.
15293         (assert_live_count): New util function, uses alloc traces to check
15294         cleanup.
15296         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15297         To be modified when unlink drops the internal pad.
15299 2005-06-27  Wim Taymans  <wim@fluendo.com>
15301         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15302         (gst_bin_change_state):
15303         Cleanup the get_state() function a little, make sure it
15304         iterates the same set of elements.
15305         Added stub iterate_state_order().
15307 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15309         * docs/gst/gstreamer-docs.sgml:
15310         * docs/gst/gstreamer-sections.txt:
15311         * docs/gst/gstreamer.types:
15312         * docs/gst/tmpl/gstbasesink.sgml:
15313         * docs/gst/tmpl/gstbasesrc.sgml:
15314         * docs/gst/tmpl/gstbasetransform.sgml:
15315         * docs/gst/tmpl/gstelement.sgml:
15316         * docs/gst/tmpl/gstiterator.sgml:
15317         * gst/base/gstbasesrc.c:
15318         * gst/base/gstbasesrc.h:
15319         * gst/base/gstbasetransform.h:
15320         * gst/gstelement.c:
15321         * gst/gstiterator.h:
15322           adding basetransform and iterator docs
15324 2005-06-27  Andy Wingo  <wingo@pobox.com>
15326         * docs/design/part-activation.txt: Notes on how activation should
15327         work -- not quite implemented yet.
15329 2005-06-25  Wim Taymans  <wim@fluendo.com>
15331         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15332         At least get the chain function correct, needs more
15333         fixing.
15335 2005-06-25  Wim Taymans  <wim@fluendo.com>
15337         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15338         (gst_basesink_handle_object), (gst_basesink_event),
15339         (gst_basesink_do_sync), (gst_basesink_handle_event),
15340         (gst_basesink_change_state):
15341         * gst/gsttask.h:
15342         Right, two problems here: ghostpads don't take locks and
15343         glib _rec_mutex_lock_full() with depth==0 still locks.
15344         Catch illegal locking and g_warn them.
15346 2005-06-25  Wim Taymans  <wim@fluendo.com>
15348         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15349         Have to check for completion now...
15351 2005-06-25  Wim Taymans  <wim@fluendo.com>
15353         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15354         (gst_basesink_handle_object), (gst_basesink_event),
15355         (gst_basesink_do_sync), (gst_basesink_handle_event),
15356         (gst_basesink_change_state):
15357         * gst/gstpad.h:
15358         Unlock STREAM_LOCK whatever the recursion was.
15360 2005-06-25  Wim Taymans  <wim@fluendo.com>
15362         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15363         (gst_basesink_preroll_queue_empty),
15364         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15365         (gst_basesink_event), (gst_basesink_do_sync),
15366         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15367         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15368         (gst_basesink_change_state):
15369         Reworked the base sink, handle event and buffer serialisation
15370         correctly and removed possible deadlock.
15371         Handle EOS correctly.
15373 2005-06-25  Wim Taymans  <wim@fluendo.com>
15375         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15376         (gst_pipeline_change_state):
15377         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15378         Allow elements to post EOS in the state change function.
15379         Fix up -launch, make it exit the poll loop when the
15380         pipeline actually changed state.
15381         Fix up warning parsing in -launch.
15383 2005-06-25  Wim Taymans  <wim@fluendo.com>
15385         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15386         (gst_tee_sink_activate):
15387         Core takes STREAM_LOCK for us now.
15389 2005-06-25  Wim Taymans  <wim@fluendo.com>
15391         * gst/gstelement.c: (gst_element_get_state_func),
15392         (gst_element_set_state):
15393         * gst/gstelement.h:
15394         * gst/gstmessage.c: (gst_message_parse_error),
15395         (gst_message_parse_warning):
15396         Keep track of current target state while performing a state
15397         change so that subclasses can do something interesting.
15398         Fix parsing of warning/error messages when GError is NULL.
15400 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15402         * docs/gst/Makefile.am:
15403         * docs/gst/gstreamer-docs.sgml:
15404         * docs/gst/gstreamer-sections.txt:
15405         * docs/gst/gstreamer.types:
15406         * docs/gst/tmpl/gstbasesink.sgml:
15407         * docs/gst/tmpl/gstbasesrc.sgml:
15408         * docs/gst/tmpl/gstbin.sgml:
15409         * docs/gst/tmpl/gstcompat.sgml:
15410         * docs/gst/tmpl/gstfakesink.sgml:
15411         * docs/gst/tmpl/gstfakesrc.sgml:
15412         * docs/gst/tmpl/gstfilesink.sgml:
15413         * docs/gst/tmpl/gstfilesrc.sgml:
15414         * docs/gst/tmpl/gstindex.sgml:
15415         * docs/manual/appendix-quotes.xml:
15416         * gst/base/gstbasesrc.h:
15417         * gst/elements/gstfakesrc.h:
15418         * gst/gstmessage.h:
15419           start pulling in base classes and elements in our docs
15421 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15423         * docs/gst/Makefile.am:
15424         * docs/libs/Makefile.am:
15425           fixed make distcheck with gtk-doc 1.3
15427 2005-06-23  Wim Taymans  <wim@fluendo.com>
15429         * gst/gstelement.c: (gst_element_get_state_func),
15430         (gst_element_set_state), (gst_element_change_state):
15431         When the state did not change, also report NO_PREROLL
15432         when it matters.
15434 2005-06-23  Wim Taymans  <wim@fluendo.com>
15436         * gst/gstpad.c: (gst_pad_event_default):
15437         * gst/gstqueue.c: (gst_queue_loop):
15438         No unsafe task pausing please.
15440 2005-06-23  Wim Taymans  <wim@fluendo.com>
15442         * gst/schedulers/threadscheduler.c:
15443         (gst_thread_scheduler_task_start),
15444         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15445         Ref the task before pushing it on the threadpool. This
15446         makes sure that we have a ref when the threadfunction is
15447         actually called.
15449 2005-06-23  Andy Wingo  <wingo@pobox.com>
15451         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15452         offset is greater than the file's size.
15454         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15455         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15456         * gst/gstobject.c (gst_object_class_init): Make the class lock
15457         recursive. Wim won't let me drop deep_notify. Decodebin works
15458         again, whoopdy doo.
15460         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15461         internal pad, and hacks accordingly. Doesn't do it on the target
15462         pad because we change its caps. Probably catches all cases of
15463         interest tho.
15464         (gst_ghost_pad_set_property): Connect to notify::caps as
15465         appropritate.
15467         * tests/network-clock.scm (plot-simulation): Pipe data to the
15468         elite python skript.
15470         * tests/network-clock-utils.scm (define-parameter): New macro,
15471         defines a parameter that can be set via the command line.
15472         (set-parameter!, parse-parameter-arguments): Command line args
15473         parser.
15475         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15476         stdin.
15478 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15480         * gst/elements/gsttypefindelement.c:
15481         (gst_type_find_element_handle_event):
15482           Don't restart typefinding on a discont.
15483         * gst/gstelement.c: (gst_element_set_state):
15484           Debug spelling fix.
15485         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15486           Allow changing mode of an active pad.
15487           Debug output fixes.
15488         * gst/registries/gstlibxmlregistry.c: (load_feature):
15489           Don't cast a static pad template to a normal pad template.
15491 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15493         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15494         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15495           remove gst_strtoll completely, since it didn't actually do
15496           anything more than what g_ascii_strtoull already does.
15497           check for range errors when deserializing
15498           do a cast for the unsigned cases; but further fixing needs
15499           a decision on what the interpretation of "(int)" and
15500           deserialization should be for values that fall outside the
15501           type's boundaries (ie, refuse, or interpret as casting)
15503 2005-06-23  Wim Taymans  <wim@fluendo.com>
15505         * check/Makefile.am:
15506         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15507         * docs/design/part-live-source.txt:
15508         * docs/design/part-states.txt:
15509         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15510         (gst_basesrc_set_live), (gst_basesrc_is_live),
15511         (gst_basesrc_get_range), (gst_basesrc_activate),
15512         (gst_basesrc_change_state):
15513         * gst/base/gstbasesrc.h:
15514         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15515         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15516         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15517         * gst/gstelement.c: (gst_element_get_state_func),
15518         (gst_element_set_state):
15519         * gst/gstelement.h:
15520         * gst/gsttypes.h:
15521         * tools/gst-launch.c: (event_loop), (main):
15522         Added support for live sources and other elements that
15523         cannot do preroll.
15524         Updated design docs, added live-source design doc.
15525         Implemented live source functionality in basesrc
15526         Fix error condition in _bin_get_state()
15527         Implement live source handling in -launch.
15528         Added check for live sources.
15529         Fixed case in GstBin where elements were changed state
15530         multiple times.
15533 2005-06-23  Andy Wingo  <wingo@pobox.com>
15535         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15536         borken refcounting.
15538         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15539         gst_caps_replace takes care of this for us.
15541         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15542         gst_pad_set_caps on the target, not just its setcaps() function.
15544         * tests/network-clock.scm: 
15545         * tests/network-clock-utils.scm: A network clock simulator.
15546         Something of an algorithmic testbed before doing something in C.
15548 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15550         * check/Makefile.am:
15551         * check/gst/capslist.h:
15552           copy over from 0.8, and add two with bitmasks specified with
15553           (int) 0xFF...
15554         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15555           add test to parse everything from capslist.h
15556         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15557         (main):
15558           add test for structure deserialization
15559         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15560           add tests for deserialization of strings to int types
15561         * gst/gststructure.c: (gst_structure_nth_field_name):
15562         * gst/gststructure.h:
15563           add a way to get the name of a field referenced by index
15564         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15565           instead of checking if the resulting long long lies between
15566           min and max, we check if the long long would fit into
15567           a number of bytes for the final type.
15568           This fixes cases where a string represents 2^32 - 1, which
15569           when cast to int would be the (valid) -1, but is bigger than
15570           G_MAXINT
15572 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15574         * gst/parse/grammar.y:
15575           add a log line for type deserialization
15577 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15579         * check/gst/gstvalue.c: (START_TEST):
15580         * gst/gstvalue.c: (gst_value_deserialize):
15581           return long long, not int, so gint64 deserialization actually
15582           works.  Is there any flag that makes the compiler check this ?
15583           Fixes #308559
15585 2005-06-22  Wim Taymans  <wim@fluendo.com>
15587         * gst/gstbuffer.h:
15588         Added convenience macros for setting buffers in GValue.
15590 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15592         * check/gst/.cvsignore:
15593         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15594           add a test deserializing int64, and comment part out because
15595           it fails, yay !
15597 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15599         * check/Makefile.am:
15600         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15601         * testsuite/Makefile.am:
15602         * testsuite/caps/Makefile.am:
15603         * testsuite/caps/value_serialize.c:
15604         * testsuite/test_gst_init.c:
15605           move a value_serialize test over
15607 2005-06-20  Wim Taymans  <wim@fluendo.com>
15609         * gst/gstpad.c:
15610         Small doc updates.
15611         
15612         * gst/gstvalue.c: (gst_value_compare_buffer),
15613         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15614         (gst_value_compare_flags), (gst_value_serialize_flags),
15615         (gst_value_deserialize_flags), (_gst_value_initialize):
15616         Fix serialisation of buffers, they are not boxed types anymore
15618 2005-06-20  Wim Taymans  <wim@fluendo.com>
15620         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15621         Testcase to show error in buffer-on-caps serialisation.
15623 2005-06-20  Andy Wingo  <wingo@pobox.com>
15625         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15626         will be adding to later.
15628         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15629         if its socks fill with rocks.
15630         (gst_system_clock_obtain): Set the name on object construction.
15631         Avoid double-checked locking.
15633 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15635         * gst/gsturi.c: (gst_element_make_from_uri):
15636           Fix potential endless loop.
15638 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15640         * check/Makefile.am:
15641           add gsttag
15642         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15643         (main):
15644           move over from testsuite dir and clean up
15645         * configure.ac:
15646         * gst/gsttag.c:
15647         * testsuite/Makefile.am:
15648         * testsuite/tags/.cvsignore:
15649         * testsuite/tags/Makefile.am:
15650         * testsuite/tags/merge.c:
15651           remove testsuite/tags
15653 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15655         * docs/gst/gstreamer-sections.txt:
15656         * docs/gst/tmpl/gstenumtypes.sgml:
15657         * win32/gstenumtypes.c:
15658           clean up documentation build a little
15660 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15662         * check/gstcheck.h:
15663           add macros for checking refcounts on objects and caps
15664         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15665           add some more unit tests
15666         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15667         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15668           fix leaked refcounts (I hope :)) so unittest works
15669         * gst/gstpad.h:
15670           whitespace removal
15672 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15674         * configure.ac: back to HEAD
15676 === release 0.9.1 ===
15678 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15680         * NEWS:
15681         * RELEASE:
15682           updated
15684 2005-06-17  Andy Wingo  <wingo@pobox.com>
15686         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15687         assert; it's always possible that the pad gets deactivated in
15688         between the checks in gstpad.c and the implementation. Rely on
15689         finish_preroll() to return a FLUSHING or similar instead of on the
15690         assert.
15691         
15692         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15693         clock and post an EOS message if we come out of finish_preroll in
15694         the playing state.
15696 2005-06-16  David Schleef  <ds@schleef.org>
15698         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15699         (gst_capsfilter_set_property): Allow NULL as possible value
15700         for filter_caps property, indicating GST_CAPS_ANY.
15702 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15704         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15705           fix debug output
15706         * gst/schedulers/Makefile.am:
15707           use libgst prefix
15708         * gstreamer.spec.in:
15709           fix spec for it
15711 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15713         * gstreamer.spec.in:
15714           clean up
15716 2005-06-08  Andy Wingo  <wingo@pobox.com>
15718         * gst/gstutils.c: RPAD fixes all around.
15719         (gst_element_link_pads): Refcounting fixes.
15721         * tools/gst-inspect.c:
15722         * tools/gst-xmlinspect.c:
15723         * parse/grammar.y:
15724         * gst/base/gsttypefindhelper.c:
15725         * gst/base/gstbasesink.c:
15726         * gst/gstqueue.c: RPAD fixes.
15728         * gst/gstghostpad.h:
15729         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15730         pads. The tricky thing is they provide both source and sink
15731         interfaces, since they proxy the internal pad for the external
15732         pad, and vice versa. Implement with lower-level ProxyPad objects,
15733         with the interior proxy pad as a child of the exterior ghost pad.
15734         Should write a doc on this.
15735         
15736         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15737         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15738         gst_object API.
15739         
15740         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15741         pads are real pads. No ghost pads in this file. Not documenting
15742         the myriad s/RPAD/PAD/ and REALIZE fixes.
15743         (gst_pad_class_init): Add properties for "direction" and
15744         "template". Both are construct-only, so they can't change during
15745         the life of the pad. Fixes properly deriving from GstPad.
15746         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15747         derived objects, just set properties when creating the objects via
15748         g_object_new.
15749         (gst_pad_get_parent): Implement as a function, return NULL if the
15750         parent is not an element.
15751         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15752         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15753         
15754         * gst/gstobject.c (gst_object_class_init): Make name a construct
15755         property. Don't set it in the object init.
15757         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15758         with UNKNOWN direction.
15759         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15760         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15761         (gst_element_remove_pad): Remove ghost-pad special cases.
15762         (gst_element_pads_activate): Remove rpad cruft.
15764         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15765         catch the pad's-parent-not-an-element case.
15767         * gst/gst.h: Include gstghostpad.h.
15769         * gst/gst.c (init_post): No more real, ghost pads.
15771         * gst/Makefile.am: Add gstghostpad.[ch].
15773         * check/Makefile.am:
15774         * check/gst/gstbin.c:
15775         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15776         into a bin creates ghost pads, and that the refcounts are right.
15777         Partly moved from gstbin.c.
15779 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15781         * check/gst-libs/.cvsignore:
15782         * check/gst/.cvsignore:
15783         * check/pipelines/.cvsignore:
15784           ignore more
15785         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15786         (START_TEST), (cleanup_suite), (main):
15787           add some tests related to cleanup after running pipelines
15789 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15791         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15792           add a testsuite for GstBuffer
15794 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15796         * gst/gstminiobject.h:
15797           add defines for accessing the refcount
15799 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15801         * Makefile.am: added support for html unit test coverage reports
15803 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15805         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15806           Free existing caps if the capsfilter changes. Add a FIXME about
15807           setting those caps on the pads.
15809         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15810           Before adding a ghost pad to a parent bin, check that there isn't
15811           already one for the element on the bin. Prevents infinite recursion
15812           when using decodebin in parse pipelines. Andy says he'll rewrite the
15813           way this works anyway, so ignore the hack.
15815 2005-06-02  Andy Wingo  <wingo@pobox.com>
15817         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15818         file size, pass it on to the type find helper.
15820         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15821         segment_start and segment_end properly according to the seek
15822         method. Segment_end is still a bit flaky because offset can be
15823         negative for CUR and END cases, but it takes -1 as an "unset"
15824         value.
15826 2005-06-02  Wim Taymans  <wim@fluendo.com>
15828         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15829         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15830         (gst_basesink_activate):
15831         * gst/base/gstbasesink.h:
15832         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15833         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15834         (gst_pad_query), (gst_pad_start_task):
15835         * gst/gstpad.h:
15836         * gst/gstqueue.c: (gst_queue_bufferalloc),
15837         (gst_queue_handle_sink_event), (gst_queue_chain):
15838         Bufferalloc: return GstFlowReturn to more accuratly report
15839         why allocation failed.
15841 2005-06-02  Wim Taymans  <wim@fluendo.com>
15843         * gst/gstpipeline.c: (gst_pipeline_send_event):
15844         Take snapshot of state without blocking.
15846 2005-06-02  Wim Taymans  <wim@fluendo.com>
15848         * docs/design/part-TODO.txt:
15849         * docs/design/part-caps.txt:
15850         * docs/design/part-clocks.txt:
15851         * docs/design/part-negotiation.txt:
15852         * docs/design/part-preroll.txt:
15853         Small doc updates 
15855 2005-05-30  Wim Taymans  <wim@fluendo.com>
15857         * gst/elements/gstidentity.c: (gst_identity_event),
15858         (gst_identity_transform), (gst_identity_get_property):
15859         Protect last_message property as it is accessed from
15860         multiple threads.
15862 2005-05-30  Wim Taymans  <wim@fluendo.com>
15864         * gst/gstelement.c: (gst_element_init),
15865         (gst_element_pads_activate), (gst_element_change_state):
15866         Slicker pad activation code.
15868 2005-05-30  Wim Taymans  <wim@fluendo.com>
15870         * gst/Makefile.am:
15871         * gst/gstelement.h:
15872         * gst/gstelementfactory.h:
15873         * gst/gsttypes.h:
15874         Move elementfactory methods to separate .h file.
15876 2005-05-30  Wim Taymans  <wim@fluendo.com>
15878         * docs/design/part-overview.txt:
15879         * gst/gstsystemclock.h:
15880         Small typo fixes, doc updates.
15882 2005-05-30  Wim Taymans  <wim@fluendo.com>
15884         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15885         (init_popt_callback):
15886         Remove cpu-opt flag.
15888 2005-05-30  Wim Taymans  <wim@fluendo.com>
15890         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15891         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15892         * gst/gstbuffer.h:
15893         Avoid typechecking in places where not needed.
15894         Added accessor for malloc_data.
15896 2005-05-30  Wim Taymans  <wim@fluendo.com>
15898         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15899         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15900         (gst_pad_configure_sink), (gst_pad_configure_src),
15901         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15902         (gst_pad_start_task):
15903         Propagate errors from _set_caps() in configure_src/sink
15904         functions instead of returning TRUE.
15905         FLUSH events can travel up and downstream
15908 2005-05-30  Wim Taymans  <wim@fluendo.com>
15910         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15911         (gst_basesink_activate):
15912         Handle EOS in preroll.
15914 2005-05-30  Wim Taymans  <wim@fluendo.com>
15916         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15917         (gst_queue_loop), (gst_queue_handle_src_event):
15918         Remove old pieces of code
15919         Flushing the queue in an upstream event is a very bad idea.
15921 2005-05-26  Andy Wingo  <wingo@pobox.com>
15923         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15924         gst_value_set_mini_object so as to add a ref on the object (which
15925         will be removed when the value is unset).
15927         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15928         arg type in ::handoff.
15930         * gst/gstelement.c (gst_element_change_state): Also deactivate
15931         pads in READY->NULL, just in case the element didn't make it to
15932         PAUSED. Wingo tested, Wim approved.
15934 2005-05-26  Wim Taymans  <wim@fluendo.com>
15936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15937         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15938         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15939         A flushing pad cannot be used to alloc_buffer from.
15941 2005-05-26  Wim Taymans  <wim@fluendo.com>
15943         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15944         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15945         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15946         (gst_bus_create_watch), (gst_bus_add_watch_full):
15947         * gst/gstbus.h:
15948         Implement a real GSource and use g_main_context_wakeup() to
15949         signal new messages instead of the socketpair.
15951 2005-05-25  Wim Taymans  <wim@fluendo.com>
15953         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15954         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15955         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15956         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15957         (gst_pad_send_event), (gst_pad_start_task):
15958         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15959         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15960         (gst_queue_sink_activate), (gst_queue_src_activate),
15961         (gst_queue_change_state):
15962         * gst/gstqueue.h:
15963         Fix state changes for non sinks. We now change sinks, then elements
15964         with unconnected srcpads, then the rest.
15965         More efficient queue unlocking in flush and state changes.
15966         Set the pad activate mode even if it does not have an activate
15967         function.
15969 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15971         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15972           Don't go in pull mode for non-seekable sources.
15973         * gst/elements/gsttypefindelement.h:
15974         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15975         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15976         (free_entry), (stop_typefinding),
15977         (gst_type_find_element_handle_event), (find_peek),
15978         (gst_type_find_element_chain), (do_pull_typefind),
15979         (gst_type_find_element_change_state):
15980           Allow typefinding (w/o seeking) in push-mode, simplified version
15981           of what was in 0.8.
15982         * gst/gstutils.c: (gst_buffer_join):
15983         * gst/gstutils.h:
15984           gst_buffer_join() from 0.8.
15986 2005-05-25  Wim Taymans  <wim@fluendo.com>
15988         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15989         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15990         (gst_pad_send_event), (gst_pad_start_task):
15991         Disable attempt at mode switching until it is figured out.
15993 2005-05-25  Wim Taymans  <wim@fluendo.com>
15995         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15996         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15997         (gst_basesink_finish_preroll), (gst_basesink_chain),
15998         (gst_basesink_loop), (gst_basesink_activate),
15999         (gst_basesink_change_state):
16000         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16001         (gst_basesrc_get_range), (gst_basesrc_loop),
16002         (gst_basesrc_activate):
16003         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16004         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16005         (gst_real_pad_init), (gst_real_pad_set_property),
16006         (gst_real_pad_get_property), (gst_pad_set_active),
16007         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16008         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16009         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16010         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16011         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16012         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16013         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16014         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16015         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16016         (gst_pad_stop_task):
16017         * gst/gstpad.h:
16018         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16019         (gst_queue_loop), (gst_queue_src_activate):
16020         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16021         (gst_task_get_state):
16022         * gst/gsttask.h:
16023         * gst/schedulers/threadscheduler.c:
16024         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16025         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16026         in task function.
16027         Remove ACTIVE pad flag, use FLUSHING everywhere
16028         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16029         functions.
16030         Add locks around IS_FLUSHING when reading.
16031         Take STREAM lock in chain(), get_range() functions so plugins
16032         don't need to take it anymore.
16033         
16036 2005-05-25  Wim Taymans  <wim@fluendo.com>
16038         * tools/gst-launch.c: (event_loop):
16039         Unref message after using its contents instead of
16040         before.
16042 2005-05-24  Wim Taymans  <wim@fluendo.com>
16044         * docs/design/draft-ghostpads.txt:
16045         * docs/design/draft-push-pull.txt:
16046         * docs/design/draft-query.txt:
16047         * docs/design/part-overview.txt:
16048         Docs updates, added general overview doc.
16050 2005-05-21  David Schleef  <ds@schleef.org>
16052         * docs/gst/tmpl/old/GstBin.sgml:
16053         * docs/gst/tmpl/old/GstBuffer.sgml:
16054         * docs/gst/tmpl/old/GstCaps.sgml:
16055         * docs/gst/tmpl/old/GstClock.sgml:
16056         * docs/gst/tmpl/old/GstCompat.sgml:
16057         * docs/gst/tmpl/old/GstData.sgml:
16058         * docs/gst/tmpl/old/GstElement.sgml:
16059         * docs/gst/tmpl/old/GstEvent.sgml:
16060         * docs/gst/tmpl/old/GstIndex.sgml:
16061         * docs/gst/tmpl/old/GstStructure.sgml:
16062         * docs/gst/tmpl/old/GstTag.sgml:
16063         * docs/gst/tmpl/old/cothreads.sgml:
16064         * docs/gst/tmpl/old/cothreads_compat.sgml:
16065         * docs/gst/tmpl/old/gettext.sgml:
16066         * docs/gst/tmpl/old/gobject2gtk.sgml:
16067         * docs/gst/tmpl/old/grammar.tab.sgml:
16068         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16069         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16070         * docs/gst/tmpl/old/gst_private.sgml:
16071         * docs/gst/tmpl/old/gstaggregator.sgml:
16072         * docs/gst/tmpl/old/gstarch.sgml:
16073         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16074         * docs/gst/tmpl/old/gstbufferstore.sgml:
16075         * docs/gst/tmpl/old/gstdata_private.sgml:
16076         * docs/gst/tmpl/old/gstdisksink.sgml:
16077         * docs/gst/tmpl/old/gstdisksrc.sgml:
16078         * docs/gst/tmpl/old/gstelementfactory.sgml:
16079         * docs/gst/tmpl/old/gstextratypes.sgml:
16080         * docs/gst/tmpl/old/gstfakesink.sgml:
16081         * docs/gst/tmpl/old/gstfakesrc.sgml:
16082         * docs/gst/tmpl/old/gstfdsink.sgml:
16083         * docs/gst/tmpl/old/gstfdsrc.sgml:
16084         * docs/gst/tmpl/old/gstfilesink.sgml:
16085         * docs/gst/tmpl/old/gstfilesrc.sgml:
16086         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16087         * docs/gst/tmpl/old/gstidentity.sgml:
16088         * docs/gst/tmpl/old/gstindexfactory.sgml:
16089         * docs/gst/tmpl/old/gstmarshal.sgml:
16090         * docs/gst/tmpl/old/gstmd5sink.sgml:
16091         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16092         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16093         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16094         * docs/gst/tmpl/old/gstpipefilter.sgml:
16095         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16096         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16097         * docs/gst/tmpl/old/gstshaper.sgml:
16098         * docs/gst/tmpl/old/gstspider.sgml:
16099         * docs/gst/tmpl/old/gstspideridentity.sgml:
16100         * docs/gst/tmpl/old/gststatistics.sgml:
16101         * docs/gst/tmpl/old/gsttee.sgml:
16102         * docs/gst/tmpl/old/gsttimecache.sgml:
16103         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16104         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16105         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16106         * docs/gst/tmpl/old/types.sgml:
16107           I didn't intend to add these or check them in.
16109 2005-05-19  David Schleef  <ds@schleef.org>
16111         * configure.ac: Use -no-common everywhere.  In a sane world, it
16112           would be the default in libtool, because without it, you can't
16113           build DLLs on Windows.
16114         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16115         * docs/gst/gstreamer-sections.txt:
16116         * docs/gst/tmpl/gstcpu.sgml:
16117         * docs/gst/tmpl/gstdata.sgml:
16118         * docs/gst/tmpl/gstthread.sgml:
16120 2005-05-19  David Schleef  <ds@schleef.org>
16122         * gst/gstminiobject.c: (gst_value_set_mini_object),
16123         (gst_value_take_mini_object), (gst_value_get_mini_object):
16124         * gst/gstminiobject.h: Add GValue set/get functions.
16126 2005-05-19  Wim Taymans  <wim@fluendo.com>
16128         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16129         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16130         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16131         * gst/gstbuffer.h:
16132         * gst/gstbus.c: (gst_bus_post):
16133         * gst/gstelement.c: (gst_element_get_random_pad):
16134         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16135         Make subbufer unref the parent in finalize.
16136         some more debugging info.
16139 2005-05-19  Wim Taymans  <wim@fluendo.com>
16141         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16142         (gst_basesink_init), (gst_basesink_finalize),
16143         (gst_basesink_activate), (gst_basesink_change_state):
16144         Don't free preroll queue too early.
16146 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16148         * gst/Makefile.am:
16149         * gst/ROADMAP:
16150           Hi, I'm outdated. Please shoot me.
16152 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16154         * gst/gstpipeline.c: (gst_pipeline_send_event):
16155           Do not access variables after they have been deleted.
16157 2005-05-19  Wim Taymans  <wim@fluendo.com>
16159         * tools/gst-inspect.c: (print_plugin_features):
16160         A plugin feature does unfortunatly not use the
16161         object name yet...
16163 2005-05-18  Wim Taymans  <wim@fluendo.com>
16165         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16166         Port _span() functions to new subbuffers.
16168 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16170         * gst/gstbin.c: (gst_bin_add_func):
16171           Fix clock settery in bins when adding kids after the clock has
16172           been selected.
16174 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16176         * gst/elements/gstidentity.c: (gst_identity_class_init):
16177           Workaround until signals support GstMiniObject.
16179 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16181         * gst/gstbuffer.c:
16182         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16184 2005-05-18  Wim Taymans  <wim@fluendo.com>
16186         * gst/base/Makefile.am:
16187         * gst/base/gstadapter.c: (gst_adapter_base_init),
16188         (gst_adapter_class_init), (gst_adapter_init),
16189         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16190         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16191         (gst_adapter_flush), (gst_adapter_available),
16192         (gst_adapter_available_fast):
16193         * gst/base/gstadapter.h:
16194         Ported and added adapter to the base classes.
16196 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16198         * gst/gst.c:
16199         * gst/gstmessage.c:
16200           Make sure the class is reffed/unreffed once before threads can be
16201           used.  Fixes #304551.
16203 2005-05-17  Wim Taymans  <wim@fluendo.com>
16205         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16206         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16207         * gst/gstminiobject.c: (gst_mini_object_get_type),
16208         (gst_mini_object_free):
16209         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16210         (gst_pad_push), (gst_pad_push_event):
16211         * gst/gstqueue.c: (gst_queue_change_state):
16212         Don't queue buffers in basesink when we are flushing.
16213         Unref buffer when flushing in basesink.
16214         Flush queue when going to READY
16215         Unref buffer when _push() returns an error.
16216         Don't free MiniObject instance when refcount is incremented
16217         in _finalize() so that we can recover objects.
16219 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16221         * docs/manual/advanced-schedulers.xml:
16222         * docs/manual/appendix-checklist.xml:
16223         * docs/pwg/advanced-clock.xml:
16224         * docs/pwg/advanced-interfaces.xml:
16225         * docs/pwg/advanced-request.xml:
16226         * docs/pwg/advanced-types.xml:
16227         * docs/pwg/intro-preface.xml:
16228         * examples/plugins/example.c: (gst_example_get_type),
16229         (gst_example_class_init), (gst_example_chain),
16230         (gst_example_set_property), (gst_example_get_property),
16231         (gst_example_change_state), (plugin_init):
16232         * examples/plugins/example.h:
16233           small doc fixes
16235 2005-05-17  Wim Taymans  <wim@fluendo.com>
16237         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16238         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16239         * gst/gstqueue.c: (gst_queue_change_state):
16240         Clear queue when going to READY.
16241         Remove IN_SETCAPS flag too.
16243 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16245         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16246           Remove implicit cast from gboolean to GstElementStateReturn;
16247           make sure we still return failure in paused => ready case if
16248           the parent class fails to change state and our own stop 
16249           vfunc succeeds.
16251 2005-05-17  Wim Taymans  <wim@fluendo.com>
16253         * tools/gst-launch.c: (event_loop):
16254         Message was unreffed too soon.
16256 2005-05-16  Andy Wingo  <wingo@pobox.com>
16258         * gst/gstbin.c (sink_iterator_filter): Err... um...
16260         * check/gst/gstbin.c (test_ghost_pads): New test for the
16261         ghosting-if-elements-not-in-same-bin behavior.
16263 2005-05-16  David Schleef  <ds@schleef.org>
16265         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16266         accessing refcount directly.
16268 2005-05-15  David Schleef  <ds@schleef.org>
16270         * check/Makefile.am: remove GstData checks
16271         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16272         * gst/Makefile.am: add miniobject, remove data
16273         * gst/gst.h: add miniobject, remove data
16274         * gst/gstdata.c: remove
16275         * gst/gstdata.h: remove
16276         * gst/gstdata_private.h: remove
16277         * gst/gsttypes.h: remove GstEvent and GstMessage
16278         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16279         * gst/gstmarshal.list: change BOXED -> OBJECT
16281         Implement GstMiniObject.
16282         * gst/gstminiobject.c:
16283         * gst/gstminiobject.h:
16285         Modify to be subclasses of GstMiniObject.
16286         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16287         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16288         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16289         (gst_subbuffer_get_type), (gst_subbuffer_init),
16290         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16291         (gst_buffer_span):
16292         * gst/gstbuffer.h:
16293         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16294         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16295         (_gst_event_copy), (gst_event_new):
16296         * gst/gstevent.h:
16297         * gst/gstmessage.c: (_gst_message_initialize),
16298         (gst_message_get_type), (gst_message_class_init),
16299         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16300         (gst_message_new), (gst_message_new_error),
16301         (gst_message_new_warning), (gst_message_new_tag),
16302         (gst_message_new_state_changed), (gst_message_new_application):
16303         * gst/gstmessage.h:
16304         * gst/gstprobe.c: (gst_probe_perform),
16305         (gst_probe_dispatcher_dispatch):
16306         * gst/gstprobe.h:
16307         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16308         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16309         (_gst_query_copy), (gst_query_new):
16311         Update elements for GstData -> GstMiniObject changes
16312         * gst/gstquery.h:
16313         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16314         (gst_queue_chain), (gst_queue_loop):
16315         * gst/elements/gstbufferstore.c:
16316         (gst_buffer_store_add_buffer_func),
16317         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16318         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16319         (gst_fakesink_render):
16320         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16321         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16322         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16323         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16324         (gst_filesrc_create_read):
16325         * gst/elements/gstidentity.c: (gst_identity_class_init):
16326         * gst/elements/gsttypefindelement.c:
16327         (gst_type_find_element_src_event), (free_entry_buffers),
16328         (gst_type_find_element_handle_event):
16329         * libs/gst/dataprotocol/dataprotocol.c:
16330         (gst_dp_header_from_buffer):
16331         * libs/gst/dataprotocol/dataprotocol.h:
16332         * libs/gst/dataprotocol/dp-private.h:
16334 2005-05-15  David Schleef  <ds@schleef.org>
16336         * gst/elements/gstelements.c: Don't include headers that were
16337         just removed.
16339 2005-05-15  David Schleef  <ds@schleef.org>
16341         * gst/elements/Makefile.am: Remove some elements that don't
16342         need to be in the core (or even exist at all).
16343         * gst/elements/gstaggregator.c:
16344         * gst/elements/gstaggregator.h:
16345         * gst/elements/gstmd5sink.c:
16346         * gst/elements/gstmd5sink.h:
16347         * gst/elements/gstmultifilesrc.c:
16348         * gst/elements/gstmultifilesrc.h:
16349         * gst/elements/gstpipefilter.c:
16350         * gst/elements/gstpipefilter.h:
16351         * gst/elements/gstshaper.c:
16352         * gst/elements/gstshaper.h:
16353         * gst/elements/gststatistics.c:
16354         * gst/elements/gststatistics.h:
16355         * po/POTFILES.in: Remove above files.
16357 2005-05-14  Andy Wingo  <wingo@pobox.com>
16359         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16360         so as to get the refs right.
16361         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16362         unreffing objects that don't pass the filter.
16364         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16365         gst_element_set_bus.
16366         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16367         normal cases, this will destroy the bus.
16369         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16370         object.
16372         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16373         has no sinks.
16375 2005-05-13  Andy Wingo  <wingo@pobox.com>
16377         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16378         gst_pad_link, call pad_link_maybe_ghosting,
16379         (pad_link_maybe_ghosting): Links pads, making sure that the
16380         elements being linked are in the same bin.
16381         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16382         Helpers for pad_link_maybe_ghosting.
16384 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16386         * configure.ac:
16387           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16389 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16391         * docs/design/part-element-source.txt:
16392           Mention GstPushSrc
16394 2005-05-12  Wim Taymans  <wim@fluendo.com>
16396         * gst/base/gstbasesink.c: (gst_basesink_init),
16397         (gst_basesink_activate):
16398         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16399         (gst_basesrc_is_seekable):
16400         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16401         (bin_element_is_sink), (gst_bin_change_state):
16402         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16403         * gst/gstelement.h:
16404         Identify sinks by their flag to avoid overly complicated
16405         checks (fow now).
16406         Do state changes even for elements not reachable from the
16407         sinks.
16408         BaseSink is a sink now :)
16409         Some more debugging info in the basesrc.
16412 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16414         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16415           Implement _query on a bin, similar to _send_event.
16417 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16419         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16420           Discont event offset format should be GST_FORMAT_BYTES,
16421           not GST_FORMAT_TIME.
16423 2005-05-12  Wim Taymans  <wim@fluendo.com>
16425         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16426         Same fix as Ronald's but without the signal. 
16428 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16430         * gst/gstutils.c: (gst_element_query_position):
16431           No, an element is not a pad.
16433 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16435         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16436         (gst_bin_get_state):
16437           If a child is removed from a bin while we remove the child from
16438           the bin and while we're retrieving its state, signal this to the
16439           get_state function so we abort the wait (instead of waiting for
16440           a timeout) and can immediately re-iterate over all other elements.
16442 2005-05-12  Wim Taymans  <wim@fluendo.com>
16444         * gst/base/Makefile.am:
16445         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16446         (gst_basesrc_start):
16447         * gst/base/gstbasesrc.h:
16448         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16449         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16450         (gst_pushsrc_init), (gst_pushsrc_create):
16451         * gst/base/gstpushsrc.h:
16452         Added is_seekable to BaseSrc
16453         Added simple PushSrc.
16455 2005-05-11  Wim Taymans  <wim@fluendo.com>
16457         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16458         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16459         (gst_element_link_pads), (gst_element_query_position),
16460         (gst_element_query_convert), (intersect_caps_func),
16461         (gst_pad_query_position), (gst_pad_query_convert):
16462         Fix refcounting in utils function.
16463         No point in trying to activate a pad when it's added, it could
16464         be added from the state change function and then we deadlock, the
16465         element has to decide what to do.
16467 2005-05-10  Andy Wingo  <wingo@pobox.com>
16469         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16470         *all* the arguments.
16472         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16473         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16474         lock (according to the docs -- if this is wrong change the docs).
16476         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16477         flush messages in the NULL state.
16479         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16480         message immediately and return.
16481         (gst_bus_set_flushing): New function. If a bus is flushing, it
16482         flushes out any queued messages and immediately unrefs new
16483         messages. This is so when an element goes to NULL, all of the
16484         unhandled messages coming from it can be freed, and their
16485         references to the element dropped. In other words: message source
16486         ref considered harmful :P
16488         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16489         we're finished with it.
16491         * gst/gstmessage.c (gst_message_new_state_changed): 
16493 2005-05-10  Wim Taymans  <wim@fluendo.com>
16495         * gst/gstvalue.c: (gst_value_compare_flags),
16496         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16497         (_gst_value_initialize):
16498         Added flags serialize/deserialize/compare code.
16500 2005-05-09  Andy Wingo  <wingo@pobox.com>
16502         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16503         Intersect the peer's caps with our caps.
16505 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16507         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16508         * gst/elements/gsttypefindelement.c: (find_peek):
16509           Handle negative offsets better. Fixes decodebin.
16511 2005-05-09  Wim Taymans  <wim@fluendo.com>
16513         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16514         (gst_base_transform_event):
16515         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16516         Implement accept_caps.
16517         Fix silly lock/unlock mismatch in base class.
16519 2005-05-09  Wim Taymans  <wim@fluendo.com>
16521         * docs/design/draft-push-pull.txt:
16522         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16523         * gst/elements/gstfilesink.c: (gst_filesink_init),
16524         (gst_filesink_query):
16525         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16526         (gst_type_find_handle_src_query), (find_element_get_length):
16527         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16528         * gst/gstelement.h:
16529         * gst/gstmessage.c:
16530         * gst/gstmessage.h:
16531         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16532         (gst_real_pad_get_caps_unlocked),
16533         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16534         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16535         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16536         (gst_real_pad_dispose), (gst_real_pad_finalize),
16537         (gst_pad_load_and_link), (gst_pad_save_thyself),
16538         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16539         (gst_pad_check_pull_range), (gst_pad_pull_range),
16540         (gst_pad_template_get_type), (gst_pad_template_class_init),
16541         (gst_pad_template_init), (gst_pad_template_dispose),
16542         (name_is_valid), (gst_static_pad_template_get),
16543         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16544         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16545         (gst_pad_get_element_private), (gst_pad_start_task),
16546         (gst_pad_pause_task), (gst_pad_stop_task),
16547         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16548         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16549         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16550         (gst_ghost_pad_new):
16551         * gst/gstpad.h:
16552         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16553         (gst_query_new_position), (gst_query_set_position),
16554         (gst_query_parse_position), (gst_query_new_convert),
16555         (gst_query_set_convert), (gst_query_parse_convert):
16556         * gst/gstquery.h:
16557         * gst/gstqueryutils.c:
16558         * gst/gstqueryutils.h:
16559         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16560         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16561         (gst_queue_handle_src_query):
16562         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16563         (gst_element_query_position), (gst_element_query_convert),
16564         (intersect_caps_func), (gst_pad_query_position),
16565         (gst_pad_query_convert):
16566         * gst/gstutils.h:
16567         * tools/gst-inspect.c: (print_pad_info):
16568         * tools/gst-xmlinspect.c: (print_element_info):
16569         Remove old query functions. Ported old code.
16570         Added position/convert helper functions to gstutils.
16571         Reordered gstpad.c code, grouping relevant things.
16572         Remove gst_message_new(), always need to speficy a specific
16573         message.
16576 2005-05-09  Andy Wingo  <wingo@pobox.com>
16578         * gst/gstiterator.h: Add some includes.
16580         * gst/gstqueryutils.h: Include more headers.
16582         * gst/gstpad.h:
16583         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16584         some uses of gst_pad_query.
16586         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16587         NULL out parameters.
16588         (gst_query_new_position): New proc, allocates a new position
16589         query.
16591         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16592         gstqueryutils.c to the build.
16594         * gst/gststructure.c (gst_structure_set_valist): Implement with
16595         the generic G_VALUE_COLLECT.
16596         
16597 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16599         * gst/Makefile.am: (gst_headers):
16600         Added gstqueryutils.h to the list of headers to install, that was
16601         a 'nachty' move wingo :)
16603 2005-05-06  Andy Wingo  <wingo@pobox.com>
16605         * gst/gstquery.h
16606         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16607         GstData, init a memchunk.
16608         (standard_definitions): Add a few query types, deprecate a few.
16609         (gst_query_get_type): New proc.
16610         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16611         implementation.
16612         (gst_query_new_application, gst_query_get_structure): New public
16613         procs.
16615         * docs/design/draft-query.txt: Removed LINKS from the query types,
16616         because all the rest can be dispatched to other pads -- seemed
16617         ugly to have a query that couldn't be dispatched. internal_links
16618         is fine as a pad method.
16620         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16621         in gstpad.c, but maintain binary compatibility for the moment.
16622         Will fix before 0.9 is out.
16624         * gst/gstqueryutils.c: 
16625         * gst/gstqueryutils.h: New files, implement 3 methods for each
16626         query type: parse_query, parse_response, and set. Probably need an
16627         allocator as well.
16629         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16631         * gst/elements/gstfilesink.c (gst_filesink_query2):
16632         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16633         query_types, and formats methods.
16635         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16636         (gst_pad_set_query2_function): New functions.
16637         (gst_real_pad_init): Set query2_default as the default query2
16638         function. Basically just dispatches to internally linked pads.
16640         Needs review!
16641         
16642         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16643         without using the atomic operations. Only one thread can possibly
16644         be accessing the data at this point. Changed so as to avoid
16645         gst_atomic operations.
16647 2005-05-06  Wim Taymans  <wim@fluendo.com>
16649         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16650         Also set caps if we use the fallback buffer alloc.
16652 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16654         * docs/gst/Makefile.am:
16655         * docs/gst/gstreamer-docs.sgml:
16656         * docs/gst/gstreamer-sections.txt:
16657         * docs/gst/tmpl/gstatomic.sgml:
16658         * docs/gst/tmpl/gstmemchunk.sgml:
16659         * testsuite/elements/struct_i386.h:
16660         * win32/GStreamer.vcproj:
16661         * win32/Makefile:
16662           Purge GstAtomic stuff from docs and win32 makefiles as well
16664 2005-05-06  Wim Taymans  <wim@fluendo.com>
16666         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16667         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16668         * gst/gstpad.c: (gst_pad_peer_get_caps):
16669         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16670         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16671         (gst_queue_src_activate), (gst_queue_change_state):
16672         * gst/gstqueue.h:
16673         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16674         (intersect_caps_func):
16675         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16676         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16677         Some fixes for the peer_get_caps() change.
16679 2005-05-06  Wim Taymans  <wim@fluendo.com>
16681         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16682         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16683         (gst_basesink_activate):
16684         Actually do something with error codes returned from the push
16685         functions.
16687 2005-05-06  Wim Taymans  <wim@fluendo.com>
16689         * docs/design/part-element-sink.txt:
16690         * docs/design/part-element-source.txt:
16691         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16692         (gst_basesink_event), (gst_basesink_activate):
16693         * gst/base/gstbasesink.h:
16694         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16695         (gst_basesrc_activate):
16696         * gst/base/gstbasesrc.h:
16697         * gst/gstelement.c: (gst_element_pads_activate):
16698         Some more documentation.
16699         Fixed scheduling decision in _pads_activate().
16701 2005-05-05  Andy Wingo  <wingo@pobox.com>
16703         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16704         the test suite.
16706 2005-05-05  Wim Taymans  <wim@fluendo.com>
16708         * gst/base/Makefile.am:
16709         * gst/base/gstbasesink.h:
16710         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16711         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16712         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16713         (gst_collectpads_class_init), (gst_collectpads_init),
16714         (gst_collectpads_finalize), (gst_collectpads_new),
16715         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16716         (find_pad), (gst_collectpads_remove_pad),
16717         (gst_collectpads_is_active), (gst_collectpads_collect),
16718         (gst_collectpads_collect_range), (gst_collectpads_start),
16719         (gst_collectpads_stop), (gst_collectpads_peek),
16720         (gst_collectpads_pop), (gst_collectpads_available),
16721         (gst_collectpads_read), (gst_collectpads_flush),
16722         (gst_collectpads_chain):
16723         * gst/base/gstcollectpads.h:
16724         * gst/elements/Makefile.am:
16725         * gst/elements/gstelements.c:
16726         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16727         (gst_fakesink_get_times), (gst_fakesink_event),
16728         (gst_fakesink_preroll), (gst_fakesink_render):
16729         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16730         (gst_filesink_init), (gst_filesink_set_location),
16731         (gst_filesink_open_file), (gst_filesink_close_file),
16732         (gst_filesink_pad_query), (gst_filesink_event),
16733         (gst_filesink_render), (gst_filesink_change_state):
16734         * gst/elements/gstfilesink.h:
16735         Added object to help in making collect pad based elements.
16736         Ported filesink.
16737         Make event function in sink baseclass return gboolean.
16739 2005-05-05  Wim Taymans  <wim@fluendo.com>
16741         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16742         (gst_bin_get_by_name):
16743         * gst/gstbuffer.h:
16744         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16745         (gst_clock_finalize):
16746         * gst/gstdata.c: (gst_data_replace):
16747         * gst/gstdata.h:
16748         * gst/gstelement.c: (gst_element_request_pad),
16749         (gst_element_pads_activate):
16750         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16751         (gst_object_unref):
16752         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16753         (gst_pad_set_checkgetrange_function),
16754         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16755         (gst_pad_check_pull_range), (gst_pad_pull_range),
16756         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16757         (gst_pad_pause_task), (gst_pad_stop_task):
16758         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16759         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16760         Fix name lookup in GstBin.
16761         Added _data_replace() function and _buffer_replace()
16762         Use finalize method to clean up clock.
16763         Fix refcounting on request pads.
16764         Fix pad schedule mode error.
16765         Some more object refcounting debug info,
16768 2005-05-04  Andy Wingo <wingo@pobox.com>
16770         * check/Makefile.am:
16771         * docs/gst/tmpl/gstatomic.sgml:
16772         * docs/gst/tmpl/gstplugin.sgml:
16773         * gst/base/gstbasesink.c: (gst_basesink_activate):
16774         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16775         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16776         (gst_basesrc_query), (gst_basesrc_set_property),
16777         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16778         (gst_basesrc_activate):
16779         * gst/base/gstbasesrc.h:
16780         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16781         (gst_base_transform_src_activate):
16782         * gst/elements/gstelements.c:
16783         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16784         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16785         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16786         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16787         (gst_type_find_element_checkgetrange),
16788         (gst_type_find_element_activate):
16789         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16790         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16791         (gst_caps_load_thyself):
16792         * gst/gstelement.c: (gst_element_pads_activate),
16793         (gst_element_save_thyself), (gst_element_restore_thyself):
16794         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16795         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16796         * gst/gstpad.h:
16797         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16798         (gst_xml_parse_file), (gst_xml_parse_memory),
16799         (gst_xml_get_element), (gst_xml_make_element):
16800         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16801         (_file_index_id_save_xml), (gst_file_index_commit):
16802         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16803         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16804         (load_paths):
16805         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16806         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16807         * tools/gst-complete.c: (main):
16808         * tools/gst-compprep.c: (main):
16809         * tools/gst-inspect.c: (print_element_properties_info):
16810         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16811         * tools/gst-xmlinspect.c: (print_element_properties):
16812         GCC 4 fixen.
16813         
16814 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16816         * gst/gstplugin.c: (gst_plugin_check_module),
16817         (gst_plugin_check_file), (gst_plugin_load_file):
16818             apply patch from #172526 to make register work on MacOSX
16820 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16822         * docs/gst/tmpl/gstconfig.sgml:
16823         * gst/gstconfig.h.in:
16824           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16825         * testsuite/debug/printf_extension.c: (main):
16826           Do not use GST_PTR_FORMAT on pointers to types with
16827           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16828         * testsuite/elements/property.h:
16829           use correct printf format
16831 2005-05-02  Wim Taymans  <wim@fluendo.com>
16833         * docs/design/draft-push-pull.txt:
16834         * docs/design/draft-query.txt:
16835         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16836         (gst_basesrc_start):
16837         Added draft for new query API.
16838         Added draft for better selecting scheduling methods.
16839         Make basesrc ignore length if the subclass does not support
16840         it.
16842 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16844         * gst/Makefile.am:
16845           possible fixes for automake-1.5 - _LIBADD is reserved
16847 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16849         * docs/faq/Makefile.am:
16850         * docs/manual/Makefile.am:
16851         * docs/manuals.mak:
16852         * docs/pwg/Makefile.am:
16853         * gst/Makefile.am:
16854           possible fixes for automake-1.5
16856 2005-04-28  Wim Taymans  <wim@fluendo.com>
16858         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16859         (gst_basesink_pad_getcaps), (gst_basesink_init),
16860         (gst_basesink_do_sync):
16861         * gst/gstclock.c: (gst_clock_entry_new):
16862         * gst/gstevent.c: (gst_event_discont_get_value):
16863         * gst/gstpipeline.c: (pipeline_bus_handler),
16864         (gst_pipeline_change_state):
16865         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16866         Better debugging of clocking info.
16867         Allow NULL values when getting discont values.
16869 2005-04-27  Wim Taymans  <wim@fluendo.com>
16871         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16872         * check/gst/gstpad.c: (gst_pad_suite):
16873         Increase timeout for checks.
16875 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16877         * check/Makefile.am:
16878           fix the broken rule for cleanup.  Apparently this rule is
16879           only needed on FC2, so maybe this warrants further autotool
16880           inspection.
16882 2005-04-26  Wim Taymans  <wim@fluendo.com>
16884         * gst/gsttrashstack.h:
16885         Ooohh. a nasty one! After having a failed pop() from the stack,
16886         it's possible that the stack is empty. In that case, don't
16887         follow the NULL pointer.
16889 2005-04-25  Wim Taymans  <wim@fluendo.com>
16891         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16892         (gst_pad_set_checkgetrange_function),
16893         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16894         (gst_pad_check_pull_range), (gst_pad_pull_range),
16895         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16896         (gst_pad_pause_task), (gst_pad_stop_task):
16897         * gst/gstplugin.c: (gst_plugin_load):
16898         * gst/gstplugin.h:
16899         Remove gst_library_load as it does more harm than good with
16900         the new g_module flags.
16901         Revert bogus caps template check in pad linking, pad caps
16902         are important when linking not the template, which is more
16903         general than the current caps.
16905 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16907         * gst/autoplug/.cvsignore:
16908         * gst/autoplug/Makefile.am:
16909         * gst/autoplug/gstsearchfuncs.c:
16910         * gst/autoplug/gstsearchfuncs.h:
16911         * gst/autoplug/gstspider.c:
16912         * gst/autoplug/gstspider.h:
16913         * gst/autoplug/gstspideridentity.c:
16914         * gst/autoplug/gstspideridentity.h:
16915         * gst/autoplug/spidertest.c:
16916           Die, spider, die.
16918 2005-04-25  Wim Taymans  <wim@fluendo.com>
16920         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16921         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16922         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16923         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16924         * gst/gstpad.h:
16925         Added stubs for unimplemented functions. 
16927 2005-04-24  David Schleef  <ds@schleef.org>
16929         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16930         please fix.
16932 2005-04-24  David Schleef  <ds@schleef.org>
16934         Convert everything from GstAtomicInt to g_atomic_int_*, and
16935         remove gstatomic.
16936         * gst/Makefile.am:
16937         * gst/gstatomic.c:
16938         * gst/gstatomic.h:
16939         * gst/gstatomic_impl.h:
16940         * gst/gstbuffer.c:
16941         * gst/gstcaps.c:
16942         * gst/gstcaps.h:
16943         * gst/gstclock.c:
16944         * gst/gstclock.h:
16945         * gst/gstdata.c:
16946         * gst/gstdata.h:
16947         * gst/gstdata_private.h:
16948         * gst/gstevent.c:
16949         * gst/gstinfo.c:
16950         * gst/gstinfo.h:
16951         * gst/gstmessage.c:
16952         * gst/gstobject.c:
16953         * gst/gstobject.h:
16954         * gst/gststructure.c:
16955         * gst/gststructure.h:
16956         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16957         * gst/gstutils.h:
16959 2005-04-24  David Schleef  <ds@schleef.org>
16961         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16962         make the regressions tests work.  Remove some code that is no
16963         longer true.
16964         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16965         Disable warning for pads without templates.
16967 2005-04-24  David Schleef  <ds@schleef.org>
16969         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16970         functions that handle filtered links.
16971         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16972         removed functions.
16973         * gst/gstutils.c: Fix/remove utility functions that handle
16974         filtered caps.
16975         * gst/gstutils.h:
16976         * gst/gstvalue.c: Add serialization/deserialization of caps
16977         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16978         requires fixing so that the filter caps notation creates
16979         a capsfilter element and sets the filter_caps property.  I
16980         think everyone probably wants to keep the shorthand notation.
16981         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16982         * docs/gst/tmpl/gstpad.sgml:
16984         * gst/elements/gstelements.c: Register capsfilter element.
16985         * gst/Makefile.am: fix spacing
16986         * docs/random/ds/0.9-suggested-changes: random
16988 2005-04-23  David Schleef  <ds@schleef.org>
16990         * gst/elements/Makefile.am:
16991         * gst/elements/gstcapsfilter.c: New element that acts like an
16992         identity, but filters caps.  Will eventually replace filtered
16993         caps in pad linking.
16994         * gst/gstutils.c: (gst_element_create_all_pads): New function
16995         to create all the ALWAYS pads that are registered with an
16996         element class.  This functionality should eventually be
16997         merged in with GstElement initialization.
16998         * gst/gstutils.h:
16999         * testsuite/trigger/README: part of trigger test code that should
17000         have been checked in a long time ago.
17002 2005-04-23  David Schleef  <ds@schleef.org>
17004         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17005         needed with new versions of libtool (nobody will confirm this),
17006         and hard to carry around.
17007         * gst/autoplug/Makefile.am:
17008         * gst/base/Makefile.am:
17009         * gst/elements/Makefile.am:
17010         * gst/indexers/Makefile.am:
17011         * gst/schedulers/Makefile.am:
17012         * libs/gst/bytestream/Makefile.am:
17013         * libs/gst/control/Makefile.am:
17014         * libs/gst/dataprotocol/Makefile.am:
17015         * libs/gst/getbits/Makefile.am:
17017 2005-04-21  Wim Taymans  <wim@fluendo.com>
17019         * docs/design/draft-push-pull.txt:
17020         * docs/design/part-MT-refcounting.txt:
17021         * docs/design/part-TODO.txt:
17022         * docs/design/part-caps.txt:
17023         * docs/design/part-events.txt:
17024         * docs/design/part-gstbus.txt:
17025         * docs/design/part-gstpipeline.txt:
17026         * docs/design/part-messages.txt:
17027         * docs/design/part-push-pull.txt:
17028         * docs/design/part-query.txt:
17029         Some more docs.
17031 2005-04-21  Wim Taymans  <wim@fluendo.com>
17033         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17034         (gst_message_new), (gst_message_new_error),
17035         (gst_message_new_warning), (gst_message_new_tag),
17036         (gst_message_new_state_changed), (gst_message_new_application),
17037         (gst_message_get_structure):
17038         * gst/gstmessage.h:
17039         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17040         (gst_structure_copy_conditional):
17041         Use parent refcount in GstMessage to ensure GstStructure
17042         consistency.
17043         Cleaned up headers a bit.
17044         
17046 2005-04-20  Wim Taymans  <wim@fluendo.com>
17048         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17049         (gst_basesink_pad_getcaps), (gst_basesink_init),
17050         (gst_basesink_chain_unlocked):
17051         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17052         (gst_type_find_helper):
17053         * gst/elements/gsttypefindelement.c:
17054         (gst_type_find_element_have_type), (gst_type_find_element_init),
17055         (stop_typefinding), (gst_type_find_element_handle_event),
17056         (find_suggest), (gst_type_find_element_chain),
17057         (gst_type_find_element_checkgetrange),
17058         (gst_type_find_element_getrange), (do_typefind),
17059         (gst_type_find_element_activate):
17060         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17061         (gst_buffer_default_free), (gst_buffer_default_copy),
17062         (gst_buffer_set_caps):
17063         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17064         (gst_caps_replace):
17065         * gst/gstmessage.c: (gst_message_new),
17066         (gst_message_new_state_changed):
17067         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17068         (gst_pad_set_checkgetrange_function),
17069         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17070         (gst_pad_set_caps), (gst_pad_check_pull_range),
17071         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17072         * gst/gstpad.h:
17073         * gst/gsttypefind.c: (gst_type_find_register):
17074         Make gst_caps_replace() work like other _replace() functions.
17075         Use _caps_replace() where possible.
17076         Make sure _message_new() initialises its field.
17077         Add gst_static_pad_template_get_caps()
17080 2005-04-18  Andy Wingo  <wingo@pobox.com>
17082         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17083         on the peer, not the pad. I think that was a typo. Pass an extra
17084         arg to see if random access is possible. Activate the pads as
17085         PULL_RANGE if possible.
17087         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17089         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17090         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17091         to PROP_....
17093 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17095         * docs/faq/using.xml:
17096           Add note on gstreamer-properties (#154996).
17098 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17100         * docs/random/bbb/optional-properties:
17101           Some analysis on optional properties.
17103 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17105         * docs/gst/tmpl/gstelementfactory.sgml:
17106         * gst/gstelement.h:
17107         * gst/gstelementfactory.c: (gst_element_factory_init),
17108         (gst_element_factory_cleanup), (gst_element_register),
17109         (__gst_element_factory_add_static_pad_template),
17110         (gst_element_factory_get_static_pad_templates),
17111         (gst_element_factory_can_src_caps),
17112         (gst_element_factory_can_sink_caps):
17113         * gst/registries/Makefile.am:
17114         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17115         (gst_xml_registry_class_init), (gst_xml_registry_init),
17116         (gst_xml_registry_new), (gst_xml_registry_set_property),
17117         (gst_xml_registry_get_property), (get_time), (make_dir),
17118         (gst_xml_registry_get_perms_func),
17119         (plugin_times_older_than_recurse), (plugin_times_older_than),
17120         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17121         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17122         (add_to_char_array), (read_string), (read_uint), (read_enum),
17123         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17124         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17125         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17126         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17127         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17128         (gst_xml_registry_rebuild):
17129         * gst/registries/gstlibxmlregistry.h:
17130         * tools/gst-compprep.c: (main):
17131         * tools/gst-inspect.c: (print_pad_templates_info):
17132         * tools/gst-xmlinspect.c: (print_element_info):
17133           Use libxml2 for registry parsing, use staticpadtemplates in
17134           elementfactories. Makes gst_init() +/- 10x faster.
17136 2005-04-12  Wim Taymans  <wim@fluendo.com>
17138         * gst/base/Makefile.am:
17139         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17140         (gst_basesink_pad_getcaps), (gst_basesink_init),
17141         (gst_basesink_event), (gst_basesink_change_state):
17142         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17143         (gst_basesrc_init), (gst_basesrc_query),
17144         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17145         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17146         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17147         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17148         (gst_basesrc_stop), (gst_basesrc_activate),
17149         (gst_basesrc_change_state):
17150         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17151         (helper_find_suggest), (gst_type_find_helper):
17152         * gst/base/gsttypefindhelper.h:
17153         * gst/elements/Makefile.am:
17154         * gst/elements/gstelements.c:
17155         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17156         (gst_fakesink_get_times), (gst_fakesink_event),
17157         (gst_fakesink_preroll), (gst_fakesink_render):
17158         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17159         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17160         (gst_fakesrc_get_property), (gst_fakesrc_create),
17161         (gst_fakesrc_start), (gst_fakesrc_stop):
17162         * gst/elements/gstfakesrc.h:
17163         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17164         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17165         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17166         (gst_filesrc_create_read), (gst_filesrc_create),
17167         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17168         (gst_filesrc_start):
17169         * gst/elements/gsttypefindelement.c:
17170         (gst_type_find_element_have_type), (gst_type_find_element_init),
17171         (start_typefinding), (stop_typefinding), (push_buffer_store),
17172         (gst_type_find_element_handle_event),
17173         (gst_type_find_element_chain),
17174         (gst_type_find_element_checkgetrange),
17175         (gst_type_find_element_getrange), (do_typefind),
17176         (gst_type_find_element_activate),
17177         (gst_type_find_element_change_state):
17178         * gst/elements/gsttypefindelement.h:
17179         * gst/gstpipeline.c: (pipeline_bus_handler):
17180         Added typefind helper.
17181         Small preroll fix in the base sink.
17182         Disable typefind code in basesrc.
17183         Crude port of typefindelement.
17184         Fakesrc cleanups.
17187 2005-04-11  Wim Taymans  <wim@fluendo.com>
17189         * check/gst/gstbus.c: (gstbus_suite):
17190         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17191         * check/gstcheck.h:
17192           Fix up the timeout so that the test does not fail.
17194 2005-04-06  Wim Taymans  <wim@fluendo.com>
17196         * gst/base/README:
17197         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17198         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17199         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17200         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17201         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17202         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17203         (gst_basesrc_stop), (gst_basesrc_activate),
17204         (gst_basesrc_change_state), (basesrc_find_peek),
17205         (basesrc_find_suggest), (gst_basesrc_type_find):
17206         * gst/base/gstbasesrc.h:
17207         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17208         (gst_filesrc_class_init), (gst_filesrc_init),
17209         (gst_filesrc_finalize), (gst_filesrc_set_location),
17210         (gst_filesrc_set_property), (gst_filesrc_get_property),
17211         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17212         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17213         (gst_filesrc_create_read), (gst_filesrc_create),
17214         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17215         * gst/elements/gstfilesrc.h:
17216         * gst/gstelement.c: (gst_element_get_state_func),
17217         (gst_element_lost_state), (gst_element_pads_activate):
17218         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17219         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17220         (gst_pad_pull_range):
17221         * gst/gstpad.h:
17222         More work on the generic source base class, implement seeking,
17223         query.
17224         Make filesrc extend the base source class.
17225         Added gst_pad_set_checkgetrange_function to GstPad.
17227 2005-04-06  Andy Wingo  <wingo@pobox.com>
17229         * pkgconfig/gstreamer-base.pc.in:
17230         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17232         * pkgconfig/Makefile.am:
17233         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17235 2005-04-04  Wim Taymans  <wim@fluendo.com>
17237         * gst/base/Makefile.am:
17238         * gst/base/README:
17239         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17240         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17241         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17242         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17243         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17244         (gst_basesrc_base_init), (gst_basesrc_class_init),
17245         (gst_basesrc_init), (gst_basesrc_get_formats),
17246         (gst_basesrc_get_query_types), (gst_basesrc_query),
17247         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17248         (gst_basesrc_set_property), (gst_basesrc_get_property),
17249         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17250         (gst_basesrc_loop), (gst_basesrc_activate),
17251         (gst_basesrc_change_state):
17252         * gst/base/gstbasesrc.h:
17253         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17254         (gst_fakesrc_class_init), (gst_fakesrc_init),
17255         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17256         (gst_fakesrc_get_property), (gst_fakesrc_create):
17257         * gst/elements/gstfakesrc.h:
17258         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17259         (gst_filesrc_open_file), (gst_filesrc_loop),
17260         (gst_filesrc_activate), (filesrc_find_peek),
17261         (gst_filesrc_type_find):
17262         Made base source class, make fakesrc extend it.
17263         Add comments to basesink class.
17264         Some filesrc cleanup.
17266 2005-03-31  David Schleef  <ds@schleef.org>
17268         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17269         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17270         expected to link against libgstreamer.
17271         * gst/base/Makefile.am: link against libgstreamer
17272         * gst/elements/Makefile.am: same
17274 2005-03-31  Andy Wingo  <wingo@pobox.com>
17276         * tests/instantiate/Makefile.am:
17277         * tests/instantiate/caps.c: Add test to test speed of caps copy
17278         and free.
17280         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17281         GMemChunk to be fair.
17283         * gst/gsttrashstack.h: Remove warning about using the fallback
17284         trash stack implementation, it's still faster than malloc.
17286 2005-03-30  Andy Wingo  <wingo@pobox.com>
17288         * tests/complexity.c: Add a copyright.
17290 2005-03-31  Wim Taymans  <wim@fluendo.com>
17292         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17293         (gst_base_transform_class_init), (gst_base_transform_init),
17294         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17295         (gst_base_transform_get_property),
17296         (gst_base_transform_sink_activate),
17297         (gst_base_transform_src_activate),
17298         (gst_base_transform_change_state):
17299         * gst/base/gstbasetransform.h:
17300         * gst/elements/gstidentity.c: (gst_identity_class_init),
17301         (gst_identity_event), (gst_identity_check_perfect),
17302         (gst_identity_transform), (gst_identity_start),
17303         (gst_identity_stop):
17304         Added start/stop methods to transform base class so subclasses 
17305         don't need to deal with state changes even.
17307 2005-03-31  Wim Taymans  <wim@fluendo.com>
17309         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17310         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17311         * gst/gstevent.h:
17312         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17313         (gst_pad_pull_range):
17314         Added rate to the discont event to prepare for variable speed
17315         and reverse playback.
17317 2005-03-29  David Schleef  <ds@schleef.org>
17319         * configure.ac:
17320         * testsuite/trigger/Makefile.am:
17321         * testsuite/trigger/trigger.c: A little example program to show
17322         how trigger-based elements can work.
17324 2005-03-29  Wim Taymans  <wim@fluendo.com>
17326         * gst/base/Makefile.am:
17327         * gst/base/README:
17328         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17329         (gst_basesink_base_init), (gst_basesink_class_init),
17330         (gst_basesink_pad_getcaps), (gst_basesink_init),
17331         (gst_basesink_activate), (gst_basesink_change_state):
17332         * gst/base/gstbasesink.h:
17333         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17334         (gst_base_transform_base_init), (gst_base_transform_finalize),
17335         (gst_base_transform_class_init), (gst_base_transform_init),
17336         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17337         (gst_base_transform_event), (gst_base_transform_getrange),
17338         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17339         (gst_base_transform_set_property),
17340         (gst_base_transform_get_property),
17341         (gst_base_transform_sink_activate),
17342         (gst_base_transform_src_activate),
17343         (gst_base_transform_change_state):
17344         * gst/base/gstbasetransform.h:
17345         * gst/elements/gstidentity.c: (gst_identity_finalize),
17346         (gst_identity_class_init), (gst_identity_init),
17347         (gst_identity_event), (gst_identity_check_perfect),
17348         (gst_identity_transform), (gst_identity_set_property),
17349         (gst_identity_get_property), (gst_identity_change_state):
17350         * gst/elements/gstidentity.h:
17351         * gst/gstelement.c: (gst_element_get_state_func),
17352         (gst_element_lost_state), (gst_element_pads_activate):
17353         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17354         (gst_pad_check_pull_range), (gst_pad_pull_range):
17355         * gst/gstpad.h:
17356         Simplify pad activation.
17357         Added function to check if pull_range can be performed.
17358         Error out when pulling inactive or flushing pads.
17359         Removed const from refcounted types as it does not make sense.
17360         Simplify pad templates in basesink
17361         Added base class for simple 1-to-1 transforms.
17362         Make identity subclass the base transform.
17364 2005-03-29  Andy Wingo  <wingo@pobox.com>
17366         * docs/libs/gstreamer-libs-overrides.txt: 
17367         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17368         really don't understand what's going on, but like whatever. I want
17369         green buildbot!
17371         * docs/gst/Makefile.am:
17372         * docs/libs/Makefile.am: Dist the overrides files.
17374         * check/Makefile.am (clean-local): Remove .libs directories.
17376         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17377         elements to EXTRA_DIST, so po/ files are happy.
17379         * po/POTFILES.in: Er, remove it here.
17381         * po/POTFILES: Remove gstspider.c.
17383         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17385         * docs/libs/gstreamer-libs-docs.sgml: 
17386         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17387         bytestream.
17389         * tests/complexity.c (main): Set the length of the preroll queue
17390         on the sinks to prevent a lockup.
17392         * libs/gst/dataprotocol/Makefile.am: 
17393         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17394         the same as the one in check/gst-libs/gdp.c.
17396         * po/, docs/gst/: Commit automatic changes to docs and po files.
17398         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17399         the versioned libgstbase.
17401         * check/Makefile.am: Depend on an unversioned gst-register, seems
17402         to make autoconf happier.
17404         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17406 2005-03-28  Wim Taymans  <wim@fluendo.com>
17408         * configure.ac:
17409         * docs/design/part-gstelement.txt:
17410         * docs/design/part-negotiation.txt:
17411         * docs/design/part-preroll.txt:
17412         * docs/design/part-scheduling.txt:
17413         * docs/design/part-states.txt:
17414         * gst/Makefile.am:
17415         * gst/base/Makefile.am:
17416         * gst/base/README:
17417         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17418         (gst_basesink_base_init), (gst_basesink_class_init),
17419         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17420         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17421         (gst_basesink_set_pad_functions),
17422         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17423         (gst_basesink_set_property), (gst_basesink_get_property),
17424         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17425         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17426         (gst_basesink_preroll_queue_push),
17427         (gst_basesink_preroll_queue_empty),
17428         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17429         (gst_basesink_event), (gst_basesink_get_times),
17430         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17431         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17432         (gst_basesink_loop), (gst_basesink_activate),
17433         (gst_basesink_change_state):
17434         * gst/base/gstbasesink.h:
17435         * gst/elements/Makefile.am:
17436         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17437         (gst_fakesink_class_init), (gst_fakesink_init),
17438         (gst_fakesink_set_property), (gst_fakesink_get_property),
17439         (gst_fakesink_get_times), (gst_fakesink_event),
17440         (gst_fakesink_preroll), (gst_fakesink_render),
17441         (gst_fakesink_change_state):
17442         * gst/elements/gstfakesink.h:
17443         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17444         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17445         * gst/gstelement.c: (gst_element_add_pad),
17446         (gst_element_get_state_func), (gst_element_abort_state),
17447         (gst_element_commit_state), (gst_element_lost_state),
17448         (gst_element_set_state), (gst_element_pads_activate):
17449         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17450         * gst/gstpipeline.c: (gst_pipeline_send_event),
17451         (gst_pipeline_change_state):
17452         Added state change code.
17453         Added/updated docs.
17454         Added sink base class, make fakesink extend the base class.
17455         Small cleanups in GstPipeline.
17457 2005-03-26  David Schleef  <ds@schleef.org>
17459         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17460         is broken and should be implemented in a different library.
17461         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17462         * gst/gst.h: remove gstcpu.h
17463         * gst/gstcpu.c: remove
17464         * gst/gstcpu.h: remove
17465         * gst/Makefile.am.future: Remove this file.  It's ancient.
17467 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17470         (gst_bin_send_event):
17471           Add default event/set_manager handlers. The set_manager handler
17472           takes care that the manager is distributed over kids that were
17473           already in the bin before the manager was set. The event handler
17474           is a utility virtual function that sends the event over all sinks,
17475           so that gst_element_send_event (bin, event); has the expected
17476           behaviour.
17477         * gst/gstpad.c: (gst_pad_event_default):
17478           Re-install default event handling for discontinuities, so that
17479           seeking works without requiring hacks in applications or extra
17480           code in sinks.
17481         * gst/gstpipeline.c: (gst_pipeline_class_init),
17482         (gst_pipeline_send_event):
17483           Half hack, half utility: set a pipeline to PAUSED for seek events,
17484           since that is the only way we can guarantee a/v sync. Means that
17485           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17486           and it "just works".
17488 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17490         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17491           Lock/unlock mismatch.
17493 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17495         * docs/faq/gst-uninstalled:
17496           add gst-plugins-base
17497         * docs/gst/Makefile.am:
17498           don't error out until docs are fixed
17499         * docs/gst/gstreamer.types:
17500           remove thread
17502 2005-03-22  Wim Taymans  <wim@fluendo.com>
17504         * check/Makefile.am:
17505         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17506         * gst/gststructure.c: (gst_structure_set_valist),
17507         (gst_structure_copy_conditional):
17508         Activated more tests.
17509         Added message test.
17510         Added G_TYPE_POINTER to GstStructure.
17511         
17513 2005-03-22  Wim Taymans  <wim@fluendo.com>
17515         * docs/design/part-TODO.txt:
17516         * docs/design/part-events.txt:
17517         * docs/design/part-gstbin.txt:
17518         * docs/design/part-gstbus.txt:
17519         * docs/design/part-gstpipeline.txt:
17520         * docs/design/part-messages.txt:
17521         * gst/gstbus.c:
17522         * gst/gstmessage.c:
17523         Docs updates
17525 2005-03-21  Wim Taymans  <wim@fluendo.com>
17527         * gst/gstbus.c: (gst_bus_post):
17528         Fix copy-and-paste error.
17530 2005-03-21  Wim Taymans  <wim@fluendo.com>
17532         * check/Makefile.am:
17533         * gst/Makefile.am:
17534         * gst/elements/Makefile.am:
17535         * gst/elements/gstelements.c:
17536         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17537         (gst_fakesink_event), (gst_fakesink_chain):
17538         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17539         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17540         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17541         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17542         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17543         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17544         (gst_fakesrc_loop), (gst_fakesrc_activate),
17545         (gst_fakesrc_change_state):
17546         * gst/elements/gstfakesrc.h:
17547         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17548         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17549         (gst_filesrc_open_file), (gst_filesrc_loop),
17550         (gst_filesrc_activate), (gst_filesrc_change_state),
17551         (filesrc_find_peek), (filesrc_find_suggest),
17552         (gst_filesrc_type_find):
17553         * gst/elements/gstidentity.c: (gst_identity_finalize),
17554         (gst_identity_class_init), (gst_identity_init),
17555         (gst_identity_proxy_getcaps), (identity_queue_push),
17556         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17557         (gst_identity_getrange), (gst_identity_chain),
17558         (gst_identity_sink_loop), (gst_identity_src_loop),
17559         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17560         (gst_identity_set_property), (gst_identity_get_property),
17561         (gst_identity_change_state):
17562         * gst/elements/gstidentity.h:
17563         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17564         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17565         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17566         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17567         (gst_tee_sink_activate):
17568         * gst/elements/gsttee.h:
17569         * gst/gst.c: (gst_register_core_elements), (init_post):
17570         * gst/gst.h:
17571         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17572         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17573         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17574         (gst_bin_change_state):
17575         * gst/gstbin.h:
17576         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17577         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17578         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17579         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17580         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17581         (bus_watch_callback), (bus_watch_destroy),
17582         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17583         (poll_timeout), (gst_bus_poll):
17584         * gst/gstbus.h:
17585         * gst/gstcaps.h:
17586         * gst/gstdata.h:
17587         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17588         (gst_element_post_message), (gst_element_message_full),
17589         (gst_element_get_state_func), (gst_element_get_state),
17590         (gst_element_abort_state), (gst_element_commit_state),
17591         (gst_element_lost_state), (gst_element_set_state),
17592         (gst_element_pads_activate), (gst_element_change_state),
17593         (gst_element_dispose), (gst_element_set_manager_func),
17594         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17595         (gst_element_set_manager), (gst_element_get_manager),
17596         (gst_element_set_bus), (gst_element_get_bus),
17597         (gst_element_set_scheduler), (gst_element_get_scheduler):
17598         * gst/gstelement.h:
17599         * gst/gstevent.c: (gst_event_new_segment_seek),
17600         (gst_event_new_flush):
17601         * gst/gstevent.h:
17602         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17603         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17604         (gst_message_new_eos), (gst_message_new_error),
17605         (gst_message_new_warning), (gst_message_new_tag),
17606         (gst_message_new_state_changed), (gst_message_new_application),
17607         (gst_message_get_structure), (gst_message_parse_tag),
17608         (gst_message_parse_state_changed), (gst_message_parse_error),
17609         (gst_message_parse_warning):
17610         * gst/gstmessage.h:
17611         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17612         (gst_real_pad_set_property), (gst_pad_set_active),
17613         (gst_pad_is_active), (gst_pad_set_blocked_async),
17614         (gst_pad_set_blocked), (gst_pad_is_blocked),
17615         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17616         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17617         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17618         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17619         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17620         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17621         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17622         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17623         (gst_pad_set_caps), (gst_pad_configure_sink),
17624         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17625         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17626         (gst_real_pad_dispose), (gst_real_pad_finalize),
17627         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17628         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17629         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17630         * gst/gstpad.h:
17631         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17632         (pipeline_bus_handler), (gst_pipeline_change_state),
17633         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17634         * gst/gstpipeline.h:
17635         * gst/gstprobe.h:
17636         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17637         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17638         (gst_queue_link_src), (gst_queue_bufferalloc),
17639         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17640         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17641         (gst_queue_loop), (gst_queue_handle_src_event),
17642         (gst_queue_handle_src_query), (gst_queue_src_activate),
17643         (gst_queue_change_state):
17644         * gst/gstqueue.h:
17645         * gst/gstscheduler.c: (gst_scheduler_init),
17646         (gst_scheduler_dispose), (gst_scheduler_create_task),
17647         (gst_scheduler_factory_create):
17648         * gst/gstscheduler.h:
17649         * gst/gststructure.c: (gst_structure_get_type),
17650         (gst_structure_copy_conditional):
17651         * gst/gststructure.h:
17652         * gst/gsttaginterface.h:
17653         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17654         (gst_task_init), (gst_task_dispose), (gst_task_create),
17655         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17656         (gst_task_pause):
17657         * gst/gsttask.h:
17658         * gst/gstthread.c:
17659         * gst/gstthread.h:
17660         * gst/gsttypes.h:
17661         * gst/schedulers/Makefile.am:
17662         * gst/schedulers/cothreads_compat.h:
17663         * gst/schedulers/entryscheduler.c:
17664         * gst/schedulers/faircothreads.c:
17665         * gst/schedulers/faircothreads.h:
17666         * gst/schedulers/fairscheduler.c:
17667         * gst/schedulers/gstbasicscheduler.c:
17668         * gst/schedulers/gstoptimalscheduler.c:
17669         * gst/schedulers/gthread-cothreads.h:
17670         * gst/schedulers/threadscheduler.c:
17671         (gst_thread_scheduler_task_get_type),
17672         (gst_thread_scheduler_task_class_init),
17673         (gst_thread_scheduler_task_init),
17674         (gst_thread_scheduler_task_start),
17675         (gst_thread_scheduler_task_stop),
17676         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17677         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17678         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17679         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17680         (plugin_init):
17681         * libs/gst/Makefile.am:
17682         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17683         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17684         (gst_file_pad_parent_set):
17685         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17686         (gst_dp_event_from_packet):
17687         * tests/complexity.c: (main):
17688         * tests/mass_elements.c: (main):
17689         * testsuite/states/locked.c: (message_received), (main):
17690         * testsuite/states/parent.c: (main):
17691         * tools/gst-inspect.c: (print_element_flag_info),
17692         (print_implementation_info), (print_pad_info):
17693         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17694         (main):
17695         * tools/gst-md5sum.c: (event_loop), (main):
17696         * tools/gst-typefind.c: (main):
17697         * tools/gst-xmlinspect.c: (print_element_info):
17698         Next big merge.
17699         Added GstBus for mainloop integration.
17700         Added GstMessage for sending notifications on the bus.
17701         Added GstTask as an abstraction for pipeline entry points.
17702         Removed GstThread.
17703         Removed Schedulers.
17704         Simplified GstQueue for multithreaded core.
17705         Made _link threadsafe, removed old capsnego.
17706         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17707         Added pad blocking functions.
17708         Reworked scheduling functions in GstPad to prepare for
17709         scheduling updates soon.
17710         Moved events out of data stream.
17711         Simplified GstEvent types.
17712         Added return values to push/pull.
17713         Removed clocking from GstElement.
17714         Added prototypes for state change function for next merge.
17715         Removed iterate from bins and state change management.
17716         Fixed some elements, disabled others for now.
17717         Fixed -inspect and -launch.
17718         Added check for GstBus.
17720 2005-03-10  Wim Taymans  <wim@fluendo.com>
17722         * docs/design/part-MT-refcounting.txt:
17723         * docs/design/part-clocks.txt:
17724         * docs/design/part-gstelement.txt:
17725         * docs/design/part-gstobject.txt:
17726         * docs/design/part-standards.txt:
17727         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17728         (gst_bin_remove_func), (gst_bin_remove):
17729         * gst/gstbin.h:
17730         * gst/gstbuffer.c:
17731         * gst/gstcaps.h:
17732         * testsuite/clock/clock1.c: (main):
17733         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17734         (main):
17735         * testsuite/dlopen/loadgst.c: (do_test):
17736         * testsuite/refcounting/bin.c: (add_remove_test1),
17737         (add_remove_test2), (main):
17738         * testsuite/refcounting/element.c: (main):
17739         * testsuite/refcounting/element_pad.c: (main):
17740         * testsuite/refcounting/pad.c: (main):
17741         * tools/gst-launch.c: (sigint_handler_sighandler):
17742         * tools/gst-typefind.c: (main):
17743         Doc updates.
17744         Added doc about clock.
17745         removed gst_bin_iterate_recurse_up(), marked methods
17746         for removal.
17747         Fix more testsuites.
17749 2005-03-09  Wim Taymans  <wim@fluendo.com>
17751         * gst/gstpad.c: (gst_pad_get_direction),
17752         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17753         (gst_pad_collect_valist):
17754         * testsuite/bins/interface.c: (main):
17755         * testsuite/caps/audioscale.c: (test_caps):
17756         * testsuite/caps/caps.c: (test1), (test2), (test3):
17757         * testsuite/caps/deserialize.c: (main):
17758         * testsuite/caps/enumcaps.c: (main):
17759         * testsuite/caps/filtercaps.c: (main):
17760         * testsuite/caps/intersect2.c: (main):
17761         * testsuite/caps/random.c: (main):
17762         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17763         * testsuite/caps/sets.c: (check_caps):
17764         * testsuite/caps/simplify.c: (check_caps), (main):
17765         * testsuite/caps/subtract.c: (check_caps):
17766         Fix _pad_get_direction wrt ghostpads.
17767         Fix caps testsuite.
17769 2005-03-09  Wim Taymans  <wim@fluendo.com>
17771         * check/Makefile.am:
17772         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17773         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17774         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17775         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17776         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17777         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17778         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17779         (bin_element_is_sink), (gst_bin_iterate_sinks),
17780         (gst_bin_iterate_all_by_interface):
17781         * gst/gstbin.h:
17782         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17783         (gst_element_change_state), (gst_element_dispose),
17784         (gst_element_finalize), (gst_element_set_loop_function):
17785         * gst/gstelement.h:
17786         * gst/gstiterator.c: (find_custom_fold_func):
17787         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17788         (gst_pad_collectv), (gst_pad_collect_valist),
17789         (gst_pad_template_new):
17790         * gst/gstpipeline.c: (gst_pipeline_class_init),
17791         (gst_pipeline_dispose), (gst_pipeline_set_property),
17792         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17793         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17794         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17795         * gst/gstutils.h:
17796         * gst/schedulers/entryscheduler.c:
17797         * gst/schedulers/gstbasicscheduler.c:
17798         (gst_basic_scheduler_cothreaded_chain),
17799         (gst_basic_scheduler_chain_add_element):
17800         * testsuite/bins/interface.c: (main):
17801         Added GstBin test.
17802         Added GstSystemClock test.
17803         Implemented clock distribution code in GstBin.
17804         Implemented iterate sinks method for future use.
17805         Rearranged gstelement.h
17806         Fix GstIterator comparison bug.
17807         Moved some code to GstPipeline, mostly clocking related.
17809 2005-03-09  Wim Taymans  <wim@fluendo.com>
17811         * configure.ac:
17812         * gst/gst_private.h:
17813         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17814         (gst_bin_remove_func), (gst_bin_remove),
17815         (gst_bin_get_by_name_recurse_up):
17816         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17817         (gst_clock_id_compare_func), (gst_clock_id_wait),
17818         (gst_clock_id_wait_async), (gst_clock_init),
17819         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17820         * gst/gstelement.h:
17821         * gst/gstinfo.c: (_gst_debug_init):
17822         * gst/gstobject.h:
17823         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17824         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17825         * gst/gstpad.h:
17826         Bump version number, we're now 0.9.0
17827         Add future debugging category.
17828         Fix NULL _unref() in _get_by_name_recurse_up
17829         Rearrange gstpad.h.
17830         Update some docs.
17832 2005-03-08  Wim Taymans  <wim@fluendo.com>
17834         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17835         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17836         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17837         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17838         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17839         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17840         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17841         * gst/elements/gstidentity.c: (gst_identity_class_init):
17842         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17843         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17844         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17845         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17846         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17847         (gst_tee_link):
17848         * gst/gstelement.c: (gst_element_class_init),
17849         (gst_element_base_class_init), (gst_element_init),
17850         (gst_element_get_random_pad), (gst_element_wait_state_change),
17851         (gst_element_change_state), (gst_element_dispose),
17852         (gst_element_finalize), (gst_element_set_loop_function):
17853         * gst/gstelement.h:
17854         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17855         * gst/gstthread.c: (gst_thread_class_init),
17856         (gst_thread_release_children_locks), (gst_thread_change_state):
17857         * gst/schedulers/gstbasicscheduler.c:
17858         (gst_basic_scheduler_loopfunc_wrapper),
17859         (gst_basic_scheduler_chain_wrapper),
17860         (gst_basic_scheduler_src_wrapper),
17861         (gst_basic_scheduler_remove_element):
17862         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17863         Remove threadsafe properties. Fix elements because GObject
17864         complains when installing a property before declaring a
17865         set/get_property handler.
17866         Rearrange gstelement.h file, use STATE macros for state locks.
17867         Free mutexes in the finalize method instead of dispose.
17869 2005-03-08  Wim Taymans  <wim@fluendo.com>
17871         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17872         * gst/gstthread.c: (gst_thread_release_children_locks):
17873         Added parentage check.
17874         Fix build og GstThread again.
17876 2005-03-08  Wim Taymans  <wim@fluendo.com>
17878         * docs/design/part-MT-refcounting.txt:
17879         * docs/design/part-conventions.txt:
17880         * docs/design/part-gstobject.txt:
17881         * docs/design/part-relations.txt:
17882         * docs/design/part-standards.txt:
17883         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17884         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17885         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17886         (gst_bin_iterate_all_by_interface):
17887         * gst/gstbuffer.h:
17888         * gst/gstclock.h:
17889         * gst/gstelement.c: (gst_element_class_init),
17890         (gst_element_change_state), (gst_element_set_loop_function):
17891         * gst/gstelement.h:
17892         * gst/gstiterator.c:
17893         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17894         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17895         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17896         (gst_object_set_parent), (gst_object_unparent),
17897         (gst_object_check_uniqueness):
17898         * gst/gstobject.h:
17899         Docs updates, clean up some headers.
17901 2005-03-07  Wim Taymans  <wim@fluendo.com>
17903         * check/.cvsignore:
17904         * check/Makefile.am:
17905         * check/gst-libs/.cvsignore:
17906         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17907         * check/gst/.cvsignore:
17908         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17909         (START_TEST), (gstbus_suite), (main):
17910         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17911         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17912         (gst_data_suite), (main):
17913         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17914         (add_fold_func), (gstiterator_suite), (main):
17915         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17916         (thread_name_object), (thread_name_object_default),
17917         (gst_object_name_compare), (gst_object_suite), (main):
17918         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17919         (gst_pad_suite), (main):
17920         * check/gstcheck.c: (gst_check_log_message_func),
17921         (gst_check_log_critical_func), (gst_check_init):
17922         * check/gstcheck.h:
17923         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17924         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17925         Added checks.
17927 2005-03-07  Wim Taymans  <wim@fluendo.com>
17929         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17930         (gst_list_iterator_next), (gst_list_iterator_resync),
17931         (gst_list_iterator_free), (gst_iterator_new_list),
17932         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17933         (gst_iterator_free), (gst_iterator_push), (filter_next),
17934         (filter_resync), (filter_uninit), (filter_free),
17935         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17936         (gst_iterator_foreach), (find_custom_fold_func),
17937         (gst_iterator_find_custom):
17938         * gst/gstiterator.h:
17939         Added missing files.
17941 2005-03-07  Wim Taymans  <wim@fluendo.com>
17943         * Makefile.am:
17944         * configure.ac:
17945         * docs/design/part-MT-refcounting.txt:
17946         * docs/design/part-conventions.txt:
17947         * docs/design/part-gstobject.txt:
17948         * docs/design/part-relations.txt:
17949         * examples/mixer/mixer.c: (main):
17950         * examples/thread/thread.c: (eos), (main):
17951         * gst/Makefile.am:
17952         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17953         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17954         (gst_spider_plug_from_srcpad):
17955         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17956         (gst_spider_identity_change_state),
17957         (gst_spider_identity_sink_loop_type_finding):
17958         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17959         * gst/elements/gstidentity.c: (gst_identity_init):
17960         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17961         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17962         * gst/elements/gsttypefindelement.c: (free_entry):
17963         * gst/gst.c:
17964         * gst/gst.h:
17965         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17966         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17967         (gst_bin_set_index), (gst_bin_set_element_sched),
17968         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17969         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17970         (gst_bin_iterate_elements), (iterate_child_recurse),
17971         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17972         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17973         (compare_interface), (gst_bin_get_by_interface),
17974         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17975         * gst/gstbin.h:
17976         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17977         (gst_buffer_default_free), (gst_buffer_default_copy),
17978         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17979         (gst_buffer_create_sub):
17980         * gst/gstbuffer.h:
17981         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17982         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17983         (gst_caps_unref), (gst_static_caps_get),
17984         (gst_caps_remove_and_get_structure), (gst_caps_append),
17985         (gst_caps_append_structure), (gst_caps_remove_structure),
17986         (gst_caps_copy_nth), (gst_caps_set_simple),
17987         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17988         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17989         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17990         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17991         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17992         (gst_caps_structure_figure_out_union),
17993         (gst_caps_switch_structures), (gst_caps_do_simplify),
17994         (gst_caps_replace), (gst_caps_from_string),
17995         (gst_caps_copy_conditional):
17996         * gst/gstcaps.h:
17997         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17998         (_gst_clock_id_free), (gst_clock_id_unref),
17999         (gst_clock_id_compare_func), (gst_clock_id_wait),
18000         (gst_clock_id_wait_async), (gst_clock_class_init),
18001         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18002         (gst_clock_get_time), (gst_clock_set_time_adjust),
18003         (gst_clock_set_property), (gst_clock_get_property):
18004         * gst/gstclock.h:
18005         * gst/gstcompat.h:
18006         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18007         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18008         * gst/gstdata.h:
18009         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18010         (gst_element_requires_clock), (gst_element_provides_clock),
18011         (gst_element_set_clock), (gst_element_clock_wait),
18012         (gst_element_wait), (gst_element_set_time_delay),
18013         (gst_element_is_indexable), (gst_element_add_pad),
18014         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18015         (pad_compare_name), (gst_element_get_static_pad),
18016         (gst_element_request_pad), (gst_element_get_request_pad),
18017         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18018         (gst_element_class_get_pad_template_list),
18019         (gst_element_class_get_pad_template), (gst_element_error_func),
18020         (gst_element_get_random_pad), (gst_element_get_event_masks),
18021         (gst_element_send_event), (gst_element_seek),
18022         (gst_element_get_query_types), (gst_element_query),
18023         (gst_element_get_formats), (gst_element_convert),
18024         (gst_element_is_locked_state), (gst_element_set_locked_state),
18025         (gst_element_sync_state_with_parent), (gst_element_change_state),
18026         (gst_element_finalize), (gst_element_yield),
18027         (gst_element_interrupt), (gst_element_set_scheduler),
18028         (gst_element_get_scheduler), (gst_element_set_loop_function):
18029         * gst/gstelement.h:
18030         * gst/gstevent.h:
18031         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18032         (gst_format_get_by_nick), (gst_format_get_details),
18033         (gst_format_iterate_definitions):
18034         * gst/gstformat.h:
18035         * gst/gstindex.c: (gst_index_gtype_resolver):
18036         * gst/gstinfo.c:
18037         * gst/gstinfo.h:
18038         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18039         (gst_mem_chunk_free):
18040         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18041         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18042         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18043         (gst_object_dispatch_properties_changed),
18044         (gst_object_set_name_default), (gst_object_set_name),
18045         (gst_object_get_name), (gst_object_set_name_prefix),
18046         (gst_object_get_name_prefix), (gst_object_set_parent),
18047         (gst_object_get_parent), (gst_object_unparent),
18048         (gst_object_check_uniqueness), (gst_object_save_thyself),
18049         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18050         (gst_object_set_property), (gst_object_get_property),
18051         (gst_object_get_path_string):
18052         * gst/gstobject.h:
18053         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18054         (gst_real_pad_init), (gst_real_pad_get_property),
18055         (gst_pad_custom_new), (gst_pad_get_direction),
18056         (gst_pad_set_active), (gst_pad_is_active),
18057         (gst_pad_set_event_function), (gst_pad_is_linked),
18058         (gst_pad_link_free), (gst_pad_link_intersect),
18059         (gst_pad_link_fixate), (gst_pad_set_caps),
18060         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18061         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18062         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18063         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18064         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18065         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18066         (gst_pad_realize), (gst_pad_get_allowed_caps),
18067         (gst_real_pad_dispose), (gst_real_pad_finalize),
18068         (gst_pad_collectv), (gst_pad_collect_valist),
18069         (gst_pad_template_dispose), (gst_pad_template_new),
18070         (gst_pad_get_internal_links):
18071         * gst/gstpad.h:
18072         * gst/gstpipeline.c: (gst_pipeline_dispose),
18073         (gst_pipeline_change_state):
18074         * gst/gstpipeline.h:
18075         * gst/gstplugin.c:
18076         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18077         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18078         * gst/gstpluginfeature.h:
18079         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18080         * gst/gstquery.c: (_gst_query_type_initialize),
18081         (gst_query_type_register), (gst_query_type_get_by_nick),
18082         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18083         * gst/gstquery.h:
18084         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18085         * gst/gstscheduler.c: (gst_scheduler_add_element),
18086         (gst_scheduler_factory_create):
18087         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18088         (gst_structure_free), (gst_structure_set_name),
18089         (gst_structure_id_set_value), (gst_structure_set_value),
18090         (gst_structure_set_valist), (gst_structure_remove_field),
18091         (gst_structure_remove_fields),
18092         (gst_structure_remove_fields_valist),
18093         (gst_structure_remove_all_fields), (gst_structure_foreach),
18094         (gst_structure_map_in_place),
18095         (gst_caps_structure_fixate_field_nearest_int),
18096         (gst_caps_structure_fixate_field_nearest_double):
18097         * gst/gststructure.h:
18098         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18099         (gst_system_clock_init), (gst_system_clock_dispose),
18100         (gst_system_clock_async_thread),
18101         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18102         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18103         * gst/gstsystemclock.h:
18104         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18105         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18106         * gst/gsttaginterface.c:
18107         * gst/gstthread.c: (gst_thread_dispose),
18108         (gst_thread_release_children_locks), (gst_thread_change_state),
18109         (gst_thread_main_loop):
18110         * gst/gsttrashstack.h:
18111         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18112         * gst/gsttypes.h:
18113         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18114         (gst_element_request_pad), (gst_element_get_pad_from_template),
18115         (gst_element_request_compatible_pad),
18116         (gst_element_get_compatible_pad_filtered),
18117         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18118         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18119         (gst_element_link_many), (gst_element_link),
18120         (gst_element_link_pads), (gst_element_unlink_pads),
18121         (gst_element_unlink_many), (gst_element_unlink),
18122         (gst_pad_can_link_filtered), (gst_pad_can_link),
18123         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18124         (gst_object_default_error), (gst_bin_add_many),
18125         (gst_bin_remove_many), (gst_element_populate_std_props),
18126         (gst_element_class_install_std_props), (gst_buffer_merge),
18127         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18128         (link_fold_func), (gst_pad_proxy_setcaps):
18129         * gst/gstutils.h:
18130         * gst/gstvalue.c: (gst_value_deserialize_string):
18131         * gst/parse/grammar.y:
18132         * gst/schedulers/gstbasicscheduler.c:
18133         (gst_basic_scheduler_cothreaded_chain),
18134         (gst_basic_scheduler_chain_recursive_add),
18135         (gst_basic_scheduler_pad_link):
18136         * gst/schedulers/gstoptimalscheduler.c:
18137         (get_group_schedule_function),
18138         (gst_opt_scheduler_state_transition),
18139         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18140         * libs/gst/bytestream/bytestream.c:
18141         * libs/gst/dataprotocol/dataprotocol.c:
18142         (gst_dp_header_from_buffer):
18143         * po/nb.po:
18144         * po/ru.po:
18145         * tests/threadstate/threadstate2.c: (eos):
18146         * tools/gst-compprep.c: (main):
18147         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18148         (print_pad_info), (print_children_info):
18149         * tools/gst-launch.c: (idle_func), (main):
18150         * tools/gst-md5sum.c: (idle_func), (main):
18151         * tools/gst-xmlinspect.c: (print_element_info):
18152         First THREADED backport attempt, focusing on adding locks and
18153         making sure the API is threadsafe. Needs more work. More docs
18154         follow this week.
18156 2005-02-24  Andy Wingo  <wingo@pobox.com>
18158         * tests/bench-complexity.scm:
18159         * tests/complexity.gnuplot: New files, good for running complexity
18160         benchmarks.
18162         * tests/Makefile.am:
18163         * tests/complexity.c: New test, sets up N elements, at each level
18164         teeing into M streams per element. Eeeenteresting.
18166         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18167         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18168         running bench-mass_elements.scm.
18170         * tests/bench-mass_elements.scm: New script, runs mass_elements
18171         for various numbers of identities, outputting the results to a
18172         file. Requires guile 1.6. Just for testing.
18174 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18176         * gst/schedulers/fairscheduler.c:
18177           compile with debug disabled
18179 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18181         * configure.ac:
18182           hunting season on 0.9 is now OPEN