autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
2
3         * autogen.sh:
4           Add -Wno-portability to the automake parameters to stop warnings
5           about GNU make extensions being used. We require GNU make in almost
6           every Makefile anyway.
7
8         * configure.ac:
9           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
10           at the same time is required for per target flags.
11
12 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
13
14         * docs/gst/gstreamer-sections.txt:
15         * gst/gst.c: (init_post):
16         * gst/gstplugin.c: (_gst_plugin_register_static),
17           (gst_plugin_register_static), (_gst_plugin_initialize),
18           (gst_plugin_register_func):
19         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
20           API: add gst_plugin_register_static() and deprecate
21           GST_PLUGIN_DEFINE_STATIC, since it's not portable
22           (#498924).
23           Also, in _gst_plugin_register_static(), make sure to call
24           g_thread_init() before calling GLib functions such as
25           g_list_append() if we're not initialised yet, since that
26           may lead to random crashes with older GSlice/GLib versions.
27
28         * tests/check/gst/gstplugin.c:
29           Adapt unit test to above changes.
30
31 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
32
33         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
34         * gst/gstcaps.c: (gst_caps_to_string):
35         * gst/gststructure.c: (GST_ASCII_IS_STRING),
36           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
37           Yet another gratuitous GString micro-optimisation: add a (private)
38           function that serialises a structure appending to an existing
39           GString, so that when we serialise caps we don't need to alloc+free
40           a throwaway GString for each structure (each of which also entailing
41           multiple reallocs on the way); also use g_string_sized_new() in
42           various places with an approximate string length to avoid reallocs
43           within GString. See #500143.
44
45 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * gst/gststructure.c: (gst_structure_id_set_value):
48           Always check UTF-8 conformance of structure strings and not only
49           if the debugging system is enabled; reasoning: the behaviour of
50           the actual code shouldn't really change depending on whether the
51           debugging system is enabled or not (#508291).
52
53 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
54
55         * Makefile.am:
56           Remove old coverage target in favour of "make lcov".
57
58 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
59
60         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
61         (gst_base_src_loop):
62         The start segment for reverse playback goes from start to last_stop.
63
64 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
65
66         Patch by: Peter Kjellerstedt <pkj axis com>
67
68         * gst/gstclock.h:
69         Cast the results from the timeval/spec_to_time macros to what the
70         docs say it casts to, a GstClockTime. fixes #508175.
71
72 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
73
74         * gst/gstbuffer.c:
75         Update some comments.
76
77         * tools/gst-inspect.c: (print_element_properties_info):
78         Improve printing of flags.
79
80 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
81
82         * libs/gst/base/gstbasetransform.c:
83           (gst_base_transform_transform_size):
84           Print element name with g_warning() if there's a problem
85           with the unit size.
86
87 2008-01-07  David Schleef  <ds@schleef.org>
88
89         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
90
91         * libs/gst/controller/gstcontroller.h:
92         * libs/gst/controller/gstcontrolsource.h:
93         * libs/gst/controller/gstinterpolationcontrolsource.h:
94         * libs/gst/controller/gstlfocontrolsource.h:
95         * libs/gst/dataprotocol/dataprotocol.h:
96           Fix empty prototypes.  Fixes bug #507957.
97
98 2008-01-07  David Schleef  <ds@schleef.org>
99
100         * docs/faq/dependencies.xml: Fix typo.
101
102 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
103
104         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
105         (gst_base_src_loop):
106         Don't update the last_stop position in do_seek, that's the position we
107         did a seek to.
108         Read backwards when we have a negative rate.
109
110         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
111         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
112         (filesrc_suite):
113         Add check for reverse reading.
114
115 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
116
117         Patch by: Alexis Ballier <aballier at gentoo org>
118
119         * tests/check/gst/gstabi.c:
120         * tests/check/gst/struct_ppc64.h:
121         * tests/check/libs/libsabi.c:
122         * tests/check/libs/struct_ppc64.h:
123           Decide which header to include based on the userland ABI target
124           and not the kernel/cpu. Fix up structure sizes of ppc64 header
125           for 64-bit userland (#503590).  Might need something similar for
126           x86 too.
127
128 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
129
130         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
131           Log the reason why fopen fails in addition to the fact that it failed.
132           
133 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
134
135         * gst/parse/parse.l:
136         Use "%option never-interactive" to prevent useless calls to isatty()
137         on every input when parsing. Also use "%option noinput" to not define
138         the static input/yyinput functions which we don't use anyway. This
139         removes a compiler warning with gcc 4.3 and saves some bytes in the
140         library.
141         
142         * gst/parse/lex._gst_parse_yy.pre.c:
143         Regenerated for the above change.
144
145 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
146
147         * gst/gstpad.c: (fixate_value):
148         Don't crash when trying to fixate and empty list.
149         Fixes #506643.
150
151 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
152
153         * docs/faq/gst-uninstalled:
154         Clarify the comments to make the usage of this script and what it
155         does easier to understand.
156
157 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
158
159         * tools/gst-plot-timeline.py:
160         Add more options to gst-plot-timeline
161
162 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
163
164         * docs/design/part-synchronisation.txt:
165         Some more info on how the stream_time in GstBaseSink is done.
166
167 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * tests/check/generic/sinks.c: (gst_sinks_suite):
170           Put back the tcase_set_timeout(), apparently it's needed after
171           all; fix it up in a way that makes things work with valgrind too.
172
173 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
174
175         * gst/gstdebugutils.c:
176           Add warning when failed to open file for writing.
177
178 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
179
180         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
181
182         * gst/gstvalue.c: (gst_value_is_fixed):
183           Optimisation: bail out of the loop as early as possible (#500143).
184
185 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
186
187         * gst/gstcaps.c: (gst_caps_to_string):
188         * gst/gstinfo.c: (gst_debug_construct_term_color):
189         * gst/gstparse.c: (gst_parse_launchv):
190         * gst/gstutils.c: (gst_util_dump_mem):
191         * gst/gstvalue.c: (gst_value_serialize_any_list),
192           (gst_value_transform_any_list_string):
193           Bunch of gratuitous nano-optimisations.
194
195 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
196
197         * tests/check/generic/sinks.c: (async_done_func),
198           (async_done_eos_func):
199           Fix leak in unit test (bus sync handler must unref the message
200           if it returns GST_BUS_DROP). Don't fiddle with the default test
201           timeout, this is smaller than the current preconfigured value
202           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
203           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
204
205 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
206
207         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
208
209         * configure.ac:
210         Check for stdio_ext.h for the filesink changes.
211
212         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
213         (gst_file_sink_class_init), (gst_file_sink_init),
214         (gst_file_sink_dispose), (gst_file_sink_set_property),
215         (gst_file_sink_get_property), (gst_file_sink_open_file),
216         (gst_file_sink_close_file):
217         * plugins/elements/gstfilesink.h:
218         Add two properties to control the buffering mode and size.
219         API: GstFileSink::buffer-mode
220         API: GstFileSink::buffer-size
221         Fixes #500150.
222
223 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
224
225         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
226         Add some more docs to explain why a FIXME was wrongly added. 
227
228 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
229
230         * gst/gstobject.c:
231           Fix typo in the gst_object_{ref,unref} documentation.
232
233 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
234
235         * tests/check/libs/controller.c:
236         * tests/check/libs/typefindhelper.c:
237         * tests/check/pipelines/parse-launch.c:
238           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
239           going to be deprecated (see #498924).
240
241 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
242
243         * gst/gsttypefind.c: (gst_type_find_register):
244           Make gst_type_find_register work for static typefind functions,
245           ie. allow passing plugin == NULL (prerequisite for #498924).
246
247         * gst/gstelementfactory.c: (gst_element_register):
248           Small docs addition.
249
250 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
251
252         * gst/gstpad.c: (gst_pad_dispose):
253         Really unlink the peer pad instead of setting the peer pointer to NULL
254         when we dispose the pad.
255         This correctly calls the unlink functions and makes sure that the peer
256         does not have a handle to invalid memory. See #504671.
257
258         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
259         Add testsuite for above case.
260
261 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
262
263         Patch by: Peter Kjellerstedt <pkj axis com>
264
265         * libs/gst/check/gstcheck.h:
266           Fix detection of the check version we're compiling against (would
267           otherwise break if check goes v0.10.0); correctly report the
268           name of the failed test again in case of failure, instead of
269           just 'tf' (fixes #504499).
270
271 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
272
273         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
274         (gst_base_src_get_range), (gst_base_src_pad_get_range),
275         (gst_base_src_loop), (gst_base_src_set_flushing),
276         (gst_base_src_change_state):
277         Allow sending EOS to the source to make it send out an EOS event from
278         the streaming thread.
279         Update docs and deprecate the old NULL/READY shutdown method.
280
281         * tests/check/libs/basesrc.c: (GST_START_TEST),
282         (gst_basesrc_suite):
283         Add unit test for controlled shutdown.
284
285 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
286
287         * docs/design/part-synchronisation.txt:
288         Small updates.
289
290         * gst/gstsegment.c: (gst_segment_set_seek),
291         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
292         (gst_segment_to_running_time):
293         The seek format can be different from the segment format when the start
294         and stop values are not to be updated, when we only do a rate change for
295         example.
296
297         * tests/check/gst/gstsegment.c: (GST_START_TEST),
298         (gst_segment_suite):
299         Add a testcase for the rate-only seeks, checking that the format is
300         correctly ignored when start and stop are not updated.
301
302 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
303
304         Patch by: Matthias Bolte <photon at mail dot upb dot de>
305
306         * win32/vs8/grammar.vcproj:
307         * win32/vs8/libgstcontroller.vcproj:
308         * win32/vs8/libgstreamer.vcproj:
309         Fix compilation with VS8 and include some missing files.
310
311 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
312
313         * gst/gsttaglist.c:
314           Small docs addition: mention that the strings returned by
315           gst_tag_list_get_string*() are in UTF-8 encoding.
316
317 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
318
319         * Makefile.am:
320           The check-exports stuff moved to common/win32.mak, so include that.
321
322 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
323
324         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
325         (gst_base_src_perform_seek), (gst_base_src_get_range),
326         (gst_base_src_set_playing), (gst_base_src_change_state):
327         Make _wait_playing() not check any variables so that we can call this
328         function from subclasses. Move the checks elsewhere similar to
329         _wait_preroll() in basesink.
330         Add some debugging.
331         Only signal the LIVE cond when we are going back to PLAYING.
332
333 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
334
335         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
336           Use g_remove() and g_rename(). Check result of g_rename(), and
337           don't leak the open file descriptor if we error out when writing.
338
339         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
340           Must check the return value of close() after writing out the new
341           registry file.  Sometimes write problems such as out-of-diskspace
342           are only reported when the file is closed and not already during
343           the write.  This may have caused partial/broken registry files in
344           some rare circumstances. Should fix #503675.
345
346 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
347
348         * docs/gst/.cvsignore:
349         * docs/libs/.cvsignore:
350         * docs/plugins/.cvsignore:
351         Ignore files generated by new common/* modifications
352
353 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
354
355         * win32/common/libgstbase.def:
356           Yes, you can also have a <TAB> if you want.
357
358 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
359
360         * win32/common/libgstbase.def:
361           Add new basetransform API to win export file.
362
363 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
364
365         * tests/check/gst/gstbin.c:
366           Adjust the test to the refcount change two days ago.
367
368 2007-12-14  David Schleef  <ds@schleef.org>
369
370         * docs/faq/getting.xml: Fix typo.
371
372 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
373
374         * docs/libs/gstreamer-libs-sections.txt:
375         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
376           (gst_base_transform_prepare_output_buffer),
377           (gst_base_transform_set_gap_aware):
378         * libs/gst/base/gstbasetransform.h:
379           API: Add gst_base_transform_set_gap_aware() to control whether
380           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
381           get buffers with this flag at all. Fixes #503231.
382
383 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
384
385         * libs/gst/base/gstbasesink.c:
386         * libs/gst/base/gstbasesrc.c:
387         * libs/gst/base/gstbasetransform.c:
388           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
389           thread. Correct log message in gstbasesrc.c.
390
391 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
392
393         * gst/gstutils.c: (element_find_unconnected_pad):
394           Fix possible compiler warning (#503417).
395
396 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
397
398         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
399           Don't use GST_CAT_EVENT here for logging, it makes no sense.
400
401 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
402
403         * tools/gst-inspect.c: (print_element_properties_info):
404           Add support for GstFraction properties.
405
406 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * Makefile.am:
409           Add check-exports target and run it as part of 'make check'
410           (see #499140 and #493983).
411
412         * gst/gst_private.h:
413         * gst/gstelementfactory.h:
414         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
415         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
416           (_priv_gst_in_valgrind):
417         * gst/gstinfo.h: (GstLogFunction):
418         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
419           (gst_type_find_register):
420         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
421           (gst_type_find_factory_get_type):
422         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
423           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
424           (gst_controller_new_valist), (gst_controller_new_list),
425           (_gst_controller_dispose), (_gst_controller_class_init):
426         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
427         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
428           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
429           (gst_object_get_controller), (gst_object_set_controller),
430           (gst_object_suggest_next_sync), (gst_object_sync_values),
431           (gst_object_set_control_source), (gst_object_get_control_source),
432           (gst_object_get_value_arrays), (gst_object_get_value_array),
433           (gst_object_get_control_rate), (gst_object_set_control_rate):
434         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
435         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
436           Make some functions that should be static static; rename some
437           private symbols so that they don't get exported; add some FIXME
438           comments so we can move accidentally exported functions into
439           our private section in 0.11.
440
441         * win32/common/libgstreamer.def:
442           Add gst_utils_get_timestamp().
443
444 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
445
446         * gst/gstvalue.c:
447         * gst/gstvalue.h:
448           Add more missing "Since:" tags to docs.
449
450 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
451
452         * gst/gstutils.c:
453           Add mising "Since:" to docs.
454
455 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
456
457         * gst/gstplugin.c:
458           Include "glib-compat-private.h" to fix the build on system with
459           glib < 2.10. Fixes #503131.
460
461 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
462
463         * gst/gstutils.c:
464         * gst/gstutils.h:
465           Actually its not PURE as it gets the time from elsewhere.
466
467 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
468
469         * docs/gst/gstreamer-sections.txt:
470         * gst/gstclock.h:
471         * gst/gstdebugutils.c:
472         * gst/gstinfo.c:
473         * gst/gstutils.c:
474         * gst/gstutils.h:
475         * libs/gst/base/gstbasesink.c:
476         * tools/gst-launch.c:
477           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
478           uses as we don't have HAVE_POSIX_TIMERS in public headers.
479           Thanks Tim for spotting.
480
481 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
482
483         * configure.ac:
484           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
485
486 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
487
488         * gst/gststructure.c: (gst_structure_validate_name),
489           (gst_structure_new_valist), (gst_structure_parse_value),
490           (gst_structure_from_string):
491           Don't crash in _from_string() if the structure name is not valid
492           (fixes #501560).  Allow structure names to start with a number
493           again (this apparently broke the ubuntu codec installer).
494
495         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
496           (GST_START_TEST):
497           Add unit test for the crash; update unit tests for new behaviour.
498
499 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
500
501         * gst/gstutils.c:
502         Clarify gst_element_get_compatible_pad() documentation.
503         Fixes #500919.
504
505 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
506
507         * tests/check/Makefile.am:
508           Don't forget to dist {gst,libs}/struct_hppa.h.
509
510 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
511
512         * libs/gst/base/gstbasesink.c:
513           Use new API to get elapsed time.
514
515 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
516
517         * gst/gstdebugutils.c:
518         * gst/gstinfo.c:
519           Fix wrong order of args in GST_CLOCK_DIFF() usage.
520
521         * tools/gst-launch.c:
522           Use new API to get elapsed time.
523
524 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
525
526         * docs/gst/gstreamer-sections.txt:
527         * gst/gstclock.h:
528         * gst/gstdebugutils.c:
529         * gst/gstinfo.c:
530           Rename new API + ChangeLog surgery to remove old name from last entry..
531           API: GST_GET_TIMESTAMP
532
533 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
534
535         * docs/gst/gstreamer-sections.txt:
536         * gst/gstclock.h:
537         * gst/gstdebugutils.c:
538         * gst/gstinfo.c:
539           Now hide the different clock stuff behind a macro.
540
541 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
542
543         * configure.ac:
544         * gst/gstdebugutils.c:
545         * gst/gstinfo.c:
546           Apply the posix-timer check from #361155. Conditionally use the posix
547           timer for logging. This gives better timestamp precission, less
548           overhead and no ntp jitter.
549
550 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
551
552         * gst/gstminiobject.c: (gst_mini_object_get_type),
553         (gst_mini_object_class_init), (gst_mini_object_copy_default),
554         (gst_mini_object_finalize), (gst_mini_object_copy),
555         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
556         (gst_mini_object_replace), (param_mini_object_validate),
557         (gst_param_spec_mini_object_get_type):
558         Some cleanup and checking against invalid function parameters.
559
560 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
561
562         * docs/gst/gstreamer-sections.txt:
563         * gst/gstclock.h:
564         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
565         (gst_systemclock_suite):
566         Start merging in the easy bits of #361155, the monotonic clock patch.
567         This one adds a few handy macros with docs and a testsuite.
568
569 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
570
571         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
572         Be a bit smarter when seeking, like, don't try to do a seek when it's
573         not needed. This avoids errors when the file is not seekable.
574         Fixes #499771.
575
576 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
577
578         * docs/gst/gstreamer-docs.sgml:
579         * docs/gst/gstreamer-sections.txt:
580         * docs/gst/gstreamer.types.in:
581         * gst/Makefile.am:
582         * gst/gst.h:
583         * gst/gstpreset.c:
584         * gst/gstpreset.h:
585         * plugins/elements/gstqueue.c:
586           Due to popular request remove preset interface again. :-(.
587
588 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
589
590         * tools/gst-inspect.c:
591           Print 'default value' for enums and flags too.
592
593 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
594
595         * docs/random/ensonic/profiling.txt:
596           More ideas.
597
598         * gst/gstbin.c:
599           Fix typo and give better log output.
600
601         * gst/gstdebugutils.c:
602         * gst/gstdebugutils.h:
603           More ideas, make graphs a bit smaller and fix param name in macro.
604
605 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
606
607         * gst/gstpreset.c:
608           Try harder to use the return value from fgets().
609
610 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
611
612         * gst/gstpreset.c:
613           For theses two fgets we handle the error below.
614
615 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
616
617         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
618         Only send upstream events upstream. Fixes #498746.
619
620 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
621
622         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
623
624         * plugins/elements/gstidentity.c: (gst_identity_class_init),
625         (gst_identity_init), (gst_identity_transform_ip),
626         (gst_identity_set_property), (gst_identity_get_property):
627         * plugins/elements/gstidentity.h:
628         Add property to disable handoff signal emission. Fixes #498694.
629         API: GstIdentity::signal-handoffs
630
631 2007-11-21  Julien Moutte  <julien@fluendo.com>
632
633         * docs/faq/gst-uninstalled: Yet another missing library for the
634         uninstalled script (fft)
635
636 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
637
638         * docs/faq/developing.xml:
639         Add a question about how to submit new translations.
640
641         * docs/random/release:
642         Update the contact email address for the Translation Project
643
644         * plugins/elements/gstfdsrc.c:
645         The parent_class for fdsrc is pushsrc, not GstElement.
646
647 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
648
649         * gst/gstpreset.c:
650           Plug a leak and fix saving.
651
652 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
653
654         * docs/gst/gstreamer-sections.txt:
655         Add new gst_preset__get_property_names() function to the docs
656         to fix the build.
657
658 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
659
660         * gst/gstpreset.c:
661         * gst/gstpreset.h:
662           Change _get_preset_names API to return a strv with copies. Add
663           _get_property_names to allow implementations to filter and provide
664           good default implementation.
665
666 2007-11-20  Julien MOUTTE  <julien@moutte.net>
667
668         * docs/faq/gst-uninstalled: Add another library to the uninstalled
669         script (sdp).
670
671 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
672
673         * gst/gstpreset.c:
674           More cleanups, docs, and TODOs from comments that now slowly come in.
675
676 2007-11-19  Julien MOUTTE  <julien@moutte.net>
677
678         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
679         search path.
680
681 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
682
683         * gst/gstpreset.c:
684           Fix bogus warning and make the property type specific code more
685           similar.
686
687 2007-11-19  Julien MOUTTE  <julien@moutte.net>
688
689         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
690         it build on OS X.
691
692 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
693
694         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
695         (gst_bin_add_func), (gst_bin_remove_func),
696         (gst_bin_change_state_func), (gst_bin_continue_func):
697         Change email, cleanups add some more debug and comments.
698         Also set bus and clock on new elements when the pipeline was in error.
699
700 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
701
702         * gst/gstbin.c:
703         * gst/gstdebugutils.c:
704           Fix build with --disable-gst-debug. Fixes #497859.
705           Spotted by Sameer Naik.
706
707 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
708
709         * gst/gstevent.c:
710           Little documentation improvment.
711
712         * gst/gstpreset.c:
713           More TODO cleanups. Remove c++ comments.
714
715         * libs/gst/controller/gstcontroller.c:
716           Add TODO and use quark from static string.
717
718         * tests/check/gst/gstmessage.c:
719         * tests/check/gst/gststructure.c:
720           Use quark from static string.
721
722 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
723
724         * gst/gstpreset.c:
725           Add some comments and TODOs.
726
727         * gst/gstpreset.h:
728           Add padding for future changes.
729
730         * plugins/elements/gstqueue.c:
731           Implement the iface.    
732
733 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
734
735         * docs/gst/gstreamer-docs.sgml:
736         * docs/gst/gstreamer-sections.txt:
737         * docs/gst/gstreamer.types.in:
738         * gst/Makefile.am:
739         * gst/gst.h:
740         * gst/gstpreset.c:
741         * gst/gstpreset.h:
742           Add the preset interface (Fixes #396779). Do some doc cleanups along.
743
744 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
745
746         * configure.ac:
747
748         Back to CVS
749
750 === release 0.10.15 ===
751
752 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
753
754         * configure.ac:
755           releasing 0.10.15, "October"
756
757 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
758
759         * win32/vs6/libgstreamer.dsp:
760         Convert line endings back to DOS.
761
762 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
763
764         * docs/design/draft-tagreading.txt:
765         * docs/random/ensonic/profiling.txt:
766         Update fast tagreading draft and performance profiling ideas.
767
768 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
769
770         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
771         Don't hold the object lock when unreffing a buffer because it could
772         cause a deadlock when the finalize function wants to grab the object
773         lock too. Fixes #495133.
774
775 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
776
777         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
778         (gst_segment_to_stream_time), (gst_segment_to_running_time):
779         Also accumulate time correctly when doing reverse playback. Fixes
780         #488201,
781         When converting to running and stream time, use default values for
782         start/stop/time/accum when comparing different formats. Fixes #494245.
783
784         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
785         Do running/stream time in TIME format.
786
787         * tests/check/gst/gstsegment.c: (GST_START_TEST),
788         (gst_segment_suite):
789         2 new unit tests for segment accumulation.
790
791 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
792
793         * gst/gst.c: (init_pre):
794         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
795           (_gst_debug_bin_to_dot_file):
796           Move getenv() back into gst_init, so everyone can live happily
797           ever after. Make sure the symbol isn't exported though.
798
799 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
800
801         Patch by: Sebastien Moutte  <sebastien moutte net>
802
803         * win32/common/gstenumtypes.c:
804         * win32/common/gstenumtypes.h:
805           Update enum types.
806
807         * win32/vs6/libgstreamer.dsp:
808           Update vs6 project files (#494343).
809
810 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
811
812         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
813         (gst_base_src_perform_seek), (gst_base_src_default_event),
814         (gst_base_src_set_flushing), (gst_base_src_activate_push),
815         (gst_base_src_activate_pull):
816         Unify flushing code, remove some old unlock code that is no longer used.
817         Take the streaming lock when seeking to avoid races. Fixes #492729.
818         Added some more comments.
819
820 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
821
822         * gst/gst.c: (_gst_disable_segtrap):
823           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
824           we can use gst_segtrap_is_enabled() there now that we have that API.
825           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
826           to do the getenv here (and export the variable).
827
828         * gst/gstdebugutils.c: (debug_dump_element),
829           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
830           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
831
832         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
833           (gst_debug_log_default):
834           Rename _gst_info_start_time to priv_gst_info_start_time so it
835           doesn't get exported (was never in any header).
836
837         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
838           (gst_plugin_loading_mutex):
839           Make static mutex gst_plugin_loading_mutex really static (was never
840           in any header), and use gst_segtrap_is_enabled() instead of
841           _gst_disable_segtrap.
842
843         * gst/gsttrace.c: (_gst_trace_default):
844           Make local _gst_trace_default static (was never in any header).
845
846 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
847
848         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
849
850         * win32/common/libgstbase.def:
851         * win32/common/libgstcontroller.def:
852         * win32/common/libgstdataprotocol.def:
853         * win32/common/libgstnet.def:
854         * win32/common/libgstreamer.def:
855           Add more missing symbols, remove some duplicates, and sort
856           as the 'sort' command sorts it (partially fixes #493983).
857
858 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
859
860         * gst/gstelement.c: (gst_element_set_state_func):
861         Only change the state cookie if a different state was set on the
862         element. See #492729.
863
864 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
865
866         * gst/gstvalue.c:
867           Remove unused and uninitialised type variables that were still
868           exported for some reason (they were never in any header files
869           though).
870
871 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
872
873         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
874         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
875         (gst_base_sink_event), (gst_base_sink_get_position_last),
876         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
877         (gst_base_sink_change_state):
878         Don't try to report a 0 position when we don't know, return -1 and FALSE
879         instead. This mostly happens when we are prerolling.
880         Make sure we can report the right position before we post the ASYNC_DONE
881         message so that a message handler can query position without races.
882
883         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
884         (async_done_handoff), (async_done_func), (send_buffer),
885         (async_done_eos_func), (gst_sinks_suite):
886         Add two tests for the above.
887
888 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
889
890         * MAINTAINERS:
891         Update with new email address.
892
893         * docs/design/part-TODO.txt:
894         Add some more info about future pad-block and negotiation changes.
895
896         * docs/design/part-buffering.txt:
897         Add some ideas about buffering reporting.
898
899 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
900
901         * tests/check/gst/gstobject.c:
902         Disable silly racy test that always fails on this combination of CPU
903         and kernel.
904
905 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
906
907         Patch by: Murray Cumming  <murrayc@murrayc.com>
908
909         * gst/gstobject.c:
910           Corrected the registration of the parent-set and parent-unset
911           signals: The parameter is a GstObject, not a GObject (#493134).
912
913 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
914
915         * gst/gst_private.h:
916         * gst/gstbuffer.h:
917         * gst/gstevent.h:
918         * gst/gstformat.h:
919         * gst/gstmessage.h:
920         * gst/gstplugin.h:
921         * gst/gstquery.h:
922         * gst/gsttaglist.h:
923         * gst/gstvalue.h:
924           Move declaration of private _gst_foo_initialize() functions into
925           our private header file where they should have been all along.
926
927 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
928
929         * docs/plugins/gstreamer-plugins-sections.txt:
930         * gst/gstdebugutils.h:
931         * gst/gstxml.h:
932         * plugins/elements/gstqueue.c:
933           gtk-doc fixes; trailing-comma-in-enum fix.
934
935 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
936
937         * gst/gst.c: (gst_deinit):
938           Clean up on deinit (not the external ones though, doesn't seem to be
939           needed for some reason).
940
941 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
942
943         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
944           Remove __declspec(dllimport) for MSVC that was copied over into core
945           from a plugin, obviously without ever having been tested (note the
946           single underscore in _declspec in the initial commit), and that doesn't
947           really make sense.  See #492077.
948
949 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
950
951         * gst/gst.c: (init_post):
952         * gst/gstevent.c: (_gst_event_initialize):
953         * gst/gstquery.c: (_gst_query_initialize):
954         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
955           g_type_class_ref() other types as well, see #349410 and #64764.
956
957         * gst/gstbuffer.c: (_gst_buffer_initialize):
958         * gst/gstmessage.c: (_gst_message_initialize):
959           Simplify existing g_type_class_ref().
960
961 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
962
963         * gst/gstformat.c: (_gst_format_initialize):
964           g_type_class_ref() our GstFormat type to make sure we avoid the
965           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
966           bug #64764. Should fix intermittent tee unit test failures (#474823).
967
968 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
969
970         * tests/check/elements/tee.c: (test_num_buffers):
971           Simplify, simplify, simplify - or not.  Rewrite unit test
972           not to use gst_parse_launch(); allow N sub-streams. Increasing
973           the number of sub-streams seems to reproduce #474823 more easily.
974
975 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
976
977         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
978
979         * gst/gsttrace.c:
980         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
981         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
982         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
983           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
984           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
985           so use _pipe() directly (#492077).
986
987         * win32/common/dirent.c: (_treaddir):
988           Add a couple of casts to make it build without warnings with MSVC.
989
990         * win32/common/libgstreamer.def:
991           Add some more symbols that need to be exported.
992
993 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
994
995         * tests/examples/metadata/read-metadata.c: (message_loop):
996           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
997           arriving in a second or third tag message are added to
998           the tag list as well.
999
1000 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
1001
1002         * libs/gst/base/gstbasesrc.c:
1003           Its "Since:" and not "@Since:". And remove an superflous cast.
1004
1005 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
1006
1007         * docs/libs/gstreamer-libs-sections.txt:
1008         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1009         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
1010         (gst_base_sink_get_property), (gst_base_sink_render_object),
1011         (gst_base_sink_preroll_object),
1012         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
1013         (gst_base_sink_change_state):
1014         * libs/gst/base/gstbasesink.h:
1015         Add a new last-buffer property that contains the last buffer used in
1016         basesink for preroll or rendering. useful for making snapshots.
1017         API: gst_base_sink_get_last_buffer()
1018         API: GstBaseSink::last-buffer
1019
1020 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
1021
1022         * docs/gst/running.xml:
1023         * gst/gst.c:
1024         * gst/gstdebugutils.c:
1025         * gst/gstdebugutils.h:
1026         * tools/gst-launch.c:
1027           Improve bin graph dumping, by using the envvar to specify a path.
1028           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
1029
1030 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
1031
1032         * plugins/elements/gsttypefindelement.c:
1033           (gst_type_find_element_handle_event),
1034           (gst_type_find_element_activate):
1035           Post special error message if we can't determine the type of a stream
1036           because it's empty.
1037
1038 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
1039
1040         * docs/gst/running.xml:
1041         * gst/gstdebugutils.c:
1042           Document new env-var. Add one log-line after dumpng a graph.
1043
1044 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
1045
1046         * configure.ac:
1047           Ugly hack to put the (recently removed and non-portable, apparently)
1048           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
1049           GNU ld, because without that 'make check' fails miserably on my debian
1050           stable box.  Someone with more knowledge of linker intricacies and
1051           portability issues than me fix this properly please.
1052
1053 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
1054
1055         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1056         Reset last seen position after flushing so that we don't report the old
1057         position anymore.
1058
1059 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1060
1061         * gst/gstelementfactory.c: (gst_element_register):
1062         * gst/gsturi.h:
1063         Patch from Alessandro Decina adding get_type_full and
1064         get_protocols_full private vfuncs to the URIHandler interface
1065         to allow bindings to support creating URI handlers. 
1066         Partially fixes: #339279
1067         API: GstURIHandlerInterface::get_type_full
1068         API: GstURIHandlerInterface::get_protocols_full
1069
1070 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1071
1072         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
1073         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
1074         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
1075         Make it so that pads are considered linked until a buffer is pushed
1076         and discovered otherwise. This avoids problems with decodebin2 hanging
1077         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
1078         case.
1079
1080         Make sure we lock the multiqueue when updating the max-size properties.
1081         
1082         Fix a crash on Solaris in a debug statement in get_request_pad that
1083         passes a NULL string to GST_DEBUG. 
1084
1085         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
1086         (run_output_order_test):
1087         Fix the test to allow the first buffer on not-linked pads to come out
1088         of sequence while multiqueue discovers that they are not-linked.
1089
1090 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
1091
1092         * configure.ac:
1093         * libs/gst/check/Makefile.am:
1094         Use a custom export symbol regex for libgstcheck, as it needs
1095         to export symbols that don't match the standard GStreamer gst_*
1096         pattern, and  --export-dynamic is not portable (only works on 
1097         GNU ld)
1098
1099         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1100         (gst_check_setup_sink_pad):
1101         Make sure to pass a message parameter to the fail_* macros.
1102
1103         * tests/check/gst/gstinfo.c: (GST_START_TEST):
1104         Fix some compiler warnings.
1105
1106 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * tests/check/gst/gststructure.c: (test_to_string):
1109           Disable test that checks that white spaces are not allowed
1110           in structure names or field names, since we need to
1111           support that for now for backwards compatibility reasons.
1112
1113 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
1114
1115         * docs/gst/gstreamer-sections.txt:
1116         * gst/gsttaglist.c:
1117         * gst/gsttaglist.h:
1118           API: add GST_TAG_ARTIST_SORTNAME
1119           API: add GST_TAG_ALBUM_SORTNAME
1120           API: add GST_TAG_TITLE_SORTNAME
1121           Add tag variants for sorting (#414539).
1122
1123 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
1124
1125         * gst/gststructure.c:
1126           Also allow white space for names so we don't break
1127           backwards compatibility.
1128
1129 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
1130
1131         * docs/design/part-TODO.txt:
1132         * docs/design/part-segments.txt:
1133         * docs/design/part-streams.txt:
1134         Small updates.
1135
1136 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
1137
1138         * docs/gst/gstreamer-sections.txt:
1139          Fixed documentation from my previous commit (added new API add
1140          gst_value_set_structure(), add gst_value_get_structure() and
1141          GST_VALUE_HOLDS_STRUCTURE).
1142
1143 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
1144
1145         * gst/gstdebugutils.c:
1146           Reflow code to fix uninitialized variable warning.
1147
1148 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
1149
1150         * gst/gstcaps.c: (gst_caps_to_string),
1151         (gst_caps_from_string_inplace):
1152         * gst/gststructure.c: (gst_structure_get_abbrs),
1153         (gst_structure_to_string), (gst_structure_from_string):
1154         * gst/gstvalue.c: (gst_value_set_structure),
1155         (gst_value_get_structure), (gst_value_serialize_structure),
1156         (gst_value_deserialize_structure), (_gst_value_initialize):
1157         * gst/gstvalue.h:
1158         * tests/check/gst/gststructure.c: (GST_START_TEST),
1159         (gst_structure_suite):
1160         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1161          Added GstStructure to gst_value_table and its related functions.
1162          Changed gst_structure_to_string to print ';' in the end.
1163          Changed gst_caps_to_string to not print ';' beteween its
1164          fields (structures) anymore and remove the lastes ';' from latest
1165          structure. Now it is possible to have nested structures.
1166          In addition, backward compatibilty is assured by accepting '\0' as
1167          end delimiter. Fixes: #487969.
1168          API: add gst_value_set_structure()
1169          API: add gst_value_get_structure()
1170          API: add GST_VALUE_HOLDS_STRUCTURE
1171
1172 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
1173
1174         * gst/gstbus.c:
1175           When no GSource callback has been set up, tell developer
1176           to use a function that actually exists.
1177
1178 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
1179
1180         * docs/gst/gstreamer-sections.txt:
1181         * gst/Makefile.am:
1182         * gst/gst.c:
1183         * gst/gst.h:
1184         * gst/gstdebugutils.c:
1185         * gst/gstdebugutils.h:
1186         * gst/gstinfo.c:
1187         * gst/gstinfo.h:
1188         * tools/gst-launch.c:
1189           Allow dumping pipelines as dot graphs. Fixes #456573.
1190
1191 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1192
1193         * gst/gststructure.c:
1194           Allow '+' as well, it can be part of media or mime types
1195           such as image/svg+xml.
1196
1197 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1198
1199         * docs/gst/gstreamer-sections.txt:
1200         * gst/gstbus.c:
1201         * gst/gstbus.h:
1202           API: add gst_bus_pop_filtered
1203           API: add gst_bus_timed_pop_filtered
1204           Two new functions for waiting for specific message types on the
1205           bus for a specified amount of time without iterating any main
1206           loops or main contexts.
1207
1208         * tests/check/gst/gstbus.c:
1209           Some tests for the new functions.
1210
1211 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1212
1213         * docs/libs/gstreamer-libs-sections.txt:
1214           Make gtk-doc ignore stuff it should ignore.
1215
1216 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * libs/gst/check/gstcheck.c:
1219         * libs/gst/check/gstcheck.h:
1220           Allow runtime selection of unit tests to run via the GST_CHECKS
1221           environment variable (test case function names, comma-separated).
1222
1223 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
1224
1225         * gst/gststructure.c:
1226         * tests/check/gst/gststructure.c:
1227           Revert serialisation change and constrain structure-names after
1228           consensus on irc. Update api documentation to reflect the change.
1229
1230 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
1231
1232         * gst/gststructure.c:
1233           Improve serialization and fix tests.
1234
1235         * tests/check/gst/gststructure.c:
1236           Add another test that covers why I actually did the previous structure
1237           change.
1238
1239 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
1240
1241         * tools/gst-inspect.c: (print_element_info):
1242         Don't crash when inspecting an element.
1243
1244 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
1245
1246         * tests/check/gst/gststructure.c:
1247           Add unit test for escaping of structure name when serialising
1248           and deserialising to/from strings.
1249
1250 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
1251
1252         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
1253         (gst_single_queue_new):
1254         * plugins/elements/gstqueue.c: (gst_queue_init),
1255         (gst_queue_push_one):
1256         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
1257         upstream is tricked into thinking it can suggest a format downstream
1258         while downstream does not support that format. The real problem is that
1259         core calls acceptcaps when pushing a buffer with new caps, for which we
1260         do a little workaround by setting the caps on the srcpad ourselves
1261         before pushing the buffer (until this is figured out). Fixes #486758.
1262
1263 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1264
1265         * gst/gststructure.c:
1266         * gst/gstvalue.c:
1267           Add some more comments and debug output. Quote structure name to fix
1268           deserialisation of some strings.
1269
1270 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1271
1272         * gst/gstbuffer.h:
1273           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
1274           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
1275
1276 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1277
1278         * tools/gst-inspect.c:
1279           Save approx. 400 1 byte allocs when printing. Use API to acces element
1280           details.
1281
1282         * tools/gst-run.c:
1283           Avoid a strdup.
1284
1285         * tools/gst-xmlinspect.c:
1286           Use API to acces element details.
1287
1288 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1289
1290         * gst/gstinfo.c:
1291           Fix some spelling errors.
1292
1293 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
1294
1295         * gst/gstbin.c: (bin_handle_async_done):
1296         Correctly set the next state if all of our async children commited their
1297         state. This makes sure we can actually cancel the state change in
1298         progress. Fixes a regression in Rhythmbox when seeking.
1299
1300 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1301
1302         * gst/gstbin.c:
1303           Don't shadow local variable.
1304
1305         * gst/gstinfo.c:
1306           Don't shadow global function name.
1307
1308 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1309
1310         * gst/gstelementfactory.c:
1311         * gst/gstpluginfeature.c:
1312         * gst/gstpluginfeature.h:
1313         * gst/gstregistrybinary.c:
1314         * gst/gstregistryxml.c:
1315         * gst/gsttypefind.c:
1316           Use already-interned string for the private GstPluginFeature
1317           plugin_name field.
1318
1319 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1320
1321         * docs/libs/gstreamer-libs-sections.txt:
1322           Add new API to docs; fixes the build.
1323
1324 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
1325         
1326         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
1327
1328         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
1329         (gst_base_sink_event):
1330         * libs/gst/base/gstbasesink.h:
1331         Add function to wait for EOS, subclasses can use this to correctly wait
1332         for devices to drain before performing the EOS logic. Fixes #485343.
1333         API: gst_base_sink_wait_eos()
1334
1335 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1336
1337         * gst/gstplugin.h:
1338           Cast description string constants in GST_PLUGIN_DEFINE macros
1339           to a (gchar*) to make C++ code using these macros compile
1340           without warning with g++-4.2 (see #462737).  Even if slightly
1341           ugly, this seems preferable to putting the description strings
1342           into the GLib quark table or making the structure member a
1343           const gchar * and doing casts in core code that allocs and
1344           frees these strings, or requiring a cast in the C++ code.
1345
1346 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1347
1348         * gst/gstinfo.h:
1349           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
1350           to print the entire class/function signature into the log
1351           file for C++ code.  This only affects C++ code, for C code
1352           everything remains the same.
1353
1354 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
1355
1356         * gst/gstbin.c: (remove_from_queue):
1357         Work around a problem with pipelines containing (semi)loops until a
1358         proper, more complicated solution is ready. See #475455.
1359
1360 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1361
1362         * gst/gstplugin.c:
1363         * gst/gstplugin.h:
1364         * gst/gstregistrybinary.c:
1365         * gst/gstregistryxml.c:
1366           Put more strings into the GLib quark table. No need to keep
1367           a hundred-something copies of identical version strings,
1368           license strings, package name strings and package origin
1369           strings around. 
1370
1371 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1372
1373         * docs/manual/advanced-dataaccess.xml:
1374           Don't imply that it's okay to unconditionally change
1375           buffer data or buffer metadata in a pad probe callback,
1376           and a bunch of other comments. Fixes #430031.
1377
1378 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1379
1380         * win32/common/gstenumtypes.c:
1381         * win32/common/gstenumtypes.h:
1382         * win32/common/gstversion.h:
1383           Update generated files.
1384
1385 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1386
1387         * docs/manual/advanced-autoplugging.xml:
1388           Prefix section with broken code with a warning (see #342432).
1389
1390 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1391
1392         * docs/manual/appendix-integration.xml:
1393         * docs/manual/basics-init.xml:
1394           Call g_thread_init() before g_option_context_new() to
1395           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
1396
1397 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
1398
1399         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1400         (gst_base_sink_queue_object_unlocked),
1401         (gst_base_sink_queue_object), (gst_base_sink_event),
1402         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
1403         When we received EOS and are waiting for when to post the EOS message,
1404         our state is prerolled and we should not return ASYNC.
1405         Reorganize some code paths to implement this behavior.
1406
1407         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
1408         (gst_sinks_suite):
1409         Add unit test to verify above EOS fix.
1410
1411 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
1412
1413         * plugins/elements/gsttypefindelement.c:
1414         (gst_type_find_element_have_type), (gst_type_find_element_init),
1415         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
1416         Move detecting the input caps of the sinkpad to the setcaps function.
1417         This allows us to update the output caps when we receive new input caps
1418         instead of always using the first detected caps.
1419
1420 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
1421
1422         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1423         (gst_base_sink_get_position):
1424         Don't try to preroll non-async elements after a flush.
1425         Subtract latency form clock times when reporting position.
1426
1427 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1428
1429         * gst/gstpad.c: (gst_pad_pause_task):
1430         * gst/gstutils.c:
1431         Small comment and documentation update.
1432
1433 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1434
1435         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1436         (gst_base_src_set_live), (gst_base_src_is_live),
1437         (gst_base_src_query_latency), (gst_base_src_perform_seek),
1438         (gst_base_src_default_event), (gst_base_src_wait),
1439         (gst_base_src_do_sync), (gst_base_src_get_range),
1440         (gst_base_src_pad_get_range), (gst_base_src_loop),
1441         (gst_base_src_unlock), (gst_base_src_unlock_stop),
1442         (gst_base_src_set_flushing), (gst_base_src_set_playing),
1443         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1444         (gst_base_src_change_state):
1445         Rework the locking of basesrc in a similar fashion to basesink. We
1446         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
1447         us to handle live sources and semi live ones much better.
1448         Simplify flushing.
1449         Fix unlocking when seeking, shutting down and pausing in live sources.
1450
1451 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1452
1453         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
1454         Fix compilation again.
1455
1456 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1457
1458         * gst/gstelement.c:
1459           Use meaningful categories for the logs to clean the default one.
1460
1461 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1462
1463         * tests/check/pipelines/cleanup.c:
1464           Print message name and not just number.
1465
1466 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1467
1468         * docs/design/draft-tagreading.txt:
1469           Add some more thoughts.
1470
1471 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1472
1473         * tests/check/pipelines/simple-launch-lines.c:
1474           Print message name and not just number.
1475
1476 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * libs/gst/base/gsttypefindhelper.c:
1479           Speedup typefinding. This is work in progress (see #459862).
1480
1481 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1482
1483         * gst/gstplugin.c:
1484           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
1485           Spotted by Josep Torra Valles <josep@fluendo.com>.
1486
1487 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
1488
1489         * gst/gstclock.h:
1490           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
1491           field has moved to GstObject.
1492
1493 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
1494
1495         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
1496         (gst_base_src_get_range), (gst_base_src_change_state):
1497         Call unlock for live sources so that they can't get stuck in _create and
1498         produce a buffer before they are set back to PLAYING.
1499
1500 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
1501
1502         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1503         (gst_queue_locked_dequeue):
1504         Comment the segment-related code... in the PROPER function.
1505         See #482147 and my commit from yesterday.
1506
1507 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
1508
1509         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1510         Also initialize the counter that calculates the first timestamp on a
1511         buffer correctly for non-live sources.
1512
1513 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
1514
1515         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
1516         Disable code that's breaking the current-time-level reporting.
1517         See #482147
1518
1519 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
1520
1521         * docs/gst/gstreamer-sections.txt:
1522         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
1523         as they shouldn't show up. Fixes the docs build.
1524
1525 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
1526         
1527         * gst/gstinfo.h:
1528         Add an explicit variable importation needed on VS6 (only for MSC_VER)
1529         Define M_PI which is used in files which are including gstinfo.h. 
1530         VS6 includes doesn't define it.
1531         * win32/common/libgstbase.def:
1532         * win32/common/libgstcontroller.def:
1533         * win32/common/libgstreamer.def:
1534         Add new exported functions and variables.
1535         * win32/vs6/libgstcontroller.dsp:
1536         * win32/vs6/libgstreamer.dsp:
1537         Update the list of files to build.
1538         
1539 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
1540
1541         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
1542
1543         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
1544         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
1545         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
1546         Improve debugging. Fixes #480858.
1547
1548 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
1549
1550         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
1551
1552         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1553         First patch of code cleanups, use the macros and right arguments in the
1554         macros to signal and lock the queue. See #480858.
1555
1556 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
1557
1558         * gst/gstbus.c: (poll_func):
1559         Improve debugging when dealing with _poll().
1560
1561 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
1562
1563         * gst/gstregistryxml.c:
1564           Fix memory leak I introduced a few days ago.
1565
1566 2007-09-26  Michael Smith <msmith@fluendo.com>
1567
1568         * gst/gstbuffer.c: (gst_buffer_finalize):
1569           Make it once again possible to free GstBuffers in the default
1570           build.
1571           The poisoning scribbles on parts of the miniobject we need in
1572           order to free it.
1573           Fixes #480341
1574
1575 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
1576
1577         * docs/gst/gstreamer-sections.txt:
1578         * gst/gsttaglist.c:
1579         * gst/gsttaglist.h:
1580         API: add GST_TAG_COMPOSER, fixes #459809.
1581
1582 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
1583
1584         * gst/gstplugin.c:
1585         * gst/gstplugin.h:
1586         Add the 3-clause BSD license and the MIT/X11 license to the license
1587         list. Fixes #479784.
1588
1589 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
1590
1591         * docs/faq/getting.xml:
1592           Add Q+A about different GStreamer versions (#364056).
1593
1594 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1595
1596         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1597         (gst_base_sink_event), (gst_base_sink_change_state):
1598         Return correct gboolean from query function.
1599
1600 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1601
1602         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1603         (gst_base_sink_event), (gst_base_sink_query),
1604         (gst_base_sink_change_state):
1605         Simplify latency query.
1606         When not synchronizing, we can report latency without querying the peer
1607         element.
1608
1609 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1610
1611         * gst/gstobject.h:
1612         * gst/gstvalue.c:
1613         Fix small typos in the docs.
1614
1615 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1616
1617         * docs/design/draft-latency.txt:
1618         * docs/design/draft-push-pull.txt:
1619         * docs/design/draft-tagreading.txt:
1620         * docs/design/part-MT-refcounting.txt:
1621         * docs/design/part-activation.txt:
1622         * docs/design/part-block.txt:
1623         * docs/design/part-element-source.txt:
1624         * docs/design/part-events.txt:
1625         * docs/design/part-gstbin.txt:
1626         * docs/design/part-gstelement.txt:
1627         * docs/design/part-gstobject.txt:
1628         * docs/design/part-gstpipeline.txt:
1629         * docs/design/part-messages.txt:
1630         * docs/design/part-preroll.txt:
1631         * docs/design/part-push-pull.txt:
1632         * docs/design/part-qos.txt:
1633         * docs/design/part-query.txt:
1634         * docs/design/part-scheduling.txt:
1635         * docs/design/part-seeking.txt:
1636         * docs/design/part-segments.txt:
1637         * docs/design/part-states.txt:
1638         Documentation updates and typo fixes.
1639
1640 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * plugins/elements/gstfakesink.c:
1643           Add some debug text to error message to indicate that
1644           we errored out on request.
1645
1646         * tools/gst-launch.c:
1647           When the state change to PLAYING fails, check for an
1648           error message on the bus and print it.
1649
1650 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1651
1652         translated by: Jorge González González <aloriel@gmail.com>
1653
1654         * po/LINGUAS:
1655         * po/es.po:
1656           Added Spanish translation.
1657
1658 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
1659
1660         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1661         Fix printf arguments.
1662
1663 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1664
1665         * tests/check/generic/states.c:
1666           Improved state change unit test.
1667
1668 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1669
1670         * gst/gstbin.h:
1671           Move priv to the right place.
1672
1673         * gst/gstsystemclock.c:
1674           Add FIXME: and improve log.
1675
1676         * tests/check/Makefile.am:
1677         * tests/examples/manual/Makefile.am:
1678           Work with all types of registries.
1679
1680 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
1681
1682         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1683         Don't unref the event after pushing it. Fixes #478401.
1684
1685 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1686
1687         * .cvsignore:
1688         * tests/examples/manual/.cvsignore:
1689           Ignore registries in any format.
1690
1691 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1692
1693         * gst/glib-compat-private.h:
1694           Add compatibility macro for g_intern_string() for
1695           GLib-2.8 (any reason we can't just bump the
1696           requirement to at least 2.10?)
1697
1698         * gst/gstpadtemplate.h:
1699         * gst/gstelementfactory.c:
1700         * gst/gstregistryxml.c:
1701         * gst/gstregistrybinary.c:
1702           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
1703           up the internal code accordingly.  This shouldn't be a problem, since
1704           there is no reason external code could ever assume the string in such
1705           a structure is dynamically allocated unless it did that itself;  the
1706           use of g_strdup() is private to element factories.  The new code also
1707           saves some memory by putting pad template name strings into the GLib
1708           quark table instead of allocating them dynamically.
1709           Declaring this field constant fixes warnings with g++-4.2 when using
1710           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
1711
1712 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1713
1714         * gst/gstelementfactory.c:
1715           Release static caps. Fixes #475723.
1716
1717 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
1718
1719         * gst/gstinfo.c:
1720         * gst/gstinfo.h:
1721           Make some internal API take const gchar * instead of just
1722           gchar * to avoid compiler warnings with g++-4.2.2 when
1723           passing string constants (partially fixes #478092).
1724
1725 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1726
1727         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
1728         A latency query fails when one of the sinks fail.
1729
1730         * gst/gstelement.c: (gst_element_set_base_time):
1731         Improve debugging.
1732
1733 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1734
1735         * gst/gstbin.c: (gst_bin_continue_func):
1736         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1737         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
1738         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
1739
1740         Fix minor compilation warnings shown with Forte.
1741
1742 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1743
1744         * plugins/elements/gstqueue.c: (apply_buffer),
1745         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
1746         Measure queue level based on the diff between head and tail timestamps
1747         even when pushing the first buffer.
1748
1749 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1750
1751         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1752         (gst_base_sink_event), (gst_base_sink_change_state):
1753         Sinks that don't preroll can always be queried for the latency.
1754         Don't post ASYNC start when we are not async.
1755
1756 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1757
1758         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1759         (gst_queue_handle_sink_event), (gst_queue_chain),
1760         (gst_queue_push_one), (gst_queue_handle_src_query),
1761         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
1762         * plugins/elements/gstqueue.h:
1763         When downstream returns UNEXPECTED from pushing a buffer, don't try to
1764         push more buffers but allow pushing of EOS and NEWSEGMENT.
1765         Add some more debug info here and there. Fixes #476514.
1766
1767 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1768
1769         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1770         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
1771         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1772         (gst_base_sink_set_flushing), (gst_base_sink_query),
1773         (gst_base_sink_change_state):
1774         Latency query is allowed after we are prerolled. Introduce a new flag
1775         for this and stop abusing other variables.
1776
1777 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1778
1779         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1780         Push OOB events downstream when we get them in send_event. This allows
1781         the application to insert events in the pipeline.
1782         Add some more comments.
1783
1784 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1785
1786         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
1787         (do_bin_latency), (gst_bin_change_state_func):
1788         * gst/gstpipeline.c: (gst_pipeline_change_state):
1789         Move latency query from GstPipeline to GstBin so that we can also
1790         use it when async-handling is enabled on bins.
1791
1792 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1793
1794         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1795         (gst_base_src_do_sync), (gst_base_src_change_state):
1796         Update docs.
1797         Clean up the timestamping and syncing code for pseudo live sources.
1798
1799 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
1800
1801         Patch by: Steve Fink  <sphink gmail com>
1802
1803         * docs/manual/appendix-checklist.xml:
1804           Mention less -R switch in the section about debug output (#474055).
1805
1806 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1807
1808         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1809         Queue can latency to the pipeline up to the configured max size in time.
1810         Report this fact in the latency query.
1811
1812 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1813
1814         Patch by: Sebastien Moutte <sebastien at moutte dot net>
1815
1816         * libs/gst/controller/gstinterpolation.c:
1817         * libs/gst/controller/gstlfocontrolsource.c:
1818         Use gst_guint64_to_gdouble() when converting from a uint64 or
1819         GstClockTime to double to fix the build on win32. Fixes #474371.
1820
1821 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1822
1823         * gst/gstbuffer.c: (gst_buffer_finalize):
1824         Implement poisoning for GstBuffer if --enable-poisoning is specified.
1825         When finalizing a buffer the complete struct is filled with 0xff,
1826         thus making a use of the buffer after the final unref impossible.
1827
1828 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1829
1830         * tests/check/libs/controller.c: (GST_START_TEST):
1831         Use fail_unless_equals_int(a, b) instead of
1832         fail_unless_equals (a == b) to get better output on failures.
1833
1834 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1835
1836         * tests/check/gst/gsturi.c:
1837           Also check for the other file URI variant on win32.
1838
1839 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1840
1841         * gst/gsturi.c: (gst_uri_get_location):
1842           If there's no hostname, we want to return 'c:/foo/bar.txt'
1843           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
1844
1845         * tests/check/gst/gsturi.c:
1846           Unit test for the above and a few more things.
1847
1848 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1849
1850         * docs/design/part-live-source.txt:
1851         Add docs on how live sources should timestamp.
1852
1853         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1854         Add some more debug info.
1855         For subclasses that are live and like to sync, add aditional startup
1856         latency to sync time and timestamps so that we timstamp according to the
1857         design doc.
1858
1859 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1860
1861         * gst/gstbuffer.c:
1862           Also do a g_type_class_ref() for the subbuffer type in
1863           the init function.
1864
1865 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1866
1867         * docs/gst/gstreamer-sections.txt:
1868         * gst/gstpad.c: (gst_pad_peer_query):
1869         * gst/gstpad.h:
1870         Add function to perform a query on the peer of a pad.
1871         API: gst_pad_peer_query()
1872
1873 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
1874
1875         * tests/check/gst/gstsystemclock.c:
1876           Cleanup the test a little (use gst-logging and not g_message). Improve
1877           test to check if a wait reached the target.
1878
1879 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1880
1881         * docs/libs/gstreamer-libs-sections.txt:
1882           Add new API to docs and fix the build.
1883
1884 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
1885
1886         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1887         (gst_base_src_init), (gst_base_src_set_do_timestamp),
1888         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
1889         (gst_base_src_get_property), (gst_base_src_do_sync):
1890         * libs/gst/base/gstbasesrc.h:
1891         Add property to make the basesrc timestamp buffers based on the current
1892         running time.
1893         API: GstBaseSrc::do-timestamp
1894         API: gst_base_src_set_do_timestamp()
1895         API: gst_base_src_get_do_timestamp()
1896
1897 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
1898
1899         * docs/random/release:
1900           Really make sure translations are up-to-date before
1901           a release (#465010).
1902
1903 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1904
1905         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1906         Always destroy the timer, also in error cases.
1907
1908 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1909
1910         * docs/manual/highlevel-xml.xml:
1911         Fix XML example code. Fixes #472714.
1912
1913 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1914
1915         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1916         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1917         (gst_base_sink_query):
1918         Protect eos and have_preroll with the OBJECT lock so we don't need to
1919         take the PREROLL lock when querying the latency. Fixes #473846.
1920
1921 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1922
1923         * gst/gstelement.c:
1924           Give some log-messages a category.
1925
1926 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1927
1928         * gst/gststructure.c:
1929         (gst_structure_fixate_field_nearest_fraction):
1930         Fix fraction list fixation code. Take the fraction with the smallest
1931         difference with the target instead of the first one in the list.
1932
1933         * tests/check/gst/gststructure.c: (GST_START_TEST),
1934         (gst_structure_suite):
1935         Added test to verify correct fraction list fixation behaviour.
1936
1937 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1938
1939         * win32/common/libgstreamer.def:
1940           Export gst_bus_add_signal_watch too.
1941
1942 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1943
1944         * docs/libs/gstreamer-libs-sections.txt:
1945         Add new methods to docs.
1946
1947         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1948         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1949         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1950         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1951         * libs/gst/base/gstbasesink.h:
1952         Add ts-offset property to fine-tune the synchronisation.
1953         API: GstBaseSink::ts-offset property
1954         API: gst_base_sink_set_ts_offset()
1955         API: gst_base_sink_get_ts_offset()
1956
1957 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1958
1959         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1960         (gst_base_sink_init), (gst_base_sink_set_sync),
1961         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1962         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1963         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1964         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1965         (gst_base_sink_get_property), (gst_base_sink_change_state):
1966         * libs/gst/base/gstbasesink.h:
1967         Add async property to instruct the sink never to inform the parent about
1968         ASYNC state changes, update docs.
1969         Check argument with g_return_* for the public functions.
1970         API: GstBaseSink::async property
1971         API: gst_base_sink_set_async_enabled()
1972         API: gst_base_sink_is_async_enabled()
1973
1974 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1975
1976         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1977         Improve debugging.
1978
1979         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1980         (gst_base_src_default_query), (gst_base_src_wait),
1981         (gst_base_src_do_sync), (gst_base_src_change_state):
1982         Rearrange some code so that we can add support for measuring the 
1983         startup latency.
1984
1985 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1986
1987         * docs/random/ensonic/dynlink.txt:
1988           More thoughs on this.
1989
1990         * plugins/elements/gstcapsfilter.c:
1991           Add bugzilla ticket number to FIXME comment.
1992
1993 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1994
1995         * docs/design/part-TODO.txt:
1996         * docs/design/part-block.txt:
1997         Update some docs.
1998
1999 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2000
2001         * gst/Makefile.am:
2002           Revert patch which uses $(gst_headers) instead of $^ because it
2003           breaks make dist.
2004
2005 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
2006
2007         * tests/check/gst/gstbin.c: (GST_START_TEST):
2008           Fix leaks in the new unit test.
2009
2010 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
2011
2012         * gst/gst.c:
2013           Don't use GST_INFO before the debug system is actually initialised
2014           (shouldn't do any harm, but won't print anything either, so we can
2015           just as well remove it).
2016
2017         * gst/gstinfo.h:
2018           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
2019           compilers that don't support variadic macros (such as MSVC), should
2020           check for debug_level <= __gst_debug_min as well, since that's the
2021           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
2022           inline helper functions. Should improve performance a bit, but also
2023           makes sure uses of GST_INFO et.al are ignored if the debugging
2024           system isn't initialised yet (instead of printing an assertion
2025           failure).
2026
2027 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
2028
2029         patch by: David Nečas <yeti@physics.muni.cz>
2030
2031         * gst/Makefile.am:
2032           Replace some non portable makefile constructs.
2033
2034 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
2035
2036         * common/gtk-doc-plugins.mak:
2037           Grrrrr. Don't remove the types file on make clean.
2038
2039 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
2040
2041         * tools/gst-launch.1.in:
2042         Add colorspace to example pipeline. Fixes #458274.
2043
2044 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
2045
2046         * docs/random/release:
2047           The release manager should run 'make download-po' before making a
2048           release to make sure translations are up-to-date.
2049
2050         * po/LINGUAS:
2051         * po/be.po:
2052         * po/pl.po:
2053         * po/rw.po:
2054           Add some new translations.
2055
2056 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
2057
2058         * tools/gst-launch.c: (event_loop), (main):
2059         Don´t try to do any state management when a live pipeline posts
2060         buffering messages.
2061         Also make the buffering string translatable.
2062
2063 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2064
2065         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
2066         (bin_handle_async_start), (gst_bin_handle_message_func):
2067         Improve debugging.
2068         When adding elements, insert messages into the bus of the newly added
2069         element and make sure the element is the source of the message. This
2070         allows the parent bin to intercept the message and do the
2071         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
2072         messages to the app (which is not allowed).
2073         Update some docs.
2074
2075         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2076         Fix testsuite so that is does not work around messages that should not
2077         have been posted in the first place.
2078
2079 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2080
2081         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
2082         (update_degree), (gst_bin_sort_iterator_next):
2083         Fix annoying bug in the sorted iterator where a sink that is not really
2084         a sink (when it has downstream links) screwed up the iterator.
2085
2086         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2087         Unit test to verify the fix.
2088
2089 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
2090
2091         * gst/gstmessage.h:
2092         Add some more docs for the messages.
2093
2094         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
2095         (gst_base_sink_query):
2096         Add some more debugging.
2097
2098         * tools/gst-launch.c: (event_loop):
2099         When interrupting, don't try to set pipeline to PAUSED twice.
2100
2101 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
2102
2103         
2104         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
2105         (bin_handle_async_start), (gst_bin_handle_message_func):
2106         Move ASYNC_START message posting to where it belongs, similar to
2107         async_done. 
2108         Don't post ASYNC_START when we are in error. 
2109         Post ASYNC_START when we added an async element to a bin.
2110
2111 2007-08-14  Julien MOUTTE  <julien@moutte.net>
2112
2113         * gst/gstindex.c: (gst_index_add_association): Fix index entry
2114         generation from vargs. Fixes #466595.
2115
2116 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
2117
2118         * gst/gstbin.c: (gst_bin_element_set_state):
2119         Always change the state of a NO_PREROLL element even if it has ASYNC
2120         elements inside (in case of a bin).
2121
2122         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
2123         Unit test for this case.
2124
2125 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
2126
2127         * libs/gst/check/gstbufferstraw.c:
2128         * libs/gst/check/gstcheck.h:
2129         * libs/gst/controller/gstcontroller.c:
2130         * libs/gst/controller/gstcontrolsource.h:
2131         * libs/gst/controller/gstlfocontrolsource.h:
2132         * plugins/elements/gstcapsfilter.h:
2133         * plugins/elements/gstfdsink.h:
2134         * plugins/elements/gstfdsrc.h:
2135           Add more missing docs.
2136
2137 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2138
2139         * gst/gststructure.c:
2140         Add Since tag to docs.
2141
2142 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2143
2144         * docs/gst/gstreamer-sections.txt:
2145         * gst/gststructure.c: (gst_structure_get_uint):
2146         * gst/gststructure.h:
2147         Add function to get uint from a structure.
2148         API: gst_structure_get_uint()
2149
2150 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
2151
2152         * gst/gstcaps.c: (gst_caps_set_simple_valist),
2153         (gst_caps_intersect):
2154         Fix proper check for simple caps.
2155
2156 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
2157
2158         * docs/gst/Makefile.am:
2159         * docs/libs/Makefile.am:
2160           Remove cruft and do some cleanups.
2161
2162         * docs/gst/gstreamer-docs.sgml:
2163         * docs/libs/gstreamer-libs-docs.sgml:
2164           Prepare for comming gtkdoc features (rebase against online docs).
2165
2166 2007-08-10  Michael Smith <msmith@fluendo.com>
2167
2168         * docs/gst/gstreamer-sections.txt:
2169           Add gst_registry_add_path to docs.
2170
2171 2007-08-10  Michael Smith <msmith@fluendo.com>
2172
2173         * gst/gstregistry.h:
2174           Add gst_registry_add_path, which was missing from this header.
2175
2176 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
2177
2178         * libs/gst/controller/gstlfocontrolsource.c:
2179           Printf format fix.
2180
2181 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
2182
2183         * libs/gst/base/gstbasesink.c:
2184           Don't send an async_start message during downwards state change if 
2185           target state is less than READY
2186
2187 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2188
2189         translated by: Gabor Kelemen <kelemeng@gnome.hu>
2190
2191         * po/LINGUAS:
2192         * po/hu.po:
2193           Added Hungarian translation.
2194
2195 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2196
2197         * po/fi.po:
2198         * po/it.po:
2199         * po/nl.po:
2200         * po/sv.po:
2201         * po/uk.po:
2202           Updated translations.
2203
2204 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
2205
2206         * libs/gst/controller/Makefile.am:
2207         Dist gstlfocontrolsourceprivate.h
2208
2209 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
2210
2211         * docs/libs/gstreamer-libs.types:
2212         Don't register the enum type gst_lfo_waveform_get_type() in the
2213         .types file - only GObject derived types belong.
2214
2215 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
2216
2217         Patch by: <arenevier at fdn dot fr>
2218
2219         * gst/gstbuffer.h:
2220         Remove comma from last element in enum to avoid compile errors when
2221         using -pendantic. Fixes #464366.
2222
2223 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
2224
2225         * docs/design/part-TODO.txt:
2226         Add some more TODO items
2227
2228         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
2229         Improve debugging.
2230
2231         * gst/gstcaps.c: (gst_caps_intersect):
2232         Optimize trivial intersection case between identical caps pointers.
2233
2234         * gst/gstelement.c: (gst_element_continue_state),
2235         (gst_element_set_state_func):
2236         * gst/gstpad.c:
2237         Fix spelling and grammar mistakes.
2238
2239 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
2240
2241         * po/POTFILES.in:
2242         * po/POTFILES.skip:
2243           Update POTFILES. Fixes #461599.
2244
2245 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
2246
2247         * gst/gst.c:
2248         Fix confusing typo in debug output.
2249
2250 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
2251
2252         reviewed by: Stefan Kost <ensonic@users.sf.net>
2253
2254         * libs/gst/controller/Makefile.am:
2255         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
2256         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
2257         (gst_lfo_control_source_new),
2258         (gst_lfo_control_source_set_waveform),
2259         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
2260         (gst_lfo_control_source_finalize),
2261         (gst_lfo_control_source_dispose),
2262         (gst_lfo_control_source_set_property),
2263         (gst_lfo_control_source_get_property),
2264         (gst_lfo_control_source_class_init):
2265         * libs/gst/controller/gstlfocontrolsource.h:
2266         * libs/gst/controller/gstlfocontrolsourceprivate.h:
2267         API: Add GstLFOControlSource, a control source that gives values
2268         for specific timestamps based on several periodic waveforms.
2269         Fixes #459717.
2270
2271         * tests/check/libs/controller.c: (GST_START_TEST),
2272         (gst_controller_suite):
2273         * docs/libs/gstreamer-libs-docs.sgml:
2274         * docs/libs/gstreamer-libs-sections.txt:
2275         * docs/libs/gstreamer-libs.types:
2276         Add documentation and unit tests for GstLFOControlSource.
2277
2278 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
2279
2280         * configure.ac:
2281         Back to CVS
2282
2283 === release 0.10.14 ===
2284
2285 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
2286
2287         * configure.ac:
2288           releasing 0.10.14, "Breathing Vacuum"
2289
2290 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
2291
2292         * gst/gstelement.c: (gst_element_class_set_details_simple):
2293         * gst/gstelement.h:
2294           Make strings passed to gst_element_class_set_details_simple()
2295           constant, as they should be (#462752).
2296
2297 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
2298
2299         * gst/gstbin.c: (gst_bin_change_state_func),
2300         (bin_handle_async_done), (gst_bin_handle_message_func):
2301         Don't forget about the fact that some element went ASYNC even after a
2302         resync. This makes us post the ASYNC_DONE message correctly.
2303         Fixes #462558.
2304
2305 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
2306
2307         * gst/gstregistry.c: (gst_registry_add_feature):
2308         When replacing an existing feature in the registry, make sure to
2309         continue holding a reference until we've replaced the name string
2310         within our feature hash table. Make sure to use g_hash_table_replace
2311         instead of g_hash_table_insert to ensure the new name string is used
2312         as a key instead of the old one that we're about to free.
2313         Fixes: #462085
2314
2315 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
2316
2317         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2318         (gst_plugin_feature_set_name):
2319         Revert patch from #459466 until after the release and we can work
2320         out exactly what the problem is (if any).
2321
2322 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
2323
2324         * docs/gst/gstreamer-sections.txt:
2325         * gst/gsttaglist.c:
2326         * gst/gsttaglist.h:
2327           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
2328
2329 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
2330
2331         * docs/libs/Makefile.am:
2332         Include our build-prefix libs and includes before the generic ones to
2333         avoid linking against the installed libs when we want the build-tree
2334         ones.
2335
2336 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
2337
2338         Patch by: Steve Fink  <sphink gmail com>
2339
2340         * docs/pwg/building-testapp.xml:
2341           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
2342           if people try to build or install the example from the plugin
2343           template against a GStreamer from package using the configure
2344           defaults.
2345
2346 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
2347
2348         Patch by: Steve Fink  <sphink gmail com>
2349
2350         * tools/gst-inspect.1.in:
2351           Document --print-all and --print-plugin-auto-install-info command
2352           line options in man page.
2353
2354 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
2355
2356         * docs/gst/gstreamer-sections.txt:
2357         Add docs for new api function.
2358
2359 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
2360
2361         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
2362         * gst/gstelementfactory.h:
2363         API: gst_element_factory_has_interface()
2364         Added method to check if an element factory implements a named
2365         interface.
2366
2367 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
2368
2369         * configure.ac:
2370         * docs/gst/gstreamer.types.in:
2371           Another conditional doc check.
2372
2373         * gst/gstmessage.c:
2374         * gst/gstparamspecs.h:
2375         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2376         * gst/gstvalue.c:
2377         * gst/gstxml.h:
2378           API-doc fixes.
2379
2380 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
2381
2382         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
2383         (gst_registry_binary_load_feature),
2384         (gst_registry_binary_load_plugin),
2385         (gst_registry_binary_read_cache):
2386           Print error just once and with additional info.
2387
2388 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
2389
2390         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2391         (helper_find_suggest), (helper_find_get_length),
2392         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
2393         (gst_type_find_helper_for_buffer):
2394           Cleanup the typefindhelper code and add private doc comments.
2395
2396 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
2397
2398         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2399         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
2400         Fix capsfilter for cases where the caps set on capsfilter will provide
2401         additional information.
2402         Fixes #449197
2403
2404 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
2405
2406         * gst/gsttypefindfactory.c:
2407           Fix docs that recommened wrong function to use.
2408
2409 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
2410
2411         * tools/gst-inspect.c: (print_plugin_features):
2412           Also give media-type for typefinders in element output.
2413
2414 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
2415
2416         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
2417         (gst_registry_remove_features_for_plugin_unlocked),
2418         (gst_registry_add_feature), (gst_registry_remove_feature),
2419         (gst_registry_lookup_feature_locked):
2420         * gst/gstregistry.h:
2421           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
2422           Fixes #459501.
2423
2424 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
2425
2426         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2427         (gst_plugin_feature_set_name):
2428           Avoid double memory usage for pluginfeature names. Fixes #459466.
2429
2430 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
2431
2432         * gst/gstpad.h:
2433           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
2434           driving the pipeline may need to explicitly check for NOT_LINKED as
2435           well, since IS_FATAL doesn't cover that.
2436
2437 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
2438
2439         * docs/pwg/advanced-types.xml:
2440           Fix typo and duplicate entry in video formats list.
2441
2442 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
2443
2444         * libs/gst/controller/gstinterpolation.c:
2445         Also round to the nearest int when using cubic interpolation.
2446
2447 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
2448
2449         * libs/gst/controller/gstinterpolation.c:
2450         When linearly interpolating integer types, round to the nearest int
2451         by adding 0.5. Don't do it for float/double types.
2452         Fixes the failing controller test on my machine, which is somehow
2453         rounding differently than on the buildbots.
2454
2455 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2456
2457         * tools/gst-plot-timeline.py:
2458           Better log parsing (categories can have -). Adjust text vs. lines, so
2459           that they span the same y-range.        
2460
2461 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2462
2463         * docs/random/ensonic/audiobaseclasses.txt:
2464         * docs/random/ensonic/dynlink.txt:
2465         * docs/random/ensonic/profiling.txt:
2466           Save my thoughts.
2467
2468         * docs/random/moving-plugins:
2469           Add note to use g_assert type macros.
2470
2471 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2472
2473         * configure.ac:
2474         * libs/gst/check/Makefile.am:
2475           Add libm check as we use in for plugins.
2476
2477 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
2478
2479         * gst/gstbin.c: (gst_bin_continue_func):
2480         Check that the state_cookie hasn't changed since the continue_func
2481         was scheduled. Avoids problems where the state changes back to
2482         something it shouldn't be because it was changed in the meantime.
2483
2484 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
2485
2486         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
2487         (gst_registry_binary_save_string),
2488         (gst_registry_binary_save_pad_template),
2489         (gst_registry_binary_save_feature),
2490         (gst_registry_binary_save_plugin),
2491         (gst_registry_binary_load_feature),
2492         (gst_registry_binary_load_plugin),
2493         (gst_registry_binary_read_cache):
2494           Fix memory leak. Be less verbose in the log.
2495
2496 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2497
2498         * tests/check/elements/.cvsignore:
2499         Add file to cvsignore as commanded.
2500
2501 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2502
2503         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2504         (mq_dummypad_event), (run_output_order_test):
2505         Use a GStaticMutex to protect all cases where libcheck
2506         fail_if/fail_unless macros might be called from multiple threads
2507         simultaneously to avoid errors like:
2508           "check_pack.c:107: :-1081725400:Bad message type arg"
2509
2510 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2511
2512         * tests/check/pipelines/stress.c: (GST_START_TEST):
2513         Make sure we set the pipeline back to the NULL state before
2514         dropping our final reference.
2515
2516 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2517
2518         * tests/check/elements/tee.c: (GST_START_TEST):
2519         Make the tee stress-test a little less stressful so it doesn't just
2520         time out on slow-machines, and remove a small race when it's starting 
2521         up by adding a get_state() call.
2522
2523 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
2524
2525         * gst/gst.c:
2526           Avoid reading registry twice on startup. Fixes #457322.
2527
2528 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
2529
2530         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2531         * pkgconfig/gstreamer-check.pc.in:
2532         Substitute the CFLAGS for libcheck into our .pc file too so that
2533         dependent modules will pick it up properly if libcheck is installed
2534         into some other prefix.
2535
2536 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
2537
2538         * configure.ac:
2539         Revert the pkg-config check for libcheck, since it pulls in the
2540         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
2541         a proper solution, either from the check project, or something else.
2542
2543 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
2544
2545         * configure.ac:
2546           Use pkg-config to locate check.
2547
2548 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
2549
2550         * gst/gsttaglist.c:
2551           Fix doc syntax.
2552
2553         * gst/gstutils.c:
2554         * gst/gstutils.h:
2555           Add deprecation guards.
2556
2557         * libs/gst/base/gstcollectpads.h:
2558           Don't document object (this is implicitly private).
2559
2560 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
2561
2562         * gst/gststructure.c: (gst_structure_parse_value):
2563           When deserialising foo=bar without a type cast, check if it's a
2564           boolean before falling back to a string type, otherwise things like
2565           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
2566           because the filtercaps end up having a signed=(string)true field,
2567           which causes problems later when intersection caps.
2568
2569         * tests/check/gst/gststructure.c: (GST_START_TEST):
2570           Add a unit test for this.
2571
2572 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
2573
2574         Reviewed by: Stefan Kost <ensonic@users.sf.net>
2575
2576         * libs/gst/controller/Makefile.am:
2577         * libs/gst/controller/gstcontroller.c:
2578         (gst_controlled_property_add_interpolation_control_source),
2579         (gst_controlled_property_new), (gst_controlled_property_free),
2580         (gst_controller_find_controlled_property),
2581         (gst_controller_new_valist), (gst_controller_new_list),
2582         (gst_controller_new), (gst_controller_remove_properties_valist),
2583         (gst_controller_remove_properties_list),
2584         (gst_controller_remove_properties),
2585         (gst_controller_set_property_disabled),
2586         (gst_controller_set_disabled), (gst_controller_set_control_source),
2587         (gst_controller_get_control_source), (gst_controller_get),
2588         (gst_controller_sync_values), (gst_controller_get_value_array),
2589         (_gst_controller_dispose), (gst_controller_get_type),
2590         (gst_controlled_property_set_interpolation_mode),
2591         (gst_controller_set), (gst_controller_set_from_list),
2592         (gst_controller_unset), (gst_controller_unset_all),
2593         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
2594         * libs/gst/controller/gstcontroller.h:
2595         * libs/gst/controller/gstcontrollerprivate.h:
2596         * libs/gst/controller/gstcontrolsource.c:
2597         (gst_control_source_class_init), (gst_control_source_init),
2598         (gst_control_source_get_value),
2599         (gst_control_source_get_value_array), (gst_control_source_bind):
2600         * libs/gst/controller/gstcontrolsource.h:
2601         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
2602         (gst_object_get_control_source):
2603         * libs/gst/controller/gstinterpolation.c:
2604         (gst_interpolation_control_source_find_control_point_node),
2605         (gst_interpolation_control_source_get_first_value),
2606         (_interpolate_none_get), (interpolate_none_get),
2607         (interpolate_none_get_boolean_value_array),
2608         (interpolate_none_get_enum_value_array),
2609         (interpolate_none_get_string_value_array),
2610         (_interpolate_trigger_get), (interpolate_trigger_get),
2611         (interpolate_trigger_get_boolean_value_array),
2612         (interpolate_trigger_get_enum_value_array),
2613         (interpolate_trigger_get_string_value_array):
2614         * libs/gst/controller/gstinterpolationcontrolsource.c:
2615         (gst_control_point_free), (gst_interpolation_control_source_reset),
2616         (gst_interpolation_control_source_new),
2617         (gst_interpolation_control_source_set_interpolation_mode),
2618         (gst_interpolation_control_source_bind),
2619         (gst_control_point_compare), (gst_control_point_find),
2620         (gst_interpolation_control_source_set_internal),
2621         (gst_interpolation_control_source_set),
2622         (gst_interpolation_control_source_set_from_list),
2623         (gst_interpolation_control_source_unset),
2624         (gst_interpolation_control_source_unset_all),
2625         (gst_interpolation_control_source_get_all),
2626         (gst_interpolation_control_source_get_count),
2627         (gst_interpolation_control_source_init),
2628         (gst_interpolation_control_source_finalize),
2629         (gst_interpolation_control_source_dispose),
2630         (gst_interpolation_control_source_class_init):
2631         * libs/gst/controller/gstinterpolationcontrolsource.h:
2632         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2633         API: Refactor GstController into the core controller which can take
2634         a GstControlSource for providing actual values for timestamps.
2635         Implement a interpolation control source and use this for backward
2636         compatibility, deprecate a bunch of functions that are now handled
2637         by GstControlSource or GstInterpolationControlSource.
2638         Make it possible to disable the controller completely or only for
2639         specific properties. Fixes #450711.
2640         * docs/libs/gstreamer-libs-docs.sgml:
2641         * docs/libs/gstreamer-libs-sections.txt:
2642         * docs/libs/gstreamer-libs.types:
2643         Add new functions and classes to the docs.
2644         * tests/check/libs/controller.c: (GST_START_TEST),
2645         (gst_controller_suite):
2646         * tests/examples/controller/audio-example.c: (main):
2647         Port unit test and example to the new API and add some new
2648         unit tests.
2649
2650 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
2651
2652         Patch by: Mark Nauwelaerts <manauw at skynet be>
2653
2654         * plugins/elements/gstmultiqueue.c:
2655         (gst_multi_queue_get_internal_links), (apply_buffer),
2656         (single_queue_overrun_cb), (gst_single_queue_new):
2657         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
2658         the pipeline layout can be tracked correctly. Fixes #453732.
2659
2660 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
2661
2662         * docs/gst/Makefile.am:
2663         * docs/libs/Makefile.am:
2664         * docs/plugins/Makefile.am:
2665           Simplify --extra-dir as gtkdoc scans recursively.
2666
2667 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2668
2669         * tools/gst-launch.c: (main):
2670         When we got an error, there is no point in waiting for preroll when
2671         shutting down.
2672
2673 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2674
2675         * plugins/elements/gsttee.c: (gst_tee_base_init),
2676         (gst_tee_request_new_pad), (gst_tee_release_pad),
2677         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
2678         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
2679         (gst_tee_chain):
2680         Be a lot smarter when deciding what srcpad to use for proxying
2681         the buffer_alloc. Also handle pad added/removed when doing so.
2682         Fixes #357959.
2683         Keep track of what pads we already pushed on in case we have pads
2684         added/removed while pushing. Fixes #374639 
2685
2686         * tests/check/Makefile.am:
2687         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
2688         (tee_suite):
2689         Added unit test for pad resync.
2690
2691 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2692
2693         * po/nl.po:
2694         * po/sv.po:
2695           Updated translations.
2696
2697 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2698
2699         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
2700
2701         * po/LINGUAS:
2702         * po/fi.po:
2703           Added new Finnish translation.
2704
2705 2007-06-28  Wim Taymans  <wim@fluendo.com>
2706
2707         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2708         (single_queue_overrun_cb):
2709         When figuring out when a queue is filled, use our internal time estimate
2710         based on segments, just like check_full does.
2711
2712 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2713
2714         * gst/gstminiobject.c: (gst_mini_object_get_type):
2715           Remove 3 do-nothing methods.
2716
2717 2007-06-27  Wim Taymans  <wim@fluendo.com>
2718
2719         Patch by: Tim Angus <tim at ngus dot net>
2720
2721         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2722         (gst_capsfilter_set_property):
2723         Take a reference instead of a copy when setting "caps".
2724         Fix documentation to clarify this behaviour. Fixes #449414.
2725
2726 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2727
2728         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2729         * gst/gstplugin.c: (gst_plugin_init):
2730         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
2731         * gst/gstquery.c: (gst_query_get_type):
2732         * gst/gstregistry.c: (gst_registry_init):
2733         * gst/gsturi.c: (gst_uri_handler_base_init):
2734           Remove empty instance_init() functions to save relocs and lessen the
2735           noise. Remove some of the function prototypes that are doubled by
2736           G_DEFINE_TYPE.
2737           
2738 2007-06-27  Wim Taymans  <wim@fluendo.com>
2739
2740         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
2741
2742         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
2743         Add peer and direction in the XML serialisation of ghostpads.
2744         Fixes #449226.
2745
2746 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2747
2748         * configure.ac:
2749           Preserve useful information, thanks Tim.
2750
2751 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
2752
2753         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2754         (gst_single_queue_flush), (apply_segment), (apply_buffer),
2755         (gst_single_queue_push_one), (gst_multi_queue_loop),
2756         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2757         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
2758         (compute_high_id), (gst_single_queue_new):
2759         * plugins/elements/gstmultiqueue.h:
2760         Take the multiqueue lock when updating the fill level so we don't get
2761         confused. 
2762
2763         After applying a buffer or event on the src pad segment, make sure to
2764         call gst_data_queue_limits_changed() to get the data queue to unblock
2765         and check the filled state again.
2766         
2767         Rework the not-linked pad handling so the logic is that not-linked 
2768         pads can push as fast as they like, but only so they never get 
2769         ahead of any linked pads.
2770
2771         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
2772         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
2773         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
2774
2775         Add a test to check that not-linked pads always stay behind
2776         linked pads.
2777
2778         Fixes: #430682
2779
2780 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
2781
2782         * docs/random/release:
2783           Some updates to the release procedure.
2784
2785 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2786
2787         * gst/gstelementfactory.c: (__gst_element_details_clear):
2788           Microoptimization that saves stunning 80 bytes.
2789
2790 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
2791
2792         * docs/plugins/gstreamer-plugins.args:
2793         * docs/plugins/inspect/plugin-coreelements.xml:
2794         * docs/plugins/inspect/plugin-coreindexers.xml:
2795           Update docs with caps info.
2796
2797 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2798
2799         * po/it.po:
2800           Updated Italian translation.
2801
2802 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2803
2804         * ChangeLog:
2805         * po/vi.po:
2806           Update Vietnamese translations.
2807
2808 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2809
2810         * libs/gst/base/gstbasesink.c:
2811           Remove unused signal enum.
2812
2813 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2814
2815         * docs/gst/gstreamer-sections.txt:
2816         * gst/gstelement.c:
2817         * gst/gstutils.c: (gst_type_register_static_full):
2818         Beef up and include the docs for gst_type_register_static_full and
2819         gst_element_class_set_details_simple and add the API keyword
2820         in the ChangeLog.
2821
2822 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2823
2824         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2825         (update_time_level), (gst_single_queue_push_one),
2826         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
2827         (single_queue_overrun_cb), (single_queue_underrun_cb),
2828         (single_queue_check_full):
2829         Fix setting max-* properties after adding queues.
2830         Use IS_FILLED for checking visible items.
2831         Signal overrun if multiple queues overrun.
2832         Add extra debug output.
2833         Patch by: Wim Taymans <wim@fluendo.com>
2834
2835 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
2836
2837         * gst/gstelement.c: (gst_element_class_set_details_simple):
2838         * gst/gstelement.h:
2839         * gst/gstutils.c: (gst_type_register_static_full):
2840         * gst/gstutils.h:
2841         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
2842         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
2843         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
2844         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
2845         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
2846         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
2847         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
2848         * plugins/elements/gstidentity.c: (gst_identity_base_init):
2849         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
2850         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2851         (apply_buffer), (gst_queue_chain):
2852         * plugins/elements/gsttee.c: (gst_tee_base_init):
2853         * plugins/elements/gsttypefindelement.c:
2854         (gst_type_find_element_base_init),
2855         (gst_type_find_element_class_init):
2856           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
2857           API: add gst_type_register_static_full
2858           API: add gst_element_class_set_details_simple
2859
2860 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2861
2862         * docs/pwg/advanced-types.xml:
2863           Fix typo in iana.org URI.
2864
2865 2007-06-19  Andy Wingo  <wingo@pobox.com>
2866
2867         * tests/check/pipelines/simple-launch-lines.c
2868         (test_state_change_returns): Enable pull-mode tests now that
2869         basesink has been fixed.
2870
2871         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
2872         Changed from gst_base_sink_is_prerolled, reversing the sense of
2873         the return value. Returns FALSE also if the sink is in pull mode,
2874         in which case it needs no preroll.
2875         (gst_base_sink_query, gst_base_sink_change_state): Update for
2876         needs_preroll change.
2877         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
2878         chaining up, in which we return SUCCESS directly if we activated
2879         in pull mode instead of ASYNC. Involves countering an async_start
2880         message sent before chaining up; not sure if this is correct, in
2881         an ideal world we only send async-start when activating in push
2882         mode.
2883
2884         * tests/check/pipelines/simple-launch-lines.c
2885         (test_state_change_returns): New test, partially disabled until
2886         basesink is fixed.
2887
2888 2007-06-19  Wim Taymans  <wim@fluendo.com>
2889
2890         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2891         (gst_multi_queue_sink_event):
2892         Fix event leak.
2893
2894 2007-06-19  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2897         (gst_bin_change_state_func), (bin_push_state_continue),
2898         (bin_handle_async_start), (bin_handle_async_done),
2899         (gst_bin_handle_message_func):
2900         Move the common code for posting state-change messages into
2901         one function.
2902         Broadcast the state signal after we posted the messages.
2903         Mark the bin as busy when it's doing a state-change.
2904         Make sure async-start/done messages don't interfere with the bin's
2905         state when it's busy.
2906         After the state change, let the bin check which elements completed the
2907         state change while it was busy so that it can update its state.
2908
2909 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2910
2911         * docs/random/release:
2912         Add a note about updating the doap file to the release checklist
2913
2914 2007-06-18  Wim Taymans  <wim@fluendo.com>
2915
2916         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2917         (gst_single_queue_push_one), (gst_multi_queue_chain),
2918         (gst_multi_queue_sink_event):
2919         Make sure we don't reference the buffer/event after we have given away
2920         ownership in the queue.
2921
2922 2007-06-18  Wim Taymans  <wim@fluendo.com>
2923
2924         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2925         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2926         Update queue state _after_ adding the item in the queue because else we
2927         could end up being full without the element added yet.
2928
2929 2007-06-18  Wim Taymans  <wim@fluendo.com>
2930
2931         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2932         (gst_bin_remove_func), (gst_bin_get_state_func),
2933         (gst_bin_element_set_state), (gst_bin_continue_func),
2934         (bin_push_state_continue), (bin_handle_async_start),
2935         (bin_handle_async_done), (gst_bin_handle_message_func):
2936         * gst/gstbin.h:
2937         Immediatly commit the toplevel bin state when receiving an async-done
2938         message. This enables us to avoid spawning a thread to commit the state
2939         in some common cases and it also avoids some races.
2940         Avoid spawning a state thread when adding/removing async elements to a
2941         toplevel bin. Instead we immediatly update the bin state.
2942         Get rid of iterating all the children when getting the state in the bin
2943         because it is now always up-to-date.
2944         Fix bug where locked elements would always return _SUCCESS even it they
2945         returned NO_PREROLL before being locked.
2946         Fix the order of the state_change, async-start/done messages that was
2947         sometimes incorrect.
2948         Mark the state_dirty field as deprecated, we don't need it anymore as we
2949         are always up-to-date.
2950
2951         * gst/gstelement.c: (gst_element_get_state_func),
2952         (gst_element_continue_state):
2953         Small debug inprovements.
2954         Return the previous element state return when nothing is pending instead
2955         of blindly returning SUCCESS.
2956
2957         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2958         (gst_sinks_suite):
2959         Add a whole bunch of new testcases.
2960
2961 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2962
2963         * po/uk.po:
2964         * po/vi.po:
2965           Update translations.
2966
2967 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2968
2969         * gst/gstpad.c:
2970         Fix typo in the docs.
2971
2972 2007-06-15  Wim Taymans  <wim@fluendo.com>
2973
2974         * docs/libs/gstreamer-libs-sections.txt:
2975         Add docs for new methods.
2976
2977 2007-06-15  Wim Taymans  <wim@fluendo.com>
2978
2979         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2980         (gst_multi_queue_item_new):
2981         Don't use GSlice because we don't depend on >= 2.10 yet.
2982
2983 2007-06-15  Wim Taymans  <wim@fluendo.com>
2984
2985         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2986         (update_time_level), (apply_segment), (apply_buffer),
2987         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2988         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2989         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2990         (single_queue_underrun_cb), (single_queue_check_full):
2991         Remove debug printf.
2992
2993 2007-06-15  Wim Taymans  <wim@fluendo.com>
2994
2995         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2996         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2997         (gst_data_queue_set_flushing), (gst_data_queue_push),
2998         (gst_data_queue_pop), (gst_data_queue_drop_head),
2999         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
3000         * libs/gst/base/gstdataqueue.h:
3001         Various cleanups.
3002         Added methods to get the current levels and to inform the queue that the
3003         'full' limits changed.
3004
3005         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3006         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
3007         (gst_single_queue_flush), (update_time_level), (apply_segment),
3008         (apply_buffer), (gst_single_queue_push_one),
3009         (gst_multi_queue_item_steal_object),
3010         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
3011         (gst_multi_queue_loop), (gst_multi_queue_chain),
3012         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3013         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
3014         (gst_multi_queue_src_query), (single_queue_overrun_cb),
3015         (single_queue_underrun_cb), (single_queue_check_full),
3016         (gst_single_queue_new):
3017         Keep track of time in the queue by measuring the difference between
3018         running_time on input and output. This gives more accurate results and
3019         can compensate for segments correctly.
3020         Make a queue by default only 5 buffers deep. We will now increase the
3021         buffer size depending on the filledness of the other queues.
3022         Factor out commong flush code.
3023         Make sure we don't add additional refcounts to buffers when we can avoid
3024         it.
3025         Propagate GstFlowReturn differently.
3026         Use GSlice for intermediate GstMultiQueueItems.
3027         Keep track of EOS.
3028         Resize queues on over and underruns based on filled level of other
3029         queues.
3030         When checking if the queue is filled, prefer to measure in time if we
3031         can and fall back to bytes when no time is known.
3032
3033         * plugins/elements/gstqueue.c:
3034         Fix return value.
3035
3036 2007-06-15  Wim Taymans  <wim@fluendo.com>
3037
3038         * libs/gst/base/gstbasetransform.c:
3039         (gst_base_transform_sink_event):
3040         Work around the brokenness of the event vmethod in basetransform. Prefer
3041         to return TRUE when the subclass returned FALSE (meaning don't forward
3042         the event). 
3043
3044         * libs/gst/base/gstbasetransform.h:
3045         Clarify the docs.
3046
3047 2007-06-15  Wim Taymans  <wim@fluendo.com>
3048
3049         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
3050         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3051         (gst_base_src_default_query), (gst_base_src_get_range),
3052         (gst_base_src_start):
3053         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
3054         Improve debugging.
3055
3056 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
3057
3058         * docs/pwg/advanced-types.xml:
3059           Added more formats to caps table.
3060
3061 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
3062
3063         * tools/gst-launch.c: (main):
3064           Remove crufy code. GOption does not need this workaround.
3065
3066 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3067
3068         * libs/gst/controller/gstcontroller.c:
3069         (gst_controlled_property_set_interpolation_mode):
3070           Fix wrong getter for enums in controller.
3071
3072 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3073
3074         * libs/gst/check/gstcheck.c: (gst_check_init):
3075           Intercept criticals and warnings in the Gst-Phonon log domain, so
3076           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
3077           well.
3078         
3079 2007-06-14  Edward Hervey  <edward@fluendo.com>
3080
3081         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
3082         Since this file doesn't include "gst.h" it will not go through the
3083         macros that disable GST_LOG if debugging was disabled.
3084
3085 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * libs/gst/check/Makefile.am:
3088         * libs/gst/check/gstcheck.h:
3089         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3090         * pkgconfig/gstreamer-check.pc.in:
3091           Ugly 'fix' for the controller unit test on the p5 bot: in
3092           fail_unless_equals_float() check whether the values are 'almost
3093           equal' by allowing a small absolute error, which should be good
3094           enough for our use cases (normal numbers and values close to 0).
3095           Proper fixage left to floating point arithmetic aficionados.
3096
3097 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3098
3099         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
3100         (gst_base_sink_render_object), (gst_base_sink_get_position):
3101           Add two breaks thats where missing.
3102
3103 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3104
3105         * docs/libs/gstreamer-libs-sections.txt:
3106         * libs/gst/check/gstcheck.h:
3107           API: add fail_unless_equals_float() and assert_equals_float().
3108           Add documentation for some of the macros.
3109
3110         * tests/check/libs/controller.c: (GST_START_TEST):
3111           Use newly-added asserts.
3112
3113 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
3114
3115         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
3116           Show the caps change in the log to help spotting the case of not
3117           exactly matching caps.
3118
3119 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3120
3121         * docs/pwg/building-boiler.xml:
3122           Fix typos, spotted by Thijs Vermeir (#447190).
3123
3124 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
3125
3126         * docs/plugins/tmpl/.cvsignore:
3127         Ignore file to keep the buildbots happy
3128
3129 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
3130
3131         * docs/plugins/Makefile.am:
3132         * docs/plugins/gstreamer-plugins-docs.sgml:
3133         * docs/plugins/gstreamer-plugins-sections.txt:
3134         Pull fdsink into the docs too.
3135
3136 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
3137
3138         * libs/gst/controller/gstinterpolation.c:
3139         Actually use the new functions with min/max checks for the trigger and
3140         none interpolation modes for get() and get_value_array() instead of
3141         just the latter.
3142
3143 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
3144
3145         * libs/gst/controller/gstcontroller.c:
3146         (gst_controlled_property_free):
3147         Unset the minimum and maximum GValues when freeing the corresponding
3148         GstControllerProperty struct.
3149
3150 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
3151
3152         * libs/gst/controller/gstcontroller.c:
3153         (gst_controlled_property_new):
3154         * libs/gst/controller/gstcontrollerprivate.h:
3155         * libs/gst/controller/gstinterpolation.c:
3156         (gst_controlled_property_find_control_point_node),
3157         (interpolate_none_get), (interpolate_none_get_enum_value_array),
3158         (interpolate_none_get_string_value_array),
3159         (interpolate_trigger_get),
3160         (interpolate_trigger_get_enum_value_array),
3161         (interpolate_trigger_get_string_value_array):
3162         Protect against values larger or smaller than the minimum or maximum
3163         allowed value for the property when using values that can be compared.
3164
3165         Optimize trigger interpolator a bit by taking the last requested value
3166         into account instead of always looping through the complete list.
3167
3168         Fix coding style a bit, everywhere else we use "return foo" instead
3169         of "return (foo)".
3170         
3171         * tests/check/libs/controller.c: (GST_START_TEST),
3172         (gst_controller_suite):
3173         Add unit test for the protection against too large or too small
3174         values.
3175
3176 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
3177
3178         * docs/random/slomo/controller.txt:
3179         Add some thoughts about the future of the controller.
3180
3181 2007-06-08  Wim Taymans  <wim@fluendo.com>
3182
3183         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3184         Don't overflow in retimestamping code.
3185
3186 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
3187
3188         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
3189         Use gst_util_guint64_to_gdouble for conversions.
3190         * win32/common/libgstreamer.def:
3191         Add new exported functions.
3192
3193 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
3194
3195         * gst/gstutils.c:
3196           Small docs addition.
3197
3198 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3199
3200         * README:
3201           Remove that test line again.
3202
3203 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3204
3205         * README:
3206           Test commit mail sending.
3207
3208 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3209
3210         * configure.ac:
3211           Fix typo and test commit mail sending.
3212
3213 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3214
3215         * tests/examples/controller/audio-example.c:
3216           Improve comment and test commit mail sending.
3217
3218 2007-06-07  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
3221         (gst_bin_remove_func), (gst_bin_element_set_state),
3222         (bin_handle_async_start), (bin_handle_async_done),
3223         (gst_bin_handle_message_func):
3224         Add helper function to find messages.
3225         Generate the async-done messages together with the state change
3226         messages.
3227         Small cleanups in handling toplevel bins.
3228
3229 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * libs/gst/base/gstdataqueue.c:
3232         * libs/gst/base/gstdataqueue.h:
3233         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3234         (gst_multi_queue_item_new), (gst_multi_queue_chain),
3235         (gst_multi_queue_sink_event):
3236         * tests/check/elements/multiqueue.c: (multiqueue_suite):
3237           Fix multiqueue leaking buffers and events when downstream or the
3238           queue are flushing. Make refcounting assumptions explicit and
3239           document them (shouldn't break existing code that uses it other than
3240           maybe leak miniobjects, but that already happens anyway). Add unit
3241           test for the most common flushing case. Fixes #423700.
3242           
3243 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
3244
3245         * libs/gst/controller/gstcontroller.c:
3246         Clarify docs: The get_all, get_value_array(s) functions
3247         don't modify the GObject properties.
3248
3249 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
3250
3251         * libs/gst/controller/gstcontroller.c:
3252         (gst_controlled_property_set_interpolation_mode),
3253         (gst_controlled_property_prepend_default),
3254         (gst_controlled_property_new), (gst_controller_set_unlocked),
3255         (gst_controller_set), (gst_controller_set_from_list),
3256         (gst_controller_unset), (gst_controller_unset_all):
3257         * libs/gst/controller/gstcontrollerprivate.h:
3258         * libs/gst/controller/gstinterpolation.c:
3259         Factor out the 'set' logic into gst_controller_set_unlocked for the
3260         gst_controller_set and gst_controller_set_from_list functions.
3261
3262         To make life of the interpolators easier always add a control point
3263         at timestamp zero with the default value.
3264
3265         In the linear interpolator make things more obvious by better variable
3266         naming (slope).
3267
3268         Implement cubic interpolation mode (by using a natural cubic spline)
3269         and map the quadratic interpolation mode to this too (as quadratic
3270         doesn't make much sense, see discussion on the list).
3271
3272         * tests/check/libs/controller.c: (GST_START_TEST),
3273         (gst_controller_suite):
3274         Add unit test for the cubic interpolation mode and check everywhere
3275         if the interpolation mode could be set as expected.
3276
3277 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3278
3279         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
3280           Don't use GLib-2.10 functions, we still depend on
3281           GLib-how-old-is-it-again-2.8.
3282
3283 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3284
3285         * docs/gst/gstreamer-sections.txt:
3286         * gst/Makefile.am:
3287         * gst/gst.c:
3288         * gst/gst.h:
3289         * gst/gstparamspecs.c: (_gst_param_fraction_init),
3290         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
3291         (_gst_param_fraction_values_cmp),
3292         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
3293         * gst/gstparamspecs.h:
3294         * gst/gstvalue.c:
3295         * tests/check/Makefile.am:
3296         * tests/check/gst/.cvsignore:
3297         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
3298         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
3299         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
3300         (GST_START_TEST), (gst_param_spec_suite):
3301           API: add GstParamSpecFraction, so elements can have fraction
3302           properties without lots of painful string parsing (#444648).
3303
3304 2007-06-05  Wim Taymans  <wim@fluendo.com>
3305
3306         * gst/gstobject.c: (gst_object_class_init):
3307         Fix signal signature.
3308
3309         * gst/gstsegment.c:
3310         Add small clarification in the api docs.
3311
3312         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
3313         States are protected with object lock.
3314
3315 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
3316
3317         * AUTHORS:
3318         I should probably be listed as an author by now.
3319
3320         * docs/random/release:
3321         Update the release doc
3322
3323 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
3324
3325         * gst/gstvalue.c:
3326           Make docs for gst_value_compare() mention return enums that
3327           actually exist.
3328
3329 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
3330
3331         * configure.ac:
3332           Back to CVS
3333
3334 === release 0.10.13 ===
3335
3336 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
3337
3338         * configure.ac:
3339           releasing 0.10.13, "With or without you"
3340
3341 2007-05-25  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/gstbin.c: (bin_handle_async_done):
3344         Make sure that the child bin stops after completing the async state
3345         change so that the parent can continue the state change to PLAYING.
3346         Fixes #441159.
3347
3348 2007-05-25  Wim Taymans  <wim@fluendo.com>
3349
3350         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3351         (unref_data), (gst_collect_pads_remove_pad),
3352         (gst_collect_pads_check_pads):
3353         Use additional refcounting to avoid crashes when dynamically adding and
3354         removing pads. Fixes #420206.
3355
3356 2007-05-24  Wim Taymans  <wim@fluendo.com>
3357
3358         * tools/gst-launch.c: (event_loop):
3359         When buffering goes from a two digit to a single digit number, make sure
3360         to remove the old second digit by writing a blank over it.
3361
3362 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * libs/gst/base/gstdataqueue.c:
3365           Eliminate tabs and trailing comma in enum list; fix some typos.
3366
3367 2007-05-24  Wim Taymans  <wim@fluendo.com>
3368
3369         * tests/check/gst/gstbin.c: (GST_START_TEST):
3370         Allow refcount of 3 and 4 because some state thread might still be busy
3371         with it.
3372
3373 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3374
3375         * plugins/elements/Makefile.am:
3376         * plugins/elements/gstmultiqueue.h:
3377         * plugins/elements/gstqueue.h:
3378           These are not installed headers, no need for padding.
3379
3380 2007-05-24  Wim Taymans  <wim@fluendo.com>
3381
3382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3383         (gst_bin_continue_func):
3384         Enable latency for next release.
3385         Restore STATE_LOCK around recalc_state that was left out during the
3386         rewrite and could result in racy behaviour when _get_state and
3387         recalc_state are run concurrently. See #440463.
3388
3389 2007-05-23  Wim Taymans  <wim@fluendo.com>
3390
3391         * tests/check/gst/gstsystemclock.c: (store_callback),
3392         (GST_START_TEST):
3393         Improve test_async_order to also work when both timers are already
3394         expired when we get scheduled to check it.
3395
3396 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
3397
3398         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
3399         (gst_bin_set_property), (gst_bin_get_property),
3400         (gst_bin_remove_func), (gst_bin_handle_message_func):
3401         * gst/gstbin.h:
3402           'private' is a c++ keyword, let's not use that in header files,
3403           otherwise c++ compilers will throw a tantrum.
3404
3405 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
3406
3407         * plugins/elements/gstelements.c:
3408         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
3409         (gst_file_sink_get_current_offset):
3410         * plugins/indexers/gstindexers.c: (plugin_init):
3411           Use #ifdef for HAVE_XYZ for consistency.
3412
3413         * tests/check/Makefile.am:
3414         * tests/check/elements/.cvsignore:
3415         * tests/check/elements/filesink.c: (setup_filesink),
3416         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
3417           Add some unit tests for filesink.
3418
3419 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
3420
3421         Patch by: Mark Nauwelaerts <manauw at skynet be>
3422
3423         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3424         (gst_file_sink_query), (gst_file_sink_do_seek),
3425         (gst_file_sink_get_current_offset), (gst_file_sink_render):
3426         * plugins/elements/gstfilesink.h:
3427           Fix position reporting; rename data_written member to current_pos to
3428           reflect its real meaning (fixes #412648).
3429
3430 2007-05-22  Edward Hervey  <edward@fluendo.com>
3431
3432         * docs/gst/gstreamer-sections.txt:
3433         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3434         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
3435         (gst_bin_remove_func), (gst_bin_handle_message_func):
3436         * gst/gstbin.h:
3437         Add a property for bins that handle the state change of their childs.
3438         Fixes #435880
3439
3440 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
3441
3442         * libs/gst/controller/gstinterpolation.c:
3443         Use an array of the correct type when using _get_value_array with
3444         linear interpolation.
3445
3446 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
3447
3448         * gst/gstelement.c (gst_element_requires_clock,
3449           gst_element_provides_clock, gst_element_request_pad,
3450           gst_element_class_set_details, gst_element_class_set_details_simple,
3451           gst_element_default_send_event, gst_element_abort_state,
3452           gst_element_continue_state, gst_element_set_state,
3453           gst_element_set_state_func, iterator_activate_fold_with_resync):
3454         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
3455           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
3456           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
3457           gst_pad_get_range, gst_pad_pull_range):
3458         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
3459           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
3460           GstPadActivateModeFunction, GstPadChainFunction,
3461           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
3462           GstPadFixateCapsFunction, GstPadTemplate):
3463         * gst/gstpipeline.c (gst_pipeline_change_state,
3464           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
3465           gst_pipeline_set_clock, gst_pipeline_auto_clock,
3466           gst_pipeline_get_delay):
3467           Whitespace and docs fixes.
3468
3469 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3470
3471         * libs/gst/controller/gstinterpolation.c:
3472         (interpolate_trigger_get_enum_value_array),
3473         (interpolate_trigger_get_string_value_array):
3474         Add support for retrieving value arrays when using the trigger
3475         interpolation mode. 
3476
3477 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3478
3479         * libs/gst/controller/gstcontroller.c:
3480         (gst_controller_get_value_array):
3481         * libs/gst/controller/gstcontroller.h:
3482         Clarify the docs of gst_controller_get_value_array(): The array where
3483         the values should be written to must be allocated as there seems to be
3484         no way to get the size of a random GType. This doesn't change any
3485         behaviour. Also fix some typos all over the place and remove an unused,
3486         commented function that is not necessary as g_object_set() could be
3487         used instead.
3488         * tests/check/libs/controller.c: (GST_START_TEST),
3489         (gst_controller_suite):
3490         Add unit test for gst_controller_get_value_array().
3491
3492 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
3493
3494         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3495
3496         Disable part of the gst_buffer_try_new_and_alloc test, because
3497         it can happily succeed on 64-bit systems where there's more address
3498         space available.
3499
3500 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3501
3502         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3503         Add unit test for the improved caps checking from bug #421543.
3504
3505 2007-05-21  Wim Taymans  <wim@fluendo.com>
3506
3507         * docs/design/part-synchronisation.txt:
3508         Small addition.
3509
3510         * gst/gstbin.c: (gst_bin_query):
3511         * plugins/elements/gstqueue.c: (apply_segment):
3512         Improve debugging.
3513
3514         * gst/gstmessage.h:
3515         Improve docs.
3516
3517 2007-05-21  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3520         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
3521         (gst_pad_configure_src):
3522         Added simple version of improved caps checking. It was previously
3523         assumed that a setcaps function would check the validity of the caps but
3524         people prefer us to check caps against the template automatically. 
3525         Fixes #421543.
3526
3527 2007-05-21  Wim Taymans  <wim@fluendo.com>
3528
3529         * libs/gst/base/gstbasetransform.h:
3530         Fix macro for locking/unlocking the transform lock.
3531
3532 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3533
3534         * docs/plugins/tmpl/.cvsignore:
3535           Ignore more.
3536
3537 2007-05-18  Edward Hervey  <edward@fluendo.com>
3538
3539         * plugins/elements/gstqueue.c: (gst_queue_loop):
3540         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
3541         for the subtle art of warning a potentially blocking thread that it
3542         should check the source pad return value, and relay the information
3543         upstream.
3544
3545 2007-05-18  Edward Hervey  <edward@fluendo.com>
3546
3547         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3548         Release the queue lock !
3549
3550 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3551
3552         * docs/libs/gstreamer-libs-sections.txt:
3553         Add the two new controller functions to the appropiate places.
3554
3555 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3556
3557         reviewed by: Stefan Kost <ensonic@users.sf.net>
3558
3559         * libs/gst/controller/gstcontroller.c:
3560         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
3561         (_gst_controller_get_property), (_gst_controller_set_property),
3562         (_gst_controller_init), (_gst_controller_class_init):
3563         * libs/gst/controller/gstcontroller.h:
3564         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
3565         (gst_object_get_control_rate), (gst_object_set_control_rate):
3566         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
3567         Add API that provides sync suggestion timestamps for elements that
3568         call gst_object_sync_values() from which those elements can subdivide
3569         their processing loop to get the best results for the controlled
3570         properties. For now it just suggests last_sync + control_rate as
3571         new timestamp but this will be improved in the future.
3572
3573         While doing that change the control-rate property to a GstClockTime
3574         from guint and change it's meaning from samples to nanoseconds as
3575         the GstController doesn't know anything about sampling rate. Strictly
3576         speaking this breaks ABI but as the control-rate property didn't do
3577         anything in the past and as such couldn't be used this should be no
3578         problem.        
3579
3580 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3581
3582         reviewed by: Stefan Kost <ensonic@users.sf.net>
3583
3584         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3585         (gst_controller_unset_all):
3586         * libs/gst/controller/gstcontrollerprivate.h:
3587         * libs/gst/controller/gstinterpolation.c:
3588         (gst_controlled_property_find_control_point_node):
3589         Save last synced value from the list to continue searching from there
3590         in future syncs. This speeds everything up a bit.
3591         
3592 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3593
3594         reviewed by: Stefan Kost <ensonic@users.sf.net>
3595
3596         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
3597         (gst_control_point_find), (gst_controlled_property_new),
3598         (gst_control_point_free), (gst_controlled_property_free),
3599         (gst_controller_set), (gst_controller_set_from_list),
3600         (gst_controller_unset), (gst_controller_unset_all),
3601         (gst_controller_sync_values):
3602         * libs/gst/controller/gstcontroller.h:
3603         * libs/gst/controller/gstcontrollerprivate.h:
3604         * libs/gst/controller/gstinterpolation.c:
3605         (gst_controlled_property_find_control_point_node),
3606         (interpolate_none_get), (interpolate_trigger_get):
3607         Add a new private GstControlPoint struct which "inherits" from
3608         GstTimedValue to allow different interpolators to store internal
3609         values next to each control point. From the outside everything is
3610         still a GstControlPoint so we don't loose binary compatibility.
3611         Also fixup all the GValue handling to not leak GValues or list nodes.
3612         * tests/check/libs/controller.c: (GST_START_TEST):
3613         Free the list nodes and GValues in the controller_misc test.
3614
3615 2007-05-17  Edward Hervey  <edward@fluendo.com>
3616
3617         * gst/gstsegment.c:
3618         Small doc fix.
3619
3620 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3621
3622         * gst/gstplugin.c: (gst_plugin_load_file):
3623           If we fail to load a plugin because of unresolved symbols or missing
3624           libraries and spew a warning to stderr, we may just as well mention
3625           which plugin it was that failed to load.
3626
3627 2007-05-13  David Schleef  <ds@schleef.org>
3628
3629         * docs/Makefile.am: the gtk-doc makefile snippet correctly
3630           handles the case when ENABLE_GTK_DOC is false, and installs
3631           the prebuilt documentation.  So gtk-doc subdirs are 
3632           unconditionally enabled.  Fixes: #349099.
3633
3634 2007-05-13  David Schleef  <ds@schleef.org>
3635
3636         * gst/gstutils.h: Reword some documentation.
3637
3638 2007-05-12  David Schleef  <ds@schleef.org>
3639
3640         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
3641           do anything with the passed "module" parameter, so remove it.
3642           Allows removal of additional vestigal code.
3643
3644 2007-05-12  David Schleef  <ds@schleef.org>
3645
3646         * gst/gstplugin.c:
3647           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
3648           Switch to using g_stat() because it's more portable.
3649
3650 2007-05-12  David Schleef  <ds@schleef.org>
3651
3652         * gst/gst.c:
3653           Add GST_DISABLE_OPTION_PARSING, in order to disable option
3654           parsing for embedded systems.
3655         * gst/gstelementfactory.c:
3656           Allow gst_element_register() to be called with plugin==NULL.
3657           Did nobody notice that static elements were broken?
3658
3659 2007-05-12  Wim Taymans  <wim@fluendo.com>
3660
3661         * tools/gst-launch.c: (event_loop):
3662         Give more interesting info when buffering starts and stops.
3663         Fix case where buffering starts but we fail to update the buffering flag
3664         because the target state is not PLAYING.
3665
3666 2007-05-12  Wim Taymans  <wim@fluendo.com>
3667
3668         * plugins/elements/gstqueue.c: (gst_queue_init),
3669         (gst_queue_finalize), (update_time_level), (apply_segment),
3670         (apply_buffer), (gst_queue_locked_flush),
3671         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
3672         (gst_queue_handle_sink_event), (gst_queue_chain),
3673         (gst_queue_push_one), (gst_queue_loop):
3674         * plugins/elements/gstqueue.h:
3675         Refactor an cleanup queue a bit.
3676         Do better time level calculations that also work when the srcpad is not
3677         yet running.
3678         Remove some unneeded debug lines.
3679
3680         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
3681         Added testcase for time level measurement.
3682         Try to make some stuff more racefree.
3683
3684 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3685
3686         * gst/gsturi.c: (gst_element_make_from_uri):
3687           Don't leak plugin feature.
3688
3689         * tests/check/Makefile.am:
3690         * tests/check/gst/.cvsignore:
3691         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
3692           Add brain-dead unit test.
3693
3694 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3695
3696         Patch by: Jeroen Wouters <woutersj at gmail com>
3697
3698         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
3699           Treat protocol strings in a case-insensitive way (#437563).
3700
3701 2007-05-11  Michael Smith <msmith@fluendo.com>
3702
3703         * gst/gstplugin.c: (gst_plugin_load_file):
3704         * gst/gstregistry.c: (gst_registry_scan_path_level):
3705           Don't print a g_warning for any failure to load a shared object.
3706           Instead, push this down into gstplugin.c, and warn _only_ if we
3707           failed to open the module (i.e. failure to link).
3708           Avoids warnings on normal, working, non-plugin .so files.
3709
3710 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
3711
3712         * gst/gstplugin.c (gst_plugin_load_file):
3713         * gst/gstregistry.c (GST_CAT_DEFAULT,
3714           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
3715           Print a g_warning if there was an error when loading a plugins during
3716           registry scan. The shuld help beginners starting with gst-plugin
3717           template.
3718
3719 2007-05-10  Wim Taymans  <wim@fluendo.com>
3720
3721         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3722         (update_time_level), (gst_queue_locked_flush),
3723         (gst_queue_handle_sink_event), (gst_queue_chain),
3724         (gst_queue_push_one), (gst_queue_loop):
3725         * plugins/elements/gstqueue.h:
3726         Be smarter when calculating the current amount of data in the queue by
3727         measuring the difference between start and end timestamps (in running
3728         time) inside the queue. Fixes #432876.
3729         API: GstQueue::pushing to notify elements that we are pushing data again
3730         since the running signal is rather broken for this purpose.
3731
3732 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
3733
3734         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
3735           gst_queue_base_init, gst_queue_init):
3736           use GST_BOILERPLATE
3737
3738 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
3739
3740         * win32/common/libgstreamer.def:
3741         Add new exported functions.
3742         * win32/vs6/grammar.dsp:
3743         Use grammar pre-generated files.
3744
3745 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3746
3747         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
3748
3749         * gst/Makefile.am:
3750         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
3751         * gst/gstparse.h:
3752         * gst/gstutils.c: (gst_parse_bin_from_description):
3753         * gst/gstutils.h:
3754           Maintain API and ABI when --disable-parse is used. Now that
3755           we have an appropriate error code, we can just return NULL and the
3756           appropriate error when gst_parse_launch() is used despite it having
3757           been disabled (#342564).
3758
3759         * tests/check/Makefile.am:
3760         * tests/check/pipelines/.cvsignore:
3761         * tests/check/pipelines/parse-disabled.c:
3762           Make sure these functions exist and return NULL plus a GError when
3763           --disable-parse is used.
3764
3765 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * tests/benchmarks/complexity.c: (main):
3768         * tests/benchmarks/mass-elements.c: (main):
3769           Set a good example and don't leak messages.
3770
3771 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
3772
3773         * docs/gst/Makefile.am:
3774         * docs/libs/Makefile.am:
3775           Correct fixxrefs options.
3776
3777         * docs/plugins/Makefile.am:
3778         * docs/plugins/gstreamer-plugins-docs.sgml:
3779         * docs/plugins/gstreamer-plugins-sections.txt:
3780         * plugins/elements/Makefile.am:
3781         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
3782         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
3783           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
3784           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
3785           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
3786           _GstCapsFilterClass, trans_class):
3787         * plugins/elements/gstelements.c (name, rank, type, _elements):
3788         * plugins/elements/gstidentity.c
3789           (gst_identity_check_imperfect_timestamp,
3790           gst_identity_check_imperfect_offset):
3791           Document capsfilter and add doc-blurb to identity.
3792
3793 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3794
3795         * libs/gst/controller/gstcontroller.c:
3796         (gst_controlled_property_set_interpolation_mode):
3797         * libs/gst/controller/gstinterpolation.c:
3798           Don't crash if someone tries to set an interpolation mode that
3799           is invalid or that isn't supported yet. Fixes #422295.
3800
3801         * tests/check/libs/controller.c: (GST_START_TEST),
3802         (gst_controller_suite):
3803           Add a test case for the above.
3804
3805 2007-05-03  Edward Hervey  <edward@fluendo.com>
3806
3807         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3808         Properly set the last_stop position on GstSegment. This will only happen
3809         if there is a buffer to push out.
3810
3811 2007-05-03  Wim Taymans  <wim@fluendo.com>
3812
3813         * libs/gst/base/gstbasetransform.c:
3814         (gst_base_transform_buffer_alloc):
3815         always_in_place does not mean that the sink and source caps are the
3816         same! Make sure we don't blindly proxy the buffer_alloc in this case.
3817
3818 2007-05-03  Wim Taymans  <wim@fluendo.com>
3819
3820         * docs/libs/gstreamer-libs-sections.txt:
3821         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3822         (gst_base_src_default_query), (gst_base_src_get_range):
3823         * libs/gst/base/gstbasesrc.h:
3824         API: gst_base_src_query_latency(). Added method so that subclasses can
3825         easily get the latency values of the base source class.
3826
3827 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
3828
3829         * tools/gst-inspect.c (print_implementation_info):
3830         Remove 0.8 cruft.
3831
3832 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
3833
3834         * tools/Makefile.am:
3835         * tools/gst-launch.1.in:
3836           Don't create a customised man page based on the host architecture,
3837           describe the default registry path generically. That way the man
3838           page is the same for all architectures and packagers have one
3839           multilib issue less to deal with. Fixes #434926.
3840
3841 2007-05-02  Wim Taymans  <wim@fluendo.com>
3842
3843         * gst/gstpad.c:
3844         Fix documentation as spotted by rg on IRC. 
3845
3846 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
3847
3848         * gst/gstutils.c:
3849           Improve docs for gst_element_{link,unlink}.
3850
3851 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
3852
3853         * docs/design/part-events.txt:
3854         * docs/design/part-overview.txt:
3855         * gst/gstevent.c:
3856         * gst/gsturi.c:
3857         * gst/gsturi.h:
3858         * libs/gst/base/gstbasesink.c:
3859           Typo fixes; minor docs addition.
3860
3861 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3862
3863         * docs/gst/gstreamer-sections.txt:
3864         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
3865         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
3866         * gst/gsturi.h:
3867         API: Add gst_uri_protocol_is_supported(), which checks if a sink
3868         or src that supports a given URI protocol exists.
3869
3870 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3871
3872         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3873         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3874         Set the location to NULL if "file://" is set as URI. Otherwise
3875         some random previous URI would still be set if "file://" is
3876         set on an already used filesink/filesrc.
3877
3878 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3879
3880         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3881         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3882         Special case the "file://" URI as as this is used by some
3883         applications to test with gst_element_make_from_uri if there's
3884         an element that supports the URI protocol.
3885         Also move the g_path_is_absolute() check for the location part
3886         of the URI to also check this for "file://localhost/bla" URIs.
3887
3888 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
3889
3890         * docs/gst/gstreamer-sections.txt:
3891         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
3892         * gst/gstbuffer.h:
3893         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
3894         (gst_buffer_suite):
3895           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
3896
3897 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
3898
3899         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3900         (gst_registry_binary_load_pad_template),
3901         (gst_registry_binary_load_plugin),
3902         (gst_registry_binary_read_cache):
3903         * gst/gstregistrybinary.h:
3904           Implement no-mmap alternative for registry reading. Do code cleanups.
3905           Add more comments about avoiding strdups for all text data. Comments
3906           welcome.
3907
3908 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3909
3910         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3911           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3912           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3913           Comment structs and reformat to fix the build (that stuff should go
3914           into a priv. header).
3915
3916 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3919         (gst_registry_binary_load_feature):
3920         * gst/gstregistrybinary.h:
3921           Refactor so that we can implement multiple features. Add support for
3922           TypeFindFactory features.
3923
3924 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3925
3926         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3927
3928         * configure.ac:
3929           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3930
3931 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3932
3933         * gst/gstbin.c: (gst_bin_element_set_state),
3934         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3935         (bin_handle_async_done), (gst_bin_handle_message_func):
3936           Fix build with --gst-disable-gst-debug
3937
3938 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3939
3940         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3941           Make sure streaming has finished before calling the ::stop() vfunc,
3942           since that vfunc might clear state which is being used in the
3943           streaming thread. This fixes a race that caused crashes in
3944           audioresample when shutting down a pipeline (#420106).
3945
3946 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3947
3948         * docs/gst/gstreamer-sections.txt:
3949           That was one byte missing.
3950
3951 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3952
3953         * configure.ac:
3954         * docs/gst/gstreamer-sections.txt:
3955         * gst/Makefile.am:
3956         * gst/gstconfig.h.in:
3957         * gst/gstobject.c: (gst_object_class_init),
3958         (gst_signal_object_class_init):
3959         * gst/gstobject.h:
3960           2nd attempt to have a xml-less build as a joined effort of #413123
3961           and #421480.
3962
3963 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3964
3965         * docs/design/draft-tagreading.txt:
3966           Added open issues/thoughts to draft.
3967
3968 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3969
3970         * gst/parse/grammar.tab.pre.c:
3971         * gst/parse/grammar.tab.pre.h:
3972         * gst/parse/lex._gst_parse_yy.pre.c:
3973         Update the prebuild parser sources.
3974
3975 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3976
3977         * gst/parse/Makefile.am:
3978         And now fix the building of the flex sources. Now everything should
3979         work as expected.
3980
3981 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3982
3983         * gst/parse/Makefile.am:
3984         Now hopefully fix the build failures by setting proper rule
3985         dependencies and moving instead of copying.
3986
3987 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3988
3989         * tests/benchmarks/complexity.gnuplot:
3990         * tests/benchmarks/complexity.scm:
3991         * tests/benchmarks/mass-elements.gnuplot:
3992         * tests/benchmarks/mass-elements.scm:
3993           Total licensification.
3994
3995 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3996
3997         * gst/parse/Makefile.am:
3998           Fix the build by correcting the rule that gave wrong files to flex.
3999
4000 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
4001
4002         * tests/benchmarks/complexity.c:
4003         * tests/benchmarks/mass-elements.c:
4004           Change licence to LGPL as granted by Benjamin and Andy.
4005
4006 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
4007
4008         * gst/parse/Makefile.am:
4009         Add correct grammar.tab.h dependency if compiling without new enough
4010         flex. Fixes #431150.
4011
4012 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
4013
4014         * gst/parse/Makefile.am:
4015         Fix typo and use outdated sources if the flex/bison sources are newer
4016         than the pregenerated ones but flex is too old. Print a warning in
4017         that case. This should fix the build on the build bot.
4018
4019 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
4020
4021         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
4022         * gst/parse/Makefile.am:
4023         * gst/parse/grammar.y:
4024         * gst/parse/parse.l:
4025         Make the parser reentrant and recursively callable. This requires flex
4026         >= 2.5.31, for older versions pregenerated sources are used as we
4027         can't bump the build dependency. Finally fixes #349180.
4028
4029         * gst/gstparse.c: (gst_parse_launch):
4030         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
4031         now anyway.
4032
4033         * docs/gst/Makefile.am:
4034         * docs/gst/Makefile.am:
4035         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
4036         (__gst_parse_strfree), (__gst_parse_link_new),
4037         (__gst_parse_link_free), (__gst_parse_chain_new),
4038         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
4039         (gst_parse_element_set), (gst_parse_free_link),
4040         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
4041         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
4042         (_gst_parse_launch):
4043         * gst/parse/grammar.tab.pre.h:
4044         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
4045         (yy_get_previous_state), (yy_try_NUL_trans), (input),
4046         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
4047         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
4048         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
4049         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
4050         (_gst_parse_yypop_buffer_state),
4051         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
4052         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
4053         (yy_fatal_error), (_gst_parse_yyget_extra),
4054         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
4055         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
4056         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
4057         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
4058         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
4059         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
4060         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
4061         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
4062         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
4063         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
4064         (_gst_parse_yyfree):
4065         If the installed flex version is too old use pre-generated parser
4066         sources. These pre-generated parser sources are always updated when
4067         the actual flex/bison sources change but require everybody who wants
4068         to change something in the parser to have flex >= 2.5.31 installed.
4069
4070 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
4071
4072         * common/m4/gst-gettext.m4:
4073         * gst/gst-i18n-lib.h:
4074           Make --disable-nls to work
4075
4076 2007-04-17  Wim Taymans  <wim@fluendo.com>
4077
4078         * gst/gstconfig.h.in:
4079         Revert previous change that broke the build.
4080
4081 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
4082
4083         * configure.ac:
4084         * gst/Makefile.am:
4085         * gst/gstconfig.h.in:
4086           Drop libxml2 dependency when building with 
4087           --enable-binary-registry --disable-loadsave
4088
4089 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
4090
4091         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
4092         (gst_registry_binary_read_cache):
4093         * gst/gstregistrybinary.h:
4094           Remove unnecessary <sys/mman.h> include which broke the win32 build
4095           with MingW; move includes from header file to .c file, even if the
4096           header file isn't installed; use g_strerror() where UTF-8 strings
4097           are expected, such as in GST_DEBUG messages.
4098
4099 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4100
4101         * docs/libs/gstreamer-libs-sections.txt:
4102         Remove bogus addition for API I didn't end up keeping.
4103
4104         * libs/gst/base/gstbasesrc.h:
4105         Mention Since: 0.10.13 in the documentation.
4106
4107         Add the API keyword to the previous ChangeLog entry.
4108
4109 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4110
4111         * docs/libs/gstreamer-libs-sections.txt:
4112         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4113         (gst_base_src_default_prepare_seek_segment),
4114         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
4115         * libs/gst/base/gstbasesrc.h:
4116         Allow basesrc derived classes to execute seeks in other formats
4117         by providing a prepare_seek_segment vmethod. Sub-classes can choose
4118         to prepare the GstSegment in any format that their perform_seek method
4119         will be able to understand. The default implementation provides the
4120         old behaviour of attempting to convert the seek offsets to the 
4121         configured native format.
4122
4123         API: basesrc::prepare_seek_segment vmethod.
4124
4125 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4126
4127         * gst/gstelement.c: (gst_element_get_state_func):
4128         Don't output the same debug statement twice.
4129
4130         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
4131         (gst_adapter_peek), (gst_adapter_take_buffer):
4132         Optimise the case where we have buffers at the head of the queue that
4133         can be joined quickly (because they're contiguous sub-buffers) by
4134         merging them together rather than copying data out into new memory.
4135
4136         * gst/parse/grammar.y:
4137         * tests/check/pipelines/parse-launch.c:
4138         Fix a leak in an error path for parse_launch, and add a check 
4139         for it to the testsuite.
4140
4141 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
4142
4143         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4144           Don't deadlock when releasing a pad - gst_pad_set_active may try
4145           and take the multiqueue lock too.
4146
4147 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4148
4149         * gst/gsterror.c: (_gst_core_errors_init):
4150         * gst/gsterror.h:
4151           API: add GST_CORE_ERROR_DISABLED (#392804).
4152
4153 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4154
4155         * docs/faq/gst-uninstalled:
4156           don't get empty paths on the PATH variables
4157         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
4158           Don't format for the uncommon terminal width of 84 characters.
4159
4160 2007-04-06  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstpipeline.c: (reset_stream_time),
4163         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
4164         Only try to select a different pipeline clock when we went back to
4165         PAUSED and not when we merely got flushed.
4166
4167 2007-04-05  Michael Smith  <msmith@fluendo.com>
4168
4169         * tools/gst-launch.1.in:
4170           fractions are better supported in gstreamer than ractions, so
4171           suggest using those.
4172
4173 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4174
4175         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
4176
4177         * po/LINGUAS:
4178         * po/da.po:
4179           Added Danish translation.
4180
4181 2007-04-05  Wim Taymans  <wim@fluendo.com>
4182
4183         * libs/gst/base/gstbasesink.c:
4184         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
4185         Fix leak caused when refusing newsegment after EOS.
4186
4187         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
4188         (gst_fake_sink_init), (gst_fake_sink_set_property),
4189         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
4190         (gst_fake_sink_render), (gst_fake_sink_change_state):
4191         * plugins/elements/gstfakesink.h:
4192         Add num-buffers property to make the element generate EOS after a
4193         configurable amount of buffers.
4194         API: fakesink::num-buffers property.
4195
4196         * tests/check/elements/fakesink.c: (GST_START_TEST),
4197         (fakesink_suite):
4198         Fix GstBus leak in test.
4199         Test for fakesink num-buffers.
4200
4201 2007-04-05  Wim Taymans  <wim@fluendo.com>
4202
4203         * libs/gst/base/gstbasesink.c:
4204         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4205         (gst_base_sink_change_state):
4206         Don't accept anything after an EOS, return UNEXPECTED instead.
4207
4208         * tests/check/elements/fakesink.c: (GST_START_TEST),
4209         (fakesink_suite):
4210         Unit test for new EOS behaviour.
4211
4212 2007-04-05  Wim Taymans  <wim@fluendo.com>
4213
4214         * gst/gstelement.c: (gst_element_get_request_pad):
4215         Make padtemplates also work when they don't contain %s or %d.
4216
4217 2007-04-05  Wim Taymans  <wim@fluendo.com>
4218
4219         * docs/gst/gstreamer-sections.txt:
4220         * gst/gstclock.c: (gst_clock_adjust_unlocked),
4221         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
4222         * gst/gstclock.h:
4223         Improve _adjust_unlocked() so that it overflows less.
4224         Add gst_clock_unadjust_unlocked to convert from external time to
4225         internal time based on calibration.
4226         Add some more debug.
4227         API: GstClock::gst_clock_unadjust_unlocked()
4228
4229 2007-04-03  Wim Taymans  <wim@fluendo.com>
4230
4231         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4232
4233         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4234         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
4235         when releasing sink pad. Fixes #425400.
4236
4237 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
4238
4239         * docs/random/ensonic/dynlink.txt:
4240           More work on proposal for new core api.
4241
4242         * docs/libs/gstreamer-libs-sections.txt:
4243         * libs/gst/base/gstbasetransform.h:
4244           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
4245           
4246         * libs/gst/controller/gstcontroller.c:
4247         (on_object_controlled_property_changed),
4248         (gst_controller_sync_values),
4249         (gst_controller_set_interpolation_mode):
4250         * libs/gst/controller/gstcontroller.h:
4251           Less verbose logging add docs for unimplemented parts and correctly
4252           return when using unavailable parts.
4253
4254 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
4255
4256         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
4257         Move all the debug to the CLOCK category, and associate it with
4258         the clock object.
4259
4260 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
4261
4262         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
4263         Make take_buffer a bit quicker by removing redundant checks
4264         caused by calling gst_adapter_take.
4265
4266 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
4267
4268         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
4269           Don't leak GCond.
4270
4271         * tests/check/Makefile.am:
4272         * tests/check/elements/.cvsignore:
4273         * tests/check/elements/multiqueue.c: (setup_multiqueue),
4274         (GST_START_TEST), (multiqueue_suite):
4275           Add some dead simple unit tests for the 'multiqueue' element
4276           (some bits don't work yet and are disabled for now).
4277
4278 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
4279
4280         * gst/gstelement.c: (gst_element_get_request_pad),
4281         (gst_element_class_get_request_pad_template):
4282           Make gst_element_get_request_pad() create request pads only for
4283           request pad templates and not for, say, sometimes pad templates.
4284
4285 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * docs/design/draft-klass.txt:
4288           Add example that needs more thinking.
4289         
4290         * docs/design/draft-missing-plugins.txt:
4291           More thoughts about wrapper plugins.
4292         
4293         * docs/random/ensonic/embedded.txt:
4294         * docs/random/ensonic/profiling.txt:
4295           More design work.
4296
4297 2007-03-25  Wim Taymans  <wim@fluendo.com>
4298
4299         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
4300         (gst_base_src_loop):
4301         Only push the segment events in the PLAYING state for live sources.
4302
4303 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
4304
4305         * gst/gstpipeline.c: (gst_pipeline_change_state):
4306         Modify the clock distribution path in PAUSED->PLAYING so that we 
4307         never attempt to choose a new clock unless we're actually leaving
4308         the PAUSED state for the first time. This prevents choosing a
4309         different clock when the state_change gets called for a 2nd time due
4310         to some element doing an async state change.
4311
4312 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4313
4314         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
4315         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
4316         (gst_pad_chain_unchecked), (gst_pad_push):
4317         Revert last commit. This needs some more thoughts.
4318
4319 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4320
4321         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
4322         (gst_pad_chain_unchecked), (gst_pad_push):
4323         Check in set_caps if the caps are compatible with the pad and remove
4324         two functions that are redundant now. Fixes #421543.
4325
4326 2007-03-22  Wim Taymans  <wim@fluendo.com>
4327
4328         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4329         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
4330         Unref some more to make valgrind happy.
4331
4332 2007-03-22  Wim Taymans  <wim@fluendo.com>
4333
4334         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
4335         (gst_system_clock_id_wait_jitter),
4336         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4337         Fix anoying regression that survived a few releases. When adding an
4338         async entry while blocking on a sync entry, the sync entry will unblock
4339         but still be busy, so it should continue to wait instead of returning
4340         _BUSY to the app.
4341         Add some comments here and there.
4342
4343         * tests/check/gst/gstsystemclock.c: (mixed_thread),
4344         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
4345         Add testcase for this.
4346
4347 2007-03-22  Wim Taymans  <wim@fluendo.com>
4348
4349         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4350         Handle errors from the clock sync better, only UNSCHEDULED indicates a
4351         WRONG_STATE and can silently pause the task. All other cases should
4352         error out.
4353
4354 2007-03-22  Wim Taymans  <wim@fluendo.com>
4355
4356         Patch by: Ville Syrjala <syrjala at sci dot fi>
4357
4358         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
4359         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
4360         Improve debugging.
4361
4362 2007-03-21  Michael Smith  <msmith@fluendo.com>
4363
4364         * docs/pwg/advanced-types.xml:
4365           Fix some errors in the typefinding docs pointed out on irc.
4366
4367 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
4368
4369         * libs/gst/base/gstbasesrc.c:
4370         Clarify FIXME comment in the face of having added unlock_stop()
4371
4372 2007-03-21  Wim Taymans  <wim@fluendo.com>
4373
4374         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
4375         Prepare for release where we warn against possible app breakage in the
4376         case of live pipelines along with an env var to enable/disable live
4377         preroll mode (GST_COMPAT=[no-]live-preroll).
4378
4379 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4380
4381         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
4382         So we should use correct constants for checking for None offset.
4383
4384 2007-03-20  Wim Taymans  <wim@fluendo.com>
4385
4386         * docs/design/part-block.txt:
4387         Mention the fact that the newly switched element should be set to at
4388         least PAUSED.
4389
4390 2007-03-20  Wim Taymans  <wim@fluendo.com>
4391
4392         * gst/gst.c:
4393         Fix compilation with registry disabled as spotted by Saur.
4394
4395 2007-03-20  Wim Taymans  <wim@fluendo.com>
4396
4397         Patch by: Olivier Crete <tester at tester dot ca>
4398
4399         * gst/gstelement.c: (gst_element_sync_state_with_parent):
4400         Look at the pending state too when syncing the element state to the
4401         parent. Fixes #420133.
4402
4403 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
4404
4405         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
4406         (gst_base_sink_change_state):
4407         * libs/gst/base/gstbasesink.h:
4408         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4409         (gst_base_src_default_event), (gst_base_src_unlock_stop),
4410         (gst_base_src_deactivate):
4411         * libs/gst/base/gstbasesrc.h:
4412         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
4413         for sub-classes to correctly clear any state they set trying to
4414         unlock, such as clearing out unlock commands from a command fd.
4415         API: basesrc::unlock_stop
4416         API: basesink::unlock_stop
4417
4418         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
4419         (gst_fd_sink_render), (gst_fd_sink_unlock),
4420         (gst_fd_sink_unlock_stop):
4421         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
4422         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
4423         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
4424
4425         Implement unlock_stop in fdsrc and fdsink.
4426         Implement seeking in fdsrc when a seekable fd is passed, as in
4427         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
4428
4429 2007-03-19  Wim Taymans  <wim@fluendo.com>
4430
4431         Patch by: Evan Nemerson <evan at coeus dash group dot com>
4432
4433         * gst/gstelement.c: (gst_element_class_init):
4434         Fix pad-added and pad-removed signal signatures so that the pad type is
4435         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
4436
4437 2007-03-19  Wim Taymans  <wim@fluendo.com>
4438
4439         * docs/gst/gstreamer-sections.txt:
4440         Add new element field and method.
4441
4442         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4443         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
4444         (gst_bin_recalc_state), (gst_bin_get_state_func),
4445         (gst_bin_element_set_state), (gst_bin_change_state_func),
4446         (gst_bin_continue_func), (bin_bus_handler),
4447         (bin_push_state_continue), (bin_handle_async_start),
4448         (bin_handle_async_done), (gst_bin_handle_message_func):
4449         Make async state changes a bit smarter by using new ASYNC_START and
4450         ASYNC_DONE messages. This reduces the number of times we run the state
4451         recalculation thread.
4452         Don't change state of element with a pending ASYNC_START message.
4453         Deprecate STATE_DIRTY messages.
4454         
4455         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
4456         (gst_element_get_state_func), (gst_element_continue_state),
4457         (gst_element_lost_state), (gst_element_set_state_func),
4458         (gst_element_change_state):
4459         * gst/gstelement.h:
4460         Keep the state that was last set by the app in a new element field.
4461         Don't allow state changes when handling an element event.
4462         Post ASYNC_START and ASYNC_DONE messages.
4463         Change lost_state so that we go to PAUSED and wait for the parent to set
4464         us to PLAYING again (so latency calculation can be performed)
4465         Export gst_element_change_state() method so that subclasses can use it.
4466         API: gst_element_change_state()
4467         API: GST_STATE_TARGET
4468
4469         * gst/gstpipeline.c: (gst_pipeline_class_init),
4470         (reset_stream_time), (gst_pipeline_change_state),
4471         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
4472         Using the new ASYNC_START message we can reset the base_time when
4473         needed. This can then be used to implement base_time redistribution in
4474         flushing seeks so that we can remove the explicit seek handling.
4475         Perform latency query and configuration when going to PLAYING.
4476
4477         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4478         (gst_base_sink_query), (gst_base_sink_change_state):
4479         Post new ASYNC_START/ASYNC_DONE messages.
4480
4481         * tests/check/generic/sinks.c: (GST_START_TEST):
4482         Fix test because the bin will not set the async element to PLAYING right
4483         away.
4484
4485         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
4486         Make the message check a little stronger.
4487         Handle ASYNC messages.
4488
4489         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
4490         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
4491         Expect ASYNC_DONE messages.
4492
4493 2007-03-19  Wim Taymans  <wim@fluendo.com>
4494
4495         * docs/gst/gstreamer-sections.txt:
4496         * gst/gstmessage.c: (gst_message_new_async_start),
4497         (gst_message_new_async_done), (gst_message_parse_info),
4498         (gst_message_parse_async_start):
4499         * gst/gstmessage.h:
4500         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
4501         support.
4502
4503 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4504
4505         * tools/gst-inspect.c:
4506         (print_plugin_automatic_install_info_codecs):
4507           Now that we don't check for the 'Codec' keyword any longer in the
4508           klass, we shouldn't spew a warning if the klass isn't a decoder or
4509           encoder (since it might be a Source/Network, for example).
4510
4511 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4512
4513         * tools/gst-inspect.c:
4514         (print_plugin_automatic_install_info_codecs):
4515           Don't require decoder/demuxer/depayloader elements or
4516           encoder/muxer/paylader elements to have 'Codec' as part of their
4517           factory class string when introspecting a plugin's capabilities.
4518           draft-klass.txt mentions that it might be removed in future, and
4519           flump3dec doesn't have it as part of its class string, so chances
4520           are others might also not have it.
4521
4522 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4523
4524         * po/af.po:
4525         * po/az.po:
4526         * po/bg.po:
4527         * po/ca.po:
4528         * po/cs.po:
4529         * po/de.po:
4530         * po/en_GB.po:
4531         * po/fr.po:
4532         * po/it.po:
4533         * po/nb.po:
4534         * po/nl.po:
4535         * po/ru.po:
4536         * po/sq.po:
4537         * po/sr.po:
4538         * po/sv.po:
4539         * po/tr.po:
4540         * po/uk.po:
4541         * po/vi.po:
4542         * po/zh_CN.po:
4543         * po/zh_TW.po:
4544           Update translations from translation project
4545
4546 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
4547
4548         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
4549         (gst_child_proxy_set_property):
4550           Invert precondition check to be alike the ones in the mimiced gobject
4551           api.
4552
4553 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
4554
4555         * docs/design/draft-tagreading.txt:
4556         * docs/random/ensonic/audiobaseclasses.txt:
4557           Do some Architect work.
4558
4559         * gst/gstobject.c: (gst_object_set_name):
4560           Add a WARNING.
4561
4562         * gst/gstpad.c:
4563           Add docs that point from gst_pad_get_range to gst_pad_pull_range
4564
4565 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
4566
4567         * gst/gstsystemclock.c: (gst_system_clock_init),
4568         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
4569         Defer starting the async system clock thread until the first async
4570         wait is scheduled. Fixes #414986.
4571
4572 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4573
4574         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
4575         (gst_single_queue_free):
4576           Fix small leak (free GstSingleQueue structure too, not only contents).
4577
4578 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
4579
4580         * gst/gstbin.c:(gst_bin_add):
4581         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
4582         * win32/common/libgstbase.def:
4583         * win32/common/libgstreamer.def:
4584         Add new exported functions.
4585
4586 2007-03-09  Wim Taymans  <wim@fluendo.com>
4587
4588         * docs/plugins/gstreamer-plugins-sections.txt:
4589         Fix GstTee docs.
4590
4591 2007-03-09  Wim Taymans  <wim@fluendo.com>
4592
4593         * docs/gst/gstreamer-sections.txt:
4594         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
4595         * gst/gstbuffer.h:
4596         Add metadata copy functions. Fixes #393099.
4597         API: gst_buffer_copy_metadata()
4598
4599         * gst/gstutils.c: (gst_buffer_stamp):
4600         * libs/gst/base/gstbasetransform.c:
4601         (gst_base_transform_prepare_output_buffer):
4602         Use new metadata copy functions.
4603
4604 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4605
4606         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4607         (gst_identity_init), (gst_identity_check_perfect),
4608         (gst_identity_check_imperfect_timestamp),
4609         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
4610         (gst_identity_set_property), (gst_identity_get_property):
4611         * plugins/elements/gstidentity.h:
4612         Separate out check-imperfect-timestamp and check-imperfect-offset.
4613         Put back check-perfect as it was to keep compatibility.
4614
4615 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
4616
4617         * gst/gstelement.c: (gst_element_dispose):
4618         There's no need to warn if VOID_PENDING is not NONE here, as
4619         long as the state is NULL it's ok, and that's checked immediately
4620         above.
4621
4622 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4623
4624         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4625         Fix check for perfect stream to ignore buffers with -1 
4626         offsets/offset ends when checking data contiguity.
4627
4628 2007-03-08  Wim Taymans  <wim@fluendo.com>
4629
4630         * tools/gst-launch.c: (event_loop):
4631         Print INFO messages.
4632
4633 2007-03-08  Wim Taymans  <wim@fluendo.com>
4634
4635         * libs/gst/base/gstbasetransform.c:
4636         (gst_base_transform_sink_eventfunc),
4637         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4638         (gst_base_transform_activate):
4639         * libs/gst/base/gstbasetransform.h:
4640         Add support for dropping buffers with custom GstFlowReturn.
4641         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
4642         buffers or dropped buffers.
4643
4644         * docs/libs/gstreamer-libs-sections.txt:
4645         docs for new custom return code.
4646
4647         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4648         Use drop support in base class to implement drop-probability.
4649
4650 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         * gst/gst.c: (load_plugin_func):
4653         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
4654         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4655         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
4656           Remove newlines at end of debug log strings.
4657
4658 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4659
4660         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4661         Only post bus message at max, once per buffer received.
4662
4663 2007-03-07  Wim Taymans  <wim@fluendo.com>
4664
4665         * docs/design/Makefile.am:
4666         * docs/design/part-synchronisation.txt:
4667         Add doc about synchronisation
4668
4669         * docs/design/draft-latency.txt:
4670         * docs/design/part-TODO.txt:
4671         * docs/design/part-clocks.txt:
4672         * docs/design/part-events.txt:
4673         * docs/design/part-gstbus.txt:
4674         * docs/design/part-gstpipeline.txt:
4675         * docs/design/part-live-source.txt:
4676         * docs/design/part-messages.txt:
4677         * docs/design/part-overview.txt:
4678         * docs/design/part-streams.txt:
4679         * docs/design/part-trickmodes.txt:
4680         Documentation updates.
4681
4682 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4683
4684         * gstreamer.doap:
4685         Update the doap file.
4686
4687 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4688
4689         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4690         Rename non-perfect to imperfect for Mike and for the sanctity of the
4691         language.
4692         Also make sure bus message gets emitted for data-incontiguities.
4693
4694 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4695
4696         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
4697         (gst_identity_start):
4698         * plugins/elements/gstidentity.h:
4699         Emit bus message if check-perfect is true and we encounter a
4700         non-perfect stream between 2 consecutive buffers.
4701         Fixes #415394.
4702
4703 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4704
4705         * configure.ac:
4706         Back to CVS
4707
4708 === release 0.10.12 ===
4709
4710 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
4711
4712         * configure.ac:
4713           releasing 0.10.12, "Inevitable Demise"
4714
4715 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
4716
4717         * configure.ac:
4718          Version 0.10.11.2 (0.10.12 pre-release)
4719          Bump libtool versioning.
4720
4721 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
4722
4723         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4724           Log flow-names and not numbers.
4725
4726 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4727
4728         * configure.ac:
4729           Convert to new AG_GST style.
4730
4731 2007-02-28  Wim Taymans  <wim@fluendo.com>
4732
4733         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
4734         Don't unref query twice.
4735
4736 2007-02-28  Wim Taymans  <wim@fluendo.com>
4737
4738         * gst/gstvalue.c: (gst_value_transform_object_string),
4739         (_gst_value_initialize):
4740         Implement GstObject -> string transform so we print object names
4741         when serializing GValues containing GstObjects.
4742
4743 2007-02-28  Wim Taymans  <wim@fluendo.com>
4744
4745         * docs/gst/gstreamer-sections.txt:
4746         Add new stuff to docs.
4747
4748 2007-02-28  Wim Taymans  <wim@fluendo.com>
4749
4750         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4751         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
4752         (gst_base_sink_change_state):
4753         Improve latency query code.
4754         Don't leak latency events.
4755
4756         * tests/check/gst/gstbin.c: (GST_START_TEST):
4757         Improve debugging.
4758
4759 2007-02-28  Wim Taymans  <wim@fluendo.com>
4760
4761         * gst/gstelement.c: (gst_element_message_full),
4762         (gst_element_get_state_func):
4763         * gst/gstelement.h:
4764         Improve docs a little. Added Since: for new macro.
4765
4766         * gst/gstobject.c: (gst_object_sink):
4767         * gst/gstpipeline.c: (gst_pipeline_change_state),
4768         (gst_pipeline_set_new_stream_time):
4769         * gst/gstpipeline.h:
4770         Improve debugging and docs.
4771
4772         * gst/gstutils.c: (gst_element_state_change_return_get_name):
4773         Improve debugging.
4774
4775 2007-02-28  Wim Taymans  <wim@fluendo.com>
4776
4777         * gst/gstelement.c: (gst_element_message_full),
4778         (gst_element_set_locked_state), (gst_element_get_state_func),
4779         (gst_element_change_state):
4780         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
4781         Documentation updates.
4782         Small code cleanups.
4783
4784         * gst/gstmessage.c: (gst_message_new_info),
4785         (gst_message_parse_info):
4786         * gst/gstmessage.h:
4787         API: gst_message_new_info()
4788         API: gst_message_parse_info()
4789         Add INFO message create and parse code.
4790
4791 2007-02-28  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
4794         (bin_query_latency_done):
4795         Also report the live parameter of a latency query.
4796
4797 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
4800           Copy the current generic/states example from -base and adapt so
4801           we can use the exact same code everywhere.
4802           Check a STATES_IGNORE_ELEMENTS env var which can be used
4803           to ignore certain element factories for this test, which is
4804           what is being done in -base
4805         * tests/check/Makefile.am:
4806           Mention this environment variable.
4807
4808 2007-02-27  Wim Taymans  <wim@fluendo.com>
4809
4810         * docs/gst/gstreamer-sections.txt:
4811         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
4812         (gst_bus_timed_pop), (gst_bus_pop):
4813         * gst/gstbus.h:
4814         API: gst_bus_timed_pop()
4815         Implement gst_bus_timed_pop() to do a blocking timed wait for a
4816         message to arrive on the bus.
4817
4818         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
4819         (gst_bus_suite):
4820         Two unit tests for new _timed_pop() function.
4821
4822 2007-02-23  Wim Taymans  <wim@fluendo.com>
4823
4824         * gst/gstpipeline.c: (gst_pipeline_change_state),
4825         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
4826         Don't ref a NULL clock in _provide_clock_func().
4827         Don't allow an INVALID delay.
4828         Don't try to calculate base_time with an invalid start_time.
4829         Also distribute and notify a NULL clock when it was selected.
4830
4831         * tools/gst-launch.c: (event_loop):
4832         Don't crash when a NULL clock was selected in the pipeline.
4833
4834 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4835
4836         * docs/design/Makefile.am:
4837         * docs/design/draft-missing-plugins.txt:
4838         * docs/random/draft-missing-plugins.txt:
4839           Some small updates: update plugin system identifier prefix
4840           ('gstreamer.net' to 'gstreamer'), mention our new install
4841           API in libgstbaseutils rather than libgimme-codec, add
4842           reference to the online docs.
4843
4844 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4845
4846         * win32/common/config.h:
4847           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
4848           use moap cl ci to only check in what is mentioned in the ChangeLog.
4849
4850 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4851
4852         * docs/gst/gstreamer-sections.txt:
4853         * gst/gstelement.h:
4854           Fix up documentation to link to the correct GstGError section.
4855           Add GST_ELEMENT_INFO macro since someone else added a Info message.
4856
4857 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4858
4859         * tools/gst-launch.c: (event_loop):
4860           Make sure that we actually show the important message part of a
4861           warning message.
4862           No need to check if the gerror is not NULL to free; first of all
4863           g_free accepts NULL; and second the default error handler would
4864           segfault if gerror was NULL.
4865
4866 2007-02-21  Wim Taymans  <wim@fluendo.com>
4867
4868         * docs/gst/gstreamer-sections.txt:
4869         Removed docs as well.
4870
4871 2007-02-21  Wim Taymans  <wim@fluendo.com>
4872
4873         * gst/gstmessage.c: (gst_message_parse_duration):
4874         * gst/gstmessage.h:
4875         Remove new messages for release.
4876
4877 2007-02-20  Wim Taymans  <wim@fluendo.com>
4878
4879         * docs/design/part-gstghostpad.txt:
4880         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
4881         (gst_ghost_pad_new_full):
4882         Make the ghostpad a parent of the internal pad again for better backward
4883         compatibility. Don't write code that relies on this however.
4884
4885         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4886         (gst_pad_link_check_hierarchy):
4887         Require that parents should be GstElements in the hierarchy check.
4888
4889 2007-02-20  Wim Taymans  <wim@fluendo.com>
4890
4891         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
4892         (gst_bin_change_state_func), (bin_query_min_max_init),
4893         (bin_query_latency_fold), (bin_query_latency_done),
4894         (gst_bin_query):
4895         Improve debug info.
4896         Implement latency query.
4897
4898 2007-02-20  Wim Taymans  <wim@fluendo.com>
4899
4900         * docs/design/part-gstghostpad.txt:
4901         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
4902         (gst_ghost_pad_internal_do_activate_push),
4903         (gst_ghost_pad_internal_do_activate_pull),
4904         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4905         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
4906         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
4907         Do not set the internal pad as a parent anymore so we can avoid
4908         hierarchy linking errors when the ghostpad has no parent yet. This also
4909         fixes failed activation because of unlinked internal pads, which in
4910         turn fixes the impossible case where you have to activate a pad before
4911         you can add it to a running element.
4912         Also fix the docs.
4913
4914         * gst/gstpad.c: (pre_activate), (post_activate),
4915         (gst_pad_set_active), (gst_pad_activate_pull),
4916         (gst_pad_activate_push), (gst_pad_check_pull_range):
4917         Add some more debug info.
4918         Mark activation mode in pre_activate so that we don't try to activate in
4919         endless loops. Fixes #385084.
4920
4921 2007-02-19  Wim Taymans  <wim@fluendo.com>
4922
4923         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4924         (gst_base_transform_check_get_range):
4925         Implement a checkgetrange function instead of relying on the default
4926         core behaviour that assumes we can operate in pull mode if we have a
4927         getrange function. First step at fixing #385084.
4928
4929 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
4930
4931         * gst/gstchildproxy.h:
4932         * libs/gst/base/gstbasesink.h:
4933         * libs/gst/base/gstbasesrc.h:
4934         * libs/gst/base/gstbasetransform.h:
4935         More docs coverage and some ChangeLog surgery (add missing names)
4936
4937 2007-02-15  Wim Taymans  <wim@fluendo.com>
4938
4939         * docs/design/part-TODO.txt:
4940         * docs/design/part-activation.txt:
4941         * docs/design/part-block.txt:
4942         * docs/design/part-buffering.txt:
4943         * docs/design/part-clocks.txt:
4944         * docs/design/part-element-source.txt:
4945         * docs/design/part-events.txt:
4946         * docs/design/part-gstbin.txt:
4947         * docs/design/part-gstbus.txt:
4948         * docs/design/part-gstpipeline.txt:
4949         * docs/design/part-live-source.txt:
4950         * docs/design/part-messages.txt:
4951         * docs/design/part-overview.txt:
4952         * docs/design/part-qos.txt:
4953         * docs/design/part-query.txt:
4954         * docs/design/part-states.txt:
4955         * docs/design/part-trickmodes.txt:
4956         Some doc updates. Start renaming from stream_time to running_time where
4957         it was used wrongly.
4958
4959 2007-02-15  Wim Taymans  <wim@fluendo.com>
4960
4961         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4962         Answer LATENCY query.
4963
4964 2007-02-15  Wim Taymans  <wim@fluendo.com>
4965
4966         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4967         (GST_START_TEST):
4968         Improve debugging.
4969
4970 2007-02-15  Wim Taymans  <wim@fluendo.com>
4971
4972         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4973         (gst_pad_dispatcher):
4974         Improve debugging of default pad dispatcher and query functions.
4975
4976 2007-02-15  Wim Taymans  <wim@fluendo.com>
4977
4978         * docs/gst/gstreamer-sections.txt:
4979         Remove old unused method.
4980
4981 2007-02-13  Wim Taymans  <wim@fluendo.com>
4982
4983         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4984         Fix check
4985
4986 2007-02-13  Wim Taymans  <wim@fluendo.com>
4987
4988         * docs/design/part-seeking.txt:
4989         Some small update.
4990
4991         * gst/gstsegment.c: (gst_segment_set_seek):
4992         Revert old bogus change that should make seeking work again.
4993
4994 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4995
4996         * docs/random/ensonic/dynlink.txt:
4997         * docs/random/ensonic/interfaces.txt:
4998         * docs/random/ensonic/receipies.txt:
4999           Possible dynamic reconnection api, plus some type fixes the other two
5000           docs.
5001
5002 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
5003
5004         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5005         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5006         Also check for an absolute path following file:// in the filesrc
5007         element. Remove redundant check and call g_path_is_absolute() on the
5008         unescaped location.
5009
5010 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
5011
5012         * docs/design/draft-klass.txt:
5013           Add existing category analysis.
5014           
5015         * gst/gstcaps.c:
5016           Fix doc example, framerate is a fraction.
5017
5018 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
5019
5020         * configure.ac:
5021         * docs/gst/Makefile.am:
5022         * docs/gst/gstreamer-sections.txt:
5023         * docs/libs/Makefile.am:
5024           Erm, forgot a bunch of --extra-dir.
5025
5026 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
5027
5028         * configure.ac:
5029         * docs/gst/Makefile.am:
5030         * docs/libs/Makefile.am:
5031         * docs/plugins/Makefile.am:
5032           Add crossreferences to glib/gobject docs.
5033
5034 2007-02-12  Wim Taymans  <wim@fluendo.com>
5035
5036         * docs/design/draft-latency.txt:
5037         Small update.
5038
5039         * docs/libs/gstreamer-libs-sections.txt:
5040         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5041         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
5042         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
5043         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
5044         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
5045         (gst_base_sink_get_position), (gst_base_sink_query),
5046         (gst_base_sink_change_state):
5047         * libs/gst/base/gstbasesink.h:
5048         API: gst_base_sink_query_latency() to let subclasses query the upstream
5049         latency.
5050         API: gst_base_sink_get_latency() to let subclasses query the configured
5051         latency in the sink.
5052         Implement query and set latency.
5053         Update some docs.
5054         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
5055         don't continue preroll when we are flushing. Fixes #405284.
5056
5057         * tests/check/pipelines/stress.c: (change_state_timeout),
5058         (quit_timeout), (GST_START_TEST), (stress_suite):
5059         Test for #405284.
5060
5061 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5062
5063         Patch by: René Stadler <mail at renestadler de>
5064
5065         * docs/gst/gstreamer-sections.txt:
5066         * gst/gsttaglist.c: (_gst_tag_initialize):
5067         * gst/gsttaglist.h:
5068           API: add GST_TAG_REFERENCE_LEVEL (#403597).
5069
5070 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
5071
5072         * docs/libs/Makefile.am:
5073           Fix path to core docs.
5074
5075         * gst/gstbin.c: (gst_bin_get_by_interface),
5076         (gst_bin_iterate_all_by_interface):
5077           Refix docs by also renaming 'interface' to 'iface' in implementation.
5078
5079         * docs/gst/gstreamer-sections.txt:
5080         * gst/gstcaps.c:
5081         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
5082         * gst/gstchildproxy.h:
5083         * gst/gstelementfactory.c:
5084         * gst/gstpadtemplate.h:
5085         * libs/gst/controller/gstcontroller.c:
5086         (gst_controlled_property_new):
5087           Document more.
5088
5089 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
5090
5091         * gst/gstbin.h:(gst_bin_get_by_interface),
5092         (gst_bin_iterate_all_by_interface):
5093         Replace interface parameter name by iface as interface is 
5094         a reserved keyword in Visual Studio for C++ projects so it removes
5095         a build error for application developpers using VS.
5096         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
5097         Fix a bug on Windows in uri format check. Now the prefix checked
5098         is file:// and next we check if the path after file:// is absolute.
5099         * win32/common/libgstbase.def:
5100         * win32/common/libgstdataprotocol.def:
5101         * win32/common/libgstgstreamer.def:
5102         Add new exported functions.
5103
5104 2007-02-09  Andy Wingo  <wingo@pobox.com>
5105
5106         * tests/check/pipelines/simple-launch-lines.c
5107         (simple_launch_lines_suite, test_tee): Disable tee test until I
5108         have time to fix it :-(
5109
5110         * tests/check/Makefile.am (noinst_HEADERS): 
5111         * tests/check/libs/libsabi.c: 
5112         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
5113         * tests/check/gst/gstabi.c: 
5114         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
5115
5116         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
5117         tests for push and pull tee behavior.
5118
5119         * plugins/elements/gsttee.h: 
5120         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
5121         mark as deprecated as well as unimplemented. It was a crack idea.
5122         Add support for tee operating in pull mode, off by default.
5123
5124         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
5125         normal-case logs down to LOG, raise errors to WARNING.
5126         (gst_registry_xml_read_cache): Don't log before calling a function
5127         that logs.
5128
5129         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
5130         exit (registry finalize).
5131         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
5132         DEBUG log when we emit signals that people don't even have the
5133         chance to connect to.
5134         (gst_registry_scan_path_level): Less logging in the normal case.
5135
5136 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
5137
5138         Patch by: Michal Benes <michal dot benes at itonis dot tv>
5139
5140         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5141         Correctly generate EOS for non-seekable files. We don't have a total
5142         length for them and would get an unexpected end of file if we only
5143         special-cased for regular files. (Fixes: #404569)
5144
5145 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
5146
5147         * tests/check/elements/filesrc.c: (GST_START_TEST),
5148         (filesrc_suite):
5149         Add unit test for the GstURIHandler interface in filesrc. This also
5150         tests the newly added file://localhost/foo/bar support.
5151
5152 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5153
5154         * gst/gstelementfactory.h:
5155           The klass string is not a hierarchy. Add reference to the design doc
5156           for more information and common types.
5157
5158 2007-02-02  Wim Taymans  <wim@fluendo.com>
5159
5160         * gst/gstquery.c: (gst_query_new_latency):
5161         Remove old structure field.
5162
5163 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
5164
5165         * tools/gst-launch.1.in:
5166           Give example for network streaming (#351998)
5167
5168 2007-02-02  Wim Taymans  <wim@fluendo.com>
5169
5170         * docs/gst/gstreamer-sections.txt:
5171         Add docs for new methods.
5172
5173         * gst/gstevent.c: (gst_event_new_latency),
5174         (gst_event_parse_latency):
5175         * gst/gstevent.h:
5176         Add new LATENCY event to configure latency in a pipeline.
5177         API: gst_event_new_latency
5178         API: gst_event_parse_latency
5179
5180         * gst/gstmessage.c: (gst_message_new_buffering),
5181         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
5182         (gst_message_new_latency), (gst_message_parse_buffering),
5183         (gst_message_parse_lost_preroll):
5184         * gst/gstmessage.h:
5185         Added messages used in draft-latency.
5186         API: gst_message_new_lost_preroll
5187         API: gst_message_parse_lost_preroll
5188         API: gst_message_new_prerolled
5189         API: gst_message_new_latency
5190
5191         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
5192         (gst_query_parse_latency):
5193         * gst/gstquery.h:
5194         Implemented new latency query as in design doc.
5195         API: gst_query_new_latency
5196         API: gst_query_set_latency
5197         API: gst_query_parse_latency
5198
5199 2007-02-02  Wim Taymans  <wim@fluendo.com>
5200
5201         * docs/design/draft-latency.txt:
5202         Slight redesign to allow for dynamic latency adjustments.
5203
5204         * docs/design/part-negotiation.txt:
5205         Fix some typos.
5206
5207 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5208
5209         reviewed by: Wim Taymans <wim@fluendo.com>
5210
5211         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5212         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5213         Allow file://localhost/foo/bar URLs and correctly fail for every other
5214         hostname that one sets. This was gnomevfssrc is linked for those if
5215         installed as it can handle it (#403172)
5216
5217 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
5218
5219         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5220
5221         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5222         (unref_data), (gst_collect_pads_add_pad_full):
5223         * libs/gst/base/gstcollectpads.h:
5224         Don't put the previously added destroy notify in the GstCollectData
5225         struct as all it's padding is already used and we don't want to break
5226         ABI. Instead put in the pad's GObject data for now. This should be
5227         cleaned up for 0.11 (#402393).
5228
5229 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
5230
5231         reviewed by: Wim Taymans <wim@fluendo.com>
5232
5233         * docs/libs/gstreamer-libs-sections.txt:
5234         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5235         (unref_data), (gst_collect_pads_add_pad),
5236         (gst_collect_pads_add_pad_full):
5237         * libs/gst/base/gstcollectpads.h:
5238         API: Add function to specify a destroy notification for custom
5239         GstCollectData when adding new pads in GstCollectPads (#402393).
5240
5241 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
5242
5243         * po/sv.po:
5244           Update Swedish translation (#378255).
5245
5246 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
5247
5248         * docs/design/draft-klass.txt:
5249           Fix the previous change, this is a list of categories and not a hierarchy.
5250
5251 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
5252
5253         * docs/design/draft-klass.txt:
5254           Add info about how to get a list of used classes.
5255
5256 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
5257
5258         * plugins/elements/gsttypefindelement.c:
5259         (gst_type_find_element_chain_do_typefinding),
5260         (gst_type_find_element_change_state):
5261           Don't leak found caps in chain function (no idea why that never
5262           showed up as a leak anywhere).
5263
5264 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
5265
5266         * gst/gstplugin.h:
5267           Fix and expand GstPluginDesc API docs.
5268
5269 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
5270
5271         * gst/gstcaps.c:
5272         * gst/gstelementfactory.c:
5273         * gst/gstpadtemplate.h:
5274           api doc fixes
5275
5276         * libs/gst/controller/gstcontroller.c:
5277         (gst_controlled_property_new):
5278         * tests/examples/controller/audio-example.c:
5279           comment fixes
5280
5281 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
5282
5283         * configure.ac:
5284           comment about refining the xml deps
5285
5286         * docs/manuals.mak:
5287           comments about moving away from jade for docs
5288         
5289         * gst/gst.c:
5290           recommit the ifdefs to use the binary registry
5291         
5292         * gst/gstbin.c: (gst_bin_change_state_func):
5293           this break is obsolete
5294
5295         * gst/gstelementfactory.h:
5296           better GST_ELEMENT_DETAILS docs, add comment about translation
5297
5298         * gst/gstinfo.h:
5299           remove eol slash
5300
5301         * gst/gstobject.c: (gst_signal_object_get_type):
5302           add G_UNLIKELY as usual
5303
5304         * gst/gstpad.c: (gst_pad_event_default):
5305           add fall trhu comment
5306
5307         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5308         (gst_registry_binary_initialize_magic),
5309         (gst_registry_binary_save_string),
5310         (gst_registry_binary_save_pad_template),
5311         (gst_registry_binary_save_feature),
5312         (gst_registry_binary_save_plugin),
5313         (gst_registry_binary_write_cache),
5314         (gst_registry_binary_check_magic),
5315         (gst_registry_binary_load_pad_template),
5316         (gst_registry_binary_load_feature),
5317         (gst_registry_binary_load_plugin),
5318         (gst_registry_binary_read_cache):
5319           comment typo and formatting
5320
5321         * gst/gstutils.c: (gst_element_state_get_name),
5322         (gst_element_state_change_return_get_name):
5323           remove obsolete breaks
5324
5325         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5326           add FIXME 0.11 and remove cpp comment
5327
5328 2007-01-29  Edward Hervey  <edward@fluendo.com>
5329
5330         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5331         Fix print statement in an even more portable way.
5332
5333 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
5334
5335         * docs/gst/gstreamer-sections.txt:
5336         * gst/gstutils.h:
5337           API: add GST_ROUND_DOWN_* macros (#401781).
5338
5339 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
5340
5341         * docs/gst/gstreamer.types.in:
5342         * gst/gstregistry.c: (gst_registry_class_init):
5343           Document registry signals and make gtk-doc pick them up (#401381).
5344
5345 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
5346
5347         * docs/pwg/building-testapp.xml:
5348           Add some audioconverts and audioresample to the pipeline, and some
5349           more comments and error handling.
5350
5351 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
5352
5353         * docs/manual/manual.xml:
5354         * docs/pwg/pwg.xml:
5355           Fix typo (#400987).
5356
5357 2007-01-26  Wim Taymans  <wim@fluendo.com>
5358
5359         * gst/gstcaps.c: (gst_static_caps_get):
5360         Init caps flags too.
5361
5362 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
5363
5364         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
5365
5366         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5367         If not using mmap'ed files try to seek to the end instead of the
5368         start to determine whether we can seek at all. This fixes the case
5369         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
5370         seeks for everything afterwards fail. Fixes #400656
5371
5372 2007-01-25  Wim Taymans  <wim@fluendo.com>
5373
5374         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
5375         Add some refcount debugging.
5376         Make gst_static_caps_get threadsafe, which is needed when autoplugging
5377         in multiple streaming threads.
5378
5379 2007-01-25  Wim Taymans  <wim@fluendo.com>
5380
5381         Patch by: David Schleef <ds at schleef dot org>
5382
5383         * docs/libs/gstreamer-libs-sections.txt:
5384         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
5385         * libs/gst/base/gstadapter.h:
5386         API: gst_adapter_copy() that can reduce the amount of memcpy when
5387         getting data from the adapter. Fixes #388201.
5388
5389 2007-01-25  Edward Hervey  <edward@fluendo.com>
5390
5391         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5392         In print statements, "%x" is for guint. Fixes build on macosx.
5393
5394 2007-01-24  Edward Hervey  <edward@fluendo.com>
5395
5396         * plugins/elements/gstmultiqueue.c:
5397         (gst_multi_queue_loop):
5398         Small fix.
5399         (single_queue_overrun_cb), (single_queue_underrun_cb),
5400         (single_queue_check_full), (gst_single_queue_new):
5401         Implement single queue growth system.
5402         This uses the extra-size properties, and will grow single queues by
5403         that much if one goes full whereas there are others empty. This is
5404         called extra-mode in the code.
5405         When a single queue's levels go back below the initial max-size
5406         limits, it is no longer in extra-mode. This is to ensure we don't
5407         consume too much memory.
5408         Fixes #399875
5409
5410 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
5411
5412         * gst/gst.c: (gst_init_get_option_group):
5413           Make warning about late g_thread_init() calls a bit more explicit,
5414           so that it's more obvious to application developers what they need
5415           to do if a user files a bug against their application.
5416
5417 2007-01-22  Edward Hervey  <edward@fluendo.com>
5418
5419         * plugins/elements/gstmultiqueue.c:
5420         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
5421         Remove previous hack of unsetting the flushing flag for the source pad
5422         instead of activating it. Instead, fix the source pad activate function
5423         so that it no longer depends on having a parent set or not.
5424
5425 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
5426
5427         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
5428
5429         * docs/manual/basics-bus.xml:
5430           Fix example code, gst_element_unref() doesn't exist any longer.
5431
5432 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
5433
5434         Patch by: Mark Nauwelaerts <manauw at skynet be>
5435
5436         * gst/gstpad.c:
5437           Fix two docs typoes (#399094).
5438
5439 2007-01-19  Edward Hervey  <edward@fluendo.com>
5440
5441         * docs/faq/gst-uninstalled:
5442         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
5443         depending on libgstbaseutils can work in uninstalled environment.
5444
5445 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
5446
5447         * gst/gsttaglist.h:
5448         * gst/gsttagsetter.c:
5449         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
5450         statement for new tag.
5451
5452 2007-01-17  Edward Hervey  <edward@fluendo.com>
5453
5454         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
5455         When dynamically creating single queues, activate sinkpad before adding
5456         it.
5457         We should be doing the same thing for the source pad, but we can't
5458         since it would call a method which needs the parent to be set in order
5459         to work propertly. Instead of activating the source pad, we just unset
5460         the flushing flag, which is the minimal requirement for adding a pad
5461         to an element in a state greater than READY.
5462
5463 2007-01-17  Edward Hervey  <edward@fluendo.com>
5464
5465         * docs/faq/gst-uninstalled:
5466         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
5467         Mac OS X.
5468
5469 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5470
5471         * tests/check/gst/gstabi.c:
5472         * tests/check/gst/struct_hppa.h:
5473         * tests/check/libs/libsabi.c:
5474         * tests/check/libs/struct_hppa.h:
5475           Add ABI structs for HPPA (see #393796).
5476
5477 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
5478
5479         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5480           Actually write ABI structs to the file specified in the GST_ABI
5481           environment variable, as the message we print claims we would.
5482
5483 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5484
5485         * tests/check/gst/gsttask.c:
5486           Fix header comment.
5487
5488 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5489
5490         * gst/gsttaglist.c: (_gst_tag_initialize):
5491           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
5492           previous two entries.
5493
5494 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5495
5496         * docs/gst/gstreamer-sections.txt:
5497         * gst/gsttaglist.c: (_gst_tag_initialize):
5498         * gst/gsttaglist.h:
5499           Add tag support for beat-per-minute.
5500
5501 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5502
5503         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5504         (gst_registry_binary_initialize_magic),
5505         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
5506         (gst_registry_binary_save_pad_template),
5507         (gst_registry_binary_save_feature),
5508         (gst_registry_binary_save_plugin),
5509         (gst_registry_binary_write_cache),
5510         (gst_registry_binary_check_magic),
5511         (gst_registry_binary_load_pad_template),
5512         (gst_registry_binary_load_feature),
5513         (gst_registry_binary_load_plugin),
5514         (gst_registry_binary_read_cache):
5515         * gst/gstregistrybinary.h:
5516           Use glib types, cleanup comments, impement interfaces and uri-types.
5517
5518 2007-01-13  Andy Wingo  <wingo@pobox.com>
5519
5520         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
5521         getrange() to return buffers with other caps, while we fix
5522         demuxers and typefind, or otherwise change part-negotiation.txt.
5523
5524 2007-01-12  Andy Wingo  <wingo@pobox.com>
5525
5526         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
5527         Factor start/stop into this private function instead of partially
5528         in activate functions and partially in the change_state function.
5529         Fixes setup before the element has changed from READY->PAUSED, as
5530         is the case in pull-mode pipelines.
5531         (gst_base_transform_sink_activate_push)
5532         (gst_base_transform_src_activate_pull): Refactor to use
5533         gst_base_transform_activate().
5534         (gst_base_transform_change_state): Removed, not needed any more.
5535
5536         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
5537         Truncate before fixating.
5538         
5539         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
5540         Don't set_caps() if the result of fixating is ANY, as it's not
5541         supported, and not necessary in the case of a link with no
5542         template caps on either side. Fixes tests/check/libs/basesrc in
5543         some pull-mode tests.
5544
5545         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
5546         (gst_base_transform_init, gst_base_transform_sink_activate_push)
5547         (gst_base_transform_src_activate_pull): 
5548         Track the activation mode.
5549         (gst_base_transform_setcaps): In pull mode, when activating the
5550         src pad, after activating the sink pad, activate the sink pad's
5551         peer, as discussed in part-negotiation.txt.
5552
5553         * libs/gst/base/gstbasesrc.h: 
5554         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
5555         vmethod, as in basesink.
5556
5557         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
5558
5559         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
5560         mode, first proxy the setcaps to the peer pad.
5561         (gst_base_sink_pad_fixate): Add a fixate function that calls the
5562         new fixate vmethod.
5563         (gst_base_sink_default_activate_pull): Rename from
5564         gst_base_sink_activate_pull.
5565         (gst_base_sink_negotiate_pull): New function, performs negotiation
5566         in pull mode before calling ::activate_pull().
5567         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
5568         vmethod instead of the default implementation. I have no idea how
5569         this worked before. Negotiate before calling activate_pull.
5570
5571         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
5572         sink pads in pull mode. In addition to being correct, fixes
5573         filesrc ! decodebin ! identity ! fakesink.
5574         (gst_pad_get_range, gst_pad_pull_range): Don't call
5575         gst_pad_set_caps() if the caps changes; instead error out with
5576         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
5577
5578 2007-01-12  Andy Wingo  <wingo@pobox.com>
5579
5580         * docs/design/part-negotiation.txt: Update with more policy.
5581
5582 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5583
5584         * libs/gst/check/gstbufferstraw.h:
5585         * libs/gst/check/gstcheck.h:
5586           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
5587           belongs.
5588
5589 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5590
5591         * tests/check/Makefile.am:
5592         * tests/check/gst/.cvsignore:
5593         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
5594         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
5595         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
5596         (GST_START_TEST), (gst_tag_setter_suite):
5597           Add minimal unit test for beforementioned GstTagSetter bug.
5598
5599 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5600
5601         Patch by: René Stadler <mail at renestadler dot de>
5602
5603         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
5604           gst_tag_list_merge() returns a new list, so it's not the best idea
5605           to ingore its return value. Effectively meant that tags could only
5606           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
5607           Also add function guard to require a non-NULL taglist as input (has
5608           always been so due to gst_tag_list_copy(), just making it explicit).
5609
5610 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5611
5612         * docs/random/draft-missing-plugins.txt:
5613           Some additions: mention new API that is supposed to be used at the
5614           various stages; short blob about new gst-inspect introspection
5615           option; mention potential future problem with plugins that have
5616           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
5617
5618 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5619
5620         * tools/gst-inspect.c:
5621         (print_plugin_automatic_install_info_codecs),
5622         (print_plugin_automatic_install_info_protocols),
5623         (print_plugin_automatic_install_info), (main):
5624         Add --print-plugin-auto-install-info option to gst-inspect, so we can
5625         introspect plugin files and get machine-parsable output that corresponds
5626         to the last bit of the missing-plugin installer string (small gotcha:
5627         doesn't take into account ranks).
5628
5629 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
5630
5631         * configure.ac:
5632         * docs/gst/gstreamer-sections.txt:
5633         * gst/Makefile.am:
5634         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
5635         (gst_registry_lookup_locked):
5636         * gst/gstregistry.h:
5637         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5638         (gst_registry_binary_initialize_magic),
5639         (gst_registry_binary_save_string),
5640         (gst_registry_binary_save_pad_template),
5641         (gst_registry_binary_save_feature),
5642         (gst_registry_binary_save_plugin),
5643         (gst_registry_binary_write_cache),
5644         (gst_registry_binary_check_magic),
5645         (gst_registry_binary_load_pad_template),
5646         (gst_registry_binary_load_feature),
5647         (gst_registry_binary_load_plugin),
5648         (gst_registry_binary_read_cache):
5649         * gst/gstregistrybinary.h:
5650         * gst/gstregistryxml.c: (load_feature),
5651         (gst_registry_xml_read_cache):
5652           commit binary registry (disabled by default, see #359653)
5653
5654 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5655
5656         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
5657           Fix 'make check' too.
5658
5659 2007-01-10  Andy Wingo  <wingo@pobox.com>
5660
5661         * docs/design/part-negotiation.txt: Fix a typo, add a couple
5662         notes.
5663         
5664         * docs/design/part-negotiation.txt: Update with, um, one way that
5665         pull-mode negotiation might work?
5666
5667         * gst/gstpad.h: 
5668         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
5669         that the pad must be a src pad; makes sense to call it the other
5670         way in pull mode, and the logic is symmetric anyway.
5671
5672 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5673
5674         * plugins/elements/gstfilesink.c:
5675           Include <stdio.h> for fseeko().
5676
5677 2007-01-10  Wim Taymans  <wim@fluendo.com>
5678
5679         * gst/gstevent.c:
5680         * gst/gstevent.h:
5681         Reserve LATENCY event.
5682
5683 2007-01-09  Wim Taymans  <wim@fluendo.com>
5684
5685         * docs/design/draft-latency.txt:
5686         Updates.
5687
5688 2007-01-09  Wim Taymans  <wim@fluendo.com>
5689
5690         * docs/design/draft-latency.txt:
5691         Updates.
5692
5693         * gst/gstelement.h:
5694         * gst/gststructure.c:
5695         * gst/gsttrace.c:
5696         Small typo fixes.
5697
5698 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5699
5700         * tests/check/.cvsignore:
5701           Ignore test-registry.xml as well.
5702
5703 2007-01-09  Wim Taymans  <wim@fluendo.com>
5704
5705         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5706         unref data at the end when we are done with the pad.
5707
5708 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5709
5710         * docs/gst/gstreamer-sections.txt:
5711         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
5712         (init_post), (gst_deinit), (gst_update_registry):
5713         * gst/gst.h:
5714           API: add gst_update_registry() (#391296).
5715
5716         * tests/check/Makefile.am:
5717         * tests/check/gst/gstregistry.c:
5718         * tests/check/gst/.cvsignore:
5719           Simple unit test for the above.
5720
5721 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5722
5723         * gst/gstregistry.c: (gst_registry_scan_path_level):
5724           Plugin extension on HP-UX is .sl, add that to the list of approved
5725           plugin extensions (see #393796).
5726
5727         * tests/check/gst/gstpad.c: (GST_START_TEST):
5728           ulong => gulong. Fixes compilation with HP-UX compiler.
5729
5730         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5731           Fix compilation if valgrind headers are not available.
5732
5733 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
5734
5735         * win32/common/libgstreamer.def: 
5736           Add new exported function.
5737         * win32/vs6/libgstbase.dsp: 
5738           Add gstdataqueue.c to the build.
5739         * win32/vs6/libgstcoreelements.dsp:
5740           Add gstmultiqueue.c to the build.
5741         
5742 2007-01-06  Andy Wingo  <wingo@pobox.com>
5743
5744         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
5745         activate_pull(), providing for a way to specialize the process of
5746         spawning a thread to pull on the sink pad. There is a default
5747         implementation.
5748
5749         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
5750         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
5751         (gst_base_sink_init): Renamed pad activation functions (inserting
5752         "_pad" in their names). Refactor to use the new activate_pull
5753         vmethod, as appropriate.
5754         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
5755         default activate_pull function to start a task pulling from the
5756         sink pad, as before.
5757
5758         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
5759         on the pads if necessary, as in push()/chain(). Update docs.
5760         Shouldn't affect existing pull() usage as it is currently only
5761         being used on buffers without caps.
5762
5763 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5764
5765         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5766         (init_pre):
5767           Call g_thread_init() first thing in gst_init() / gst_check_init().
5768           When initialisation is done via gst_init_get_option_group() and
5769           GOption parsing, issue a warning if the GLib thread system has not
5770           been initialised yet by the time gst_init_get_option_group() is
5771           called, as it's quite likely other GLib functions such as
5772           g_option_context_new() have been called already then, and
5773           g_thread_init() must be called before any other GLib function. The
5774           application in question must be fixed in that case, since memory
5775           corruption might happen otherwise.
5776           We issue the warning because even if the GLib folks decide to work
5777           around the problem on their end in future, this is still an issue
5778           with all GLib versions >= 2.10.0, so we should warn until we depend
5779           on a GLib version we know to be safe.
5780           Update documentation as well.
5781           Closes bug #391278.
5782
5783 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5784
5785         * tools/gst-inspect.c: (main):
5786         * tools/gst-launch.c: (main):
5787         * tools/gst-typefind.c: (main):
5788         * tools/gst-xmlinspect.c: (main):
5789           Call g_thread_init() really really early, before any other GLib
5790           function (see #342564 and recent discussion on gtk-devel-list).
5791
5792 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5793
5794         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
5795
5796         * gst/gst_private.h:
5797         * gst/gstconfig.h.in:
5798         * gst/gstinfo.h:
5799           On win32, all the __declspec stuff for symbol exporting is
5800           apparently only needed with MSVC, but doesn't work with MingW.
5801           Fixes compilation with MingW and #391909.
5802
5803 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5804
5805         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
5806           Change some GST_ERROR_OBJECT that aren't really errors to
5807           GST_WARNING_OBJECT in order to reduce terminal spam.
5808
5809 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5810
5811         * tests/check/Makefile.am:
5812           disable test again, as there seem to be still race problems
5813
5814 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5815
5816         * tests/check/Makefile.am:
5817         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5818         (GST_START_TEST), (queue_suite):
5819           enable queue test again, add tests for the leaky behaviour
5820
5821 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
5822
5823         * configure.ac:
5824         * tests/examples/Makefile.am:
5825           Compile adapter test/example only if the required headers are
5826           available (fixes #391915).
5827
5828 2007-01-01  David Schleef  <ds@schleef.org>
5829
5830         * gst/gstplugin.c:
5831           Restore the previous signal handler for SIGSEGV instead of
5832           setting to default, since we may have stolen it away from
5833           someone.  (i.e., Mono)
5834
5835 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * docs/random/draft-missing-plugins.txt:
5838           Some small additions and clarifications.
5839
5840 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5841
5842         * gst/gstregistryxml.c: (gst_registry_save_escaped):
5843           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
5844           since that can lead to random memory corruptions and crashes
5845           (may or may not be related to #383244, #386711, and #386711).
5846
5847 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5848
5849         * tests/check/.cvsignore:
5850         * tests/check/Makefile.am:
5851           sync .cvsignome and CLEANFILES
5852
5853 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5854
5855         * tests/check/Makefile.am:
5856           fix distcheck
5857
5858 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5859
5860         * docs/design/part-states.txt:
5861           two tiny additional comments
5862         
5863         * gst/gststructure.c:
5864           doc fixing
5865
5866         * tests/check/Makefile.am:
5867         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5868         (GST_START_TEST):
5869           disable test for now, unless it gets fixed
5870
5871 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5872
5873         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5874         (GST_START_TEST):
5875           fix race in underrun test
5876
5877 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5878
5879         * tests/check/elements/.cvsignore:
5880           ignore more
5881
5882         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5883         (GST_START_TEST):
5884           try to narrow test failure
5885
5886 2006-12-21  David Schleef  <ds@schleef.org>
5887
5888         * plugins/elements/gstfakesrc.c:
5889           Use g_random_int_range(), since it produces better random
5890           numbers in a range than almost-correct floating point code.
5891
5892 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5893
5894         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5895         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5896         (gst_check_teardown_sink_pad):
5897           do not automatically (de)activate pads
5898
5899         * tests/check/Makefile.am:
5900         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5901         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
5902           add new, yet simple tests for queue
5903
5904         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
5905         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
5906         * tests/check/elements/filesrc.c: (cleanup_filesrc),
5907         (GST_START_TEST):
5908         * tests/check/elements/identity.c: (cleanup_identity):
5909           consistent pad (de)activation
5910
5911 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5912
5913         Patch by: Sebastian Dröge  <slomo ubuntu com>
5914
5915         * libs/gst/base/gstcollectpads.c:
5916           Fix two doc typos (#387866).
5917
5918 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5919
5920         * docs/manual/advanced-dparams.xml:
5921           Fix typo (g_object_control_properties() doesn't exist).
5922
5923 2006-12-19  Edward Hervey  <edward@fluendo.com>
5924
5925         * gst/gstsegment.c: (gst_segment_set_seek):
5926         Fine tune the cases where the segment start/stop values are really
5927         updated.
5928         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5929         Add tests for the return values of gst_segment_set_seek().
5930
5931 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5932
5933         * gst/gst.c:
5934           Docs typo fix.
5935
5936         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5937         (gst_queue_init):
5938           Fix incorrect documentation and flesh it out a bit more.
5939           Set default values for the max properties on the GParamSpec as well,
5940           so it shows up correctly in gst-inspect.
5941
5942 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
5943
5944         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5945           Correct docs of queue, add more detail and crosslink it more.
5946
5947 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5948
5949         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5950           Print additional debug info when the stream isn't perfectly
5951           timestamped; don't try to use invalid durations.
5952
5953 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5954
5955         * docs/design/Makefile.am:
5956           Dist new design docs.
5957
5958 2006-12-16  Wim Taymans  <wim@fluendo.com>
5959
5960         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5961
5962         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
5963         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5964         (gst_collect_pads_stop), (gst_collect_pads_event),
5965         (gst_collect_pads_chain):
5966         * libs/gst/base/gstcollectpads.h:
5967         Add refcounting to the collectpads data so we can track when it's safe
5968         to free the data. Fixes #383382.
5969
5970 2006-12-15  Wim Taymans  <wim@fluendo.com>
5971
5972         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5973         (gst_collect_pads_remove_pad):
5974         Automatically activate/deactivate pads when they are added to a
5975         started/stoped collectpads.
5976
5977 2006-12-15  Wim Taymans  <wim@fluendo.com>
5978
5979         * gst/gstelement.c: (gst_element_add_pad):
5980         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5981         * gst/gstpad.c: (gst_pad_init):
5982         Set pads to FLUSHING when they are created. Check, warn and fix when a
5983         demuxer adds an inactive pad to itself when running. Fixes #339326.
5984
5985 2006-12-15  Wim Taymans  <wim@fluendo.com>
5986
5987         * gst/gstelement.c: (gst_element_class_init),
5988         (gst_element_default_send_event), (gst_element_send_event),
5989         (gst_element_default_query), (gst_element_query):
5990         Expose default element send_event and query handling as vmethods that
5991         subclasses can chain up to.
5992
5993 2006-12-15  Wim Taymans  <wim@fluendo.com>
5994
5995         * gst/gstelement.c: (gst_element_set_state_func):
5996         Small documentation fixes.
5997
5998 2006-12-15  Wim Taymans  <wim@fluendo.com>
5999
6000         * docs/design/draft-latency.txt:
6001         Checked in draft for handling latency in pipelines.
6002
6003 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6004
6005         * Makefile.am:
6006         * gstreamer.doap:
6007         * gstreamer.spec.in:
6008           adding .doap file
6009
6010 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
6011
6012         * gst/gst.c: (init_pre), (init_post):
6013           init_pre() and init_post() might be called via our GOptionGroup or
6014           from gst_init(), and we should skip both of them if we've already
6015           been initialised, otherwise we will init some things twice or add
6016           two default log functions.
6017
6018 2006-12-13  Edward Hervey  <edward@fluendo.com>
6019
6020         * docs/manual/basics-bus.xml:
6021         No, gst_main_loop does not exist. Its g_main_loop.
6022         Discovered by somebody who abused the copy-paste technique of coding :)
6023
6024 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
6025
6026         * gst/gstghostpad.c:
6027           Log ghostpad debug stuff to the GST_PADS category as well rather
6028           than just to the default category.
6029
6030 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6031
6032         * configure.ac:
6033         * gst/gst.c: (init_pre):
6034           Add some basic system details such as OS and architecture
6035           to the debug output if possible, courtesy of uname().
6036
6037 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6038
6039         * docs/gst/running.xml:
6040           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
6041           environment variables.
6042
6043 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
6044
6045         * tests/check/gst/gstbin.c: (GST_START_TEST):
6046         It is acceptable to have a refcount of 2 or 3 at this point in the
6047         test, because the pipeline might be just posting its state_change
6048         message. The next line then waits for that message to appear using
6049         bus_poll, so that should be fine too.
6050
6051 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
6052
6053         * gst/gst.c: (ensure_current_registry_forking):
6054         Ignore EINTR when reading from the child registry pipe.
6055         Explicitly ignore the return value from close, since it makes no
6056         difference.
6057
6058         * gst/gstminiobject.c: (gst_mini_object_ref),
6059         (gst_mini_object_unref):
6060         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
6061
6062         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
6063         When removing cached plugins, remove their features too, so they're
6064         not visible after they've disappeared.
6065
6066         * gst/gstutils.c: (prepare_link_maybe_ghosting):
6067         In the unlikely case that we are linking pads with no parents, don't
6068         crash trying to get the non-existent parent bin.
6069
6070         * gst/parse/grammar.y:
6071         Output debug in the PIPELINE category
6072
6073 2005-03-08  Wim Taymans  <wim@fluendo.com>
6074
6075         Patch by: René Stadler <mail at renestadler dot de>
6076
6077         * gst/gstclock.c: (gst_clock_new_periodic_id):
6078         Reject invalid clock times for interval of periodic ids.
6079         Fixes ##383506.
6080
6081 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
6082
6083         * gst/gstelementfactory.c: (gst_element_factory_create):
6084         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6085         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6086         * tools/gst-inspect.c: (print_element_info):
6087         Fix refcounting of gst_plugin_feature_load to match the docs. 
6088         Fixes: #380129
6089
6090 2006-12-07  Wim Taymans  <wim@fluendo.com>
6091
6092         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6093         (gst_base_sink_get_position):
6094         Improve debugging of events.
6095
6096 2006-12-07  Wim Taymans  <wim@fluendo.com>
6097
6098         Patch by: René Stadler <mail at renestadler dot de>
6099
6100         * gst/gstclock.c: (gst_clock_id_wait):
6101         Make period ids add the interval to the origial requested time instead
6102         of the possibly updated time which can be wrong when there are multiple
6103         waiters for the same id. Fixes #382592.
6104
6105         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
6106         (gst_system_clock_id_wait_jitter_unlocked),
6107         (gst_system_clock_id_wait_jitter):
6108         Fix restart in the async notify thread when an async entry is added to
6109         the front of the list. Fixes #381492. 
6110
6111         * tests/check/gst/gstsystemclock.c: (store_callback),
6112         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
6113         Added test for multiple async waits.
6114         Added test for async wait order.
6115
6116 2006-12-07  Wim Taymans  <wim@fluendo.com>
6117
6118         * gst/gstbin.c: (gst_bin_query):
6119         Add some more docs about the POSITION query.
6120
6121 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
6122
6123         * configure.ac:
6124         Bump version nano - back to CVS.
6125
6126 === release 0.10.11 ===
6127
6128 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
6129
6130         * configure.ac:
6131           releasing 0.10.11, "Love never runs on time"
6132
6133 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
6134
6135         * win32/common/libgstbase.def:
6136         * win32/common/libgstreamer.def:
6137         * win32/vs8/libgstbase.vcproj:
6138         * win32/vs8/libgstcoreelements.vcproj:
6139         * win32/vs8/libgstreamer.vcproj:
6140         Fix compilation on win32 under VS8
6141         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6142         Partially fixes #381175
6143
6144 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6145
6146         * gst/gstvalue.c: (gst_value_compare_fraction):
6147         If someone is foolish enough to compare 2 fractions with denominator =
6148         0, return UNORDERED rather than aborting.
6149
6150 2006-11-28  Edward Hervey  <edward@fluendo.com>
6151
6152         * libs/gst/base/Makefile.am:
6153         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
6154         (gst_data_queue_base_init), (gst_data_queue_class_init),
6155         (gst_data_queue_init), (gst_data_queue_new),
6156         (gst_data_queue_cleanup), (gst_data_queue_finalize),
6157         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
6158         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
6159         (gst_data_queue_is_empty), (gst_data_queue_is_full),
6160         (gst_data_queue_set_flushing), (gst_data_queue_push),
6161         (gst_data_queue_pop), (gst_data_queue_drop_head),
6162         (gst_data_queue_set_property), (gst_data_queue_get_property):
6163         * libs/gst/base/gstdataqueue.h:
6164         New GstDataQueue object for threadsafe queueing. Most useful for
6165         elements that need some queueing functionnality.
6166         * docs/libs/gstreamer-libs-docs.sgml:
6167         * docs/libs/gstreamer-libs-sections.txt:
6168         Insert documentation for GstDataQueue
6169         * plugins/elements/Makefile.am:
6170         * plugins/elements/gstelements.c:
6171         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
6172         (gst_multi_queue_class_init), (gst_multi_queue_init),
6173         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6174         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
6175         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
6176         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6177         (gst_multi_queue_loop), (gst_multi_queue_chain),
6178         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6179         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
6180         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
6181         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
6182         (wake_up_next_non_linked), (compute_next_non_linked),
6183         (single_queue_overrun_cb), (single_queue_underrun_cb),
6184         (single_queue_check_full), (gst_single_queue_new):
6185         * plugins/elements/gstmultiqueue.h:
6186         New multiqueue element, using GstDataQueue. Used for queuing multiple
6187         streams.
6188         Closes #344639 and #347785
6189
6190 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
6191
6192         * docs/pwg/advanced-types.xml:
6193           add more missing type details
6194
6195         * tools/gst-run.c: (main):
6196           remove unused variable
6197
6198 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
6199
6200         * docs/libs/Makefile.am:
6201         * docs/libs/gstreamer-libs.types:
6202           add types of base classes to enable gobject specific stuff in the docs
6203
6204         * docs/random/ensonic/embedded.txt:
6205           more ideas about isolating platform specific things
6206
6207 2006-11-20  Wim Taymans  <wim@fluendo.com>
6208
6209         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
6210
6211         * libs/gst/check/gstcheck.h:
6212         Fix compilation and running against 0.9.4. Fixes #377332.
6213
6214 2006-11-20  Wim Taymans  <wim@fluendo.com>
6215
6216         * gst/gstsegment.c: (gst_segment_set_seek),
6217         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6218         (gst_segment_to_running_time):
6219         Fix boundary checking in to_running_time() and to_stream_time().
6220         Fixes #377183.
6221
6222         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6223         stream and running time can now be calculated for the complete
6224         clipped segment.
6225
6226 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
6227
6228         * gst/gstpad.c: (gst_pad_push_event):
6229           Can't access event structure after giving away ownership of
6230           the event.
6231
6232 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
6233
6234         * docs/random/ensonic/embedded.txt:
6235         * docs/random/ensonic/profiling.txt:
6236         * docs/random/ensonic/receipies.txt:
6237           more thinking
6238
6239 2006-11-13  Wim Taymans  <wim@fluendo.com>
6240
6241         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6242
6243         * gst/gstpad.c:
6244         Fix documentation for gst_pad_dispatcher. Fixes #374475.
6245
6246 2006-11-13  Wim Taymans  <wim@fluendo.com>
6247
6248         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
6249
6250         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6251         Store new length in segment duration so we don't keep on calling the
6252         potentially expensize get_size() call. Fixes #370865.
6253
6254 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
6255
6256         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
6257
6258         * win32/common/libgstreamer.def:
6259           Add two missing symbols (#366492).
6260
6261 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
6262
6263         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
6264         (gst_adapter_take_buffer):
6265         Fix format string to use all its arguments.
6266         Remove useless >= check on a guint
6267
6268 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
6269
6270         * tests/examples/adapter/.cvsignore:
6271         Ignore build file as commanded by the build-bot
6272
6273 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
6274
6275         * tests/examples/adapter/Makefile.am:
6276         * tests/examples/adapter/adapter_test.c: (run_test_take),
6277         (run_test_take_buffer), (run_tests), (main):
6278
6279         Add new files from the previous commit
6280
6281 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
6282
6283         * Makefile.am:
6284         * configure.ac:
6285         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
6286         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
6287         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
6288         * libs/gst/base/gstadapter.h:
6289         * tests/check/libs/adapter.c: (create_and_fill_adapter),
6290         (GST_START_TEST), (gst_adapter_suite):
6291         * tests/examples/Makefile.am:
6292         Do some optimisation work in GstAdapter to avoid copies in more cases.
6293         It could still do slightly better by merging buffers when
6294         gst_buffer_is_span_fast is true, but is already faster. 
6295
6296         Also, avoid traversing a single-linked list to append each incoming 
6297         buffer inside the adapter.
6298
6299         Add simple test app that times the adapter behaviour in different
6300         situations, and extend the unit test to check that bytes enter and
6301         exit the adapter in their original order.
6302
6303 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6304
6305         * docs/random/draft-missing-plugins.txt:
6306           Update: use element message instead of adding a new message
6307           type to the core; don't provide GStreamer API to initiate the
6308           plugin download, just provide API to compose the strings needed
6309           and let an external libgimmestuff handle the rest.
6310
6311 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
6312
6313         * tools/gst-inspect.c: (print_element_properties_info):
6314         Print a string instead of 'unknown type' for GValueArray properties
6315
6316 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
6317
6318         * docs/random/draft-missing-plugins.txt:
6319         More small fixes.
6320
6321 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6322
6323         * tests/examples/typefind/typefind.c: (type_found), (main):
6324           Make typefind element example work again (#371894); add a
6325           license header.
6326
6327 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6328
6329         * docs/random/draft-missing-plugins.txt:
6330           Commit initial draft about how to deal with missing plugins,
6331           needs work (API too).
6332
6333 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
6334
6335         * docs/pwg/advanced-types.xml:
6336           documents the new caps elements (see #363118)
6337
6338 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6339
6340         * gst/gstplugin.c: (gst_plugin_load_file):
6341         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
6342         (gst_file_src_map_region), (gst_file_src_start):
6343         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
6344         (gst_file_index_commit):
6345           Use g_strerror() instead of strerror() - we want UTF-8.
6346
6347 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6348
6349         Patch by: Peter Kjellerstedt <pkj at axis com>
6350
6351         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6352           Another printf fix (#371493).
6353
6354 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6355
6356         * tests/check/gst/gsttag.c:
6357           relicence (okay with author=company)
6358
6359 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6360
6361         * gst/gstpad.c: (gst_pad_event_default_dispatch),
6362         (gst_pad_push_event):
6363           Enhance debug and improve docs
6364         
6365         * gst/gsturi.c:
6366           Fix docs
6367
6368 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6369
6370         * docs/random/ensonic/distributed.txt:
6371         * docs/random/ensonic/profiling.txt:
6372           more ideas
6373
6374 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6375
6376         * docs/gst/gstreamer-sections.txt:
6377           add new API and fix the build
6378           
6379         * gst/gstbin.c: (gst_bin_recalc_state):
6380         * gst/gstelement.c: (gst_element_message_full),
6381         (gst_element_get_state_func), (gst_element_set_state_func):
6382           use new API and improve logging
6383         
6384         * gst/gstutils.c: (gst_element_state_change_return_get_name):
6385         * gst/gstutils.h:
6386           API: add function to get StateChangereturn names to improve logs 
6387
6388 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6391           I'm considering shooting the next person to put strerror stuff
6392           in the translateable part of the message.
6393
6394 2006-11-03  Wim Taymans  <wim@fluendo.com>
6395
6396         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6397         Get the type and printf conversion specifiers right.
6398
6399 2006-11-03  Wim Taymans  <wim@fluendo.com>
6400
6401         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6402
6403         * gst/gstpad.c: (gst_pad_init), (pre_activate),
6404         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
6405         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
6406         Some small cleanups. Improve debugging.
6407         * gst/gstpad.h:
6408         Signal all waiting threads with a broadcast instead of just one.
6409         Fixes #369942.
6410
6411 2006-11-03  Wim Taymans  <wim@fluendo.com>
6412
6413         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
6414         (gst_fd_src_create):
6415         Add some debugging. 
6416         Only update fd when it's different from the old.
6417
6418 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6419
6420         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
6421           Printf fixes for PPC/OSX, take two (#369366).
6422
6423 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6424
6425         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
6426
6427         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6428         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6429         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
6430           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
6431           don't cast to long long for portability reasons, but use
6432           GLib's types instead.
6433
6434 2006-10-30  Michael Smith  <msmith@fluendo.com>
6435
6436         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6437           Get the arguments to lseek() the right way around.
6438           Fixes 367677.
6439
6440 2006-10-30  Wim Taymans  <wim@fluendo.com>
6441
6442         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
6443
6444         * gst/gstinfo.h:
6445         _declspec should be __declspec (two underscores, not one). Fixes 366572.
6446
6447 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         Patch by: Kjartan Maraas  <kmaraas at gnome org>
6450
6451         * docs/design/part-MT-refcounting.txt:
6452         * docs/random/wtay/capsnego2-docs:
6453         * gst/gstclock.c:
6454         * gst/gstxml.c:
6455           Typo fixes (#366212).
6456
6457 2006-10-28  Wim Taymans  <wim@fluendo.com>
6458
6459         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6460
6461         * gst/gst.c:
6462         * win32/common/libgstbase.def:
6463         * win32/common/libgstreamer.def:
6464         * win32/vs8/libgstbase.vcproj:
6465         * win32/vs8/libgstcontroller.vcproj:
6466         Add needed entries in .def files.
6467         Use HAVE_UNISTD_H.
6468         Rearrange def files in vs8 solutions. Fixes #366286.
6469
6470 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
6471
6472         * win32/common/gstconfig.h:
6473           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
6474           hand-made win32 gstconfig.h. Fixes #366321.
6475
6476 2006-10-27  Wim Taymans  <wim@fluendo.com>
6477
6478         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
6479         (gst_ghost_pad_new_full):
6480         Make acceptcaps return TRUE when we don't have a target, just like
6481         setcaps does.
6482
6483 2006-10-27  Wim Taymans  <wim@fluendo.com>
6484
6485         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6486         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
6487
6488 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6489
6490         * gst/gststructure.c: (gst_structure_id_set_value):
6491           If someone tries to set a non-UTF8 string field on a structure,
6492           don't just print a warning, but also ignore the request and do
6493           not change/add that field to the structure.
6494
6495         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6496           Test for the above.
6497
6498 2006-10-25  David Schleef  <ds@schleef.org>
6499
6500         * gst/gstinfo.c:
6501           g_hash_table_insert() needs a cast to a non-const pointer duh.
6502
6503 2006-10-25  David Schleef  <ds@schleef.org>
6504
6505         * gst/gstinfo.c:
6506         * gst/gstinfo.h:
6507           Change name parameter of _gst_debug_register_funcptr to const
6508           to reflect the constness of its use in the function as well
6509           as to quiet a gcc warning.
6510
6511 2006-10-25  Edward Hervey  <edward@fluendo.com>
6512
6513         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6514         Don't push the buffer if it's empty.
6515         Closes #363095
6516
6517 2006-10-24  Wim Taymans  <wim@fluendo.com>
6518
6519         * gst/gstevent.h:
6520         Add small comment.
6521
6522         * libs/gst/base/gstbasetransform.c:
6523         (gst_base_transform_sink_eventfunc):
6524         Debug segment values *after* updating them as this is more
6525         interesting.
6526
6527 2006-10-23  Wim Taymans  <wim@fluendo.com>
6528
6529         * docs/design/part-events.txt:
6530         Update some docs.
6531
6532         * docs/design/part-block.txt:
6533         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6534         (gst_pad_push_event):
6535         Revert BLOCKING patch, it tries to be smart without really having a
6536         clear idea what or how. So, now we discard all FLUSHING events again on
6537         a blocking pad. Should fix gnonlin again.
6538
6539 2006-10-23  Wim Taymans  <wim@fluendo.com>
6540
6541         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6542
6543         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6544         (gst_base_src_start), (gst_base_src_activate_push):
6545         Make sure size is always initialized. Fixes #364388.
6546
6547 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
6548
6549         * docs/random/ensonic/distributed.txt:
6550           add some ideas about doing distributed processing
6551
6552         * docs/random/ensonic/profiling.txt:
6553           get_rusage look promising
6554
6555 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
6556
6557         * docs/manual/basics-helloworld.xml:
6558           Add a cast in example to fix compile warning
6559
6560 2006-10-18  Wim Taymans  <wim@fluendo.com>
6561
6562         * gst/gstsegment.c: (gst_segment_set_last_stop),
6563         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
6564         Relax arg checking again, -1 is allowed.
6565
6566 2006-10-18  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/gstsegment.c: (gst_segment_set_last_stop),
6569         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
6570         _set_last_stop() must be with a value != -1
6571         A _TYPE_SET to -1 means seek to 0.
6572         Calc last_stop correctly for negative rates.
6573         Make sure we work with positive durations when updating a segment.
6574
6575 2006-10-18  Wim Taymans  <wim@fluendo.com>
6576
6577         * docs/design/part-live-source.txt:
6578         * gst/gstclock.h:
6579         Small docs fixes.
6580
6581 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
6582
6583         * gst/gstbuffer.h:
6584           Add an explicit cast to GstBuffer** to keep old code that added an
6585           explicit cast to GstMiniObject** for gst_mini_object_replace()
6586           compiling without warning.
6587
6588 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
6591           check for validity of dates
6592
6593 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6594
6595         * docs/gst/gstreamer-sections.txt:
6596           Forgot this one, makes gtk-doc shut up.
6597
6598 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6599
6600         Patch by: Peter Kjellerstedt <pkj at axis com>
6601
6602         * gst/gstobject.h:
6603           Don't define xmlNodePtr to gpointer if the core was built with
6604           --disable-loadsave and --disable-registry, this will break
6605           applications that want to use libxml2 but are buildling against a
6606           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
6607           instead so we don't have to mess with the libxml2 namespace
6608           (#361675).
6609
6610 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6611
6612         * gst/gstbuffer.h:
6613           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
6614           type-punned pointer warnings.
6615
6616 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6617
6618         * gst/gstelement.h:
6619           Add casts to the correct return type to state <=> state transition
6620           macros.
6621
6622 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
6623
6624         * docs/design/part-live-source.txt:
6625           describe howto handle latency
6626         
6627         * docs/random/ensonic/profiling.txt:
6628           more ideas
6629
6630         * tools/gst-plot-timeline.py:
6631           fix log parsing for solaris, remove unused function
6632
6633 2006-10-16  Wim Taymans  <wim@fluendo.com>
6634
6635         * docs/design/part-trickmodes.txt:
6636         * gst/gstevent.c:
6637         Update some docs regarding reverse playback.
6638
6639 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6640
6641         Patch by: Marcus Granado  <mrc dot gran at gmail com>
6642
6643         * win32/vs8/grammar.vcproj:
6644           Error out with a warning if glib-genmarshal.exe is not in path,
6645           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
6646
6647 2006-10-13  Wim Taymans  <wim@fluendo.com>
6648
6649         * gst/gstsegment.c: (gst_segment_set_seek):
6650         When seeking to stop -1, set last_stop (current position) to the
6651         duration of the segment.
6652
6653 2006-10-13  Wim Taymans  <wim@fluendo.com>
6654
6655         * gst/gstelement.h:
6656         Clarify _NO_PREROLL a bit more.
6657
6658         * gst/gstevent.c:
6659         Fix docs.
6660
6661         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
6662         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
6663         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
6664         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
6665         due to wrong locking order. Fixes #361769.
6666         Remove some redundant/misplaced checks in pad_block.
6667
6668         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6669         For negative rates, count backwards from the duration.
6670
6671 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6672
6673         * gst/gsterror.c: (_gst_library_errors_init):
6674           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
6675           up with something better).
6676
6677 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6678
6679         * win32/vs6/libgstreamer.dsp:
6680         * win32/vs7/libgstreamer.vcproj:
6681         * win32/vs8/libgstreamer.vcproj:
6682           Don't reference glib-compat.c which is currently not used and not
6683           disted; add gstquark.c which was recently added. Fixes #361730.
6684
6685 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6686
6687         * win32/common/libgstbase.def:
6688         * win32/common/libgstcontroller.def:
6689         * win32/common/libgstreamer.def:
6690           Add gst_caps_merge() and a bunch of other recently-added functions.
6691           Fixes #361732.
6692
6693 2006-10-11  Wim Taymans  <wim@fluendo.com>
6694
6695         * docs/plugins/gstreamer-plugins.args:
6696         * docs/plugins/inspect/plugin-coreelements.xml:
6697         * docs/plugins/inspect/plugin-coreindexers.xml:
6698         Update element args.
6699
6700         * gst/gstsystemclock.c:
6701         Small comment update.
6702
6703         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
6704         (gst_tee_request_new_pad), (gst_tee_release_pad),
6705         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
6706         (gst_tee_sink_activate_pull):
6707         * plugins/elements/gsttee.h:
6708         Some tee loving:
6709         Add default property defines.
6710         Implement release pad function.
6711         Give properties better blubs etc.
6712         Activate pads before adding them to a running tee.
6713         Do simple buffer_alloc on the first requested pad.
6714         Post error when activation fails.
6715
6716 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6717
6718         * gst/gst.c: (ensure_current_registry_forking):
6719           Check return value of write() to make compiler happy.
6720
6721 2006-10-11  Wim Taymans  <wim@fluendo.com>
6722
6723         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6724
6725         * plugins/elements/gstqueue.c: (gst_queue_chain):
6726         Recheck queue filledness after signalling the overrun when we're about
6727         to leak downstream because we released the lock when emitting the signal
6728         and the queue could be empty again. Fixes #352345.
6729
6730 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6731
6732         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
6733           Fix refcounting here too, just like we did for _new_valist() a few
6734           days ago (#357180) (thanks to René Stadler). Also remove all those
6735           'Since: 0.9' from the gtk-doc blobs.
6736
6737         * tests/check/libs/controller.c: (controller_refcount_new_list),
6738         (gst_controller_suite):
6739           Unit test for the above.
6740
6741 2006-10-10  Wim Taymans  <wim@fluendo.com>
6742
6743         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
6744
6745         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6746         (gst_pad_save_thyself):
6747         Update some docs.
6748         Write pad direction in XML output. Fixes #345496.
6749
6750 2006-10-10  Wim Taymans  <wim@fluendo.com>
6751
6752         Patch by: René Stadler <mail at renestadler dot de>
6753
6754         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6755         (gst_controller_new_list), (_gst_controller_dispose),
6756         (_gst_controller_finalize), (_gst_controller_class_init):
6757         Take ref to controlled object so that it cannot disappear. 
6758         Fixes #357432.
6759
6760 2006-10-10  Wim Taymans  <wim@fluendo.com>
6761
6762         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6763         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6764         (gst_check_teardown_sink_pad):
6765         Activate/deactivate pads in setup/teardown respectively.
6766
6767 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6768
6769         Patch by: Josep Torre Valles <josep@fluendo.com>
6770
6771         * gst/Makefile.am:
6772         Cast values when making gstenumtypes.h.  This pacifies Forte
6773         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
6774         in the enumeration.
6775
6776 2006-10-09  Wim Taymans  <wim@fluendo.com>
6777
6778         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
6779         Rename some more @cur to @start to fix docs. 
6780
6781         * gst/gstsegment.c: (gst_segment_set_seek):
6782         Fix typo.
6783         time and start must always stay in sync as defined in design doc.
6784
6785         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6786         Rename param to fix docs.
6787
6788         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6789         Check that start and time are in sync.
6790
6791         * tests/check/pipelines/parse-launch.c:
6792         (gst_parse_test_element_change_state):
6793         Activate pad before adding to the element.
6794
6795 2006-10-09  Wim Taymans  <wim@fluendo.com>
6796
6797         * docs/design/part-qos.txt:
6798         Fix typo.
6799
6800         * gst/gstevent.c:
6801         * gst/gstevent.h:
6802         Update seek event docs regarding negative rates.
6803         Rename @cur to @start. 
6804
6805         * gst/gstsegment.c: (gst_segment_set_seek):
6806         * gst/gstsegment.h:
6807         Update set_seek docs regarding negative rates.
6808         Correctly update last_stop to @stop when dealing with negative
6809         rates.
6810         Rename @cur to @start. 
6811
6812         * tests/check/gst/gstpad.c: (GST_START_TEST):
6813         Activate pads before trying to use them.
6814
6815         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6816         (gst_segment_suite):
6817         Add simple check for segments and negative rates.
6818
6819 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6820
6821         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6822         * gst/gsttaglist.h:
6823         * docs/gst/gstreamer-sections.txt:
6824           API: add gst_tag_list_is_empty() (#360467).
6825
6826         * tests/check/gst/gsttag.c: (GST_START_TEST):
6827           And a test case.
6828
6829 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6830
6831         * gst/gstmessage.h:
6832         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
6833         a value that doesn't fit on enumeration.
6834
6835 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6836
6837         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6838         Remove local debugging system and use Gstreamer's instead.
6839
6840 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6841
6842         Patch by: Josep Torre Valles <josep@fluendo.com>
6843
6844         * common/m4/gst-error.m4:
6845         Disable warning of statement not reached on Forte.
6846         * gst/gstmessage.h:
6847         Fix warning on Forte (value doesn't fit on enumeration).
6848         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
6849         Fix warning on Forte (value doesn't fit on enumeration).
6850         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6851         DEBUG macro says it takes minimum of 2 args and so Forte
6852         complains about the use with just 1 arg.
6853         * plugins/elements/gstfdsink.c:
6854         * plugins/elements/gstfdsrc.c:
6855         * plugins/elements/gstfilesink.c:
6856         * plugins/elements/gstfilesrc.c:
6857         Use correct return type for the uri handler implementations.
6858
6859         All these fix warnings in Forte.  Fixes bug #360860.
6860
6861 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6862
6863         * gst/gstelement.h:
6864           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
6865           format string, so don't use G_GNUC_PRINTF for those versions.
6866
6867 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6868
6869         * gst/gsttaglist.c: (gst_is_tag_list):
6870         * gst/gsttaglist.h:
6871           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
6872
6873         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6874           Small test for the above.
6875
6876 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6877
6878         * gst/gsttaglist.h:
6879           Less tabs, more spaces.
6880
6881 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
6882
6883         * gst/gstinfo.h:
6884           Those two function declarations do actually belong there, revert
6885           commit from yesterday that turned them intro macros.
6886
6887 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6888
6889         Patch by: Josep Torre Valles <josep@fluendo.com>
6890
6891         * gst/gst.c: (gst_init_get_option_group):
6892         Fix empty declaration and type mismatch.
6893         * gst/gstbin.c: (gst_bin_change_state_func):
6894         Fix type mismatch.
6895         * gst/gstelement.c: (gst_element_continue_state),
6896         (gst_element_set_state_func), (gst_element_change_state),
6897         (gst_element_change_state_func):
6898         Fix type mismatches.
6899         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
6900         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
6901         Cast as appropriate.
6902         * gst/gstobject.c: (gst_class_signal_connect):
6903         Cast as appropriate.  The function pointer parameter really
6904         has the wrong type but would break API if we change it.
6905         * gst/gstquery.c:
6906         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
6907         order of including string.h.
6908         * gst/gstutils.c: (gst_element_state_get_name):
6909         Remove unreachable line.
6910         * gst/gstxml.c: (gst_xml_parse_doc):
6911         Fix type mismatch.
6912         All these caught by Forte.
6913
6914 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6915
6916         Patch by: Josep Torre Valles <josep@fluendo.com>
6917
6918         * common/m4/gst-error.m4:
6919         Fixed bug #360151.
6920         We need to disable warnings on Forte for empty declarations
6921         due to gst-indent adding ;s to lines that just use macros
6922         where the macro actually doesn't need a ; at end to end
6923         statement.
6924
6925 2006-10-06  Wim Taymans  <wim@fluendo.com>
6926
6927         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6928         (gst_file_sink_close_file), (gst_file_sink_event),
6929         (gst_file_sink_render):
6930         Add some FIXME for the NEWSEGMENT handling.
6931
6932 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6933
6934         * gst/parse/grammar.y:
6935         Remove static function gst_parse_element_lock as all it does
6936         is return.  Looks like cruft from 0.8.
6937
6938 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6939
6940         Patch by: Josep Torre Valles <josep@fluendo.com>
6941
6942         * common/m4/gst-error.m4:
6943         * configure.ac:
6944         * libs/gst/net/Makefile.am:
6945         Fix a compilation issue with Forte on Solaris.  inet_aton is in
6946         libresolv.
6947
6948 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6949
6950         * gst/gstpad.c: (pre_activate):
6951         * gst/gstregistry.c: (gst_registry_scan_path_level):
6952         * gst/gstregistryxml.c: (load_plugin):
6953         * libs/gst/controller/gstcontroller.c:
6954         (gst_controlled_property_set_interpolation_mode):
6955         * libs/gst/dataprotocol/dataprotocol.c:
6956         (gst_dp_packet_from_event_1_0):
6957         * libs/gst/net/gstnetclientclock.c:
6958         (gst_net_client_clock_observe_times):
6959         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6960           Printf fixes.
6961
6962 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6963
6964         * configure.ac:
6965         * docs/gst/gstreamer-sections.txt:
6966         * gst/gstconfig.h.in:
6967         * gst/gstelement.h:
6968         * gst/gstinfo.h:
6969           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
6970           whether we can use G_GNUC_PRINTF in other header files and at
6971           least check the printf format/arguments of debug messages and
6972           GST_ELEMENT_ERROR messages when the printf extension is not
6973           being used.
6974           Replace more tabs with spaces in gstinfo.h and remove two spurious
6975           function declarations in GST_DISABLE_DEBUG part with macros.
6976
6977 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6978
6979         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
6980           More docs for the sync-message signal (mention that it is not
6981           emitted by default); log message structures of messages posted on
6982           the bus as well.
6983
6984 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
6985
6986         * gst/gst.c: (ensure_current_registry_forking):
6987         Use a pipe pair to receive status results from the forked child, and
6988         ignore the result from waitpid. Fixes #355499
6989
6990 2006-10-02  Wim Taymans  <wim@fluendo.com>
6991
6992         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6993         (gst_ghost_pad_suite):
6994         Fix leak in check.
6995
6996 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6997
6998         * gst/gstpad.c:
6999           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
7000
7001 2006-10-02  Edward Hervey  <edward@fluendo.com>
7002
7003         * docs/design/part-block.txt:
7004         Further explain the use of flushing on blocked pads.
7005         * docs/gst/gstreamer-sections.txt:
7006         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7007         (gst_pad_push_event):
7008         * gst/gstpad.h:
7009         Added new GstPadFlag : GST_PAD_BLOCKING.
7010         Adds the notion of pads really blocking, which enables to properly
7011         handle FLUSH_START/FLUSH_STOP events on blocked pads.
7012         Fixes #358999
7013         API: gst_pad_is_blocking()
7014         API: GST_PAD_IS_BLOCKING() macro
7015         API: GST_PAD_BLOCKING GstPadFlag
7016         
7017 2006-10-02  Wim Taymans  <wim@fluendo.com>
7018
7019         Patch by: mrcgran <mrc.gran at gmail dot com>
7020
7021         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
7022         Filter the proxied caps against the padtemplate if we have one.
7023
7024         * gst/gstquery.c: (gst_query_new_segment):
7025         Add include for gstinfo.h so that compilation with
7026         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
7027
7028 2006-10-02  Wim Taymans  <wim@fluendo.com>
7029
7030         Patch by: Alessandro Decina  <alessandro at nnva org>
7031
7032         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
7033         (gst_file_sink_set_location), (gst_file_sink_open_file),
7034         (gst_file_sink_close_file), (gst_file_sink_event),
7035         (gst_file_sink_render):
7036         Set file to NULL when closing filesink so that we can set a new filename
7037         in READY. Fixes #358613.
7038
7039 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         Patch by: Alessandro Decina  <alessandro at nnva org>
7042
7043         * gst/gstevent.c: (_gst_event_copy):
7044           Fix gst_mini_object_make_writable() and gst_event_copy() for events
7045           with event structures by setting the parent refcount address of the
7046           copied structure to the address of the refcount member of the newly
7047           copied event rather than the address of the refcount member of the
7048           original event. Fixes #358737.
7049
7050         * tests/check/gst/gstevent.c: (GST_START_TEST):
7051           Unit test for the above.
7052
7053 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
7054
7055         * docs/design/Makefile.am:
7056           Dist some more files.
7057
7058 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7059
7060         * tests/check/libs/controller.c: (GST_START_TEST),
7061         (gst_controller_suite):
7062           Add test for the previous fix; add some more tests
7063           for correct refcounting behaviour; fix a few leaks
7064           in test cases; call gst_controller_init() at start
7065           of all tests.
7066
7067 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7068
7069         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7070         (gst_controller_set_from_list):
7071           Don't g_return_val_if_fail() on timed values with invalid timestamps
7072           inside a critical section without unlocking the mutex. Spotted by
7073           René Stadler. (#357617)
7074           Also, fix up refcounting properly: when returning an existing
7075           controller, we should increase the reference only once and not
7076           once per property and when trying to control a property again
7077           we should also increase the refcount.
7078
7079 2006-09-29  Wim Taymans  <wim@fluendo.com>
7080
7081         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
7082         * libs/gst/net/gstnettimeprovider.c:
7083         (gst_net_time_provider_thread):
7084         Stop reading commands when EOF as well.
7085
7086         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
7087         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
7088         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7089         Unify description of the dump property.
7090
7091 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7092
7093         * tests/examples/manual/.cvsignore:
7094         OK, so it's actually cvsignore that needs changing. Stop laughing.
7095
7096 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7097
7098         * tests/examples/manual/Makefile.am:
7099         Gah, declare vars *before* using them
7100
7101 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7102
7103         * gst/gst.c: (init_pre), (scan_and_update_registry),
7104         (ensure_current_registry_nonforking),
7105         (ensure_current_registry_forking), (ensure_current_registry),
7106         (init_post), (gst_debug_help), (gst_deinit):
7107         * gst/gst_private.h:
7108         * gst/gstregistry.c: (gst_registry_finalize),
7109         (gst_registry_remove_features_for_plugin_unlocked),
7110         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7111         (gst_registry_scan_path),
7112         (_priv_gst_registry_remove_cache_plugins),
7113         (_priv_gst_registry_cleanup):
7114         * gst/gstregistry.h:
7115         Re-commit the registry changes, along with an extra fix:
7116           When a cached plugin is encountered at a different file path,
7117           update the stored path in the registry cache so that the parent
7118           process knows where it actually is now when it re-reads the registry
7119           cache. Fixes the thing that broke distcheck with the previous commit.
7120
7121         * tests/check/Makefile.am:
7122         Clean up files named 'core' too when running make clean.
7123
7124         * tests/examples/manual/Makefile.am:
7125         Set up a registry path for running these tests, and clean it properly
7126         for distcheck.
7127
7128 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
7129
7130         * configure.ac:
7131         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
7132         want gmodule-no-export-2.0.pc instead so that we don't drag in
7133         --export-dynamic on every project that links to GStreamer.
7134
7135         Also, make our export regex only match the start of symbols, rather 
7136         than any symbol that contains '_gst' somewhere.
7137
7138         * libs/gst/check/Makefile.am:
7139         The libgstcheck we build does however need export-dynamic, as it
7140         produces some symbols that don't match our _gst... style regex.
7141         Fixes: #318031
7142
7143 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
7144
7145         * gst/gst.c: (init_pre), (scan_and_update_registry),
7146         (ensure_current_registry_nonforking),
7147         (ensure_current_registry_forking), (ensure_current_registry),
7148         (init_post), (gst_debug_help), (gst_deinit):
7149         * gst/gst_private.h:
7150         * gst/gstregistry.c: (gst_registry_finalize),
7151         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7152         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
7153         (_gst_registry_cleanup):
7154         * gst/gstregistry.h:
7155           Revert previous change until I figure out why it breaks distcheck.
7156
7157 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
7158
7159         * gst/gst.c: (init_pre), (scan_and_update_registry),
7160         (ensure_current_registry_nonforking),
7161         (ensure_current_registry_forking), (ensure_current_registry),
7162         (init_post), (gst_debug_help), (gst_deinit):
7163
7164           Make init_pre and init_post take the full complement of GOptionFunc
7165           args so they can return useful GErrors. Make the registry updating
7166           functions do so.
7167
7168           Call _priv_gst_registry_remove_cache_plugins after scanning files to
7169           ensure that the registry we're about to write out doesn't contain
7170           stale information about old-deleted plugin files.
7171
7172           Make _priv_gst_registry_remove_cache_plugins return a boolean so
7173           that deletion of plugin files is considered a registry change.
7174
7175         * gst/gst_private.h:
7176         * gst/gstregistry.c: (gst_registry_finalize),
7177         (gst_registry_remove_features_for_plugin_unlocked),
7178         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
7179         (gst_registry_scan_path),
7180         (_priv_gst_registry_remove_cache_plugins),
7181         (_priv_gst_registry_cleanup):
7182         * gst/gstregistry.h:
7183         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
7184         by adding _priv prefix, so that they won't appear in the global
7185         symbol table. They still do atm though because of #318031. Move the
7186         prototypes to gst_private.h
7187
7188         When removing a plugin, remove all features for that plugin too. 
7189         Fixes #340878.
7190
7191 2006-09-27  Wim Taymans  <wim@fluendo.com>
7192
7193         * docs/random/moving-plugins:
7194         Make it clear that the "compiled-in descriptions" really mean
7195         the element details.
7196
7197         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7198         (gst_base_sink_wait_preroll):
7199         Update docs.
7200
7201         * docs/libs/gstreamer-libs-sections.txt:
7202         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7203         (gst_base_src_get_range), (gst_base_src_activate_push):
7204         * libs/gst/base/gstbasesrc.h:
7205         Added function to block while waiting for PLAYING, this function
7206         is used by live sources that block on the clock.
7207         API: gst_base_src_wait_playing()
7208
7209 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7210
7211         Patch by: Peter Kjellerstedt <pkj at axis com>
7212
7213         * Makefile.am:
7214           gst-element-check.m4 is generated and should therefore be
7215           copied from the build dir rather than the source dir (#357593).
7216           'make distcheck' hasn't noticed this because we were disting
7217           the file as well, so stop doing that.
7218
7219 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7220
7221         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7222           Add some tests for gst_caps_intersect().
7223
7224         * tools/gst-launch.c: (event_loop):
7225           Print all buffering percentages we get, even the 100% one.
7226
7227 2006-09-26  Wim Taymans  <wim@fluendo.com>
7228
7229         * tools/gst-inspect.c: (print_element_properties_info),
7230         (print_signal_info):
7231         Fix printing of flags to match the look of enums.
7232
7233 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7234
7235         * gst/gstelementfactory.c:
7236           Fix typo in docs blurb.
7237
7238 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7239
7240         * gst/gsturi.c: (search_by_entry):
7241           Don't assert/crash here if a uri handler doesn't return any
7242           supported protocols. The list of protocols could be generated
7243           dynamically at runtime or at plugin registration, and an error
7244           in the underlying library shouldn't be fatal (#353301).
7245
7246 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7247
7248         * gst/gstinfo.c:
7249           Fix warning if HAVE_PRINTF_EXTENSION is undefined
7250           (spotted by Peter Kjellerstedt).
7251
7252 2006-09-23  Wim Taymans  <wim@fluendo.com>
7253
7254         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
7255
7256         * libs/gst/base/gstbasesrc.c:
7257         (gst_base_src_default_check_get_range), (gst_base_src_start),
7258         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7259         (gst_base_src_change_state):
7260         Match _start/_stop calls in the activate functions. Remove redundant
7261         _stop call from the state change function. Fixes #356910.
7262         Turn failure DEBUG into ERROR. 
7263
7264 2006-09-22  Wim Taymans  <wim@fluendo.com>
7265
7266         * docs/design/part-buffering.txt:
7267         * gst/gstmessage.c: (gst_message_new_buffering),
7268         (gst_message_parse_buffering):
7269         Update docs about buffering.
7270
7271         * docs/design/part-trickmodes.txt:
7272         Fix typo.
7273
7274 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
7275
7276         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7277         (gst_controller_new_list):
7278           Ref instances when returning them again (fixes #357180)
7279
7280 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7281
7282         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
7283           Don't forget to release proxy lock when there's an error.
7284
7285 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
7286
7287         * gst/gstcaps.h:
7288           Add extra initialisers for Caps things, to fix some plugin warnings
7289           when using -Wextra
7290
7291 2006-09-18  Wim Taymans  <wim@fluendo.com>
7292
7293         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7294           Also set template on the internal pad so that a getcaps from the 
7295           target pad returns the template caps.
7296
7297 2006-09-18  Wim Taymans  <wim@fluendo.com>
7298
7299         * gst/gstelement.c: (gst_element_post_message),
7300         (gst_element_dispose):
7301         Use _DEBUG_OBJECT some more.
7302
7303         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7304         Avoid typechecks.
7305
7306         * tools/gst-launch.c: (main):
7307         If the toplevel element is not a GstPipeline, it must be put in a
7308         pipeline so that a bus and clock is selected.
7309
7310 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
7311
7312         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7313           JITTER, RATE, and LATENCY query should be handled by the
7314           default case and not by the CONVERT query code.
7315
7316 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
7317
7318         * gst/gstformat.c: (gst_format_register):
7319           Fix locking order (must take lock before using n_values).
7320
7321         * gst/gstvalue.c: (gst_value_serialize_enum),
7322         (gst_value_deserialize_enum_iter_cmp),
7323         (gst_value_deserialize_enum):
7324           Fix serialisation/deserialisation of custom registered GstFormats.
7325
7326         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7327           Unit test for custom format serialisation/deserialisation.
7328
7329 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
7330
7331         * docs/pwg/building-boiler.xml:
7332         * plugins/elements/gstcapsfilter.c:
7333         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
7334         section.
7335
7336 2006-09-16  Edward Hervey  <edward@fluendo.com>
7337
7338         * libs/gst/base/gstbasetransform.c:
7339         (gst_base_transform_buffer_alloc):
7340         Check if requested caps are the same as the sinks caps IF
7341         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
7342         is FALSE.
7343         This fixes the renegotiation issues stated in #352827.
7344
7345 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7346
7347         * configure.ac:
7348         * docs/manual/advanced-autoplugging.xml:
7349         * tests/examples/Makefile.am:
7350         * tests/examples/manual/.cvsignore:
7351         * tests/examples/manual/Makefile.am:
7352         * tests/examples/manual/extract.pl:
7353           Extract the manual examples again like we used to do.
7354           Fix one of them.
7355
7356 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7357
7358         * win32/common/config.h:
7359           update for version
7360
7361 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
7362
7363         * gst/gsterror.c:
7364           Documents how to receive errors.
7365
7366 2006-09-15  Wim Taymans  <wim@fluendo.com>
7367
7368         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
7369         (event_loop), (main):
7370         Added some comments here and there.
7371         Post an application message when an interrupt is caught instead of doing
7372         an uncontrolled state change.
7373         Clean up the event loop.
7374         Handle buffering messages, pause/resume the pipeline.
7375         Make shutdown because of an interrupt more reliable.
7376
7377 2006-09-15  Wim Taymans  <wim@fluendo.com>
7378
7379         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7380         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
7381         (gst_base_sink_preroll_object):
7382         Make sure that our internal state is correct when we commit our state
7383         asynchronously. This solves a race where a state change to PLAYING
7384         could cause the sink to remain blocked in preroll in some situations.
7385
7386 2006-09-15  Wim Taymans  <wim@fluendo.com>
7387
7388         * tools/gst-inspect.c: (print_element_properties_info),
7389         (print_signal_info):
7390         List flags as hex so it's easier to deal with.
7391
7392 2006-09-15  Wim Taymans  <wim@fluendo.com>
7393
7394         * docs/libs/gstreamer-libs-sections.txt:
7395         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
7396         (gst_base_sink_do_sync):
7397         * libs/gst/base/gstbasesink.h:
7398         Expose logic to wait for preroll so that subclasses such as audiosink
7399         can also use this method.
7400         API: gst_base_sink_wait_preroll()
7401
7402 2006-09-15  Wim Taymans  <wim@fluendo.com>
7403
7404         * gst/gstobject.c: (gst_object_set_parent):
7405         * gst/gstpipeline.c: (do_pipeline_seek):
7406         Small cleanups in docs and code.
7407
7408         * gst/gstsegment.c: (gst_segment_clip):
7409         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7410         if stop == start and start is in the segment, no clipping should be
7411         done. Also add a test for this.
7412
7413 2006-09-15  Wim Taymans  <wim@fluendo.com>
7414
7415         * docs/design/part-buffering.txt:
7416         * docs/gst/gstreamer-sections.txt:
7417         * gst/gstmessage.c: (gst_message_new_buffering),
7418         (gst_message_parse_buffering):
7419         * gst/gstmessage.h:
7420         Added methods to create and parse BUFFERING messages.
7421         Added preliminary docs about buffering.
7422         API: gst_message_new_buffering
7423         API: gst_message_parse_buffering
7424
7425 2006-09-06  Wim Taymans  <wim@fluendo.com>
7426
7427         * gst/gstbin.c:
7428         Update documentation.
7429
7430         * gst/gstelement.c: (gst_element_class_init),
7431         (gst_element_release_request_pad), (gst_element_set_clock),
7432         (gst_element_get_index), (gst_element_add_pad),
7433         (gst_element_remove_pad), (gst_element_get_random_pad),
7434         (gst_element_send_event), (gst_element_get_query_types),
7435         (gst_element_query), (gst_element_post_message),
7436         (gst_element_message_full), (gst_element_continue_state),
7437         (gst_element_lost_state), (gst_element_save_thyself),
7438         (gst_element_restore_thyself):
7439         Documentation updates.
7440         Rename last bit of the new-pad -> pad-added signal rename.
7441         Fix the case where an element query would only work if the source
7442         pad was linked.
7443         Avoid some useless type checking in message handling.
7444
7445         * gst/gstevent.c:
7446         * gst/gstevent.h:
7447         * gst/gstutils.c:
7448         Documentation updates.
7449
7450 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7451
7452         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7453           add an INFO line for when we actually update the fd
7454
7455 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7456
7457         * configure.ac:
7458           back to TRUNK
7459
7460 === release 0.10.10 ===
7461
7462 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
7463
7464         * configure.ac:
7465           releasing 0.10.10, "Pais"
7466
7467 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
7468
7469         * docs/manual/advanced-position.xml:
7470           Fix typo in sample code.
7471
7472 2006-09-05  Wim Taymans  <wim@fluendo.com>
7473
7474         * libs/gst/net/gstnetclientclock.c: (inet_aton),
7475         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7476         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
7477         * libs/gst/net/gstnetclientclock.h:
7478         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7479         * libs/gst/net/gstnettimepacket.h:
7480         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
7481         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
7482         (gst_net_time_provider_thread), (gst_net_time_provider_new):
7483         * libs/gst/net/gstnettimeprovider.h:
7484         Make stuff compile on windows. Fixes #345295.
7485
7486 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7487
7488         * gst/gst.c: (ensure_current_registry_forking):
7489           Print better details when child was terminated by signal.
7490
7491 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7492
7493         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
7494           Print a warning rather than g_assert() if a plugin feature
7495           is a URI handler but returns no protocols (#353976).
7496
7497 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
7498
7499         * docs/random/moving-plugins:
7500         Fix two typos.         
7501
7502 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7503
7504         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
7505           Fix locking order, handle NULL function values properly.
7506
7507         * gst/gstinfo.h:
7508           Fix docs.
7509
7510         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
7511           Initialise variable before using it and fix debug statement to
7512           print the address of the function rather than the address of the
7513           variable on the stack holding the address of the function.
7514
7515 2006-09-01  Wim Taymans  <wim@fluendo.com>
7516
7517         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
7518         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
7519         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
7520         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
7521         (gst_ghost_pad_parent_unset),
7522         (gst_ghost_pad_internal_do_activate_push),
7523         (gst_ghost_pad_internal_do_activate_pull),
7524         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7525         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7526         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
7527         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
7528         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
7529         (gst_ghost_pad_new_no_target_from_template),
7530         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7531         More cleanups.
7532         Avoid needless typechecking in macros.
7533         Since the internal pad is always present and never changes, there is
7534         no need to locking or ref when retrieving it.
7535         Improve debugging a bit.
7536         Handle link errors when setting the target. Fixes #341029.
7537
7538 2006-09-01  Wim Taymans  <wim@fluendo.com>
7539
7540         * docs/libs/gstreamer-libs-sections.txt:
7541         * docs/plugins/gstreamer-plugins-sections.txt:
7542         Fix docs some more.
7543
7544         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7545         (gst_collect_pads_event):
7546         * libs/gst/base/gstcollectpads.h:
7547         Documentation updates.
7548         Free queued buffer when removing a pad.
7549
7550 2006-08-31  Michael Smith  <msmith@fluendo.com>
7551
7552         * gst/gstutils.c: (gst_element_link_pads),
7553         (gst_element_link_pads_filtered):
7554           Ensure that we set a capsfilter to NULL if we failed to link it
7555           when doing filtered linking, to avoid criticals.
7556
7557           No need to check for unreffing srcpad, which is explicly NULLed
7558           above (a trivial code cleanup).
7559
7560 2006-08-31  Wim Taymans  <wim@fluendo.com>
7561
7562         * docs/design/part-gstghostpad.txt:
7563         Update ascii art in documentation.
7564
7565         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
7566         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
7567         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7568         (gst_ghost_pad_internal_do_activate_push),
7569         (gst_ghost_pad_internal_do_activate_pull),
7570         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7571         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7572         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
7573         (gst_ghost_pad_set_target):
7574         Small cleanups and leak fixes.
7575         Remove some checks now that the internal pad is never NULL.
7576         Fix the case where linking pads without a target would create nasty
7577         criticals. Fixes #341029.
7578         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
7579         value of _set_target().
7580
7581         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7582         (gst_ghost_pad_suite):
7583         Some more tests for creating and linking untargeted ghostpads.
7584
7585 2006-08-31  Edward Hervey  <edward@fluendo.com>
7586
7587         * docs/gst/gstreamer-sections.txt:
7588         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
7589         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7590         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
7591         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
7592         (gst_ghost_pad_new_from_template),
7593         (gst_ghost_pad_new_no_target_from_template):
7594         * gst/gstghostpad.h:
7595         Refactored *_new() functions.
7596         Templates are now used as a g_object_new() parameter.
7597         Use template in _do_getcaps() if we don't have a target.
7598         Small documentation cleanups.
7599         Added two new constructors:
7600         gst_ghost_pad_new_from_template()
7601         gst_ghost_pad_new_no_target_from_template()
7602         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7603         (gst_ghost_pad_suite):
7604         Added tests for new ghostpad instanciation functions.
7605
7606         API additions: gst_ghost_pad_new_from_template,
7607         gst_ghost_pad_new_no_target_from_template
7608
7609 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
7610
7611         * docs/random/ensonic/profiling.txt:
7612           Ideas about qos profiling.
7613
7614 2006-08-29  Wim Taymans  <wim@fluendo.com>
7615
7616         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
7617         Code cleanups.
7618         Fix memleak.
7619
7620 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
7621
7622         * gst/gstxml.c:
7623           Improve and detypofy docs.
7624
7625         * tests/check/Makefile.am:
7626         * tests/check/gst/.cvsignore:
7627         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
7628           Add a basic test suite for GstXML.
7629
7630 2006-08-29  Wim Taymans  <wim@fluendo.com>
7631
7632         * gst/gstelement.c: (activate_pads), (clear_caps),
7633         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7634         Clear the pad caps when the element shut down all of the pads and
7635         is not streaming data that could modify the caps. 
7636         Fixes #352958.
7637
7638 2006-08-28  Michael Smith  <msmith@fluendo.com>
7639
7640         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7641           Revert previous change; I misunderstood single-segment mode.
7642
7643 2006-08-28  Michael Smith  <msmith@fluendo.com>
7644
7645         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7646           Unset DISCONT on buffers when using single-segment mode.
7647
7648 2006-08-28  Wim Taymans  <wim@fluendo.com>
7649
7650         * gst/gstcaps.c: (gst_caps_merge_structure):
7651         * gst/gstcaps.h:
7652         Fix docs and indentation again.
7653
7654         * tests/check/gst/gstquery.c: (GST_START_TEST):
7655         Fix leak in tests and add some more tests.
7656
7657 2006-08-28  Edward Hervey  <edward@fluendo.com>
7658
7659         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7660         Inform GstSegment of the last stop position in order for the current
7661         segment to have a proper duration if it doesn't have a specific stop
7662         position from which a duration could be calculated.
7663         This bug was noticeable when a non-flushing, non-update new segment was
7664         followed by another segment (all buffers from the new segment were being
7665         dropped).
7666
7667 2006-08-28  Wim Taymans  <wim@fluendo.com>
7668
7669         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7670         Small comment update.
7671
7672         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7673         (gst_identity_transform_ip):
7674         Drop-probability is broken, mention this in the code with a 
7675         FIXME and also in the property description.
7676         Make silent also be silent about the drop messages.
7677
7678 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
7679
7680         * docs/manual/appendix-win32.xml:
7681           Remove mention of popt, we don't depend on that any
7682           longer (#353136). Add some comments pointing out that
7683           this section is slightly outdated.
7684
7685 2006-08-28  Wim Taymans  <wim@fluendo.com>
7686
7687         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7688
7689         * gst/gstquery.c: (gst_query_new_segment):
7690         * tests/check/gst/gstquery.c: (GST_START_TEST):
7691         Initialize variables when creating a new segment query.
7692         Fixes #353121.
7693
7694 2006-08-28  Wim Taymans  <wim@fluendo.com>
7695
7696         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7697
7698         * gst/gstelement.c: (gst_element_get_bus):
7699         * tests/check/gst/gstelement.c: (GST_START_TEST):
7700         Check for NULL before _reffing the bus. Fixes #353122.
7701
7702 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
7703
7704         * docs/manual/basics-bus.xml:
7705           Docs update: fix wrong callback return value explanation; add
7706           some lines about the implicit relationship between main loop
7707           and main context; remove duplicate main loop variable declaration.
7708
7709 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
7710
7711         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7712           Don't leak caps in unit test; add a few more simple
7713           checks. 
7714
7715 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
7716
7717         * docs/gst/gstreamer-sections.txt:
7718         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
7719         (gst_caps_structure_is_subset), (gst_caps_merge),
7720         (gst_caps_merge_structure):
7721         * gst/gstcaps.h:
7722         * libs/gst/base/gstbasetransform.c:
7723         (gst_base_transform_transform_caps):
7724         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7725           implement caps merging (fixes #352580)
7726
7727 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
7728
7729         * tools/Makefile.am:
7730         * tools/gst-plot-timeline.py:
7731           add debug-log plotting developer tool (#340674)
7732
7733 2006-08-23  Wim Taymans  <wim@fluendo.com>
7734
7735         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
7736         (gst_pad_stop_task):
7737         Improve debugging for task functions.
7738
7739         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
7740         (gst_task_start), (gst_task_pause), (gst_task_join):
7741         Make sure that the task function started and finished after a 
7742         join(). 
7743         Don't try to push the task function on the threadpool multiple
7744         times.
7745         Improve the g_warning message with some useful suggestions
7746         about how to fix the problem. 
7747
7748 2006-08-23  Wim Taymans  <wim@fluendo.com>
7749
7750         * gst/gstutils.c: (gst_pad_proxy_getcaps):
7751         Handle RESYNC correctly in _proxy_getcaps.
7752
7753 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
7754
7755         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
7756         (gst_xml_parse_memory), (gst_xml_get_element):
7757           Chain up to parent class in dispose function and also
7758           unref the elements in the toplevel_elements GList.
7759           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
7760           Always return a reference in gst_xml_get_element() rather
7761           than only sometimes.
7762
7763         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7764           Don't leak GstXml object.
7765
7766 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
7767
7768         * docs/gst/gstreamer-sections.txt:
7769         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
7770         (gst_caps_merge):
7771         * gst/gstcaps.h:
7772         * libs/gst/base/gstbasetransform.c:
7773         (gst_base_transform_transform_caps):
7774           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
7775           in a better way
7776
7777 2006-08-21  Edward Hervey  <edward@fluendo.com>
7778
7779         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
7780         Implement GObject::dispose virtual method in GstXML so we can free the
7781         top_elements GList.
7782
7783 2006-08-21  Wim Taymans  <wim@fluendo.com>
7784
7785         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
7786         (gst_buffer_create_sub):
7787         Copy duration/offset_end/caps when creating a subbuffer of the
7788         complete parent.
7789         Make the subbuffer read-only when we make the metadata writable for
7790         now. Fixes #351768.
7791
7792         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7793         Added check for metadata copy when creating subbuffers.
7794
7795 2006-08-21  Edward Hervey  <edward@fluendo.com>
7796
7797         * libs/gst/base/gstbasetransform.c:
7798         (gst_base_transform_buffer_alloc):
7799         Only call downstream buffer_alloc if transform element is passthrough
7800         or always_in_place. Closes #350449.
7801
7802 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * ChangeLog:
7805           ChangeLog surgery to add comments to previous changes
7806
7807 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7808
7809         * gst/gst.c:
7810           Add comments
7811
7812         * gst/gstpad.c: (gst_pad_set_active):
7813           Be more verbose in the log
7814
7815         * libs/gst/base/gstbasetransform.c:
7816         (gst_base_transform_transform_caps):
7817           Simplify caps to get rid of duplicates, fixes #345444
7818
7819 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * gst/gstvalue.c:
7822         * gst/gstvalue.h:
7823           Use these optimizations only internally.
7824
7825 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7826
7827         * gst/gstvalue.c: (gst_value_compare_list),
7828         (gst_value_compare_fraction_range),
7829         (gst_value_intersect_fraction_fraction_range),
7830         (gst_value_intersect_fraction_range_fraction_range),
7831         (gst_value_subtract_fraction_fraction_range),
7832         (gst_value_subtract_fraction_range_fraction_range),
7833         (gst_value_get_compare_func), (gst_value_compare),
7834         (gst_value_compare_with_func):
7835         * gst/gstvalue.h:
7836           Saves the expensive lookup of the compare function in many cases
7837          (#345444)
7838
7839 2006-08-18  Edward Hervey  <edward@fluendo.com>
7840
7841         * tests/check/gst/gstinfo.c: (gst_info_suite):
7842         Disable test that require gstdebug if it wasn't built in core.
7843
7844 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7845
7846         * docs/random/ensonic/logging.txt:
7847           update ideas
7848           
7849         * gst/gstinfo.c: (gst_debug_log_default):
7850           reorder fields, save some columns, add optional color codes for log
7851           levels
7852
7853 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7854
7855         * docs/random/ensonic/logging.txt:
7856           add ideas about making the logs a bit more useful
7857
7858 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7859
7860         * docs/pwg/advanced-events.xml:
7861         * docs/pwg/titlepage.xml:
7862           Update for 0.10 API (#340627). Add myself
7863           to authors list.
7864
7865 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7866
7867         * docs/libs/gstreamer-libs-docs.sgml:
7868         * docs/libs/gstreamer-libs-sections.txt:
7869         * libs/gst/check/gstbufferstraw.c:
7870           Make gstcheck stuff show up in docs (still needs to
7871           be documented properly though).
7872
7873 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
7874
7875         * docs/gst/gstreamer-sections.txt:
7876         * gst/Makefile.am:
7877         * gst/gst.c: (init_post):
7878         * gst/gst_private.h:
7879         * gst/gstquark.c: (_priv_gst_quarks_initialize):
7880         * gst/gstquark.h:
7881         * gst/gstquery.c: (gst_query_new_position),
7882         (gst_query_set_position), (gst_query_parse_position),
7883         (gst_query_new_duration), (gst_query_set_duration),
7884         (gst_query_parse_duration), (gst_query_new_convert),
7885         (gst_query_set_convert), (gst_query_parse_convert),
7886         (gst_query_new_segment), (gst_query_set_segment),
7887         (gst_query_parse_segment), (gst_query_new_seeking),
7888         (gst_query_set_seeking), (gst_query_parse_seeking):
7889         Add internal helpers for pre-registering quarks from static strings
7890         and using the quark values directly instead of looking them up when
7891         creating and parsing queries. Can be used for event construction too.
7892         Closes #350432.
7893
7894 2006-08-16  Wim Taymans  <wim@fluendo.com>
7895
7896         * gst/gstbin.c:
7897         Fix bogus docs.
7898
7899 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7900
7901         * gst/gstutils.c: (gst_util_set_value_from_string):
7902           Fix memleak (#351502).
7903
7904         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7905           Add unit test for most of gst_util_set_value_from_string()
7906           (not that one would want to encourage use of this function).
7907
7908 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7909
7910         * libs/gst/check/gstcheck.h:
7911           Use const gchar * variables in fail_unless_equals_string
7912           macro to avoid compiler warnings (and don't use tabs for
7913           indenting).
7914
7915 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7916
7917         * tools/gst-launch.c: (print_tag):
7918           More space on the left for the tag names, to cater
7919           for the 'extended comment' tag (not touching the
7920           string for the first line since it's translated).
7921
7922 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7923
7924         * libs/gst/check/gstcheck.h:
7925           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
7926           print something when they fail.
7927
7928 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7929
7930         * docs/gst/gstreamer-sections.txt:
7931         * gst/gsttaglist.c: (_gst_tag_initialize):
7932         * gst/gsttaglist.h:
7933           API: add GST_TAG_EXTENDED_COMMENT (#350935).
7934           Also change merge function for GST_TAG_COMMENT to
7935           use_first.
7936
7937 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7938
7939         * gst/gstinfo.c: (gst_debug_print_object):
7940           Make GST_PTR_FORMAT print messages as well.
7941
7942         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
7943         (GST_START_TEST), (gst_info_suite):
7944           More tests.
7945
7946 2006-08-14  Edward Hervey  <edward@fluendo.com>
7947
7948         * gst/gstelementfactory.c: (gst_element_register):
7949         If the GstElementClass doesn't have a GstElementDetails with all fields
7950         filled up correctly (longname, description AND author), then error out
7951         nicely instead of crashing.
7952
7953 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7954
7955         * gst/gststructure.c:
7956           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
7957
7958         * gst/gstvalue.h:
7959           Expand on the difference between arrays and lists as we use them.
7960           
7961 2006-08-14  Wim Taymans  <wim@fluendo.com>
7962
7963         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
7964         If the parent state change function failed, don't assume we can safely
7965         stop the source, this will be done when the pads are deactivated.
7966
7967 2006-08-14  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/gstbuffer.c:
7970         * gst/gsttask.c: (gst_task_join):
7971         Small doc updates.
7972
7973         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7974         (gst_pad_stop_task):
7975         When pad (de)activation failed for some reason, restore the old
7976         activation mode and set the pad to flushing instead of assuming the
7977         pad is deactivated.
7978         If the _task_join() failed, reinstall the task on the pad so that it can
7979         be stopped later and return an error.
7980
7981 2006-08-11  Andy Wingo  <wingo@pobox.com>
7982
7983         * configure.ac:
7984         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7985         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
7986         is only for users of API that don't want to see deprecated
7987         functions in the headers; people that want to compile out
7988         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
7989         CFLAGS. Fixes the build of multifdsink, or will soon..
7990
7991 2006-08-11  Wim Taymans  <wim@fluendo.com>
7992
7993         * docs/gst/gstreamer-sections.txt:
7994         Add GstClockClass vmethod docs.
7995
7996         * gst/gstcaps.h:
7997         Mark #endif with comment for associated #if
7998
7999         * gst/gstclock.c: (gst_clock_id_wait):
8000         * gst/gstclock.h:
8001         Add vmethod wait_jitter to avoid an unneeded _get_time() for
8002         most clock implementations.
8003         Document vmethods.
8004         Flesh out docs about resolution methods.
8005         API: GstClockClass::wait_jitter
8006
8007         * gst/gstsystemclock.c: (gst_system_clock_class_init),
8008         (gst_system_clock_async_thread),
8009         (gst_system_clock_id_wait_jitter_unlocked),
8010         (gst_system_clock_id_wait_jitter):
8011         Use base class wait_jitter variant for improved performance
8012         due to less clock polling.
8013
8014 2006-08-11  Edward Hervey  <edward@fluendo.com>
8015
8016         * gst/gst.c: (gst_init_check), (init_post):
8017         Set gst as being initialized before scanning/updating the registry,
8018         since there might be my python plugin loader that calls gst_init() and
8019         we don't want to loop back in.
8020         Closes #350879
8021
8022 2006-08-11  Wim Taymans  <wim@fluendo.com>
8023
8024         * docs/design/part-qos.txt:
8025         Bring docs in line with the code. Mostly the sign of the jitter was
8026         wrong in the docs. Fixes #349943.
8027
8028         * gst/gstclock.c:
8029         Fix the docs for the jitter.
8030
8031         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
8032         (gst_event_parse_tag), (gst_event_new_buffer_size),
8033         (gst_event_parse_buffer_size), (gst_event_parse_qos),
8034         (gst_event_new_seek), (gst_event_parse_seek),
8035         (gst_event_new_navigation):
8036         Make sure the GstStructure has no parent when creating custom
8037         events.
8038         Add some more argument checking so that we avoid 0.0 rates.
8039         Flesh out the docs for the QoS event some more.
8040
8041 2006-08-11  Wim Taymans  <wim@fluendo.com>
8042
8043         * docs/gst/gstreamer-sections.txt:
8044         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8045         (ensure_current_registry_forking), (ensure_current_registry),
8046         (parse_one_option), (parse_goption_arg), (gst_deinit),
8047         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
8048         * gst/gst.h:
8049         Doc updates.
8050         Added API and command line option to disable registry forking in
8051         addition to the environment variable.
8052         Constify some static arrays.
8053         Added some more debug.
8054         Don't deinit twice.
8055         API: gst_registry_fork_is_enabled()
8056         API: gst_registry_fork_set_enabled()
8057         API: --gst-disable-registry-fork command line option
8058         Fixes #348918.
8059
8060 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
8061
8062         * gst/gst.c: (gst_init):
8063           Fix typo in error message.
8064
8065 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
8066
8067         * libs/gst/controller/gstcontroller.h:
8068           fix ABI size-correction
8069
8070         * tests/check/libs/gdp.c: (gst_dp_suite):
8071           make tests that use deprecated API conditional
8072
8073 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
8074
8075         * docs/libs/gstreamer-libs-sections.txt:
8076         * libs/gst/controller/gstcontroller.c:
8077         (_gst_controller_get_property), (_gst_controller_set_property),
8078         (_gst_controller_init), (_gst_controller_class_init):
8079         * libs/gst/controller/gstcontroller.h:
8080         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
8081         (gst_object_set_control_rate):
8082           API: add gst_object_{s,g}et_control_rate(), add private data section,
8083           fix docs
8084
8085         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
8086         * libs/gst/dataprotocol/dataprotocol.h:
8087           add deprecation guards to make gtk-doc happy and allow disabling cruft
8088
8089 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8090
8091         * tests/check/Makefile.am:
8092         * tests/check/gst/.cvsignore:
8093           Let's enable the new unit test as well.
8094
8095 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8096
8097         * configure.ac:
8098         * docs/gst/gstreamer-sections.txt:
8099         * gst/gstconfig.h.in:
8100         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
8101         (_gst_info_printf_extension_ptr),
8102         (_gst_info_printf_extension_segment):
8103           API: add GST_SEGMENT_FORMAT, which is a printf extension we
8104           register that lets us easily dump GstSegments into debug
8105           logs (#350419).
8106
8107         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
8108         (info_segment_format_printf_extension), (gst_info_suite):
8109           Add simple unit test that logs a bunch of different segments (not
8110           valgrinded at the moment because of leaks in
8111           gst_debug_add_log_function).
8112
8113 2006-08-09  Edward Hervey  <edward@fluendo.com>
8114
8115         * libs/gst/base/gstbasetransform.c:
8116         (gst_base_transform_buffer_alloc):
8117         Even if we can't figure out the proper format to request downstream,
8118         call buffer_alloc() downstream with the input parameters without setting
8119         the caps on the srcpad. This will force negotiation in the chain
8120         function.
8121         Closes #350449
8122
8123 2006-08-08  Edward Hervey  <edward@fluendo.com>
8124
8125         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
8126         Unlinking from a pad without a target is now a perfectly valid case
8127         which should NOT raise an assertion.
8128         This case would happen if a linked ghostpad its target set to NULL after
8129         it was previously linked.
8130
8131 2006-08-08  Edward Hervey  <edward@fluendo.com>
8132
8133         * tests/check/libs/gdp.c:
8134         Also comment out the test (see below).
8135
8136 2006-08-08  Edward Hervey  <edward@fluendo.com>
8137
8138         * tests/check/libs/gdp.c: (gst_dp_suite):
8139         Use the architecture information from config.h and not gcc macros
8140         in order to properly disable a test that fails on PPC64.
8141
8142 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
8143
8144         * gst/gstelement.c: (gst_element_remove_pad):
8145           Don't crash printing the warning if the pad has no parent.
8146
8147 2006-08-02  Wim Taymans  <wim@fluendo.com>
8148
8149         * libs/gst/dataprotocol/dataprotocol.c:
8150         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
8151         (gst_dp_crc), (gst_dp_header_payload_length),
8152         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
8153         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
8154         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
8155         (gst_dp_event_from_packet), (gst_dp_validate_header),
8156         (gst_dp_validate_payload):
8157         Make debug category static
8158         Constify the crc table.
8159         Do some more arg checking in public functions.
8160         Fix some docs and do some small cleanups.
8161
8162         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
8163         Add some more checks to see if GDP deals with bogus input.
8164
8165 2006-07-31  Wim Taymans  <wim@fluendo.com>
8166
8167         * gst/gstvalue.c: (gst_value_compare_list):
8168         Fix GstValueList comparison code. Fixes #347293.
8169
8170         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8171         Check to test GstValueList comparison.
8172
8173 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
8174
8175         * gst/gstelementfactory.c: (gst_element_factory_create):
8176         Remove unnecessary ref/unref pair
8177
8178         * gst/parse/grammar.y:
8179         Make sure to free the parse buffer on all code paths.
8180         Move a g_free up to the error handler where it's easier to see.
8181
8182         * tests/check/gst/gstevent.c: (test_event):
8183         Extending timeout for downstream travelling events to 10 seconds to
8184         hopefully avoid intermittent failure on the buildbots.
8185
8186         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
8187         Don't manually set the state of the src element - it will happen as a
8188         natural consequence of the pipeline changing state, and that way it
8189         will do it in the right order too.
8190
8191 2006-07-31  Wim Taymans  <wim@fluendo.com>
8192
8193         * libs/gst/base/gstbasetransform.c:
8194         (gst_base_transform_buffer_alloc):
8195         Use OBJECT_LOCK and refcounting to get the pad caps in the
8196         buffer_alloc function because the caps could change while we are
8197         busy with them. Fixes #349105
8198
8199 2006-07-31  Wim Taymans  <wim@fluendo.com>
8200
8201         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
8202         Protect _PAD_CAPS with OBJECT_LOCK.
8203
8204 2006-07-31  Wim Taymans  <wim@fluendo.com>
8205
8206         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8207         (gst_pad_get_property), (gst_pad_activate_pull),
8208         (gst_pad_activate_push), (gst_pad_set_blocked_async),
8209         (gst_pad_set_activate_function),
8210         (gst_pad_set_activatepull_function),
8211         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
8212         (gst_pad_set_getrange_function),
8213         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
8214         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8215         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
8216         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
8217         (gst_pad_set_acceptcaps_function),
8218         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
8219         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
8220         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
8221         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
8222         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
8223         (gst_pad_configure_sink), (gst_pad_configure_src),
8224         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
8225         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
8226         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
8227         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
8228         (gst_pad_send_event):
8229         Use _DEBUG_OBJECT when it makes sense.
8230         Protect GST_PAD_CAPS with the OBJECT_LOCK.
8231         Small cleanups and code reflows.
8232         Avoid caps refcounting in _accept_caps.
8233         Refactor alloc_buffer so that the code performed on the peer is in a
8234         separate function. Also if the pad does not implement a buffer alloc
8235         function, we should still check if the pad is flushing before falling
8236         back to the default allocator.
8237
8238 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
8239
8240         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8241         Make all uses of identity and fakesink have silent=true to avoid
8242         serialising every passing data structure, which is breaking tests
8243         on FC4 for some unknown reason.
8244
8245 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
8246
8247         * gst/parse/Makefile.am:
8248         * gst/parse/grammar.y:
8249         * gst/parse/parse.l:
8250           Reverted previous patch as it required to bump the flex dependency to
8251           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
8252
8253 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
8254
8255         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
8256
8257         * gst/parse/Makefile.am:
8258         * gst/parse/grammar.y:
8259         * gst/parse/parse.l:
8260           push & pop the state of the lexer for reentrant use case
8261           Fixes #349180
8262
8263 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
8264
8265         * libs/gst/base/gstbasesrc.h:
8266           Note in the docs that the ::newsegment vfunc is not actually used by
8267           GstBaseSrc.
8268
8269 2006-07-28  Wim Taymans  <wim@fluendo.com>
8270
8271         * libs/gst/base/gstcollectpads.c:
8272         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
8273         (gst_collect_pads_clear), (gst_collect_pads_flush),
8274         (gst_collect_pads_event), (gst_collect_pads_chain):
8275         When flushing a pad, also clear the queued buffer so that we don't
8276         accidentally use it when we shouldn't.
8277         Fix leaks by inreffing incomming buffer.
8278         Flush out queued buffers in case of errors.
8279         Fixes #347452.
8280
8281 2006-07-28  Wim Taymans  <wim@fluendo.com>
8282
8283         * docs/random/phonon-gst:
8284         Random notes about a Phonon backend.
8285
8286 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
8287
8288         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8289         Extra debug output
8290         * tests/check/libs/gdp.c: (gst_dp_suite):
8291         Take a whack at fixing the ppc compile using a different define to
8292         disable the broken test.
8293
8294         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8295         Remove excess g_print()
8296
8297 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
8298
8299         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
8300         Oops, meant to uncomment this line too to dampen the noise a bit.
8301
8302 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
8303
8304         * gst/parse/grammar.y:
8305         * gst/parse/parse.l:
8306         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
8307         (GST_START_TEST), (parse_suite):
8308         Fix some of the leaks exposed by extending the parse-launch testsuite,
8309         and move the 3 I can't figure out into a separate test that won't run
8310         the pipelines unless the appropriate line is uncommented.
8311
8312 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
8313
8314         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8315           Requesting 0 bytes before the end of the file should result in
8316           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
8317           unit test.
8318
8319 2006-07-27  Wim Taymans  <wim@fluendo.com>
8320
8321         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
8322         Fix useless assert, a uint is always positive.
8323
8324         * gst/gststructure.c: (gst_structure_nth_field_name),
8325         (gst_structure_foreach), (gst_structure_map_in_place):
8326         Check input arguments for public functions to avoid obvious crashes.
8327
8328         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
8329         * plugins/elements/gstfakesink.h:
8330         Do less useless typechecking.
8331
8332 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
8333
8334         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8335           Do not use mmap() by default since there are a number of error
8336           conditions that we would like to handle in a non-fatal way that
8337           will result in a SIGBUS if we use mmap(). Examples: external
8338           devices (USB harddrive, portable music player) being unplugged
8339           while in use; file on mounted CD/DVD that can't be read because
8340           the medium is partly damaged. Fixes #348455 and #348475.
8341
8342 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
8343
8344         * gst/gstquery.h:
8345         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
8346         rates are a gdouble
8347
8348 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
8349
8350         * gst/gstregistry.c:
8351           Move big documentation comment into class section header, so that it
8352           appears in the API docs.
8353
8354 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8355
8356         * docs/gst/gstreamer-sections.txt:
8357         Oops. Commit the docs additions too for new API.
8358         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
8359
8360 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8361
8362         * gst/gststructure.c: (gst_structure_id_set),
8363         (gst_structure_id_set_valist):
8364         * gst/gststructure.h:
8365         Add API for setting values into structures without performing
8366         a quark lookup, if the appropriate quark is already known.
8367
8368         API: gst_structure_id_set
8369         API: gst_structure_id_set_valist
8370
8371         * gst/parse/grammar.y:
8372         * gst/parse/parse.l:
8373         Remove some dead code shown by the coverage information.
8374         Don't throw a critical g_warning when encountering a syntax error,
8375         just warn and let the normal error path handle it.
8376
8377         * plugins/elements/gstelements.c:
8378         Bump the rank of filesink up to PRIMARY so that it is preferred over
8379         gnomevfssink for file:// sink uri's
8380
8381         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
8382         (GST_START_TEST), (run_delayed_test),
8383         (gst_parse_test_element_base_init),
8384         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
8385         (gst_parse_test_element_change_state),
8386         (gst_register_parse_element), (parse_suite):
8387         Beef up the tests for parse syntax to check that more error cases
8388         fail as they are supposed to. Increases the test coverage a bit.
8389
8390 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
8391
8392         * docs/manual/basics-elements.xml:
8393           Fix gst_element_link() example.
8394
8395         * gst/gstutils.c:
8396           Mention in API docs that one should usually gst_bin_add()
8397           elements to a bin or pipeline before doing the linking.
8398           
8399 2006-07-26  Wim Taymans  <wim@fluendo.com>
8400
8401         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
8402         (gst_subbuffer_get_type), (gst_buffer_create_sub):
8403         Avoid function call for known types by keeping the buffer and
8404         subbuffer GType global.
8405
8406         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8407         Random silly optimisations in read() path.
8408
8409 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8410
8411         * tools/gst-launch.c: (main):
8412           If the top-level of the parse is a normal bin, it doesn't do the
8413           right logic to run as a top-level element, so place it inside a
8414           pipeline.
8415
8416 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
8417
8418         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
8419           Remove superfluous g_object_notify() calls, GObject does
8420           that for us automatically.
8421
8422 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
8423
8424         * gst/gstinfo.h:
8425           on Win32, use dllspec to export the debug category symbols
8426
8427 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
8428
8429         * gst/gsttaglist.c: (_gst_tag_initialize):
8430           Allow more than one GST_TAG_IMAGE per taglist.
8431
8432 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         * gst/gstminiobject.c:
8435           update docs
8436         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
8437         (gst_fd_src_create):
8438           log recurring events at LOG level
8439           add more debug for when the fd gets set
8440
8441 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
8442
8443         * gst/gstparse.c: (gst_parse_launch):
8444           Also remove reentrance checks if flex is MT safe (#348179)
8445          Fix my empty ChangeLog entry below
8446
8447 2006-07-21  Andy Wingo  <wingo@pobox.com>
8448
8449         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
8450
8451         * libs/gst/check/Makefile.am
8452         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
8453         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
8454         * libs/gst/check/gstbufferstraw.h:
8455         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
8456         functions, thus proving I am still a GStreamer haxor. OK I wrote
8457         them a long time ago, but anyways.
8458
8459 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
8460
8461         * configure.ac:
8462         * gst/gstparse.c: (gst_parse_launch):
8463           Check for flex version and omit mutex if we have a MT save flex
8464           (fixes #348179)
8465
8466 2006-07-21  Wim Taymans  <wim@fluendo.com>
8467
8468         * gst/gstparse.c: (gst_parse_launch):
8469         Protect recursive calls to _parse with a recursive mutex
8470         and busy flag.
8471
8472 2006-07-21  Wim Taymans  <wim@fluendo.com>
8473
8474         * tests/check/gst/gstpad.c: (GST_START_TEST):
8475         Fix leak in test.
8476
8477 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
8478
8479         * gst/gstparse.c: (gst_parse_launch):
8480           Do not hang on recursive usage of gst_parse_launch()
8481
8482 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
8483
8484         * gst/gsttaglist.c:
8485           Add some more docs, comments and FIXME 0.11s here and there
8486           and also fix some typos.
8487
8488 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * gst/gstsegment.h:
8491           Convert tabs to spaces for better readability. 
8492
8493 2006-07-20  Edward Hervey  <edward@fluendo.com>
8494
8495         * tests/check/libs/gdp.c: (gst_dp_suite):
8496         the test_buffer test fails at line 140 on ppc64 at the following
8497         check:
8498         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
8499                 GST_BUFFER_FLAG_IN_CAPS),
8500                 "GST_BUFFER_IN_CAPS flag should have been copied !");
8501         See bug #348114 for more details.
8502
8503 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
8504
8505         * docs/pwg/advanced-scheduling.xml:
8506         * gst/gstpad.c:
8507           Fix typos (#348000).
8508
8509 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
8510
8511         * docs/pwg/intro-basics.xml:
8512           Fix wrong links (#347927).
8513
8514 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
8515
8516         * gst/gstregistry.h:
8517         * gst/gstregistryxml.c: (load_feature),
8518         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
8519         * win32/common/config.h:
8520           make --disable-index work (#342564)
8521
8522 2006-07-18  Wim Taymans  <wim@fluendo.com>
8523
8524         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8525
8526         * gst/Makefile.am:
8527         * gst/gsttrace.h:
8528         The attached patch adds two missing defines to gsttrace.h when tracing
8529         is disabled.  It also corrects one existing define.
8530         Fixes #347756.
8531
8532 2006-07-17  Wim Taymans  <wim@fluendo.com>
8533
8534         * docs/gst/gstreamer-sections.txt:
8535         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
8536         * gst/gst.h:
8537         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
8538         Add two functions to check and change the SIGSEGV behaviour
8539         when loading plugins.
8540         Don't mess with the SIGSEGV handler when we were told not to.
8541         Fixes #347794.
8542         API: gst_segtrap_is_enabled
8543         API: gst_segtrap_set_enabled
8544
8545 2006-07-14  Wim Taymans  <wim@fluendo.com>
8546
8547         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8548         * tests/check/elements/filesrc.c: (GST_START_TEST):
8549         Revert fix for regression in #347408 after release.
8550
8551 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
8552
8553         Patch by: Antoine Tremblay <hexa00 at gmail com>
8554
8555         * gst/gstutils.c: (gst_element_unlink):
8556           Free iterator when done (#347311).
8557
8558         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8559           And add a test case for this.
8560
8561 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
8562
8563         * configure.ac:
8564         Bump nano back to CVS
8565
8566 === release 0.10.9 ===
8567
8568 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
8569
8570         * configure.ac:
8571           releasing 0.10.9, "On the road again"
8572
8573 2006-07-13  Wim Taymans  <wim@fluendo.com>
8574
8575         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8576         * tests/check/elements/filesrc.c: (GST_START_TEST):
8577         Revert pull-0 fix for release. Disable check. Fixes #347408.
8578
8579 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8580
8581         * libs/gst/dataprotocol/dataprotocol.c:
8582         (gst_dp_event_from_packet_1_0):
8583           Fixes #347337: failure to deserialize event packets with
8584           empty payload (only event type)
8585
8586 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8587
8588         * gst/Makefile.am:
8589           do not install a .c file in the header directory
8590
8591 2006-07-13  Edward Hervey  <edward@fluendo.com>
8592
8593         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8594         GhostPad no longer implicitely use the padtemplates of the targets.
8595         Fixes #347384
8596
8597 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
8598
8599         * gst/gstvalue.c: (gst_value_compare_list),
8600         (gst_value_compare_array), (_gst_value_initialize):
8601         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8602         Make GstValueArray comparison be order dependent as designed.
8603         Add checks for value lists and value array comparisons.
8604         Fixes #347221
8605
8606 2006-07-11  Edward Hervey  <edward@fluendo.com>
8607
8608         * gst/gstbin.c: (activate_pads),
8609         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
8610         (gst_bin_change_state_func):
8611         (de)activate src pads before calling state_change on the childs.
8612         This is to avoid the case where a src ghostpad is blocked (holding the
8613         stream lock), which would block the deactivation of the ghostpad's
8614         target pad.
8615         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
8616         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
8617         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
8618         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8619         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8620         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8621         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8622         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
8623         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
8624         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8625         (gst_ghost_pad_class_init),
8626         (gst_ghost_pad_internal_do_activate_push),
8627         (gst_ghost_pad_internal_do_activate_pull),
8628         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8629         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8630         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
8631         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
8632         GhostPads now create their internal GstProxyPad at creation (and not
8633         when they're linked, as it was being done previously).
8634         The internal and target pads are linked straight away.
8635         The data will also travel through the other pad in order to make
8636         pad blocking and probes non-hackish (the probe/block now really happens
8637         on the GhostPad and not on the target).
8638         * gst/gstpad.c: (gst_pad_set_blocked_async),
8639         (gst_pad_link_prepare), (gst_pad_push_event):
8640         Remove previous ghostpad cruft.
8641         * gst/gstutils.c: (gst_pad_add_data_probe),
8642         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8643         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8644         (gst_pad_remove_buffer_probe):
8645         Remove previous ghost pad cruft.
8646         Added more detailed debug statements.
8647         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8648         Fix the testsuite for refcounting changes.
8649         The comments about who has references were correct, but the refcount
8650         being checked wasn't the same (!?!).
8651
8652         Fixes #341029
8653
8654 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8655
8656         * docs/gst/gstreamer-sections.txt:
8657         * gst/gstconfig.h.in:
8658         More docs for configuration options, add docs to gtk-doc.
8659
8660 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8661
8662         * gst/Makefile.am:
8663         * gst/gstconfig.h.in:
8664         * win32/common/config.h:
8665         Fix build when disabling tracing (fixes #344016). Also start to document
8666         the defines that disable the sub-systems.
8667
8668 2006-07-10  Edward Hervey  <edward@fluendo.com>
8669
8670         * gst/gst.c: (ensure_current_registry_forking):
8671         let's make valgrind happy...
8672
8673 2006-07-09  Wim Taymans  <wim@fluendo.com>
8674
8675         * gst/gstelement.c: (activate_pads),
8676         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8677         Better pad activation code: Reset the collect value too on resync.
8678         Add some comments.
8679
8680 2006-07-09  Wim Taymans  <wim@fluendo.com>
8681
8682         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
8683         (gst_pad_activate_push):
8684         Use some more macros where it makes sense.
8685         Allow pad mode switching instead of asserting. When a pad
8686         is activated in one mode and we activate it in another, 
8687         deactivate it first before activating it in a different mode.
8688         Fixes #329198.
8689
8690 2006-07-08  Andy Wingo  <wingo@pobox.com>
8691
8692         * tools/gst-launch.c (main): Handle err == NULL.
8693
8694         * gst/gst.c (init_post, ensure_current_registry)
8695         (ensure_current_registry_forking)
8696         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
8697         factoring out the registry scanning into separate functions. Don't
8698         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
8699         Better environment var name/interface suggestions accepted.
8700
8701 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8702
8703         * gst/gstobject.c: (gst_object_set_name_default),
8704         (gst_object_set_name):
8705           Random micro-optimisation: don't use a hash table
8706           with strings as keys and the usual strdup/strcmp
8707           involved, but rather just use the GQuark of the
8708           type name as key, since it needs to be looked up
8709           anyway to get the type name string.
8710
8711         * tests/check/gst/gstobject.c: (GST_START_TEST):
8712           Fix various leaks.
8713
8714 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8715
8716         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
8717         (gst_bin_iterate_all_by_interface):
8718           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
8719           GTypes are gulongs and thus the top 4 bytes might be cut
8720           off on some platforms when doing GPOINTER_TO_INT, leading
8721           to invalid GTypes and bad things happening (see RH bug #179654).
8722           Also add a check to make sure the type passed in is really
8723           an interface type.
8724
8725 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8726
8727         * .cvsignore:
8728           Ignore more.
8729
8730 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8731
8732         * Makefile.am:
8733         * configure.ac:
8734         * gst-element-check.m4:
8735         * gst-element-check.m4.in:
8736           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
8737           instead of the unversioned gst-inspect (#324176, #168659).
8738
8739 2006-07-06  Wim Taymans  <wim@fluendo.com>
8740
8741         * gst/gstmessage.h:
8742         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
8743         warnings.
8744
8745 2006-07-06  Wim Taymans  <wim@fluendo.com>
8746
8747         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8748         (gst_base_src_wait), (gst_base_src_update_length),
8749         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
8750         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
8751         (gst_base_src_loop), (gst_base_src_start),
8752         (gst_base_src_activate_pull):
8753         Update docs.
8754         blocksize == 0 now means the default blocksize when working in push
8755         based mode.
8756         Remove some pointless asserts in _wait function.
8757         Fix offset/length calculations and EOS handling. We can now pull 0
8758         bytes as well, which is allowed.
8759         use _check_get_range() to decide if we can operate in _pull based
8760         mode.
8761         Fix refcounting leak when check_get_range function was not 
8762         implemented.
8763         API GstBaseSrc::blocksize range can be 0 too now (default)
8764
8765         * tests/check/elements/filesrc.c: (GST_START_TEST),
8766         (filesrc_suite):
8767         Added check to test _get_range() behaviour.
8768
8769 2006-07-06  Wim Taymans  <wim@fluendo.com>
8770
8771         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8772         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
8773         (gst_pad_pull_range):
8774         * gst/gstpad.h:
8775         Lots of comments and docs added to the pad functions.
8776         Flesh out the expected behaviour of the get_range() functions.
8777
8778 2006-07-06  Wim Taymans  <wim@fluendo.com>
8779
8780         * gst/gstbus.h:
8781         * gst/gstclock.h:
8782         * gst/gstevent.h:
8783         * gst/gstiterator.h:
8784         * gst/gstpad.h:
8785         * gst/gstplugin.h:
8786         * gst/gsttask.h:
8787         Remove comma at end of enumerator list. 
8788
8789 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
8790
8791         * win32/common/libgstbase.def:
8792         * win32/common/libgstdataprotocol.def:
8793         * win32/common/libsgtreamer.def:
8794         Add new exported functions.
8795
8796 2006-07-05  Wim Taymans  <wim@fluendo.com>
8797
8798         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
8799         Add some more docs here and there.
8800
8801 2006-07-05  Wim Taymans  <wim@fluendo.com>
8802
8803         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
8804         (gst_base_sink_loop), (gst_base_sink_get_position):
8805         When operating in pull mode update the offset so that we
8806         read sequentially.
8807
8808 2006-07-05  Wim Taymans  <wim@fluendo.com>
8809
8810         * gst/gstregistryxml.c: (read_string):
8811         Avoid strdup. (will happen in libxml, but hey!)
8812
8813         * gst/gsturi.c:
8814         Add some more docs.
8815
8816 2006-07-05  Wim Taymans  <wim@fluendo.com>
8817
8818         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
8819         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8820         (gst_buffer_suite):
8821         No point in checking if the size of the subbuffer > 0, the
8822         code handles it correclty as demonstrated by unit test.
8823         Also add a unit test for the zero sized _new_and_alloc and
8824         _copy. Fixes #346663.
8825
8826 2006-07-05  Wim Taymans  <wim@fluendo.com>
8827
8828         * libs/gst/base/gstbasetransform.c:
8829         (gst_base_transform_prepare_output_buffer),
8830         (gst_base_transform_buffer_alloc),
8831         (gst_base_transform_handle_buffer):
8832         Make sure the buffer we pass to transform_ip has a refcount of
8833         1 and thus is writable. Fixes #343196
8834
8835 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
8836
8837         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8838         (gst_file_src_init), (gst_file_src_set_property),
8839         (gst_file_src_get_property), (gst_file_src_map_region):
8840         * plugins/elements/gstfilesrc.h:
8841         Add "sequential" property, off by default, to use madvise and hint
8842         to the kernel that sequential access is desired.
8843         Touch all retrieved pages by default to ensure they are pulled
8844         into memory. (Closes #345720)
8845
8846 2006-07-03  Wim Taymans  <wim@fluendo.com>
8847
8848         * docs/design/part-block.txt:
8849         * docs/design/part-dynamic.txt:
8850         Small docs updates.
8851
8852 2006-07-03  Wim Taymans  <wim@fluendo.com>
8853
8854         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
8855         (gst_caps_unref), (gst_static_caps_get),
8856         (gst_caps_append_structure):
8857         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
8858         Use GSlice when the glib we build against is >= 2.10
8859
8860 2006-07-03  Wim Taymans  <wim@fluendo.com>
8861
8862         * gst/gstelement.c: (gst_element_pads_activate):
8863         Small cleanup in pad activation code.
8864
8865 2006-07-03  Wim Taymans  <wim@fluendo.com>
8866
8867         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8868
8869         * gst/gst-i18n-app.h:
8870         * gst/gst-i18n-lib.h:
8871         * tools/gst-inspect.c: (print_signal_info):
8872         The attached patch will make the inclusion of gettext.h unconditional in
8873         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
8874         libintl.h in tools/gst-inspect.c.
8875         This allows use of --disable-nls again and fixes #344642.
8876
8877 2006-07-03  Edward Hervey  <edward@fluendo.com>
8878
8879         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
8880         Implement pad blocking on events according to part-block.txt.
8881         More comments on behaviour.
8882         * tests/check/gst/gstevent.c: (test_event):
8883         Send event to peer pad of blocked pad (else it will block).
8884
8885 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8886
8887         * libs/gst/check/gstcheck.c: (gst_check_message_error),
8888         (gst_check_run_suite):
8889           if we get the wrong message, give us the types as string
8890         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8891           Fix a translatable
8892         * tests/check/elements/filesrc.c: (GST_START_TEST):
8893           add a test for trying to open a non-existing file
8894
8895 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8896
8897         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8898           add a test for adding self
8899
8900 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8901
8902         * libs/gst/check/gstcheck.h:
8903           add some assert_ as alias for fail_unless_*
8904         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
8905           increase test coverage
8906
8907 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8908
8909         * Makefile.am:
8910           include lcov.mak for lcov coverage generation
8911         * tools/Makefile.am:
8912           add to CLEANFILES
8913
8914 2006-07-02  Edward Hervey  <edward@fluendo.com>
8915
8916         * tests/check/elements/.cvsignore:
8917         moaping
8918
8919 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8920
8921         * configure.ac:
8922           don't set CFLAGS and friends for gcov, done from GST_GCOV now
8923         * tests/check/Makefile.am:
8924           clean up gcov files
8925
8926 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8927
8928         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
8929           remove gst_caps_simplify; it was not declared and not used
8930           and deprecated in 0.8
8931
8932 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8933
8934         * docs/faq/gst-uninstalled:
8935           don't put empty paths on PYTHONPATH
8936         * docs/gst/gstreamer-sections.txt:
8937           remove some symbols that are not there
8938
8939 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8940
8941         * gst/gstcaps.c: (gst_caps_compare_structures):
8942           whitespace fixes
8943         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8944         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8945           add more tests
8946
8947 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8948
8949         * libs/gst/dataprotocol/Makefile.am:
8950           build dataprotocol test by linking to the lib, instead of
8951           compiling the source, so we get coverage
8952         * tests/check/Makefile.am:
8953         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
8954         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
8955           add a test for filesrc
8956
8957 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8958
8959         * tests/check/gst/gststructure.c: (GST_START_TEST),
8960         (gst_structure_suite):
8961           Push coverage from 59.04% to 70.00%
8962
8963 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8964
8965         * tests/check/Makefile.am:
8966           gst-inspect every element; this makes sure that we also get
8967           coverage on element's get/set functions
8968
8969 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8970
8971         * configure.ac:
8972           set CFLAGS and friends to -O0 if gcov is being used
8973           add GCOV LIBS
8974         * gst/Makefile.am:
8975         * libs/gst/base/Makefile.am:
8976         * libs/gst/check/Makefile.am:
8977         * libs/gst/controller/Makefile.am:
8978         * libs/gst/dataprotocol/Makefile.am:
8979         * libs/gst/net/Makefile.am:
8980         * plugins/elements/Makefile.am:
8981         * plugins/indexers/Makefile.am:
8982           add makefile rules to generate gcov data and clean up
8983         * tests/check/Makefile.am:
8984           add a coverage target that generates an html overview
8985           of coverage data
8986
8987 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8988
8989         * tests/check/elements/fakesink.c:
8990         * tests/check/elements/fakesrc.c:
8991         * tests/check/elements/fdsrc.c:
8992         * tests/check/elements/identity.c:
8993         * tests/check/generic/sinks.c: (gst_sinks_suite):
8994         * tests/check/generic/states.c:
8995         * tests/check/gst/gst.c:
8996         * tests/check/gst/gstabi.c:
8997         * tests/check/gst/gstbin.c:
8998         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8999         * tests/check/gst/gstbus.c: (gst_bus_suite):
9000         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9001         * tests/check/gst/gstelement.c:
9002         * tests/check/gst/gstevent.c: (gst_event_suite):
9003         * tests/check/gst/gstghostpad.c:
9004         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
9005         * tests/check/gst/gstmessage.c: (gst_message_suite):
9006         * tests/check/gst/gstminiobject.c:
9007         * tests/check/gst/gstobject.c:
9008         * tests/check/gst/gstpad.c:
9009         * tests/check/gst/gstpipeline.c:
9010         * tests/check/gst/gstplugin.c:
9011         * tests/check/gst/gstquery.c: (gst_query_suite):
9012         * tests/check/gst/gstsegment.c: (gst_segment_suite):
9013         * tests/check/gst/gststructure.c:
9014         * tests/check/gst/gstsystemclock.c:
9015         * tests/check/gst/gsttag.c:
9016         * tests/check/gst/gsttask.c: (gst_task_suite):
9017         * tests/check/gst/gstutils.c:
9018         * tests/check/gst/gstvalue.c:
9019         * tests/check/libs/adapter.c:
9020         * tests/check/libs/basesrc.c:
9021         * tests/check/libs/collectpads.c:
9022         * tests/check/libs/controller.c:
9023         * tests/check/libs/gdp.c: (gst_dp_suite):
9024         * tests/check/libs/gstnetclientclock.c:
9025         * tests/check/libs/gstnettimeprovider.c:
9026         * tests/check/libs/libsabi.c: (libsabi_suite):
9027         * tests/check/libs/typefindhelper.c:
9028         * tests/check/pipelines/cleanup.c:
9029         * tests/check/pipelines/parse-launch.c:
9030         * tests/check/pipelines/simple-launch-lines.c:
9031         * tests/check/pipelines/stress.c: (stress_suite):
9032           use the new macro
9033
9034 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9035
9036         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
9037         * libs/gst/check/gstcheck.h:
9038           create a macro and function so that the simple unit test
9039           case can be just one macro to create main()
9040
9041 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
9042
9043         * gst/gstbin.c: (gst_bin_restore_thyself):
9044         * gst/gstxml.c: (gst_xml_make_element):
9045           Fix deserialisation from XML. Set parent manually
9046           instead of using gst_bin_add(), since gst_bin_add()
9047           will unlink all pads of the element being added.
9048           Fixes #341667.
9049
9050 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
9051
9052         Patch by: Peter Kjellerstedt <pkj at axis com>
9053
9054         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
9055           Fix missing g_strdup() and double free when using the
9056           --gst-plugin-load command line option (#346097).
9057
9058 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
9059
9060         * gst/gstinfo.c:
9061           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
9062
9063         * libs/gst/net/gstnetclientclock.c:
9064         * libs/gst/net/gstnettimeprovider.c:
9065           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
9066
9067 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * docs/manual/advanced-dataaccess.xml:
9070           Fix buffer probe example compilation in
9071           ADM (#345708).
9072         
9073 2006-06-22  Edward Hervey  <edward@fluendo.com>
9074
9075         * gst/gstelement.c: (gst_element_pads_activate):
9076         We need to deactivate src pads first and then sink pads.
9077         The reason is the src pads might be blocking while holding the streaming
9078         lock, so we need to deactivate them first so that deactivating the sink
9079         pads doesn't block (since it will require the streaming lock).
9080
9081 2006-06-22  Wim Taymans  <wim@fluendo.com>
9082
9083         * libs/gst/base/gstbasetransform.c:
9084         (gst_base_transform_buffer_alloc):
9085         Forgot to remove two unneeded unrefs.
9086         Simplify a check _is_equal allready checks the obvious case.
9087
9088 2006-06-22  Wim Taymans  <wim@fluendo.com>
9089
9090         * docs/design/part-block.txt:
9091         Some docs about what pad_block should do.
9092
9093 2006-06-22  Wim Taymans  <wim@fluendo.com>
9094
9095         * gst/gstcaps.c: (gst_caps_replace):
9096         Fix crasher when passed NULL. Doc clarification.
9097         Optimize for the trivial case.
9098
9099         * gst/gstpipeline.c: (gst_pipeline_change_state):
9100         Small cleanups.
9101
9102         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9103         Small documentation cleanup.
9104
9105         * libs/gst/base/gstbasetransform.c:
9106         (gst_base_transform_buffer_alloc):
9107         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
9108         is what we need and it avoids a whole lot of redundant 
9109         refcount operations.
9110
9111 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
9112
9113         Patch by: Philip Jägenstedt  <philip at lysator liu se>
9114
9115         * docs/manual/advanced-dataaccess.xml:
9116           Fix 'Embedding static elements' section to use
9117           GST_PLUGIN_DEFINE_STATIC (#345607).
9118
9119 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9120
9121         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
9122           Attempt to 'fix' spuriously failing test case: it seems like the
9123           timeout of half a second is simply too small when the system is under
9124           load otherwise, and the timeout doesn't really seem to serve any
9125           particular purpose here. Give the pipeline a few seconds to preroll
9126           first, and then give it another half a second to go from PAUSED to
9127           PLAYING and marshal the message into the main thread.
9128
9129 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9130
9131         * tools/gst-feedback-m.m:
9132           Don't only use unversioned tools, try versioned tools as well
9133           (#345086).
9134
9135 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
9136
9137         * gst/gstbus.c: (gst_bus_class_init):
9138           Fix some typos, make docs more explicit.
9139
9140 2006-06-20  Wim Taymans  <wim@fluendo.com>
9141
9142         * tests/check/gst/gstghostpad.c: (block_callback),
9143         (GST_START_TEST), (gst_ghost_pad_suite):
9144         Added some more ghostpad tests, mainly blocking
9145         and probes.
9146
9147 2006-06-16  Wim Taymans  <wim@fluendo.com>
9148
9149         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
9150         (gst_file_sink_close_file), (gst_file_sink_do_seek),
9151         (gst_file_sink_event), (gst_file_sink_render):
9152         * plugins/elements/gstfilesink.h:
9153         Check if we can seek in the file instead of assuming
9154         we always can. Post an error when we are asked to seek in a
9155         non-seekable file (like a fifo). Fixes #343312.
9156         Some cleanups.
9157
9158 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
9159
9160         * tools/gst-launch.1.in:
9161           Un-garble (fourcc) bit in filtered caps section.
9162
9163 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
9164
9165         * docs/manual/advanced-autoplugging.xml:
9166         * docs/manual/basics-helloworld.xml:
9167         * docs/manual/highlevel-components.xml:
9168           Don't leak bus reference in sample code.
9169
9170 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
9171
9172         * autogen.sh:
9173           Add default for new --enable-plugin-docs switch.
9174
9175         * configure.ac:
9176           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
9177           Fixes #344039.
9178
9179         * docs/Makefile.am:
9180           Use new ENABLE_PLUGIN_DOCS conditional.
9181
9182 2006-06-14  Wim Taymans  <wim@fluendo.com>
9183
9184         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
9185         Make it clear with a FIXME and a real define what the #if 0
9186         previously disabled.
9187
9188 2006-06-14  Wim Taymans  <wim@fluendo.com>
9189
9190         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
9191         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
9192         * libs/gst/base/gstbasetransform.c:
9193         (gst_base_transform_sink_eventfunc):
9194         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9195         Don't randomly and silently reset a segment when the format 
9196         changes as this is a bug somewhere upstream. Fixes #330379.
9197
9198 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
9199
9200         Patch by: Wouter Paesen  <wouter at kangaroot net>
9201
9202         * libs/gst/controller/gstcontroller.c:
9203         (gst_controlled_property_new):
9204           Fix controlling of float properties (#344849).
9205
9206         * tests/check/libs/controller.c:
9207         (gst_test_mono_source_get_property),
9208         (gst_test_mono_source_set_property),
9209         (gst_test_mono_source_class_init), (GST_START_TEST):
9210           While we're at it, add some float stuff to unit test.
9211
9212 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9213
9214         * docs/README:
9215         * docs/images/gdp-header.svg:
9216           add a gdp image
9217         * docs/libs/Makefile.am:
9218         * docs/libs/gdp-header.png:
9219         * libs/gst/dataprotocol/dataprotocol.c:
9220           add it to the API docs
9221         * docs/manual/intro-motivation.xml:
9222           fix typo
9223
9224 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
9225
9226         * gst/gst.c: (scan_and_update_registry), (init_post):
9227           If the fork()'ed child process can't write the updated registry cache
9228           file to disk for some reason, make it exit with a failure exit code,
9229           so that the parent can then re-scan the plugins itself and update the
9230           registry structures in memory and work with that (rather than failing
9231           when creating elements because seemingly no plugins are available).
9232           Refactor registry scanning code into separate function for this and
9233           also separate fork() and non-fork() code paths. Fixes #344748.
9234
9235 2006-06-13  Wim Taymans  <wim@fluendo.com>
9236
9237         * docs/manual/advanced-dataaccess.xml:
9238         Fix wrong PluginDesc. Fixes #344755.
9239
9240 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
9241
9242         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
9243           Fix silly bug that prevented us from creating
9244           ~/.gstreamer-0.10 and writing the registry in one
9245           go (the first call to g_mkstemp() would overwrite the
9246           placeholder in the template string, so the second call
9247           to g_mkstemp() after creating the missing directory
9248           would then error out with 'invalid argument').
9249
9250 2006-06-13  Edward Hervey  <edward@fluendo.com>
9251
9252         * gst/gst.c: (init_post):
9253         Free string.
9254
9255 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9256
9257         * gst/glib-compat-private.h:
9258         * gst/glib-compat.c:
9259         * gst/glib-compat.h:
9260         * gst/gstvalue.c: (gst_value_serialize_flags):
9261           remove GLib 2.6 compatibility code
9262
9263 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
9264
9265         * gst/parse/Makefile.am:
9266           Fix build with 'make -j N' even more (#340016).
9267
9268 2006-06-12  Wim Taymans  <wim@fluendo.com>
9269
9270         * docs/gst/gstreamer-sections.txt:
9271         Fix docs.
9272
9273 2006-06-12  Wim Taymans  <wim@fluendo.com>
9274
9275         * gst/gstsegment.c: (gst_segment_set_duration),
9276         (gst_segment_set_last_stop), (gst_segment_set_seek),
9277         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9278         (gst_segment_to_running_time), (gst_segment_clip):
9279         Use G_UNLIKELY to help the compiler a bit.
9280
9281 2006-06-12  Wim Taymans  <wim@fluendo.com>
9282
9283         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9284
9285         * gst/gstevent.c: (gst_event_get_type):
9286         * gst/gstmessage.c:
9287         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
9288         (gst_pad_push):
9289         constify quark registration strings. Fixes #344115
9290         Avoid unneeded type checking is _pad_push() by internally
9291         calling gst_pad_chain_unchecked().
9292
9293 2006-06-12  Wim Taymans  <wim@fluendo.com>
9294
9295         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
9296         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
9297         (gst_subbuffer_finalize), (gst_buffer_create_sub),
9298         (gst_buffer_is_span_fast), (gst_buffer_span):
9299         Init _type for consistency.
9300         Use _FLAGS macro to avoid type check.
9301         Avoid unneeded type checks in subbufer code.
9302
9303 2006-06-12  Wim Taymans  <wim@fluendo.com>
9304
9305         * gst/gst.c: (gst_debug_help):
9306         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
9307         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9308         (gst_plugin_feature_list_free):
9309         * gst/gstregistry.c: (gst_registry_add_plugin),
9310         (gst_registry_add_feature), (gst_registry_plugin_filter),
9311         (gst_registry_feature_filter), (gst_registry_find_plugin),
9312         (gst_registry_find_feature), (gst_registry_get_plugin_list),
9313         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
9314         * gst/gstregistryxml.c: (load_feature),
9315         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
9316         * gst/gstminiobject.c: (gst_mini_object_unref),
9317         (gst_mini_object_replace), (gst_value_mini_object_free),
9318         (gst_value_mini_object_copy):
9319         Use _CAST macros to avoid unneeded type checking.
9320         Added some more G_UNLIKELY.
9321
9322 2006-06-12  Wim Taymans  <wim@fluendo.com>
9323
9324         * gst/gstbuffer.h:
9325         Avoid unneeded type checking.
9326         API: GST_BUFFER_IS_DISCONT
9327
9328         * gst/gstminiobject.h:
9329         Avoid type check in flag accessor.
9330
9331         * gst/gstelementfactory.h:
9332         * gst/gstplugin.h:
9333         * gst/gstpluginfeature.h:
9334         Add _CAST macros.
9335         API: GST_ELEMENT_FACTORY_CAST
9336         API: GST_PLUGIN_CAST
9337         API: GST_PLUGIN_FEATURE_CAST
9338
9339 2006-06-12  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
9342         (gst_object_unref):
9343         Add G_UNLIKELY in type registration.
9344         Avoid type check in _ref/_unref since that is also
9345         done in glib.
9346
9347 2006-06-12  Wim Taymans  <wim@fluendo.com>
9348
9349         * gst/gsterror.c: (gst_g_error_get_type):
9350         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9351         (gst_static_pad_template_get_type):
9352         * gst/gsttaglist.c: (gst_tag_list_get_type):
9353         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
9354         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
9355         * gst/gsturi.c: (gst_uri_handler_get_type):
9356         * gst/gstvalue.c: (gst_date_get_type):
9357         * gst/gstxml.c: (gst_xml_get_type):
9358         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
9359         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
9360         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
9361         Add G_UNLIKELY in type registration.
9362
9363 2006-06-12  Wim Taymans  <wim@fluendo.com>
9364
9365         * tools/gst-inspect.c: (print_signal_info):
9366         Properly print enum values.
9367
9368 2006-06-12  Wim Taymans  <wim@fluendo.com>
9369
9370         * gst/gstinfo.c: (gst_debug_set_active),
9371         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
9372         * gst/gstinfo.h:
9373         Add some G_[UN]LIKELY.
9374         Maintain __gst_debug_min to avoid formatting the arguments of
9375         debug messages that will be dropped anyway to avoid a lot of 
9376         overhead from the debugging system.
9377
9378 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
9379
9380         * po/POTFILES.in:
9381         * po/POTFILES.skip:
9382           add missing files containing translatable strings, tell intltool about
9383           one exception
9384
9385 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
9386
9387         * tests/check/libs/.cvsignore:
9388         add test-binary to ignore list
9389
9390 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
9391
9392         * docs/libs/gstreamer-libs-docs.sgml:
9393         reorder (put dp into a chapter) and indent
9394
9395 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9396
9397         * configure.ac:
9398           back to HEAD
9399
9400 === release 0.10.8 ===
9401
9402 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
9403
9404         * configure.ac:
9405           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
9406
9407 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * gst/gst.c: (init_post):
9410           move pid declaration to declaration block
9411
9412 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9413
9414         * gst/gst.c: (init_post):
9415           use _exit() instead of exit() in our forked child; this ensures
9416           that none of the registered exit handlers from whatever is using
9417           GStreamer get executed.  This fixes gnome-mixer-applet failing
9418           to load, because ORBit would shut down.
9419           Spotted by: Edward Hervey  <edward@fluendo.com>
9420           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
9421           Fixes #344474
9422
9423 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9424
9425         * configure.ac:
9426           back to TRUNK
9427
9428 === release 0.10.7 ===
9429
9430 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
9431
9432         * configure.ac:
9433           releasing 0.10.7, "Soepeke, ik zie ou"
9434
9435 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9436
9437         * configure.ac:
9438         * po/af.po:
9439         * po/az.po:
9440         * po/bg.po:
9441         * po/ca.po:
9442         * po/cs.po:
9443         * po/de.po:
9444         * po/en_GB.po:
9445         * po/fr.po:
9446         * po/it.po:
9447         * po/nb.po:
9448         * po/nl.po:
9449         * po/ru.po:
9450         * po/sq.po:
9451         * po/sr.po:
9452         * po/sv.po:
9453         * po/tr.po:
9454         * po/uk.po:
9455         * po/vi.po:
9456         * po/zh_CN.po:
9457         * po/zh_TW.po:
9458         * win32/common/config.h:
9459           0.10.6.2 prerelease
9460
9461 2006-06-07  Wim Taymans  <wim@fluendo.com>
9462
9463         * gst/gstindex.c: (gst_index_gtype_resolver):
9464         * tools/gst-xmlinspect.c: (print_plugin_info):
9465         Fix leak spotted by coverity checker. Fixes #343827
9466         Fix another other leak found by paolo borelli.
9467
9468 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9469
9470         * libs/gst/dataprotocol/dataprotocol.c:
9471         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9472         (gst_dp_version_get_type), (gst_dp_init),
9473         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
9474         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
9475         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
9476         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
9477         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
9478         (gst_dp_packetizer_free):
9479         * libs/gst/dataprotocol/dataprotocol.h:
9480           API: add a GstDPPacketizer object, and create/free functions
9481           API: add GstDPVersion enum
9482           Add 1.0 event function that uses the string serialization
9483           Serialize more useful buffer flags
9484           Fixes #343988
9485
9486 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * tests/check/Makefile.am:
9489         * tests/check/gst/gstabi.c:
9490         * tests/check/gst/struct_ppc64.h:
9491         * tests/check/libs/libsabi.c:
9492         * tests/check/libs/struct_ppc64.h:
9493           add ppc64 structure sizes
9494
9495 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9496
9497         * tests/check/Makefile.am:
9498         * tests/check/gst/gstabi.c:
9499         * tests/check/gst/struct_x86_64.h:
9500         * tests/check/libs/libsabi.c:
9501         * tests/check/libs/struct_x86_64.h:
9502           generate and add structure size lists for x86_64
9503
9504 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9505
9506         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9507         * libs/gst/check/gstcheck.h:
9508           factor out the method from tests that checks size of structures,
9509           and add code to generate the header containing these sizes
9510         * tests/check/gst/gstabi.c: (GST_START_TEST):
9511         * tests/check/gst/struct_i386.h:
9512         * tests/check/libs/libsabi.c: (GST_START_TEST):
9513         * tests/check/libs/struct_i386.h:
9514           use it
9515
9516 2006-06-06  Michael Smith  <msmith@fluendo.com>
9517
9518         * gst/gstsegment.h:
9519           Don't use c++-style comments, fixes #343929
9520
9521 2006-06-05  Edward Hervey  <edward@fluendo.com>
9522
9523         * gst/gst.c:
9524         plugin_paths is not used if we build without registry support.
9525
9526         * gst/gstsegment.c: (gst_segment_copy): 
9527         _copy() was always returning NULL...
9528
9529 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9530
9531         * libs/gst/dataprotocol/dataprotocol.c:
9532         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9533         (gst_dp_packet_from_event):
9534           factor out CRC code
9535
9536 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9537
9538         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
9539           make sure we unset caps
9540
9541 2006-06-02  Michael Smith  <msmith@fluendo.com>
9542
9543         * libs/gst/check/gstcheck.c: (gst_check_init),
9544         (gst_check_chain_func):
9545         * libs/gst/check/gstcheck.h:
9546           Add a cond/mutex to the check support lib, signal this whenever we
9547           add to the buffers list. This will allow tests to not busy-wait on
9548           the buffer-list.
9549
9550 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9551
9552         * libs/gst/dataprotocol/dataprotocol.c:
9553         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9554         (gst_dp_packet_from_event):
9555           factor out some common header init code
9556
9557 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * docs/libs/gstreamer-libs-sections.txt:
9560         * docs/libs/tmpl/gstdataprotocol.sgml:
9561         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
9562         * libs/gst/dataprotocol/dataprotocol.h:
9563           API: make gst_dp_crc() public
9564
9565 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
9566
9567         * plugins/indexers/gstindexers.c: (plugin_init):
9568         conditionally register fileindexer (fixes #343598)
9569
9570 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
9571
9572         * gst/gsttagsetter.h:
9573         Can't cast ifaces to a class
9574
9575         * libs/gst/net/gstnetclientclock.h:
9576         * libs/gst/net/gstnettimeprovider.h:
9577         * plugins/elements/gstfakesink.h:
9578         * plugins/elements/gstfakesrc.h:
9579         * plugins/elements/gstfdsink.h:
9580         * plugins/elements/gstfdsrc.h:
9581         * plugins/elements/gstfilesink.h:
9582         * plugins/elements/gstfilesrc.h:
9583         * plugins/elements/gstidentity.h:
9584         * plugins/elements/gstqueue.h:
9585         * plugins/elements/gsttee.h:
9586         * plugins/indexers/gstfileindex.c:
9587         * plugins/indexers/gstmemindex.c:
9588         * tests/old/examples/plugins/example.h:
9589         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
9590
9591 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9592
9593         * libs/gst/dataprotocol/dataprotocol.c:
9594         (gst_dp_header_from_buffer):
9595           make sure we zero the whole ABI-compatible area
9596
9597 2006-06-01  Wim Taymans  <wim@fluendo.com>
9598
9599         Patch by: Alessandro Decina <alessandro at nnva dot org>
9600
9601         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
9602         Make sure the EOS flag is cleared from pads after a flush
9603         or stop. Fixes #343538.
9604
9605         * tests/check/libs/collectpads.c: (GST_START_TEST),
9606         (gst_collect_pads_suite):
9607         Added test for collectpads reusage after EOS.
9608
9609 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
9610
9611         * gst/gst.c:
9612          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
9613         * win32/common/libgstbase.def:
9614          export gst_collect_pads_set_flushing
9615         * win32/common/libgstreamer.def:
9616          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
9617          gst_value_fraction_multiply
9618         * win32/vs6/gst_inspect.dsp:
9619          add a link to intl.lib
9620
9621 2006-05-30  Wim Taymans  <wim@fluendo.com>
9622
9623         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9624         (gst_collect_pads_chain):
9625         Handle the case where a pad is removed from the collection
9626         that could cause the other pads to become collectable.
9627
9628 2006-05-30  Wim Taymans  <wim@fluendo.com>
9629
9630         * gst/gstelement.c:
9631         Clarify the use of _release_request_pad() and
9632         _get_request_pad() a bit better.
9633
9634         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
9635         (gst_adapter_take_buffer):
9636         Fix some doc and comment typos.
9637
9638 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9639
9640         * docs/gst/gstreamer-sections.txt:
9641         * docs/libs/gstreamer-libs-sections.txt:
9642           add declared symbols
9643
9644 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
9645
9646         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9647         Add debug that can be enabled using a #define at the top of the file,
9648         for dumping stats about how late/early we were when waking up from
9649         waiting on the clock.
9650
9651 2006-05-30  Wim Taymans  <wim@fluendo.com>
9652
9653         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
9654         When rebuilding the pad list, don't leak the previous list.
9655
9656 2006-05-30  Wim Taymans  <wim@fluendo.com>
9657
9658         Patch by: Lutz Mueller <lutz at topfrose dot de>
9659
9660         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9661         (gst_base_src_get_query_types), (gst_base_src_update_length):
9662         Publish supported query types.
9663         Update last_stop field in get_range mode so the position
9664         query works. Fixes #342321.
9665
9666 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
9667
9668         * docs/gst/gstreamer-sections.txt:
9669         * gst/gsttaglist.c: (_gst_tag_initialize):
9670         * gst/gsttaglist.h:
9671           API: add GST_TAG_PREVIEW_IMAGE (#343341).
9672
9673 2006-05-30  Wim Taymans  <wim@fluendo.com>
9674
9675         Patch by: Alessandro Decina <alessandro at nnva dot org>
9676
9677         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9678         Unlock mutex when removing an unknown pad.
9679         Fixes #343334.
9680
9681         * tests/check/Makefile.am:
9682         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
9683         (push_event), (setup), (teardown), (GST_START_TEST),
9684         (gst_collect_pads_suite), (main):
9685         Added collecpads check, disabled for now as check crashes for
9686         some reason.
9687
9688 2006-05-29  Wim Taymans  <wim@fluendo.com>
9689
9690         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
9691         Don't leak pads lists.
9692
9693 2006-05-29  Wim Taymans  <wim@fluendo.com>
9694
9695         * docs/libs/gstreamer-libs-sections.txt:
9696         * libs/gst/base/gstcollectpads.c:
9697         (gst_collect_pads_set_flushing_unlocked),
9698         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9699         (gst_collect_pads_stop):
9700         * libs/gst/base/gstcollectpads.h:
9701         API: gst_collect_pads_set_flushing()
9702         Added api to set the pads to flushing, useful for seeking
9703         code in elements using collectpads.
9704         Clear segment when receiving a flush.
9705
9706 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
9707
9708         * gst/gst.c: (add_path_func), (init_post):
9709           Don't scan registry paths passed via --gst-plugin-path immediately
9710           (will crash, because absolutely nothing is set up and no types are
9711           registered etc.); do this later in init_post(). Fixes #343057.
9712
9713 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9714
9715         * gst/gst.c: (init_post):
9716           if we have fork, fork while reading/rebuilding the registry
9717           so the parent doesn't take the hit of having all plugins loaded
9718           in memory.  Fixes #342777.
9719         * configure.ac:
9720           Check if we have fork()
9721         * win32/common/config.h.in:
9722           no fork() on win32
9723
9724 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9725
9726         * plugins/elements/gstelements.c:
9727         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9728         (gst_file_src_init), (gst_file_src_set_property),
9729         (gst_file_src_get_property), (gst_file_src_start):
9730         * plugins/elements/gstfilesrc.h:
9731           API: GstFileSrc::use-mmap
9732
9733         Add a use-mmap property to enable easier testing of all code paths.
9734         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
9735         in the absence of gnomevfssrc. (Closes #340501)
9736
9737 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9738
9739         * tools/gst-inspect.c:
9740         Add missing include, removes warning of ngettext not being defined on
9741         some arches.
9742
9743 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9744
9745         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9746         Handle NULL input and output pointers silently as a failed conversion,
9747         rather than g_warnings.
9748
9749 2006-05-25  Wim Taymans  <wim@fluendo.com>
9750
9751         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
9752         Initialize variable before using. Fixes #342820.
9753
9754 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
9755
9756         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
9757           Fix off-by-one bug that would only allow peeks of N-1 bytes
9758           from the start even if the buffer to typefind on contains
9759           in fact N bytes of data (makes vorbis typefinding from a
9760           vorbis identification header buffer work).
9761
9762         * tests/check/Makefile.am:
9763         * tests/check/libs/.cvsignore:
9764         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
9765         (gst_typefindhelper_suite), (main), (foobar_typefind),
9766         (plugin_init):
9767           Add very basic unit test for gst_type_find_helper_for_buffer()
9768           that checks for the problem fixed above.
9769
9770 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * tools/gst-inspect.c: (print_interfaces),
9773         (print_element_properties_info), (print_element_list), (main):
9774           add more translatable strings
9775
9776 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
9777
9778         Patch by: Julien Moutte  <julien at moutte net>
9779
9780         * docs/gst/gstreamer-sections.txt:
9781           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
9782           
9783         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9784         (gst_fake_sink_preroll):
9785         * plugins/elements/gstfakesink.h:
9786           API: Add new GstFakeSink::preroll-handoff signal (#337100).
9787
9788 2006-05-23  Wim Taymans  <wim@fluendo.com>
9789
9790         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
9791         * gst/gstpad.h:
9792         Added _CUSTOM error and success GstFlowReturn that can be
9793         used be elements internally. 
9794         Added macro to check for SUCCESS flowreturns.
9795         API: GST_FLOW_CUSTOM_SUCCESS
9796         API: GST_FLOW_CUSTOM_ERROR
9797         API: GST_FLOW_IS_SUCCESS
9798
9799         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
9800         Added check for GstFlowReturn sanity.
9801
9802 2006-05-23  Wim Taymans  <wim@fluendo.com>
9803
9804         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9805
9806         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9807         (gst_collect_pads_event):
9808         clear/reset segment info in FLUSH_STOP.
9809         Fixes #336929.
9810
9811 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
9812
9813         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
9814         (gst_collect_pads_check_collected):
9815         Flush queued buffer on _stop(), fixes playing again (#342454)
9816
9817 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9818
9819         * tests/check/gst/gststructure.c: (GST_START_TEST),
9820         (gst_structure_suite):
9821           add a test for a complete structure
9822
9823 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9824
9825         * docs/faq/developing.xml:
9826         * docs/faq/faq.xml:
9827         * docs/faq/troubleshooting.xml:
9828         * docs/faq/using.xml:
9829           Some minor FAQ updates that won't change the fact that
9830           our FAQ is badly structured, full of information hardly
9831           anyone new to GStreamer needs to know and lacking lots
9832           of information people constantly ask for.
9833           
9834 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
9835
9836         * gst/gstpad.c: (gst_pad_set_caps):
9837           Short-circuit gst_pad_set_caps if setting the existing
9838           caps pointer again, and avoid printing debug and 
9839           reffing/unreffing the caps.
9840
9841         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9842           There's actually no need to set the caps before pushing -
9843           the acceptcaps method will handle it anyway.
9844
9845 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9846
9847         * docs/gst/gstreamer-sections.txt:
9848         * win32/common/libgstreamer.def:
9849         * gst/gstutils.c: (gst_element_seek_simple):
9850         * gst/gstutils.h:
9851           API: add gst_element_seek_simple() (#342238).
9852
9853 2006-05-18  Edward Hervey  <edward@fluendo.com>
9854
9855         * gst/gsttypefind.c: (gst_type_find_get_type):
9856         * gst/gsttypefind.h:
9857         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
9858         registered for GstTypeFind pointers. This allows wrapping the structure
9859         in bindings (i.e. gst-python).
9860
9861 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9862
9863         * gst/gsttagsetter.c:
9864           Docs additions and fixes (see #339918).
9865
9866 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9867
9868         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9869         The caps intersection algorithm can produce multiple copies of the
9870         caps. Until that is fixed, we need to simplify the result to be
9871         sure whether the allowed caps are fixed or not.
9872
9873         * plugins/elements/gstqueue.c: (gst_queue_init),
9874         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
9875         (gst_queue_push_one):
9876         Proxied buffer alloc should not set the caps on the source pad.
9877         When pushing buffers, we always accept the caps change that triggers.
9878         This prevents negotiation errors caused by caps changing mid-stream 
9879         and then being refused on our source pad (because upstream is now
9880         refusing those caps).
9881
9882 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9883
9884         * tests/examples/helloworld/helloworld.c: (main):
9885           Must plug audioconvert and audioresample between decoder
9886           and audio sink.
9887
9888 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
9889
9890         * gst/gstregistryxml.c: (read_string), (load_pad_template),
9891         (load_feature), (load_plugin):
9892         Allow empty strings for some of the plugin fields so we don't 
9893         drop valid plugin entries that were written out correctly
9894         (Fixes #341479)
9895
9896 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
9897         
9898         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
9899           Use g_remove and g_rename instead of remove and rename that don't 
9900           handle utf8 characters. rename was failing for users who had specific
9901           characters in their name then the registry was built at each 
9902           gstreamer init.
9903         * win32/vs6/gst_inspect.dsp:
9904         * win32/vs6/gst_launch.dsp:
9905         * win32/vs6/libgstbase.dsp:
9906         * win32/vs6/libgstcoreelements.dsp:
9907         * win32/vs6/libgstreamer.dsp:
9908           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
9909           build of libgstreamer and clean unused libraries in projects link 
9910           settings.
9911
9912 2006-05-17  Edward Hervey  <edward@fluendo.com>
9913
9914         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9915         The queue is not responsible for pushing an EOS when receiving a fatal
9916         flow error. It's up to the real element driving the pipeline to do that.
9917
9918 2006-05-16  Edward Hervey  <edward@fluendo.com>
9919
9920         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9921         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
9922         buffer returned a fatal error. It should just send an EOS and stop
9923         its task.
9924         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
9925         when pushing buffers on the queue and will be able to handle the event.
9926
9927 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9928
9929         * docs/manual/basics-bins.xml:
9930         * docs/manual/basics-init.xml:
9931           Fix typos and minor errors in sample code (#341856).
9932
9933 2006-05-16  Wim Taymans  <wim@fluendo.com>
9934
9935         * docs/design/part-qos.txt:
9936         Fix indexes in formulas to make more sense.
9937
9938 2006-05-15  Wim Taymans  <wim@fluendo.com>
9939
9940         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9941         Don't report POSITION based on clock time if sync is
9942         disabled in a sink.
9943
9944 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
9945
9946         * gst/gstobject.h:
9947           Add cast to make compiler happy - refcount variable was a gint
9948           in GstObject but is a guint in GObject and g_atomic_int_get()
9949           wants a gint *.
9950
9951 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9952
9953         * gst/parse/Makefile.am:
9954           chain commands using &&, which also makes parallel make work
9955
9956 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
9957
9958         * docs/gst/gstreamer-sections.txt:
9959         * gst/gstevent.c:
9960         * gst/gstevent.h:
9961         * gst/gstmessage.h:
9962           Minor docs fixes.
9963
9964 === release 0.10.6 ===
9965
9966 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
9967
9968         * configure.ac:
9969           releasing 0.10.6, "Take the cannoli"
9970
9971 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9972
9973         * tools/gst-launch.c: (print_tag):
9974           Fix use of uninitialized variable in the hypothetical
9975           case that some broken plugin creates a GST_TAG_IMAGE
9976           tag containing a NULL buffer (#341667).
9977
9978 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9979
9980         * tools/gst-launch.c: (print_tag):
9981           Print something more intelligible for image tags when
9982           using the -t switch (#341556).
9983
9984 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9985
9986         * Makefile.am:
9987           updates for win32
9988         * configure.ac:
9989           define GST_MAJORMINOR so we have it available in win32/common/config.h
9990           Possibly remove it from our Makefile.am files later
9991         * win32/common/config.h:
9992         * win32/common/config.h.in:
9993           added GST_MAJORMINOR
9994         * win32/common/gstenumtypes.c: (register_gst_resource_error):
9995         * win32/common/gstversion.h:
9996           updated
9997
9998 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
9999
10000         * win32/MANIFEST:
10001           Update win32 files listing.
10002         * win32/common/gstversion.h:
10003           Add GST_MAJORMINOR definition.
10004         * win32/common/libgstreamer.def:
10005           Add new exported functions.
10006           
10007 2006-05-12  Michael Smith  <msmith@fluendo.com>
10008
10009         * gst/gstplugin.c: (gst_plugin_load_file):
10010           If an so file has no plugin entry point, unload the module.
10011
10012 2006-05-11  Wim Taymans  <wim@fluendo.com>
10013
10014         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
10015         (gst_queue_set_property):
10016         Don't forget to signal the _chain or _loop function 
10017         when the queue size or thresholds change since that might
10018         cause them to make progres again.
10019
10020 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
10021
10022         * gst/gstclock.c: (gst_clock_class_init):
10023         * gst/gstindex.c: (gst_index_class_init):
10024         * gst/gstobject.c: (gst_object_class_init):
10025         * gst/gstpad.c: (gst_pad_class_init):
10026         * gst/gstpipeline.c: (gst_pipeline_class_init):
10027         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10028         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
10029         * libs/gst/base/gstbasetransform.c:
10030         (gst_base_transform_class_init):
10031         * libs/gst/net/gstnetclientclock.c:
10032         (gst_net_client_clock_class_init):
10033         * libs/gst/net/gstnettimeprovider.c:
10034         (gst_net_time_provider_class_init):
10035         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
10036         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10037         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10038         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
10039         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10040         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10041         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
10042         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10043         * plugins/elements/gsttee.c: (gst_tee_class_init):
10044         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10045         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10046           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
10047
10048 2006-05-11  Wim Taymans  <wim@fluendo.com>
10049
10050         * gst/gstbuffer.c: (_gst_buffer_initialize):
10051         Register subbufer along with the buffer type so that
10052         it does not accidentally gets registered from N
10053         different streaming threads in a non threadsafe way.
10054
10055 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
10056
10057         * gst/gstbuffer.h:
10058         * gst/gstevent.h:
10059         * gst/gstmessage.h:
10060           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
10061           gst_event_ref() and gst_message_ref() functions again
10062           (ugly hack, please do fix if there's a better way besides
10063           overrides.txt, which doesn't seem to work).
10064
10065 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * libs/gst/check/gstcheck.h:
10068           add an assert for setting state to avoid lots of repetitive code
10069           in the future
10070
10071 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10072
10073         * gst/gstvalue.c: (gst_value_serialize_flags):
10074           fix a leak if no flags are set
10075         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10076           fix leak in tests
10077
10078 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
10079
10080         * docs/manual/basics-pads.xml:
10081           Expand a bit on caps and filtered links and update
10082           examples that were still using the no longer existing
10083           gst_pad_link_filtered() (#338206).
10084
10085 2006-05-10  Wim Taymans  <wim@fluendo.com>
10086
10087         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10088         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10089         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10090         (gst_collect_pads_stop):
10091         * libs/gst/base/gstcollectpads.h:
10092         No need to call _stop in _finalize.
10093         Iterate the main pad list in _finalize.
10094         Added some more debug.
10095         Free lists and data in the right order.
10096         Also free data whem doing _remove_pad when stopped for
10097         backward compatibility protect ::started with PAD_LOCK as
10098         well.
10099
10100 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10101
10102         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
10103         (gst_structure_parse_value):
10104           add some comments
10105           rename a method so that it actually says what it does better
10106
10107 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10108
10109         * gst/gstevent.c: (_gst_event_initialize):
10110         * gst/gstformat.c: (_gst_format_initialize):
10111           make sure some essential types used by events are registered
10112           as part of gst_init()
10113         * gst/gstvalue.c: (gst_value_serialize_flags):
10114           if no flags are set, serialize them to a value that represents NONE
10115           so that deserializing them works
10116         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10117           add tests for serialization and deserialization of flags
10118
10119 2006-05-10  Wim Taymans  <wim@fluendo.com>
10120
10121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
10122         (gst_collect_pads_collect_range), (gst_collect_pads_available),
10123         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
10124         (gst_collect_pads_event), (gst_collect_pads_chain):
10125         Update docs.
10126         Better debug info.
10127         Catch and return errors from the collect function
10128         Refuse data on eos pads.
10129
10130 2006-05-10  Edward Hervey  <edward@fluendo.com>
10131
10132         * gst/gstinterface.h:
10133         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
10134         GInterface type checking.
10135         They were previously using non-defined macros.
10136
10137 2006-05-09  Wim Taymans  <wim@fluendo.com>
10138
10139         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
10140         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
10141         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
10142         (gst_collect_pads_start), (gst_collect_pads_stop),
10143         (gst_collect_pads_peek), (gst_collect_pads_pop),
10144         (gst_collect_pads_available), (gst_collect_pads_read),
10145         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
10146         (gst_collect_pads_is_collected), (gst_collect_pads_event),
10147         (gst_collect_pads_chain):
10148         * libs/gst/base/gstcollectpads.h:
10149         Clean up the mess that is collectpads, add comments and
10150         FIXMEs where needed.
10151         Maintain a separate pad list so we can add pads while
10152         collecting the other ones. For this we need a new separate 
10153         lock (see comics).
10154         Fix memory leak in finalize.
10155         Refactor some weird code to set/unset pad flushing flags, mark
10156         with comments.
10157         Don't crash in _available, _read, _flush when we're EOS.
10158
10159         * tests/check/libs/.cvsignore:
10160         Ignore adapter check binary.
10161
10162 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10163
10164         * gst/gstindex.c: (gst_index_resolver_get_type):
10165         * plugins/elements/gstfakesink.c:
10166         (gst_fake_sink_state_error_get_type):
10167         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10168         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
10169         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10170           Const-ify GEnumValue arrays.
10171
10172 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10173
10174         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10175           Add test case for flags + gst_buffer_make_metadata_writable().
10176
10177 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10178
10179         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
10180           gst_buffer_make_metadata_writable() should maintain the
10181           buffer flags (those that make sense at least) (see #340859).
10182
10183 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10184
10185         * tools/gst-inspect.c:
10186         * tools/gst-launch.c:
10187         * tools/gst-typefind.c:
10188         * tools/gst-xmlinspect.c:
10189         * tools/tools.h:
10190           Fix up includes: need to include stdlib.h in tools.h for exit().
10191
10192 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
10193
10194         * gst/gsttaglist.c: (_gst_tag_initialize):
10195         * gst/gsttaglist.h:
10196           API: add GST_TAG_IMAGE tag (#340721).
10197
10198 2006-05-08  Wim Taymans  <wim@fluendo.com>
10199
10200         * gst/gstquery.c:
10201         Added some docs for the segment query.
10202
10203 2006-05-08  Wim Taymans  <wim@fluendo.com>
10204
10205         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10206         (gst_base_src_loop), (gst_base_src_change_state):
10207         Always push non-flushing serialized events in the streaming 
10208         thread.
10209
10210 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10211
10212         * gst/gsterror.c: (_gst_stream_errors_init):
10213           Add a missing error string.
10214
10215 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
10216
10217         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
10218         Add applied_rate to the debug
10219
10220         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10221         Copy applied_rate into the outgoing NEWSEGMENT event
10222
10223 2006-05-08  Wim Taymans  <wim@fluendo.com>
10224
10225         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
10226
10227         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
10228         (gst_base_sink_change_state):
10229         call ::unlock before taking the PREROLL_LOCK so we can safely
10230         handle elements that lock in ::render.
10231         Fixes #340174.
10232
10233 2006-05-08  Edward Hervey  <edward@fluendo.com>
10234
10235         * autogen.sh: (CONFIGURE_DEF_OPT): 
10236         Darwin's libtoolize is in fact called glibtoolize.
10237         Adding glibtoolize to the list of accepted names for libtoolize.
10238
10239 2006-05-08  Wim Taymans  <wim@fluendo.com>
10240
10241         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10242         Unify error handling, don't post an error message
10243         when a push() returns EOS but perform our normal EOS
10244         handling code. Fixes #340772.
10245
10246 2006-05-08  Wim Taymans  <wim@fluendo.com>
10247
10248         * docs/design/part-overview.txt:
10249         Make upsteam/downstream concepts more clear.
10250         Give an example of serialized/non-serialized events.
10251
10252         * docs/design/part-events.txt:
10253         * docs/design/part-streams.txt:
10254         Mention applied_rate.
10255
10256         * docs/design/part-trickmodes.txt:
10257         Mention applied rate, flesh out some more use cases.
10258
10259         * gst/gstevent.c: (gst_event_new_new_segment),
10260         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
10261         (gst_event_parse_new_segment_full), (gst_event_new_tag),
10262         (gst_event_parse_tag), (gst_event_new_buffer_size),
10263         (gst_event_parse_buffer_size), (gst_event_new_qos),
10264         (gst_event_parse_qos), (gst_event_parse_seek),
10265         (gst_event_new_navigation):
10266         * gst/gstevent.h:
10267         Add applied_rate field to NEWSEGMENT event.
10268         API: gst_event_new_new_segment_full()
10269         API: gst_event_parse_new_segment_full()
10270
10271         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
10272         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
10273         (gst_segment_to_stream_time), (gst_segment_to_running_time):
10274         * gst/gstsegment.h:
10275         Add applied_rate to GstSegment structure.
10276         Make calculation of stream_time and running_time more correct
10277         wrt rate/applied_rate.
10278         Add some more docs.
10279         API: GstSegment::applied_rate field
10280         API: gst_segment_set_newsegment_full();
10281
10282         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10283         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
10284         * libs/gst/base/gstbasetransform.c:
10285         (gst_base_transform_sink_eventfunc),
10286         (gst_base_transform_handle_buffer):
10287         Parse and use applied_rate in the GstSegment field.
10288
10289         * tests/check/gst/gstevent.c: (GST_START_TEST):
10290         Add check for applied_rate field.
10291
10292         * tests/check/gst/gstsegment.c: (GST_START_TEST),
10293         (gstsegments_suite):
10294         Add more checks for various GstSegment operations.
10295
10296 2006-05-08  Wim Taymans  <wim@fluendo.com>
10297
10298         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
10299         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
10300         (gst_base_sink_get_position), (gst_base_sink_change_state):
10301         Store the sync time of the buffer end position separatly in a
10302         new variable eos_rtime so we can properly sync the EOS event.
10303         Fixes #340697.
10304         Fix the docs for gst_base_sink_set_qos_enabled().
10305         Don't set segment start to invalid value when we receive a 
10306         non TIME newsegment.
10307         get closer to handling position reporting for negative rates 
10308         correctly.
10309
10310 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
10311
10312         * gst/gstcaps.c:
10313         Docs about how to print caps for debug purposes.
10314
10315         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
10316         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
10317
10318 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
10319
10320         * gst/gstelement.c:
10321           use full enum names and preprend a '%' in docs strings to make recent 
10322           gtk-doc turn that into a link
10323
10324 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10325
10326         * docs/manual/basics-bins.xml:
10327         * docs/manual/basics-bus.xml:
10328         * docs/manual/basics-pads.xml:
10329           Some typo fixes, some additions, some clarifications. 
10330
10331 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10332
10333         * tools/gst-inspect.c: (main):
10334         * tools/gst-launch.c: (main):
10335         * tools/gst-run.c: (main):
10336         * tools/gst-typefind.c: (main):
10337         * tools/gst-xmlinspect.c: (main):
10338           Use the string passed to g_option_context_new() for
10339           what it's intended for - the program name is already
10340           printed elsewhere.
10341
10342 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10343
10344         * tools/Makefile.am:
10345         * tools/gst-inspect.c: (main):
10346         * tools/gst-launch.c: (main):
10347         * tools/gst-xmlinspect.c: (main):
10348         * tools/tools.h:
10349           Add back --version command line option (#340460).
10350
10351         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
10352           Add --version option and use GOption for argument parsing; refactor a
10353           bit; accept directories as arguments and recurse into them; lastly,
10354           print a decent error message when things go wrong.
10355
10356 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10357
10358         * docs/manual/basics-bins.xml:
10359         Don't mention GstThread (#340611)
10360         * docs/manual/basics-elements.xml:
10361         Update link to GObject tutorial (#340607)
10362         
10363 2006-05-05  Wim Taymans  <wim@fluendo.com>
10364
10365         * gst/gstbuffer.h:
10366         * gst/gstminiobject.c:
10367         Add note about refcounting and miniobject/buffer writeability
10368         to docs. Fixes #340604
10369
10370         * gst/gstelementfactory.h:
10371         Added some explanation about @klass.
10372
10373 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10374
10375         * docs/manual/intro-motivation.xml:
10376         * docs/manual/manual.xml:
10377         Avoid CORBA & Bonobo references (#340598)
10378
10379 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10380
10381         * docs/manual/basics-bus.xml:
10382         * docs/manual/basics-pads.xml:
10383         Fix up some inaccuracies and omissions (#340609)
10384         
10385 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10386
10387         * gst/gstghostpad.c:
10388           Small typo in docs (#340625)
10389
10390 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10391
10392         * gst/parse/Makefile.am:
10393           Make 'make -j' proof (see #340698).
10394
10395 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10396
10397         * configure.ac:
10398           Require GLib-2.8 here as well.
10399
10400 2006-05-05  Wim Taymans  <wim@fluendo.com>
10401
10402         * gst/glib-compat.c:
10403         * gst/gst.c: (init_pre):
10404         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10405         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
10406         (gst_object_dispatch_properties_changed):
10407         * gst/gstobject.h:
10408         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10409         * gst/gststructure.c: (gst_structure_set_valist):
10410         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10411         Remove pre glib2.8 compatibility, fixes #340508
10412
10413 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
10414
10415         * gst/gsttaglist.h:
10416           Mention type of tags in doc blurbs.
10417
10418 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
10419
10420         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
10421         (gst_pad_configure_src), (gst_pad_push):
10422         Restore acceptcaps checking behaviour now that good plugins have
10423         been released.
10424
10425 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
10426
10427         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
10428
10429         * gst/gst.c:
10430         * gst/gstbus.c:
10431         * gst/gstclock.c:
10432         * gst/gstevent.c:
10433         * gst/gstformat.c:
10434         * gst/gstmessage.c:
10435         * gst/gstparse.c:
10436         * gst/gstquery.c:
10437         * gst/gstutils.c:
10438         * gst/parse/Makefile.am:
10439         * libs/gst/base/gstadapter.c:
10440         * libs/gst/base/gstbasesrc.c:
10441         * libs/gst/base/gstpushsrc.c:
10442         * libs/gst/base/gsttypefindhelper.c:
10443         * plugins/elements/gstfakesrc.c:
10444         * plugins/elements/gstidentity.c:
10445           Make sure gstprivate.h and/or config.h are
10446           always included first, otherwise some of our
10447           defines (like _FILE_OFFSET_BITS) might be
10448           redefined in the system headers. Fixes build
10449           on opensolaris (#340016).
10450
10451 2006-05-04  Wim Taymans  <wim@fluendo.com>
10452
10453         * docs/libs/gstreamer-libs-sections.txt:
10454         API: addition: gst_adapter_take_buffer()
10455         
10456         * libs/gst/base/gstadapter.c: (gst_adapter_push),
10457         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
10458         (gst_adapter_available_fast):
10459         * libs/gst/base/gstadapter.h:
10460         Prepare for optimizing the hell out of this hugely inefficient
10461         piece of code. 
10462         Added gst_adapter_take_buffer() so we can at least start thinking
10463         about subbuffering and merging.
10464         Added some comments.
10465
10466         * tests/check/Makefile.am:
10467         * tests/check/libs/adapter.c: (GST_START_TEST),
10468         (gst_adapter_suite), (main):
10469         Added GstAdapter check.
10470
10471 2006-05-04  Wim Taymans  <wim@fluendo.com>
10472
10473         * docs/design/part-overview.txt:
10474         Fix some typos, add blurb about buffer flags.
10475
10476 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10477
10478         * docs/libs/gstreamer-libs-sections.txt:
10479           make sure GstBaseTransformClass shows up in the docs
10480         * libs/gst/base/gstbasetransform.c:
10481         * libs/gst/base/gstbasetransform.h:
10482           move docs so gtk-doc picks it up now
10483
10484 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
10485
10486         * docs/libs/gstreamer-libs-sections.txt:
10487           add missing symbols to docs
10488
10489 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
10490
10491         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10492           back out the newsegment handling change, see #340060 for ongoing
10493           discussion
10494
10495 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
10496
10497         * tools/gst-run.c: (get_candidates), (main):
10498           Fix wrong g_file_test() usage (see glib docs for why it doesn't
10499           work); fix typo in error message. Fixes #340079.
10500
10501 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10502
10503         * common/Makefile.am:
10504         * docs/Makefile.am:
10505         * docs/faq/Makefile.am:
10506         * docs/gst/Makefile.am:
10507         * docs/libs/Makefile.am:
10508         * docs/manual/Makefile.am:
10509         * docs/plugins/Makefile.am:
10510         * docs/pwg/Makefile.am:
10511         * docs/slides/Makefile.am:
10512         * docs/upload.mak:
10513         * common/upload.mak:
10514           move upload.mak to common
10515
10516 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10517
10518         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10519           add more asserts on refcounts
10520           do more cleanup at end of tests
10521           fix test leaks showing in FC5
10522
10523 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
10524
10525         * plugins/elements/gsttypefindelement.c:
10526         (gst_type_find_element_handle_event):
10527         reverted wrong change and reflowed code to avoid others falling into
10528         this trap
10529
10530 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10531
10532         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10533           fix changelog entry about last collectpads change,
10534           add notes about proper fix
10535
10536 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10537
10538         * gst/gst.c:
10539         * gst/gstregistry.c: (gst_registry_scan_path_level),
10540         (gst_registry_scan_path):
10541         * gst/gstregistry.h:
10542           only write out registry if it has changed, fixes #338339
10543
10544 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10545
10546         * gst/gstbin.c:
10547         * gst/gstpipeline.c:
10548         * plugins/elements/gstcapsfilter.c:
10549         * plugins/elements/gstfakesink.c:
10550         * plugins/elements/gstfakesrc.c:
10551         * plugins/elements/gstfdsink.c:
10552         * plugins/elements/gstfdsrc.c:
10553         * plugins/elements/gstfilesink.c:
10554         * plugins/elements/gstfilesrc.c:
10555         * plugins/elements/gstidentity.c:
10556         * plugins/elements/gstqueue.c:
10557         * plugins/elements/gsttee.c:
10558         * plugins/elements/gsttypefindelement.c:
10559         (gst_type_find_element_handle_event):
10560           make GstElementDetails const
10561
10562 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10563
10564         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
10565         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10566         (gst_collect_pads_is_collected), (gst_collect_pads_event):
10567           more detailed debug and formatting cleanup,
10568           forward newsegments to src-pad (so that e.g. adder not eats them)
10569
10570 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10571
10572         * gst/gstutils.c: (gst_element_link_pads):
10573           cleanup double code
10574
10575 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10576
10577         * libs/gst/controller/gstcontroller.c:
10578         (gst_controller_sync_values):
10579           some little tuning
10580         * tests/check/libs/controller.c: (GST_START_TEST),
10581         (gst_controller_suite):
10582           a new test for live value handling
10583
10584 2006-04-28  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/gstutils.c: (push_and_ref):
10587         Added some more docs.
10588         Fix refcount issue whith gst_element_found_tags() helper 
10589         function. Fixes #338335
10590
10591         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10592         Added testsuite for gst_element_found_tags().
10593
10594 2006-04-28  Michael Smith  <msmith@fluendo.com>
10595
10596         * gst/gstvalue.c: (gst_value_serialize_flags):
10597           Avoid NULL dereference when trying to serialize flags containing
10598           invalid values.
10599
10600 2006-04-28  Michael Smith  <msmith@fluendo.com>
10601
10602         * plugins/elements/gsttypefindelement.c:
10603         (gst_type_find_element_handle_event):
10604           If we get EOS before any data is accumulated, don't use
10605           uninitialised local variables.
10606
10607 2006-04-28  Michael Smith  <msmith@fluendo.com>
10608
10609         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10610         (gst_dp_event_from_packet):
10611           Fixes in reading/writing events over GDP (not currently used?) - 
10612           dereferencing NULL events for unknown/invalid event types, memory
10613           leak, and change g_warning to GST_WARNING.
10614
10615 2006-04-28  Wim Taymans  <wim@fluendo.com>
10616
10617         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
10618         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10619         (gst_base_sink_get_position), (gst_base_sink_change_state):
10620         When frame dropping is enabled, we should not ignore frames
10621         without a duration.
10622         Update some documentation.
10623
10624 2006-04-28  Wim Taymans  <wim@fluendo.com>
10625
10626         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10627         (gst_base_src_send_event), (gst_base_src_change_state):
10628         Documentation updates.
10629
10630 2006-04-28  Wim Taymans  <wim@fluendo.com>
10631
10632         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
10633         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
10634         handle EAGAIN, EINTR and short writes correctly. Also clean
10635         up some error cases, avoid a deadlock on bad file descriptors and
10636         use GST_DEBUG_OBJECT.
10637         Fixes #339843
10638
10639 2006-04-28  Wim Taymans  <wim@fluendo.com>
10640
10641         * gst/gstvalue.c: (gst_value_serialize_buffer),
10642         (gst_value_deserialize_buffer):
10643         Don't try to serialize a GValue with a NULL buffer. 
10644         Fixes #339821.
10645
10646         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10647         Added check for serialisation of NULL buffers.
10648
10649 2006-04-28  Wim Taymans  <wim@fluendo.com>
10650
10651         * gst/gstminiobject.c: (gst_value_take_mini_object):
10652         Taking a NULL miniobject is valid, fix the case where
10653         we try to unref the NULL miniobject.
10654
10655 2006-04-28  Wim Taymans  <wim@fluendo.com>
10656
10657         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10658
10659         * gst/gstbin.c: (gst_bin_handle_message_func):
10660         Update docs.
10661         Don't leak bin refcount when a state recalc is
10662         in progress and we delay another one #339808.
10663
10664 2006-04-28  Wim Taymans  <wim@fluendo.com>
10665
10666         * docs/design/part-TODO.txt:
10667         Mention QoS as an ongoing work item.
10668
10669         * docs/design/part-buffering.txt:
10670         New doc about buffering that needs to be fleshed out
10671         at some point.
10672
10673         * docs/design/part-qos.txt:
10674         More QoS policy for decoders/demuxers/transforms
10675
10676         * docs/design/part-trickmodes.txt:
10677         Small update.
10678
10679 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10680
10681         * configure.ac:
10682           back to HEAD
10683
10684 === release 0.10.5 ===
10685
10686 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
10687
10688         * configure.ac:
10689           releasing 0.10.5, "Fogo"
10690
10691 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         patch by: Wim Taymans
10694
10695         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
10696         (gst_pad_configure_src), (gst_pad_push):
10697         * gst/gstpipeline.c: (gst_pipeline_init):
10698           Fix internal data flow errors.  Fixes #338711.
10699
10700 2006-04-12  Wim Taymans  <wim@fluendo.com>
10701
10702         * tests/check/gst/gstelement.c: (GST_START_TEST):
10703         Don't leak the factory.
10704
10705 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10706
10707         * configure.ac:
10708         * win32/common/config.h:
10709           prerelease
10710
10711 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
10712
10713         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10714         (gst_controller_unset_all):
10715           Free allocated GstTimedValues when freeing list nodes.
10716           Should fix leaks 'make check-valgrind' complains about.
10717
10718         * win32/common/libgstcontroller.def:
10719           Add gst_controller_unset_all.
10720
10721 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
10722
10723         * docs/libs/gstreamer-libs-sections.txt:
10724         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10725         (gst_controller_unset_all):
10726         * libs/gst/controller/gstcontroller.h:
10727         API: Added new method gst_controller_unset_all()
10728         fixed gst_controller_unset()
10729         * tests/check/libs/controller.c: (GST_START_TEST),
10730         (gst_controller_suite):
10731         Added two testcases for new and fixed method
10732
10733 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
10734
10735         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10736           MSG_DONTWAIT is not defined on Cygwin, so work
10737           around that (fixes #317048).
10738           
10739 2006-04-11  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gstelementfactory.c: (gst_element_register),
10742         (gst_element_factory_create), (gst_element_factory_make):
10743         Some cleanups.
10744         Fixed a FIXME.
10745         Updated docs (Fixes #131079)
10746
10747         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10748         Small cleanups.
10749
10750         * tests/check/gst/gstelement.c: (GST_START_TEST),
10751         (gst_element_suite):
10752         Added testcase for elementfactory class field.
10753
10754 2006-04-10  Wim Taymans  <wim@fluendo.com>
10755
10756         * gst/gstsegment.c:
10757         Added some more docs.
10758
10759         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
10760         (gst_base_sink_reset_qos):
10761         Calculate more accurate rate values.
10762
10763 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
10764
10765         * gst/gst_private.h:
10766           add a new #ifdef to use __declspec(dllimport) only for
10767           other modules and not for gstreamer core
10768         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
10769           use gst_guint64_to_gdouble for conversion
10770         * win32/common/libgstreamer.def:
10771           add new exported functions
10772         * win32/vs6/gst_inspect.dsp:
10773         * win32/vs6/gst_launch.dsp:
10774         * win32/vs6/libgstbase.dsp:
10775         * win32/vs6/libgstcontroller.dsp:
10776         * win32/vs6/libgstcoreelements.dsp:
10777         * win32/vs6/libgstdataprotocol.dsp:
10778         * win32/vs6/libgstnet.dsp:
10779           update project files
10780
10781 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10782
10783         * gst/gstbuffer.c: (gst_subbuffer_class_init):
10784         * gst/gstclock.c: (gst_clock_class_init):
10785         * gst/gstelement.c: (gst_element_class_init):
10786         * gst/gstindex.c: (gst_index_class_init):
10787         * gst/gstindexfactory.c: (gst_index_factory_class_init):
10788         * gst/gstobject.c: (gst_object_class_init),
10789         (gst_signal_object_class_init):
10790         * gst/gstpad.c: (gst_pad_class_init):
10791         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
10792         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
10793         * gst/gstregistry.c: (gst_registry_class_init):
10794         * gst/gstsystemclock.c: (gst_system_clock_class_init):
10795         * gst/gsttask.c: (gst_task_class_init):
10796         * gst/gstxml.c: (gst_xml_class_init):
10797         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10798         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10799         (gst_base_src_loop):
10800         * libs/gst/controller/gstcontroller.c:/
10801         (_gst_controller_class_init):
10802         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10803         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
10804         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
10805         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10806         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10807         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
10808
10809 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
10810
10811         * gst/gstpad.c: (gst_pad_link):
10812           Must set peer pads before calling the link function, otherwise
10813           a task started from a link function might get a flow-not-linked
10814           result when trying to push because the other thread where the
10815           linking happens hasn't had a chance to set the peers yet. This
10816           might happen for example when a queue gets linked to a downstream
10817           element, as queue starts a streaming task when its source pad
10818           gets linked. Happens in real life when playing back flac/musepack
10819           files in playbin (#332390).
10820           
10821 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10822
10823         * gst/gstindex.h:
10824         * gst/gstxml.h:
10825         * libs/gst/base/gstadapter.h:
10826         * libs/gst/base/gstbasesink.h:
10827         * libs/gst/base/gstbasesrc.h:
10828         * libs/gst/base/gstbasetransform.h:
10829         * libs/gst/base/gstcollectpads.h:
10830         * libs/gst/base/gstpushsrc.h:
10831         Fix broken GObject macros
10832
10833 2006-04-07  Wim Taymans  <wim@fluendo.com>
10834
10835         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10836         Initialize start and stop times, thanks valgrind.
10837
10838 2006-04-07  Wim Taymans  <wim@fluendo.com>
10839
10840         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10841         Be a bit nicer to badly behaving upstream elements that expect
10842         us to deal with non TIME segments and timestamps (such as fakesrc
10843         in the testsuite).
10844
10845 2006-04-07  Wim Taymans  <wim@fluendo.com>
10846
10847         * gst/gstbus.c:
10848         Small documentation clarification about the signal watch.
10849
10850         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
10851         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10852         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10853         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10854         (gst_base_sink_get_position_last),
10855         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
10856         Convert and store timestamps in stream time and running time, the
10857         raw timestamps are not useful, also document this better.
10858         Use different window sizes for good and bad QoS observations so
10859         we react to badness a little quicker.
10860         Keep track of the amount of rendered and dropped buffers.
10861         Send QoS timestamps in running time.
10862
10863         * libs/gst/base/gstbasetransform.c:
10864         (gst_base_transform_sink_eventfunc),
10865         (gst_base_transform_handle_buffer):
10866         Compare QoS timestamps against running time.
10867
10868 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10869
10870         * gst/gstpad.c:
10871           Typo fixes in docs.
10872
10873 2006-04-06  Michael Smith  <msmith@fluendo.com>
10874
10875         * gst/gstpad.c: (gst_pad_set_property):
10876           Use g_value_get_object() instead of g_value_dup_gst_object(),
10877           to avoid double-reffing the pad template (which we then sink,
10878           so this worked previously if (and only if) the pad template
10879           was floating.
10880
10881         * gst/gstpadtemplate.c: (gst_pad_template_init),
10882         (gst_pad_template_pad_created):
10883           Never return floating references to pad templates, create
10884           them as initially-sunken.
10885
10886           Document an extra function (and make this stop sinking our
10887           pad template, since that is now guaranteed to do nothing,
10888           since we created it sunken).
10889
10890         * gst/gstghostpad.c:
10891           Fix docs typo.
10892
10893 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10894
10895         * gst/gstinfo.c: (__gst_in_valgrind):
10896           Add some newlines.
10897
10898         * plugins/elements/gsttypefindelement.c:
10899         (gst_type_find_element_chain):
10900           Don't leak buffer caps.
10901
10902 2006-04-06  Michael Smith  <msmith@fluendo.com>
10903
10904         * gst/parse/grammar.y:
10905           Fix a leak in parse-launch for any source-or-sink named element 
10906           references used.
10907
10908         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10909           Unref the pipeline if it exists after we've failed parsing.
10910
10911 2006-04-05  Michael Smith  <msmith@fluendo.com>
10912
10913         * gst/gstpipeline.c: (gst_pipeline_init):
10914           When we create a pipeline bus, initially create it in flushing mode.
10915           Fixes leaks in at least one test, and makes a new pipeline work the
10916           same as one that has gone to READY and then back to NULL.
10917
10918         * gst/gstelement.c:
10919           Typo fix in docs.
10920
10921 2006-04-05  Michael Smith  <msmith@fluendo.com>
10922
10923         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10924           Unref a pad we reffed.
10925         * tests/check/gst/gstutils.c: (GST_START_TEST):
10926           Unref bins
10927
10928 2006-04-05  Michael Smith  <msmith@fluendo.com>
10929
10930         * gst/gstquery.c: (gst_query_set_formats),
10931         (gst_query_set_formatsv):
10932           Fix leaking GValues in queries, as shown by valgrind/testsuite.
10933
10934 2006-04-05  Michael Smith  <msmith@fluendo.com>
10935
10936         * tests/check/generic/sinks.c: (GST_START_TEST):
10937           Fix a variety of memleaks in sinks check, which are only sometimes 
10938           shown by running the tests under valgrind (weird?).
10939
10940 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
10941
10942         * docs/version.entities.in:
10943           Fix the substituted entity name after thomas' changes on the
10944           weekend.
10945
10946 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10947
10948         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
10949         VALGRIND_PRINTF
10950         
10951 2006-04-05  Andy Wingo  <wingo@pobox.com>
10952
10953         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
10954
10955         * libs/gst/base/gstbasetransform.c
10956         (gst_base_transform_sink_eventfunc): When resetting our segment on
10957         FLUSH_STOP, also update the flag saying we haven't seen a
10958         newsegment.
10959
10960 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10961
10962         Patch by: Paolo Borelli  <pborelli at katamail dot com>
10963
10964         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10965         (gst_plugin_check_license):
10966           minor clean-ups: G_DEFINE_TYPE already takes care of the
10967           parent_class stuff, no need to do it twice. Mark array of
10968           license strings as constant. (#337103)
10969           
10970 2006-04-04  Michael Smith  <msmith@fluendo.com>
10971
10972         * tools/gst-inspect.c: (print_element_list):
10973           Free the right plugin list; fixes a memory leak.
10974
10975 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10976
10977         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
10978
10979         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10980           Don't error out on empty buffers (#336945).
10981           
10982 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
10983
10984         * docs/libs/gstreamer-libs-sections.txt:
10985         * gst/gsttaglist.c:
10986         * libs/gst/base/gstbasesink.c:
10987         * libs/gst/base/gstbasesink.h:
10988         * libs/gst/base/gstbasesrc.c:
10989         * libs/gst/base/gstbasesrc.h:
10990           Documentation updates. Make BaseSink and BaseSrc docs contain the
10991           class structure so that people can actually see the prototypes for
10992           virtual functions they're supposed to be overriding.
10993
10994 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10995
10996         * plugins/elements/gsttypefindelement.c:
10997         (gst_type_find_element_chain):
10998           More debug info; when skipping typefinding, send cached
10999           events in all cases.
11000
11001 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11002
11003         * configure.ac:
11004           use new AS_VERSION and AS_NANO macros
11005         * gst/gst-i18n-lib.h:
11006         * gst/gst.c:
11007         * gst/gsterror.c:
11008         * gst/gstversion.h.in:
11009         * win32/common/config.h:
11010         * win32/common/config.h.in:
11011           update accordingly
11012
11013 2006-03-31  Michael Smith  <msmith@fluendo.com>
11014
11015         * plugins/elements/gsttypefindelement.c:
11016         (gst_type_find_element_chain):
11017           Do not typefind content if the buffers already have caps.
11018           Neccesary for icydemux (#333657), and the right thing to do anyway.
11019
11020 2006-03-30  Wim Taymans  <wim@fluendo.com>
11021
11022         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11023         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
11024         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
11025         (gst_base_sink_record_qos_observation),
11026         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11027         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
11028         (gst_base_sink_change_state):
11029         More QoS measurements as described in the design doc.
11030         Get rid of ringbuffer with observations, running average is
11031         more simple and equally good.
11032         Calculates valid proportion now.
11033         Added beginning of flood measurement.
11034
11035 2006-03-29  Wim Taymans  <wim@fluendo.com>
11036
11037         * docs/design/part-qos.txt:
11038         * gst/gstclock.c:
11039         Small documentation updates and additions.
11040
11041 2006-03-29  Wim Taymans  <wim@fluendo.com>
11042
11043         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
11044         (gst_base_src_send_event), (gst_base_src_loop),
11045         (gst_base_src_change_state):
11046         Perform the EOS logic when we reach the segment stop position.
11047         Fix compilation on gcc4.1
11048
11049 2006-03-29  Wim Taymans  <wim@fluendo.com>
11050
11051         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
11052
11053         * plugins/elements/gstqueue.c: (gst_queue_init),
11054         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
11055         (gst_queue_set_property):
11056         * plugins/elements/gstqueue.h:
11057         In queue, when EOS is received, if minimum threshold > max_size -
11058         current_level, there is chance that queue blocks forever in conditional
11059         item del wait. This is because the queue is not emptied completely due
11060         to minimum threshold.  Here is another approach. Instead of setting
11061         cur_levels to max in EOS, just zero all minimum threshold levels. This
11062         should make sure that queue gives out all data. When going to READY
11063         (stop) state, just reset the original minimum threshold levels.
11064         Fixes #336336.
11065
11066 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
11067
11068         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
11069         (gst_type_find_element_handle_event),
11070         (gst_type_find_element_send_cached_events),
11071         (gst_type_find_element_change_state):
11072         * plugins/elements/gsttypefindelement.h:
11073           When typefinding is done in push mode, we should cache
11074           events we receive during typefinding instead of just
11075           dropping them (e.g. newsegment, custom events from
11076           dvdreadsrc etc.) and then send them out once we've
11077           determined the type of the stream (and decodebin
11078           has had a chance to plug in a decoder/demuxer).
11079           
11080 2006-03-27  Wim Taymans  <wim@fluendo.com>
11081
11082         * docs/design/part-qos.txt:
11083         First QoS ideas.
11084
11085 2006-03-27  Wim Taymans  <wim@fluendo.com>
11086
11087         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
11088
11089         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
11090         (gst_base_src_send_event), (gst_base_src_change_state):
11091         Handle element seek correctly when we are streaming.
11092         Fixes #326998.
11093
11094 2006-03-24  Michael Smith  <msmith@fluendo.com>
11095
11096         * docs/faq/gst-uninstalled:
11097           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
11098           allow you to correctly run intalled applications built against old 
11099           core, using plugins that require updated core (e.g. running
11100           installed totem against a full uninstalled gstreamer stack)
11101
11102 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11103
11104         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
11105         more debug details
11106
11107 2006-03-24  Wim Taymans  <wim@fluendo.com>
11108
11109         * docs/gst/gstreamer-sections.txt:
11110         Rearrange the order of the methods so that related methods
11111         are grouped together in sections.
11112
11113 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11114
11115         * gst/gstelement.c:
11116           Little clarification in the docs
11117
11118 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
11119
11120         * docs/README:
11121         formatting fix
11122         * plugins/elements/gstidentity.c:
11123         * plugins/elements/gstqueue.c:
11124         * plugins/elements/gsttee.c:
11125         * plugins/elements/gsttypefindelement.c:
11126         GST_ELEMENT_DETAILS formatting
11127
11128 2006-03-24  Wim Taymans  <wim@fluendo.com>
11129
11130         * libs/gst/base/gstbasesink.h:
11131         Only add fields, not insert or we break ABI.
11132
11133 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11134
11135         * win32/common/libgstbase.def:
11136         * win32/common/libgstreamer.def:
11137           Update, add recently added functions.
11138
11139 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11140
11141         * docs/gst/gstreamer-sections.txt:
11142         * gst/gstutils.c: (gst_pad_query_peer_position),
11143         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
11144         * gst/gstutils.h:
11145           API: add some new utility functions:
11146            - gst_pad_query_peer_position()
11147            - gst_pad_query_peer_duration()
11148            - gst_pad_query_peer_convert()
11149           
11150 2006-03-23  Wim Taymans  <wim@fluendo.com>
11151
11152         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11153         (gst_base_sink_init), (gst_base_sink_finalize),
11154         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
11155         (gst_base_sink_set_property), (gst_base_sink_get_property),
11156         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
11157         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
11158         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
11159         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
11160         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
11161         (gst_base_sink_preroll_object), (gst_base_sink_event),
11162         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
11163         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
11164         (gst_base_sink_query), (gst_base_sink_change_state):
11165         Decouple max-lateness and the fact that QoS messages are generated
11166         with a new property (qos).
11167         added API: GstBaseSink::async_play()
11168         Add vmethod so subclasses can be notified of ASYNC playing
11169         state changes.
11170         Collect timestamp start and stop to report better current
11171         position in EOS/PLAYING/PAUSED/READY/NULL.
11172         Refactor QoS/frame dropping and other measurements.
11173         API: GstBaseSrc::qos
11174         Fixes #326311
11175
11176         * libs/gst/base/gstbasesink.h:
11177         Added Private struct.
11178         API: gst_base_sink_set_qos_enabled()
11179         API: gst_base_sink_is_qos_enabled()
11180
11181 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
11182
11183         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11184           If compiling against GLib-2.8 or newer, try to read the
11185           registry file using GMappedFile first before falling back
11186           to fopen() + fread() (#332151).
11187
11188 2006-03-22  Wim Taymans  <wim@fluendo.com>
11189
11190         * gst/gstinfo.c: (gst_debug_set_active),
11191         (gst_debug_category_set_threshold):
11192         Disable debugging unless explicitly activated.
11193         Fixes #335480.
11194
11195 2006-03-22  Wim Taymans  <wim@fluendo.com>
11196
11197         * gst/gstelement.c: (gst_element_set_locked_state),
11198         (gst_element_dispose):
11199         Cleanup the error case.
11200
11201         * gst/gstobject.c: (gst_object_dispose):
11202         print a critical when some object was disposed with
11203         a parent, also revive the object since it might
11204         crash the parent.
11205
11206 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
11207
11208         * tools/gst-launch.1.in:
11209           Fix another typo.
11210
11211 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * configure.ac:
11214         * tests/check/Makefile.am:
11215           disable some tests when we don't have a registry
11216         * tests/check/gst/gstutils.c: (gst_utils_suite):
11217           don't build the part that needs parsing
11218
11219 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * gst/Makefile.am
11222         * tests/examples/Makefile.am:
11223           fix --disable-parse build
11224
11225 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11226
11227         * tools/gst-feedback.1.in:
11228           Fix typo: s/feeback/feedback/ (#133494).
11229
11230 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11231
11232         * tools/Makefile.am:
11233         * tools/gst-launch.1.in:
11234           Add FILES section and correct entry about GST_REGISTRY_PATH
11235           environment variable (#133495; #133494).
11236
11237 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11238
11239         * tools/Makefile.am:
11240         * tools/gst-md5sum.1.in:
11241         * tools/gst-md5sum.c:
11242           Remove gst-md5sum and man page (the md5sink element
11243           required was removed ages ago)
11244
11245 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11246
11247         * gst/gststructure.c: (gst_structure_id_set_value):
11248           Make sure that string fields in structures/taglists
11249           contain valid UTF-8 - we don't want to pass rubbish to
11250           applications because of a buggy plugin (cp. #334167).
11251
11252 2006-03-21  Edward Hervey  <edward@fluendo.com>
11253
11254         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11255         (gst_bin_handle_message_func):
11256         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
11257         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
11258         (gst_element_set_bus_func):
11259         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
11260         * gst/gstminiobject.c: (gst_value_set_mini_object),
11261         (gst_value_take_mini_object):
11262         * gst/gstpad.c: (gst_pad_set_pad_template):
11263         * gst/gstpipeline.c: (gst_pipeline_dispose),
11264         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11265         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
11266         (gst_collect_pads_chain):
11267         * libs/gst/net/gstnettimeprovider.c:
11268         (gst_net_time_provider_set_property):
11269         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
11270         It's in fact all issues with gst_*object_replace().
11271
11272 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11273
11274         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
11275         
11276         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11277         * pkgconfig/gstreamer-check.pc.in:
11278           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
11279
11280 2006-03-21  Edward Hervey  <edward@fluendo.com>
11281
11282         * gst/gstbuffer.h:
11283         * gst/gstevent.h:
11284         * gst/gstmessage.h:
11285         gst_[buffer|event|message]_ref() macros are replaced by a static
11286         inline functions because gcc-4.1 will about if the return value
11287         isn't used.
11288         * tests/check/gst/gstevent.c: (event_probe):
11289         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
11290
11291 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
11292
11293         * gst/gstutils.h:
11294         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
11295         the type' case. (Closes: #335195 for now). In the future, when we
11296         depend on GLib 2.10, we could also intern the type name using
11297         g_intern_static_string()
11298
11299 2006-03-20  Wim Taymans  <wim@fluendo.com>
11300
11301         * gst/gstbin.c: (gst_bin_handle_message_func),
11302         (bin_query_max_init), (bin_query_position_fold),
11303         (bin_query_position_done), (gst_bin_query):
11304         Position query should also take max of all streams.
11305
11306 2006-03-20  Wim Taymans  <wim@fluendo.com>
11307
11308         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11309         (gst_fake_src_finalize):
11310         Fix leaks in fakesrc.
11311
11312         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11313         Fix leaks in the testcase.
11314
11315 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
11316
11317         * gst/gst_private.h:
11318           add win32 specific import decoration(__declspec(dllimport)) 
11319           for all extern GstDebugCategory * variables
11320         * win32/common/libgstbase.def:
11321         * win32/common/libgstcontroller.def:
11322         * win32/common/libgstreamer.def:
11323           Add some exports, remove empty lines
11324         * win32/common/libgstdataprotocol.def:
11325         * win32/common/libgstdataprotocol.dsp:
11326         * win32/common/libgstnet.def:
11327         * win32/common/libgstnet.dsp:
11328           new project files and exportation files added
11329         
11330 2006-03-19  Wim Taymans  <wim@fluendo.com>
11331
11332         * tests/check/libs/basesrc.c: (eos_event_counter):
11333         Use proper return value for probe.
11334
11335 2006-03-17  Wim Taymans  <wim@fluendo.com>
11336
11337         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
11338         (gst_pad_push):
11339         Don't leak buffers, caps and pads on negotiation errors.
11340
11341 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
11342
11343         * docs/faq/cvs.xml:
11344         * docs/faq/dependencies.xml:
11345         * docs/faq/developing.xml:
11346         * docs/faq/faq.xml:
11347         * docs/faq/general.xml:
11348         * docs/faq/getting.xml:
11349         * docs/faq/legal.xml:
11350         * docs/faq/troubleshooting.xml:
11351         * docs/faq/using.xml:
11352         Faq review and update.
11353
11354 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
11355
11356         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
11357         (gst_pad_push):
11358         Don't pound the cpu to pieces by checking get_caps when accept_caps
11359         is called with the same caps as the pad already has.
11360         Use GST_DEBUG_OBJECT when outputting caps change information.
11361
11362 2006-03-15  Wim Taymans  <wim@fluendo.com>
11363
11364         * gst/gstclock.c: (gst_clock_class_init):
11365         Fix docs.
11366
11367 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
11368
11369         * gst/gstbuffer.h:
11370         Documentation fix.
11371
11372         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
11373         (gst_pad_accept_caps), (gst_pad_configure_sink),
11374         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
11375         Make the default acceptcaps behaviour be to check the requested 
11376         caps against the gst_pad_get_caps output. 
11377
11378         Ensure that gst_pad_accept_caps is used to check caps when a pad
11379         doesn't have a setcaps function, so that pads automatically refuse 
11380         caps that they don't allow in their pad template. (Fixes #332986)
11381
11382         When a buffer with attached caps is pushed, ensure that the source 
11383         pad receives those caps even if the element didn't call
11384         gst_pad_set_caps first.
11385
11386 2006-03-15  Wim Taymans  <wim@fluendo.com>
11387
11388         * libs/gst/base/gstadapter.c:
11389         Add some docs.
11390
11391 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
11392
11393         * win32/common/libgstbase.def:
11394         * win32/common/libgstcontroller.def:
11395         * win32/common/libgstreamer.def:
11396           Add a whole bunch of missing functions (#334434).
11397
11398 2006-03-14  Wim Taymans  <wim@fluendo.com>
11399
11400         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11401         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11402         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
11403         Better debug info when we receive a segment event.
11404         Reorganize a bit so we can pass the get_times() results around.
11405         Use the segment format when calculating the running time.
11406         Don't do QoS is sync is disabled or we have no clock or the
11407         element does not want us to sync to the clock.
11408         Don't drop buffers if QoS is disabled for now.
11409
11410 2006-03-14  Wim Taymans  <wim@fluendo.com>
11411
11412         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
11413         Marked the stats property as unimplemented so people don't get
11414         wild ideas.
11415         Add debug message when regression goes wrong.
11416         Added some more docs.
11417
11418 2006-03-14  Wim Taymans  <wim@fluendo.com>
11419
11420         * gst/gstsegment.c: (gst_segment_to_stream_time):
11421         Return correct return type in case of errors.
11422
11423 2006-03-14  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
11426           Don't segfault on invalid formats.
11427
11428 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
11429
11430         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11431           Can't use gst_segment_to_running_time() when the segment
11432           is not in GST_TIME_FORMAT (like with filesink, for example).
11433           Stops flac encoding pipelines from spewing critical warnings
11434           at EOS (#331248).
11435           
11436 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
11437
11438         * gst/gstpipeline.c: (gst_pipeline_class_init):
11439           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
11440
11441         * plugins/elements/gsttypefindelement.c:
11442         (gst_type_find_element_handle_event):
11443           Don't try to typefind empty streams.
11444
11445 2006-03-14  Wim Taymans  <wim@fluendo.com>
11446
11447         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11448         (gst_base_sink_do_qos):
11449         Separate QoS calculation.
11450         Only drop buffers when lateness is bigger than the 
11451         duration of the buffer.
11452
11453 2006-03-13  Wim Taymans  <wim@fluendo.com>
11454
11455         * gst/gstpipeline.c: (gst_pipeline_set_property),
11456         (gst_pipeline_get_property), (do_pipeline_seek),
11457         (gst_pipeline_change_state), (gst_pipeline_set_delay),
11458         (gst_pipeline_get_delay):
11459         Don't deadlock when reading properties.
11460
11461 2006-03-13  Wim Taymans  <wim@fluendo.com>
11462
11463         * libs/gst/base/gstbasetransform.c:
11464         (gst_base_transform_class_init), (gst_base_transform_init),
11465         (gst_base_transform_sink_event),
11466         (gst_base_transform_sink_eventfunc),
11467         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
11468         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11469         (gst_base_transform_set_property),
11470         (gst_base_transform_get_property),
11471         (gst_base_transform_change_state), (gst_base_transform_update_qos),
11472         (gst_base_transform_set_qos_enabled),
11473         (gst_base_transform_is_qos_enabled):
11474         * libs/gst/base/gstbasetransform.h:
11475         Make basetransform virtual method for src events too.
11476         Handle QOS in basetransform.
11477         API: gst_base_transform_update_qos()
11478         API: gst_base_transform_set_qos_enabled()
11479         API: gst_base_transform_is_qos_enabled()
11480
11481 2006-03-13  Wim Taymans  <wim@fluendo.com>
11482
11483         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11484         (gst_base_sink_do_sync):
11485         Small cleanups.
11486         Use QOS debug category.
11487
11488 2006-03-13  Wim Taymans  <wim@fluendo.com>
11489
11490         * plugins/elements/gstqueue.c:
11491         Very small doc update.
11492
11493 2006-03-13  Wim Taymans  <wim@fluendo.com>
11494
11495         * gst/gst_private.h:
11496         * gst/gstinfo.c: (_gst_debug_init):
11497         Added QOS debug category
11498
11499 2006-03-13  Wim Taymans  <wim@fluendo.com>
11500
11501         * docs/gst/gstreamer-sections.txt:
11502         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
11503         * gst/gstbin.h:
11504         * gst/gstbus.c: (gst_bus_class_init):
11505         * gst/gstbus.h:
11506         * gst/gstclock.c:
11507         * gst/gstelement.c: (gst_element_set_locked_state):
11508         * gst/gstsegment.c:
11509         Documentation updates.
11510
11511         * gst/gstpipeline.c: (gst_pipeline_get_type),
11512         (gst_pipeline_class_init), (gst_pipeline_init),
11513         (gst_pipeline_dispose), (gst_pipeline_set_property),
11514         (gst_pipeline_get_property), (do_pipeline_seek),
11515         (gst_pipeline_send_event), (gst_pipeline_change_state),
11516         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
11517         (gst_pipeline_get_delay):
11518         * gst/gstpipeline.h:
11519         Added methods for setting the delay.
11520         API: gst_pipeline_set_delay()
11521         API: gst_pipeline_get_delay()
11522         Add pipeline debug category
11523         Various cleanups.
11524         Updated docs.
11525         Don't reset stream time when seek failed.
11526
11527 2006-03-13  Wim Taymans  <wim@fluendo.com>
11528
11529         * docs/design/draft-klass.txt:
11530         * docs/design/part-clocks.txt:
11531         * docs/design/part-events.txt:
11532         * docs/design/part-gstbin.txt:
11533         * docs/design/part-gstpipeline.txt:
11534         * docs/design/part-messages.txt:
11535         * docs/design/part-negotiation.txt:
11536         * docs/design/part-overview.txt:
11537         * docs/design/part-preroll.txt:
11538         * docs/design/part-seeking.txt:
11539         * docs/design/part-states.txt:
11540         * docs/design/part-streams.txt:
11541         Documentation updates.
11542
11543 2006-03-12  Julien MOUTTE  <julien@moutte.net>
11544
11545         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
11546         us to leak strings...
11547
11548 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * libs/gst/net/gstnettimeprovider.c:
11551           fix docs
11552         * win32/common/config.h:
11553           update
11554
11555 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
11556
11557         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
11558
11559         * configure.ac:
11560           Don't check for libgnomeui (leftover from old examples
11561           that aren't built or disted any longer) (#334303).
11562           
11563 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
11564
11565         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
11566         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
11567           Emit RESOURCE_NO_SPACE_LEFT error here as well when
11568           there's no space left on the device.
11569
11570 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
11571
11572         * gst/gstclock.h:
11573           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
11574           to cast the input to GstClockTime before comparing with
11575           another GstClockTime value.
11576
11577 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11578
11579         * configure.ac:
11580           back to trunk
11581
11582 === release 0.10.4 ===
11583
11584 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
11585
11586         * configure.ac:
11587           releasing 0.10.4, "Light"
11588
11589 2006-03-10  Michael Smith  <msmith@fluendo.com>
11590
11591         * libs/gst/dataprotocol/dataprotocol.c:
11592           Fix docs for dataprocotol to not get the return types completely
11593           wrong for a few functions.
11594
11595 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11596
11597         * docs/gst/gstreamer-sections.txt:
11598         * gst/gstpipeline.c: (gst_pipeline_class_init),
11599         (gst_pipeline_init), (gst_pipeline_set_property),
11600         (gst_pipeline_get_property), (gst_pipeline_change_state),
11601         (gst_pipeline_set_auto_flush_bus),
11602         (gst_pipeline_get_auto_flush_bus):
11603         * gst/gstpipeline.h:
11604           Add new API: gst_pipeline_set_auto_flush_bus() and
11605           gst_pipeline_get_auto_flush_bus() to disable automatic
11606           flushing of the pipeline's GstBus when going from READY
11607           to NULL state (#332045).
11608
11609 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11610
11611         * docs/gst/gstreamer-sections.txt:
11612         * gst/gsturi.c: (gst_uri_has_protocol):
11613         * gst/gsturi.h:
11614            Add new API: gst_uri_has_protocol() (#333779).
11615
11616 2006-03-09  Wim Taymans  <wim@fluendo.com>
11617
11618         * gst/gstclock.c: (gst_clock_entry_new),
11619         (gst_clock_id_compare_func), (gst_clock_id_wait),
11620         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
11621         (gst_clock_init), (gst_clock_get_internal_time),
11622         (gst_clock_set_master), (do_linear_regression),
11623         (gst_clock_add_observation), (gst_clock_set_property):
11624         * gst/gstclock.h:
11625         Review docs.
11626         Small cleanups.
11627         Fix a possible segfault when the window-size is made smaller.
11628         Calculate jitter before performing the clock wait. Ideally
11629         the clock implementation should calculate jitter but we need
11630         API breakage for that.
11631
11632         * gst/gstsystemclock.c: (gst_system_clock_init):
11633         Docs review.
11634         
11635         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11636         Remove leftover else
11637
11638         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
11639         (gst_systemclock_suite):
11640         Added check to test GST_CLOCK_DIFF.
11641
11642 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11643
11644         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
11645         (gst_type_find_helper_get_range):
11646           If we are provided with the size, we should implement
11647           GstTypeFind::get_length, so that typefind functions who
11648           want to can actually peek at the middle of a file.
11649
11650 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
11651
11652         * docs/manual/advanced-dataaccess.xml:
11653           Add some very very basic error checking.
11654
11655         * docs/pwg/appendix-checklist.xml:
11656           Some updates to the list of things to check when writing an element.
11657
11658 2006-03-08  Wim Taymans  <wim@fluendo.com>
11659
11660         * docs/design/part-element-transform.txt:
11661         Added some docs about the design of tranform elements.
11662
11663         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11664         (gst_base_src_loop), (gst_base_src_change_state):
11665         Mark buffers with the DISCONT flag.
11666
11667 2006-03-08  Michael Smith  <msmith@fluendo.com>
11668
11669         * gst/gstregistry.h:
11670         * gst/gstregistryxml.c: (gst_registry_save),
11671         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
11672         (gst_registry_xml_save_pad_template),
11673         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
11674         (gst_registry_xml_write_cache):
11675           Rewrite registry-saving to avoid race conditions and check for
11676           failed writes.
11677
11678 2006-03-08  Wim Taymans  <wim@fluendo.com>
11679
11680         * libs/gst/base/gstbasetransform.c:
11681         (gst_base_transform_transform_caps),
11682         (gst_base_transform_transform_size),
11683         (gst_base_transform_prepare_output_buffer),
11684         (gst_base_transform_get_unit_size),
11685         (gst_base_transform_buffer_alloc),
11686         (gst_base_transform_handle_buffer),
11687         (gst_base_transform_change_state):
11688         Cleanups, separate normal flow from errors, add sensible
11689         DEBUG lines.
11690         Don't try to renegotiate when allocating an output buffer.
11691         Also copy DISCONT buffer flag when copying a buffer.
11692         Reset the transform after we finish streaming, not during.
11693
11694 2006-03-08  Wim Taymans  <wim@fluendo.com>
11695
11696         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11697         Use last buffer timestamp in qos message.
11698
11699 2006-03-07  Wim Taymans  <wim@fluendo.com>
11700
11701         Patch by: Christophe Fergeau
11702
11703         * docs/pwg/advanced-tagging.xml:
11704         * docs/pwg/building-pads.xml:
11705           fixes #333416
11706
11707 2006-03-07  Wim Taymans  <wim@fluendo.com>
11708
11709         * docs/libs/gstreamer-libs-sections.txt:
11710         Added basesink new methods.
11711
11712         * gst/gstevent.c:
11713         * gst/gstevent.h:
11714         Docs updates. Flesh out the QoS docs.
11715
11716         * libs/gst/base/gstadapter.c:
11717         Small doc clarification about ownership and flushing.
11718
11719         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
11720         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
11721         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
11722         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11723         * libs/gst/base/gstbasesink.h:
11724         API additions: 
11725         Added new methods to allow subclass to control max-lateness 
11726         and sync.
11727         Generate very basic QoS events based on last sync observation.
11728         Updated docs, fix typo, added some QoS blurb.
11729
11730         * libs/gst/base/gstbasesrc.c:
11731         Remove obsolete _get_state() calls from docs.
11732
11733 2006-03-07  Wim Taymans  <wim@fluendo.com>
11734
11735         * docs/libs/gstreamer-libs-sections.txt:
11736         * libs/gst/base/gstbasetransform.h:
11737         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
11738         Fix docs for GstBaseSrc.
11739
11740 2006-03-07  Wim Taymans  <wim@fluendo.com>
11741
11742         * docs/gst/gstreamer-sections.txt:
11743         * gst/gstbuffer.h:
11744         * gst/gstvalue.c:
11745         * libs/gst/base/gstbasetransform.h:
11746         Small documentation fixes.
11747
11748 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11749
11750         * gst/gstvalue.c:
11751           Document thread-unsafety of gst_value_register_foo_func()
11752           when used at the same time as gst_value_foo() (#322628).
11753
11754 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11755
11756         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
11757         (gst_push_src_check_get_range):
11758           Push sources don't support pull mode by default.
11759
11760 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11761
11762         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11763         (gst_base_src_init), (gst_base_src_pad_check_get_range),
11764         (gst_base_src_default_check_get_range):
11765         * libs/gst/base/gstbasesrc.h:
11766           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
11767           provide default implementation, and rename
11768           gst_base_src_check_get_range() to
11769           gst_base_src_pad_check_get_range() for clarity.
11770
11771 2006-03-06  Wim Taymans  <wim@fluendo.com>
11772
11773         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11774         Make property overridable.
11775
11776 2006-03-06  Wim Taymans  <wim@fluendo.com>
11777
11778         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11779         (gst_base_sink_init), (gst_base_sink_set_property),
11780         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11781         * libs/gst/base/gstbasesink.h:
11782         API addition: Make max-lateness a property.
11783
11784 2006-03-06  Wim Taymans  <wim@fluendo.com>
11785
11786         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
11787         (gst_base_sink_do_sync), (gst_base_sink_render_object):
11788         Don't ever draw a frame that is >10ms late.
11789
11790 2006-03-06  Michael Smith  <msmith@fluendo.com>
11791
11792         * gst/gstmessage.c: (_gst_message_copy):
11793           When copying a message, set the parent_refcount of the enclosed
11794           structure to point at the copy, not the original message.
11795
11796 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11797
11798         Patch by: Christophe Fergeau
11799
11800         * gst/gstutils.h:
11801           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
11802           usable in c++ code (#333417)
11803
11804 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11805
11806         * gst/gstclock.h:
11807           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
11808
11809 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
11810
11811         * libs/gst/base/gstbasetransform.c:
11812         (gst_base_transform_transform_caps):
11813           Make sure caps are writable before passing them to
11814           gst_caps_append().
11815
11816 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11817
11818         * gst/gsterror.h:
11819           Fix some minor docs errors.
11820
11821 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11822
11823           Patch by: Ross Burton <ross at burtonini dot com>
11824
11825         * gst/gsterror.c: (_gst_resource_errors_init):
11826         * gst/gsterror.h:
11827           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
11828
11829 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11830
11831         * gst/gst.c:
11832         Add a check and output a g_warning when GStreamer is built
11833         against GLib 2.6 but running against 2.8 or higher, and vice 
11834         versa. (Closes: #323542)
11835
11836 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11837
11838         * gst/parse/parse.l:
11839           Commit patch for parse_launch syntax from #331255. Removes 
11840           support for quoted strings and mimetypes when writing filtered 
11841           caps. See the bug report for more details - I'm pretty sure this
11842           obscure feature is not in use by _anyone_ anywhere.
11843
11844           With this simple change, the size of the gstreamer.so here 
11845           drops from 2193KB to 1565KB.
11846
11847 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11848
11849         * plugins/elements/gsttypefindelement.h:
11850         * plugins/elements/gsttypefindelement.c:
11851         (gst_type_find_element_src_event), (start_typefinding),
11852         (stop_typefinding), (gst_type_find_element_handle_event),
11853         (gst_type_find_element_chain),
11854         (gst_type_find_element_chain_do_typefinding):
11855           Use gst_type_find_helper_for_buffer() for chain-based
11856           typefinding.
11857
11858 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11859
11860         * plugins/elements/gsttypefindelement.c:
11861         (gst_type_find_element_class_init),
11862         (gst_type_find_element_set_property),
11863         (gst_type_find_element_get_property):
11864           Deprecate "maximum" property (not only was it only taken into
11865           account for typefinding in push-mode anyway, it also was never
11866           actually possible to set it in the first place because the
11867           property was registered with the numeric property ID for the
11868           "minimum" property). Register "maximum" property correctly,
11869           for the sake of future copy'n'pasters. Remove some cruft
11870           from property get/set functions.
11871
11872 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11873
11874         * plugins/elements/gsttypefindelement.c:
11875         (gst_type_find_element_activate):
11876           Use gst_type_find_helper_get_range() here, so we
11877           can honour the "minimum" property and also emit
11878           the signal with the correct probability of the found caps.
11879
11880 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
11881
11882         * docs/libs/gstreamer-libs-sections.txt:
11883         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
11884         (helper_find_suggest), (gst_type_find_helper_get_range),
11885         (gst_type_find_helper):
11886         * libs/gst/base/gsttypefindhelper.h:
11887           New API: gst_type_find_helper_get_range() (#333042).
11888
11889 2006-03-02  Michael Smith  <msmith@fluendo.com>
11890
11891         * gst/gstregistryxml.c: (load_feature):
11892           Asserting on a failure to read part of the registry is Not Cool.
11893           Just log a warning and return NULL (which is already handled)
11894
11895 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
11896
11897         * win32/common/libgstbase.def:
11898           added export of gst_type_find_helper_for_buffer
11899         * win32/common/libgstbase.def:
11900           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
11901           gst_ghost_pad_get_target
11902
11903 2006-02-28  Wim Taymans  <wim@fluendo.com>
11904
11905         * docs/design/draft-klass.txt:
11906         We use Filter now.
11907         Added Connector to mark elements that are only used to
11908         allow pipeline connections.
11909         Moved Debug to extra feature since most of them are 
11910         functionally something else.
11911
11912 2006-02-28  Wim Taymans  <wim@fluendo.com>
11913
11914         * docs/design/draft-klass.txt:
11915         Some updates and clarifications.
11916
11917 2006-02-28  Wim Taymans  <wim@fluendo.com>
11918
11919         * docs/design/draft-klass.txt:
11920         Proposal for klass field values.
11921
11922         * docs/design/part-streams.txt:
11923         Start of a doc describing stream anatomy.
11924
11925 2006-02-28  Wim Taymans  <wim@fluendo.com>
11926
11927         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
11928         Help the compiler a bit with type registration.
11929         Use existing forward cod path instead of duplicating it when 
11930         handling a message.
11931         
11932         * gst/gstbus.c: (gst_bus_get_type):
11933         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
11934         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
11935         * gst/gstclock.c: (gst_clock_get_type):
11936         * gst/gstelement.c: (gst_element_get_type),
11937         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11938         * gst/gstindexfactory.c: (gst_index_factory_get_type):
11939         * gst/gstminiobject.c: (gst_mini_object_get_type):
11940         * gst/gstpad.c: (gst_pad_get_type):
11941         * gst/gstsegment.c: (gst_segment_get_type):
11942         * gst/gststructure.c: (gst_structure_get_type):
11943         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11944         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
11945         * gst/gstvalue.c:
11946         Help compiler with type registration.
11947
11948         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
11949         Small doc update.
11950
11951 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11952
11953         * plugins/elements/gsttypefindelement.c:
11954         (gst_type_find_element_handle_event):
11955           When we get an EOS event and have not found a type yet
11956           (most likely because we had not yet accumulated
11957           TYPE_FIND_MIN_SIZE of data yet), try to determine the
11958           type given the data we have so far. Fixes typefinding
11959           for very short streams again, most notably quicktime
11960           redirections as used on Apple's trailer site (#331701).
11961
11962 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11963
11964         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
11965         (gst_type_find_helper):
11966           Try typefinding factories with the highest rank first.
11967
11968 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11969
11970         * docs/libs/gstreamer-libs-docs.sgml:
11971         * docs/libs/gstreamer-libs-sections.txt:
11972         * libs/gst/base/gsttypefindhelper.c:
11973           Add section for typefind helper and add documentation
11974           for the old and the new function.
11975
11976 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11977
11978         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
11979         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
11980         (gst_type_find_helper_for_buffer):
11981         * libs/gst/base/gsttypefindhelper.h:
11982           New API: gst_type_find_helper_for_buffer() (#332723).
11983           
11984 2006-02-27  Michael Smith  <msmith@fluendo.com>
11985
11986         Patch by: Loïc Minier
11987
11988         * configure.ac:
11989         * docs/Makefile.am:
11990         * docs/slides/Makefile.am:
11991           prevent CVS directories getting disted.
11992
11993 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11994
11995         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
11996           Use the REFCOUNTING category for caps refcounting.
11997           
11998 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11999
12000         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
12001           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
12002
12003 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
12004
12005         * plugins/elements/gsttypefindelement.c:
12006         (gst_type_find_element_activate):
12007           Use gst_pad_check_pull_range() before _activate_pull()
12008           to avoid unnecessary open/close (see #331690).
12009
12010 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
12011
12012         * gst/gstutils.c:
12013           Docs enhancement: make it crystal clear what the
12014           gst_pad_add_*_probe() callbacks should look like.
12015
12016 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
12017
12018         * libs/gst/base/gstbasesrc.c:
12019           Document how applications can stop recording from
12020           live sources (see #330996).
12021
12022 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12023
12024         * tests/check/Makefile.am:
12025         * tests/check/libs/basesrc.c: (eos_event_counter),
12026         (basesrc_eos_events_pull), (basesrc_eos_events_push),
12027         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
12028         (gst_basesrc_suite), (main):
12029           ... and add some tests for the base source EOS stuff.
12030
12031 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12032
12033         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
12034           Test case originally showed the problem fixed below,
12035           but was then amended. Add checks back at the place
12036           where they used to be.
12037
12038 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12039
12040         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12041         (gst_base_src_init), (gst_base_src_loop),
12042         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12043         (gst_base_src_change_state):
12044         * libs/gst/base/gstbasesrc.h:
12045           Don't unconditionally send EOS when going from PAUSED to
12046           READY state, esp. make sure we don't send two EOS events
12047           in some cases (e.g. one when reaching EOS and one when
12048           going from PAUSED to READY). Also, we don't want to send
12049           EOS events when operating in pull mode. However, we do
12050           want to send an EOS event when shutting down a live
12051           source explicitly, for example (fixes #330996).
12052           
12053 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
12054
12055         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12056           Update src->read_position after a seek when not using mmap.
12057           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
12058
12059 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
12060
12061         * gst/Makefile.am:
12062         * gst/gstparse.h:
12063         * gst/gstutils.c:
12064         * gst/gstutils.h:
12065         Make things work with --disable-parse as they do with 
12066         --disable-load-save - the symbols involved disappear, but the
12067         header is still installed and GST_DISABLE_PARSE is included via
12068         gstconfig.h
12069
12070 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12071
12072         * libs/gst/base/gstbasetransform.c:
12073         (gst_base_transform_change_state): Fix a stupid bug. I was 
12074         sure I compiled that.
12075
12076 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12077
12078         * gst/gstpad.c: (gst_pad_set_blocked_async):
12079         * gst/gstutils.c: (gst_pad_add_data_probe),
12080         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12081         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12082         (gst_pad_remove_buffer_probe): Make those function act on the
12083         ghostpad target when it's a ghostpad. (Closes #331727)
12084
12085 2006-02-20  Julien MOUTTE  <julien@moutte.net>
12086
12087         * libs/gst/base/gstbasetransform.c:
12088         (gst_base_transform_change_state): Make basetransform reusable.
12089         (Closes #331898)
12090
12091 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
12092
12093         * docs/random/release:
12094         Move the current documentation of how to do a release to the top
12095         of the file.
12096
12097         * gst/gstbin.c: (gst_bin_class_init),
12098         (gst_bin_handle_message_func):
12099         Allow multiple state-recalculation threads. (Closes #328873)
12100
12101 2006-02-19  Julien MOUTTE  <julien@moutte.net>
12102
12103         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
12104         * gst/gstpad.c: (gst_pad_set_event_function),
12105         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12106         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
12107         2 strings. You can't use the STR_NULL macro on that.
12108
12109 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
12110
12111         * gst/gstpad.c: (gst_pad_set_event_function),
12112         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12113         (gst_pad_set_getcaps_function)
12114         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
12115           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
12116           So now, we can use --gst-debug-level=5 on Windows
12117         * win32/common/libgstcontroller.def:
12118           Added export of gst_controller_init
12119         * win32/vs6/libgstcontroller.dsp:
12120           Fixed Release post build configuration
12121
12122 2006-02-17  Wim Taymans  <wim@fluendo.com>
12123
12124         * tests/check/gst/gstquery.c: (GST_START_TEST):
12125         Added another check.
12126
12127 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
12128
12129         * plugins/elements/gsttypefindelement.c: (find_peek):
12130           We can do peeks at non-zero offsets, as long as they
12131           fall within the buffer we have.
12132
12133 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
12134
12135         * tests/check/Makefile.am:
12136         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
12137         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
12138         (parse_suite), (main):
12139           Add testsuite for parse launch syntax
12140
12141 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
12142
12143         * plugins/elements/gsttypefindelement.c:
12144         (gst_type_find_element_chain):
12145           When typefinding is unsuccessful in the chain function, don't
12146           error out immediately. Only error out with NO_CAPS_FOUND if
12147           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
12148           otherwise simply wait for more data so we can try typefinding
12149           again with more data later. Also, don't attempt to typefind
12150           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
12151           this should improve typefinding from network sources where the
12152           size of the first buffer can be somewhat random.
12153
12154 2006-02-14  Wim Taymans  <wim@fluendo.com>
12155
12156         * docs/gst/gstreamer-sections.txt:
12157         * gst/gstpadtemplate.c:
12158         * gst/gstpadtemplate.h:
12159         Fix padtemplate docs, fixes #328805.
12160
12161 2006-02-14  Wim Taymans  <wim@fluendo.com>
12162
12163         * tools/gst-launch.c: (main):
12164         NO_PREROLL is not an ERROR so don't send confusing messages
12165         to the user.
12166
12167 2006-02-14  Wim Taymans  <wim@fluendo.com>
12168
12169         Patch by: Torsten Schoenfeld
12170
12171         * gst/gstregistry.c: (gst_registry_get_default),
12172         (_gst_registry_cleanup):
12173         Protect default registry with lock and ref/sink it.
12174         Fixes #324818
12175
12176 2006-02-14  Wim Taymans  <wim@fluendo.com>
12177
12178         * gst/gstbuffer.c:
12179         * gst/gstquery.c: (gst_query_list_add_format),
12180         (gst_query_set_formatsv), (gst_query_parse_formats_length),
12181         (gst_query_parse_formats_nth):
12182         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12183         Docs fixes.
12184
12185 2006-02-14  Wim Taymans  <wim@fluendo.com>
12186
12187         * docs/gst/gstreamer-sections.txt:
12188         Reworked query docs.
12189
12190         * gst/gstquery.c: (gst_query_new_formats),
12191         (gst_query_list_add_format), (gst_query_set_formats),
12192         (gst_query_set_formatsv), (gst_query_parse_formats_length),
12193         (gst_query_parse_formats_nth):
12194         * gst/gstquery.h:
12195         Flesh out formats query, added some new methods.
12196         Fix part of #324398.
12197
12198         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
12199         Added query creation tests.
12200
12201 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
12202
12203         * gst/gstpad.c: (fixate_value):
12204         Add a default fixation for fraction lists.
12205
12206 2006-02-13  Wim Taymans  <wim@fluendo.com>
12207
12208         * gst/gsttask.c: (gst_task_init), (gst_task_func),
12209         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
12210         (gst_task_join):
12211         * gst/gsttask.h:
12212         Detect and warn for obvious deadlocks. fixes #320340
12213         Fix error case where lock was not released.
12214
12215         * tests/check/Makefile.am:
12216         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
12217         (task_func), (gst_element_suite), (main):
12218         Add task check.
12219
12220 2006-02-13  Wim Taymans  <wim@fluendo.com>
12221
12222         * docs/gst/gstreamer-sections.txt:
12223         * gst/gstbus.c:
12224         Add new functions to docs.
12225
12226 2006-02-13  Wim Taymans  <wim@fluendo.com>
12227
12228         * docs/design/part-TODO.txt:
12229         Updated TODO list, basesrc supports seeking to non-bytes
12230         formats.
12231
12232         * docs/design/part-element-sink.txt:
12233         Update docs.
12234
12235         * gst/gstbin.c: (bin_replace_message),
12236         (gst_bin_handle_message_func):
12237         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
12238         * gst/gstevent.c: (gst_event_finalize):
12239         * gst/gstpad.c: (gst_pad_event_default_dispatch),
12240         (gst_pad_send_event):
12241         Use shiny new _TYPE_NAME macros.
12242
12243         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
12244         Move debug statement up.
12245
12246         * gst/gstelement.c: (gst_element_set_locked_state):
12247         Add some debugging.
12248
12249 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
12250
12251         * docs/gst/gstreamer-sections.txt:
12252         * gst/gstmessage.h:
12253         * gst/gstquery.h:
12254           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
12255           macros (#330906). Also, document the already existing
12256           GST_QUERY_TYPE macro.
12257
12258 2006-02-13  Wim Taymans  <wim@fluendo.com>
12259
12260         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
12261         (event_probe), (GST_START_TEST):
12262         Only events up to the pipeline EOS are counted, there are
12263         some more when going to NULL currently which we don't care
12264         about for now.
12265
12266 2006-02-13  Wim Taymans  <wim@fluendo.com>
12267
12268         * gst/gstpad.c: (gst_pad_send_event):
12269         Correctly check flushing and emit probes. fixes #330125
12270
12271 2006-02-10  Andy Wingo  <wingo@pobox.com>
12272
12273         * gst/gstbus.c (gst_bus_class_init): Declare our private data
12274         structure.
12275         (gst_bus_init): Cache the location of the private data in the
12276         instance structure.
12277         (gst_bus_enable_sync_message_emission) 
12278         (gst_bus_disable_sync_message_emission): Implement new public
12279         functions.
12280         (gst_bus_post): Emit the sync-message signal if the user asked for
12281         it. Fixes #330684.
12282
12283         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
12284         location of the bus-private structure.
12285         (gst_bus_enable_sync_message_emission)
12286         (gst_bus_disable_sync_message_emission): API addition
12287
12288 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
12289
12290         Patch by: Vincent Torri
12291
12292         * docs/pwg/building-boiler.xml:
12293         PWG patch from #326800
12294
12295 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
12296
12297         * configure.ac:
12298         * docs/Makefile.am:
12299         * docs/design/Makefile.am:
12300           Dist design docs.
12301
12302 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
12303
12304         * configure.ac:
12305           back to CVS
12306
12307 === release 0.10.3 ===
12308
12309 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
12310
12311         * configure.ac:
12312           releasing 0.10.3, "Like a virgin"
12313
12314 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
12315
12316         * configure.ac:
12317           2nd prerelease of 0.10.3
12318           Bump libtool versioning.
12319
12320 2006-02-07  Andy Wingo  <wingo@pobox.com>
12321
12322         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
12323         update last_stop if we're in TIME format and the timestamp is
12324         valid.
12325
12326         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
12327         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
12328         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
12329         If we get a new newsegment with a different format, adapt
12330         accordingly.
12331
12332         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
12333         of 0. Not a problem, really.
12334
12335         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
12336         warn if sync=true.
12337
12338 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
12339
12340         * configure.ac:
12341           Prelease of 0.10.3
12342
12343 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
12344
12345         * win32/vs7:
12346           project files updated to the default vs7 configuration
12347         * win32/common/libgstbase.def:
12348         * win32/common/libgstreamer.def:
12349           added new symbols,
12350           removed empty lines,
12351           sorted all exported symbols alphabetically
12352         * win32/common/dirent.c:
12353         * win32/common/dirent.h:
12354         * win32/common/gchar.h:
12355           use windows line end.
12356           
12357 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
12358
12359         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12360           Send EOS event when stopping.
12361
12362 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
12363
12364         * docs/README:
12365           Tell folks what to do if the plugin-foobar.xml file
12366           hasn't been generated for a newly-added plugin.
12367
12368 2006-02-05  Julien MOUTTE  <julien@moutte.net>
12369
12370         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
12371         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
12372         (gst_collect_pads_start), (gst_collect_pads_stop),
12373         (gst_collect_pads_event): Collectpads now holds a reference
12374         to the GstPad that was added. Indeed we don't want to look
12375         at pads that might just go away with no warning...
12376
12377 2006-02-05  Julien MOUTTE  <julien@moutte.net>
12378
12379         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
12380         (gst_collect_pads_start), (gst_collect_pads_stop),
12381         (gst_collect_pads_event), (gst_collect_pads_chain):
12382         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
12383         Mark Nauwelaerts's patch on bug #328491.
12384
12385 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
12386
12387         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
12388         (gst_utils_suite):
12389           Add some simple tests for gst_parse_bin_from_description() and
12390           gst_bin_find_unconnected_pad() (#329069).
12391
12392 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
12393
12394         * tools/gst-launch.c: (event_loop), (main):
12395           Catch errors during preroll (#320084).
12396
12397 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
12398
12399         * plugins/elements/gsttypefindelement.c:
12400         (gst_type_find_element_activate):
12401           Post TYPE_NOT_FOUND error message when typefinding
12402           is unsuccessful in the activate function as well.
12403
12404 2006-02-02  Wim Taymans  <wim@fluendo.com>
12405
12406         * docs/design/part-element-sink.txt:
12407         Updated doc.
12408
12409 2006-02-02  Wim Taymans  <wim@fluendo.com>
12410
12411         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12412         (gst_base_sink_render_object),
12413         (gst_base_sink_queue_object_unlocked):
12414         Only keep track of prerollable items when we are 
12415         prerolling.
12416         Before rendering after preroll, always check if we
12417         have queued items.
12418         Added some more debugging.
12419
12420 2006-02-02  Wim Taymans  <wim@fluendo.com>
12421
12422         * gst/gstelement.c: (gst_element_continue_state),
12423         (gst_element_set_state_func), (gst_element_change_state):
12424         Fixed #326576, been running this for quite some time with
12425         no regressions at all.
12426
12427 2006-02-02  Wim Taymans  <wim@fluendo.com>
12428
12429         * common/gst.supp:
12430         Added more suppressions
12431
12432 2006-02-02  Wim Taymans  <wim@fluendo.com>
12433
12434         * docs/design/part-element-sink.txt:
12435         Updated document.
12436
12437         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12438         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
12439         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
12440         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12441         (gst_base_sink_do_sync), (gst_base_sink_render_object),
12442         (gst_base_sink_preroll_object),
12443         (gst_base_sink_queue_object_unlocked),
12444         (gst_base_sink_queue_object), (gst_base_sink_event),
12445         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
12446         (gst_base_sink_loop), (gst_base_sink_activate_pull),
12447         (gst_base_sink_get_position), (gst_base_sink_change_state):
12448         * libs/gst/base/gstbasesink.h:
12449         Totally refactored matching the design doc.
12450         Use two segments, one to clip incomming buffers and another to
12451         perform sync.
12452         Handle queueing correctly, bypass the queue when playing.
12453         Make EOS cancelable.
12454         Handle errors correctly when operating in pull based mode.
12455
12456         * tests/check/elements/fakesink.c: (GST_START_TEST),
12457         (fakesink_suite):
12458         Added new check for sinks.
12459
12460 2006-02-02  Wim Taymans  <wim@fluendo.com>
12461
12462         * gst/gstsegment.c: (gst_segment_clip):
12463         No reason to refuse to clip when start == -1
12464
12465 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
12466
12467         * docs/README:
12468         * docs/manual/intro-basics.xml:
12469         * docs/manual/intro-preface.xml:
12470         * docs/manual/manual.xml:
12471         * docs/pwg/advanced-dparams.xml:
12472         * docs/pwg/intro-basics.xml:
12473         * docs/pwg/intro-preface.xml:
12474         * docs/pwg/pwg.xml:
12475           describe dparams (controller) for plugins
12476           unify docs a little more
12477
12478 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
12479
12480         * docs/gst/gstreamer-sections.txt:
12481         * gst/gstutils.c: (element_find_unconnected_pad),
12482         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
12483         * gst/gstutils.h:
12484           Add new API: gst_parse_bin_from_description() and
12485           gst_bin_find_unconnected_pad() (#329069).
12486
12487 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
12488
12489         * docs/manual/README:
12490           uncover a nasty detail of the docs build
12491
12492 2006-01-31  Wim Taymans  <wim@fluendo.com>
12493
12494         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
12495         Don't cache duration messages if we're not going to use or
12496         free them.
12497
12498 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
12499
12500         * docs/manual/advanced-dparams.xml:
12501         * docs/pwg/advanced-dparams.xml:
12502           more dparam docs
12503         * gst/gstindex.c:
12504           fix docs
12505         * libs/gst/controller/lib.c: (gst_controller_init):
12506           init just once
12507
12508 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12509
12510         * gst/gstelement.c: (gst_element_message_full):
12511           also show file/line/func if no additional debug was given
12512
12513 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
12514         
12515         * win32/vs7/grammar.vcproj:
12516           activate copy of autogenerated files for Release mode
12517
12518 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
12519         
12520         * win32/common/libgstreamer.def:
12521           export gst_value_compare
12522
12523 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
12524
12525         * plugins/elements/Makefile.am:
12526         * plugins/elements/gstelements.c:
12527         * plugins/elements/gstfdsink.c: (_do_init),
12528         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
12529         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
12530         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
12531         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
12532         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
12533         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
12534         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
12535         * plugins/elements/gstfdsink.h:
12536         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
12537
12538 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
12539
12540         * docs/manual/advanced-dparams.xml:
12541           describe controller
12542         * docs/manual/advanced-position.xml:
12543         * docs/manual/basics-init.xml:
12544         * docs/manual/manual.xml:
12545         * docs/manual/titlepage.xml:
12546         * docs/pwg/pwg.xml:
12547         * docs/pwg/titlepage.xml:
12548           cleanup xml (more to come)
12549         * libs/gst/controller/gstcontroller.c:
12550           fix typo
12551
12552 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
12553         
12554         * win32/vs6/grammar.dsp:
12555           add autogen of gstmarshal.c,h for Release mode
12556                 
12557 2006-01-30  Wim Taymans  <wim@fluendo.com>
12558
12559         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12560         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
12561         (gst_base_sink_handle_object), (gst_base_sink_event),
12562         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
12563         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12564         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
12565         (gst_base_sink_deactivate), (gst_base_sink_activate),
12566         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12567         (gst_base_sink_query), (gst_base_sink_change_state):
12568         Basesink cleanups, remove some old code.
12569         Handle the case where a subclass can preroll in the render
12570         method (mostly audiosinks).
12571         Handle more events.
12572         Remove some locks around variables that are now protected
12573         with the PREROLL_LOCK (clock_id, flushing, ..).
12574         Optimize position query some more, do correct locking.
12575         Remove old code to push queue in state change, this is not
12576         needed anymore since preroll blocks on all prerollable items 
12577         now.
12578         Almost implemented as described in design doc.
12579
12580 2006-01-30  Wim Taymans  <wim@fluendo.com>
12581
12582         * tests/check/gst/gstbin.c: (GST_START_TEST):
12583         Wait for refcount to settle down before checking.
12584
12585 2006-01-30  Wim Taymans  <wim@fluendo.com>
12586
12587         * docs/design/part-element-sink.txt:
12588         Pseudo code overview of desired sink behaviour regarding
12589         preroll.
12590
12591 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12592         * win32/vs6/grammar.dsp:
12593           fix some bugs in Release mode for autogenerated files
12594                 
12595 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12596         * win32/common/libgstbase.def:
12597         * win32/common/libgstreamer.def:
12598           export some new symbols: gst_base_src_set_format,
12599           gst_iterator_next, gst_structure_set_valist
12600
12601 2006-01-29  Julien MOUTTE  <julien@moutte.net>
12602
12603         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12604         Set pad functions unconditionally. Fixes #329105.
12605
12606 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12607         * win32/vs8:
12608           add vs8 project files created by Sergey Scobich
12609
12610 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
12611
12612         * gst/gstutils.c: (gst_element_unlink_pads):
12613         Don't leak pad references.
12614
12615         * tests/check/elements/fakesink.c: (GST_START_TEST):
12616         * tests/check/generic/sinks.c: (GST_START_TEST):
12617         * tests/check/generic/states.c: (GST_START_TEST):
12618         * tests/check/gst/gstbin.c: (GST_START_TEST):
12619         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12620         * tests/check/gst/gstelement.c: (GST_START_TEST):
12621         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12622         * tests/check/gst/gstiterator.c: (GST_START_TEST):
12623         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12624         Fix a bunch of leaks. Make generic/sinks.c
12625         use a bit less cpu by slowing the buffer rate
12626         between fakesrc and fakesink.
12627         
12628 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
12629         * gst/gstcaps.c:
12630         * gst/gstelement.c: (gst_element_send_event):
12631         * gst/gstevent.c:
12632         * gst/gstinfo.c:
12633         * gst/gstiterator.c:
12634         * gst/gstiterator.h:
12635         * gst/gstpad.c: (gst_pad_send_event):
12636         * gst/gststructure.c:
12637         * gst/gsturi.c:
12638         * gst/gstutils.c:
12639         * gst/gstvalue.c:
12640         * libs/gst/base/gstadapter.c:
12641           doc fixes, to link to function, just write gst_cool_function(), don't
12642           prefix with '#'
12643
12644 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12645
12646         * plugins/elements/gsttee.c: (gst_tee_do_push),
12647         (gst_tee_handle_buffer):
12648         Always prefer an actual return value from a src
12649         pad in place of NOT_LINKED. This means we return
12650         WRONG_STATE when all src pads are WRONG_STATE
12651         instead of NOT_LINKED.
12652
12653         Lock when replacing the last message to prevent
12654         racing with the get_property method.
12655
12656         Add debug output
12657
12658 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12659
12660         * tests/check/Makefile.am:
12661         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
12662         (main):
12663         Add a very simple check that should have caught the memleak I fixed
12664         last night (if not for the slice allocator hiding it)
12665
12666 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12667
12668         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12669         (gst_bin_remove_func), (gst_bin_handle_message_func),
12670         (bin_query_duration_fold), (bin_query_generic_fold):
12671         Clean up references to the clock provider when disposed or when
12672         handling a clock-lost message from it.
12673
12674         Unref sinks when performing a query via gst_iterator_fold, as the
12675         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
12676
12677         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
12678         (gst_clock_set_master):
12679         Drop our reference to the master clock, if any, when we are disposed.
12680
12681         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
12682         Chain up in dispose. 
12683
12684 2006-01-26  Wim Taymans  <wim@fluendo.com>
12685
12686         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
12687         Add some debugging.
12688
12689 2006-01-26  Julien MOUTTE  <julien@moutte.net>
12690
12691         * plugins/elements/gsttee.c: (gst_tee_do_push),
12692         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
12693         handles pad being NOT_LINKED or in WRONG_STATE.
12694
12695 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12696
12697         * win32/MANIFEST:
12698           more updating
12699
12700 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12701
12702         * win32/MANIFEST:
12703           remove obsolete entry
12704
12705 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12706
12707         * docs/gst/gstreamer-sections.txt:
12708         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
12709         (gst_bin_iterate_sources), (gst_bin_send_event):
12710         * gst/gstbin.h:
12711         * gst/gstelement.c: (gst_element_send_event):
12712         * gst/gstevent.c:
12713         * gst/gstpad.c: (gst_pad_send_event):
12714           added code for downstream events, reviewed docs in gstevent.c
12715
12716 2006-01-25  Julien MOUTTE  <julien@moutte.net>
12717
12718         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12719         We only query position using the clock in the playing state.
12720         Query peer in the other cases.
12721         * win32/common/config.h: Updates.
12722
12723 2006-01-24  Wim Taymans  <wim@fluendo.com>
12724
12725         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12726         A clock entry that is scheduled for the exact time of the
12727         clock is still in time.
12728
12729         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12730         (gst_base_sink_do_sync):
12731         Add some more debug info.
12732
12733 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12734
12735         * win32/vs7:
12736           Add new vs7 project files and solution.
12737
12738 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12739
12740         * win32/vs7:
12741           all files removed as they were out-dated.
12742
12743 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12744
12745         * docs/random/release:
12746           update notes
12747         * gst/gstbin.c: (gst_bin_init):
12748         * gst/gstbus.c: (gst_bus_new):
12749         * gst/gstbus.h:
12750         * gst/gstpipeline.c: (gst_pipeline_init):
12751           use gst_bus_new(), improve logging, fix docs
12752         * win32/common/config.h:
12753           update for cvs build
12754
12755 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12756
12757         * autogen.sh:
12758           up required version of automake to 1.7
12759
12760 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
12761
12762         * win32/common/libgstreamer.def:
12763           export gst_buffer_is_metadata_writable
12764
12765 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
12766
12767         * docs/gst/gstreamer-sections.txt:
12768         * gst/gstevent.h:
12769           Add gst_event_replace() (#327001)
12770
12771 2006-01-20  Wim Taymans  <wim@fluendo.com>
12772
12773         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12774         Make it actually compile too..
12775
12776 2006-01-20  Wim Taymans  <wim@fluendo.com>
12777
12778         * gst/gstcaps.c:
12779         Clarify behaviour of _is_equal() when passing NULL parameters.
12780
12781         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12782         (gst_pad_set_caps):
12783         Cleanups. Don't unref NULL caps.
12784         When setting the same caps, protect caps of the pad with
12785         proper lock.
12786         Use full functionality of _is_equal() when comparing caps.
12787
12788 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12789
12790         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12791         Don't loop infinitely if there are no buffers to present. Partially
12792         fixes #327197, but collectpads is just broken for reusing elements
12793         to do multiple encodes atm.
12794
12795 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12796
12797         * tools/gst-inspect.c: (print_element_features):
12798         * tools/gst-xmlinspect.c: (main):
12799         URL_HANDLER is not a plugin feature we can search for in
12800         the registry.
12801
12802 2006-01-19  Edward Hervey  <edward@fluendo.com>
12803
12804         * gst/gstelement.c: (gst_element_pads_activate): 
12805         When activating, do src pads first, then sink pads.
12806         When de-activating, do sink pads first, then src pads.
12807
12808 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12809
12810         * docs/gst/gstreamer-sections.txt:
12811         Add gst_index_add_associationv to the docs
12812
12813 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12814
12815         * gst/gstevent.c:
12816           Fix docs typo
12817
12818         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
12819         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
12820           Do some refactoring. Doesn't actually change functionality,
12821           but makes landing the DRAIN event easier later.
12822
12823 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
12824
12825         * docs/pwg/advanced-scheduling.xml:
12826           Update from 0.9.x to 0.10 API and make example a bit
12827           clearer.
12828
12829 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12830
12831         * docs/gst/gstreamer-sections.txt:
12832         Add gst_buffer_(is|make)_metadata_writable methods.
12833
12834 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12835
12836         * docs/design/part-sparsestreams.txt:
12837         Update sparse streams doc, hopefully for greater clarity
12838
12839 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
12840
12841         * docs/design/part-events.txt:
12842         Remove mention of FILLER events.
12843         Add DRAIN event.
12844
12845         * docs/design/part-sparsestreams.txt:
12846         Write some things about using NEWSEGMENT to keep sparse streams
12847         flowing.
12848
12849 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12850
12851         * gst/gstbin.c: (gst_bin_dispose):
12852           Guard gst_object_unref call against a NULL object (dispose
12853           can theoretically be called multiple times).
12854           
12855 2006-01-18  Wim Taymans  <wim@fluendo.com>
12856
12857         * gst/gstbin.c: (gst_bin_element_set_state):
12858         * gst/gstclock.c: (gst_clock_id_wait):
12859         Added some more debug info.
12860
12861         * libs/gst/base/gstadapter.c:
12862         Added more docs.
12863
12864         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12865         (gst_base_sink_do_sync), (gst_base_sink_chain):
12866         Added some comments.
12867
12868 2006-01-18  Wim Taymans  <wim@fluendo.com>
12869
12870         * tests/check/Makefile.am:
12871         * tests/check/elements/fakesink.c: (chain_async_buffer),
12872         (chain_async), (chain_async_return), (GST_START_TEST),
12873         (fakesink_suite), (main):
12874         Added fakesink test that checks prerolling and clipping
12875         behaviour.
12876
12877         * tests/check/gst/gstutils.c: (GST_START_TEST):
12878         Make check run faster so that buildbots don't timeout.
12879
12880 2006-01-18  Wim Taymans  <wim@fluendo.com>
12881
12882         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12883         (gst_base_sink_do_sync):
12884         Some cleanups.
12885         When the sink finishes blocking on the preroll buffer, it can
12886         immediatly render it instead of rendering when the next buffer
12887         arrives.
12888
12889 2006-01-18  Wim Taymans  <wim@fluendo.com>
12890
12891         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
12892         (gst_base_sink_get_property), (gst_base_sink_do_sync),
12893         (gst_base_sink_chain):
12894         Small cleanups.
12895         GST_ELEMENT_CLOCK and sync are protected with LOCK.
12896         Don't store _last_stop if the buffer is dropped.
12897
12898 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12899
12900         * plugins/elements/gsttypefindelement.c:
12901         (gst_type_find_element_class_init):
12902           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
12903           object method handler that sets the caps on the pad and we want
12904           that to happen before we emit the signal (fixes e.g. feeding a
12905           plain text file to decodebin).
12906
12907 2006-01-18  Christian Schaller  <Christian@fluendo.com>
12908
12909         * gst/gstplugin.c: Add MPL and Proprietary as license options
12910
12911 2006-01-18  Andy Wingo  <wingo@pobox.com>
12912
12913         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
12914         symbol was exported before, it appears this was just an oversight.
12915         Fixes #168703.
12916         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
12917
12918         * gst/gstindex.c (gst_index_add_associationv): Changed int in
12919         prototype to gint. OK since this prototype was not in the header.
12920
12921 2006-01-17  Andy Wingo  <wingo@pobox.com>
12922
12923         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
12924         registry while we remove plugins.
12925
12926         * tools/gst-inspect.c (print_element_info): Don't unref the
12927         factory arg, that should be the responsibility of whatever code
12928         received the ref. Fixes a double-free when called from
12929         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
12930         (main): Unref the factory if we have one.
12931         (print_element_list): No change -- relies on the
12932         plugin_feature_list_free to free the list of features.
12933
12934 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
12935
12936         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12937         (gst_buffer_make_metadata_writable):
12938         * gst/gstbuffer.h:
12939         * libs/gst/base/gstbasetransform.c:
12940         (gst_base_transform_prepare_output_buf):
12941         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12942         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12943           Replace gst_buffer_(make|is)_metadata_writable patch now
12944           that the release is out.
12945
12946 2006-01-17  Andy Wingo  <wingo@pobox.com>
12947
12948         * gst/gstregistry.c: Reflow design comment. Update so as to speak
12949         in the present tense without reference to versions.
12950
12951         * gst/gstregistry.c (gst_registry_add_plugin)
12952         (gst_registry_remove_plugin, gst_registry_remove_feature)
12953         (gst_registry_find_feature, gst_registry_get_feature_list)
12954         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
12955         (gst_registry_lookup, gst_registry_scan_path)
12956         (_gst_registry_remove_cache_plugins)
12957         (gst_registry_get_feature_list_by_plugin): Add argument
12958         validation.
12959
12960 === release 0.10.2 ===
12961
12962 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
12963
12964         * configure.ac:
12965           releasing 0.10.2, "If man is five"
12966
12967 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12968
12969         * gst/gstbuffer.c:
12970         * gst/gstbuffer.h:
12971         * libs/gst/base/gstbasetransform.c:
12972         (gst_base_transform_prepare_output_buf):
12973         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12974         * tests/check/gst/gstbuffer.c: (gst_test_suite):
12975           Back out patch until after the release.
12976
12977 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12978
12979         * gst/gstminiobject.c:
12980           Spelling fix in docs.
12981         * ChangeLog - remove conflict indicator
12982
12983 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12984
12985         Reviewed By: Andy Wingo
12986
12987         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12988         (gst_buffer_make_metadata_writable):
12989         * gst/gstbuffer.h:
12990           Add gst_buffer_(is|make)_metadata_writable as analogues of
12991           gst_buffer_(is|make)_writable.
12992
12993         * libs/gst/base/gstbasetransform.c:
12994         (gst_base_transform_prepare_output_buf):
12995         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12996           Use name gst_buffer_(is|make)_metadata_writable functions.
12997
12998         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12999           Test gst_buffer_(is|make)_metadata_writable
13000         
13001           (Closes: #324162)
13002
13003 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13004
13005         * docs/manual/Makefile.am:
13006           don't do parallel make
13007         * configure.ac:
13008           AC_SUBST HOST_CPU
13009         * win32/common/config.h.in:
13010           add generations for HOST_CPU and GST_MAJORMINOR
13011         * win32/common/config.h:
13012           commit generated result
13013
13014 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
13015
13016         * docs/manual/appendix-integration.xml:
13017           Update GNOME integration section to use gst_init_get_option_group()
13018           instead of the old popt stuff (#322911). Also, GNOME applications
13019           should  now use gconf*sink and gconf*src instead of the old gconf
13020           helper lib we had.
13021
13022 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
13023
13024
13025         * docs/gst/gstreamer-docs.sgml:
13026         * docs/gst/gstreamer-sections.txt:
13027         * docs/libs/gstreamer-libs-sections.txt:
13028           add new API entries to the docs
13029         * libs/gst/controller/Makefile.am:
13030         * libs/gst/controller/gstcontroller.c:
13031         * libs/gst/controller/gstcontroller.h:
13032         * libs/gst/controller/gstcontrollerprivate.h:
13033         * libs/gst/controller/gsthelper.c:
13034         * libs/gst/controller/gstinterpolation.c:
13035           move private structs to private header
13036         * po/README:
13037           gstreamer-0.7 -> gstreamer-0.10
13038         * tests/check/libs/struct_i386.h:
13039           remove private structs
13040
13041 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13042
13043         * plugins/indexers/Makefile.am:
13044           Fixes as part of #317048
13045
13046 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13047
13048         * plugins/indexers/Makefile.am:
13049           fix #316086 - compilation when mmap is missing
13050
13051 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
13052
13053         * libs/gst/base/gstbasesink.c:
13054           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
13055           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
13056         * win32/common/config.h:
13057           added some defines GST_MAJORMINOR and HOST_CPU
13058         * win32/common/libgstbase.def:
13059         * win32/common/libgstreamer.def:
13060           added some exported functions.
13061
13062 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
13063
13064         * libs/gst/controller/gstcontroller.c:
13065         (gst_controlled_property_set_interpolation_mode),
13066         (gst_controlled_property_new):
13067         * libs/gst/controller/gstcontroller.h:
13068         * libs/gst/controller/gstinterpolation.c:
13069         (interpolate_none_get_string_value_array):
13070           make G_TYPE_STRING controlable
13071
13072 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
13073
13074         * tools/README:
13075         * tools/gst-feedback.1.in:
13076         * tools/gst-inspect.1.in:
13077         * tools/gst-launch.1.in:
13078         * tools/gst-md5sum.1.in:
13079         * tools/gst-typefind.1.in:
13080         * tools/gst-xmlinspect.1.in:
13081         * tools/gst-xmllaunch.1.in:
13082           cleanup man-pages, remove reference to gst-register, document env-vars
13083
13084 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
13085
13086         * gst/gstbuffer.c: (gst_buffer_span):
13087           gst_buffer_span should copy the timestamp of the first buffer
13088           if they were both originally overlapping subbuffers of the 
13089           same parent, using the same logic as the 'slow copy' case.
13090
13091 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
13092
13093         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
13094           Need to awaken ALL the pads when we pop a buffer, otherwise
13095           collectpads only works when there is 2 input streams.
13096
13097 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
13098
13099         * docs/random/ensonic/media-device-daemon.txt:
13100           more ideas (dbus)
13101         * gst/gstbuffer.c:
13102           fix doc example, add clarification
13103         * tools/gst-launch.1.in:
13104           add initial info about GST_PLUGIN_PATH, needs more work
13105
13106 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
13107
13108         * docs/manual/basics-bins.xml:
13109         * docs/manual/basics-elements.xml:
13110         * docs/manual/intro-basics.xml:
13111           Some more minor docs additions and updates.
13112
13113 2006-01-11  Wim Taymans  <wim@fluendo.com>
13114
13115         * docs/manual/basics-bins.xml:
13116         * docs/manual/basics-elements.xml:
13117         Some small fixes as pointed out by Ser-ver on IRC.
13118
13119 2006-01-10  Edward Hervey  <edward@fluendo.com>
13120
13121         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
13122         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
13123         the single-segment mode.
13124
13125 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
13126
13127         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13128
13129         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
13130         (gst_base_src_perform_seek), (gst_base_src_send_event),
13131         (gst_base_src_set_property), (gst_base_src_get_property),
13132         (gst_base_src_loop), (gst_base_src_start),
13133         (gst_base_src_activate_push):
13134         * libs/gst/base/gstbasesrc.h:
13135           Name (private) union; makes Sun's Forte compiler happy (#324900).
13136
13137 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
13138
13139         * README:
13140           gst-register is gone.
13141
13142 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13143
13144         * gst/gstvalue.c: (_gst_value_initialize):
13145           make the G_TYPE_DATE instantiation work if debug is disabled
13146
13147 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
13148
13149         * gst/gstmessage.c: (gst_message_parse_tag),
13150         (gst_message_parse_error), (gst_message_parse_warning):
13151           Don't crash when return location for error/warning debug
13152           string is NULL; add fact that return locations can be
13153           NULL to docs where appropriate.
13154
13155 2006-01-05  Wim Taymans  <wim@fluendo.com>
13156
13157         * gst/gstplugin.c: (gst_plugin_load_file):
13158         Replace strdup by g_strdup.
13159
13160 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13161
13162         * docs/pwg/advanced-types.xml:
13163           fix doc borkage
13164
13165 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13166
13167         submitted by: Abel Cheung
13168
13169         * po/LINGUAS:
13170         * po/zh_TW.po:
13171           Added Chinese (traditional) translation
13172
13173 2006-01-04  Wim Taymans  <wim@fluendo.com>
13174
13175         * docs/manual/basics-pads.xml:
13176         * docs/plugins/Makefile.am:
13177         * docs/plugins/gstreamer-plugins-docs.sgml:
13178         * docs/plugins/gstreamer-plugins-sections.txt:
13179         * docs/pwg/advanced-clock.xml:
13180         * docs/pwg/advanced-scheduling.xml:
13181         * docs/pwg/advanced-types.xml:
13182         * plugins/elements/gstfdsink.c:
13183         * plugins/elements/gstfdsrc.c:
13184         * plugins/elements/gstfdsrc.h:
13185         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13186         * plugins/elements/gstidentity.h:
13187         * plugins/elements/gstqueue.h:
13188         * plugins/elements/gsttee.c:
13189         * plugins/elements/gsttee.h:
13190         * plugins/elements/gsttypefindelement.c:
13191         (gst_type_find_element_class_init):
13192         * plugins/elements/gsttypefindelement.h:
13193         Small updates to various docs.
13194         Added core plugins to docs.
13195
13196 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13197
13198         * common/gst.supp:
13199           add a suppression for liboil's uninitialized variable
13200
13201 2006-01-02  James Livingston  <jrl at ids dot org dot au>
13202
13203         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13204
13205         * gst/gstutils.h:
13206           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
13207           macro, so that gcc doesn't complain if the -Wmissing-prototypes
13208           compiler switch is being used (#325429).
13209
13210 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
13211
13212         * gst/gstbin.c: (gst_bin_query):
13213           Disable duration query caching in bins until it gets
13214           fixed (see #324807).
13215
13216 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
13217
13218         * tools/gst-inspect.c: (print_element_properties_info):
13219           Handle properties of POINTER and BOXED type.
13220
13221 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
13222
13223         * gst/gst.c: (init_post):
13224           Init tags stuff and some other things before loading
13225           any static plugins (there may be other static plugins
13226           than just the GStreamer ones, and they may want to
13227           register their own tags or formats or whatever, and
13228           preferably without segfaulting).
13229
13230         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
13231           Print at least a warning in the debug logs if we drop a
13232           query just because we don't know how to adjust the value
13233           in the particular format.
13234
13235 2005-12-24  David Schleef  <ds@schleef.org>
13236
13237         * tools/gstreamer-completion:
13238           Replacement for gst-complete written in sh and sed.  Only
13239           completes names of features, but that's 90% of what I want
13240           it for.  Properties are not available in registry.xml.  (Maybe
13241           they should be...)
13242
13243 === release 0.10.1 ===
13244
13245 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
13246
13247         * configure.ac:
13248           releasing 0.10.1, "Nollaig chridheil"
13249
13250 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
13251
13252         * docs/faq/cvs.xml:
13253           Add missing quote, should be make ERROR_CFLAGS="".
13254
13255 2005-12-20  Wim Taymans  <wim@fluendo.com>
13256
13257         * docs/design/part-trickmodes.txt:
13258         More documentation on trickmodes.
13259
13260 2005-12-20  Edward Hervey  <edward@fluendo.com>
13261
13262         * gst/gstcaps.c: (gst_static_caps_get_type):
13263         * gst/gstcaps.h:
13264           API addition: GST_TYPE_STATIC_CAPS
13265         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
13266         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
13267         * gst/gstpadtemplate.h:
13268           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
13269         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
13270         bindings.
13271
13272 2005-12-18  Wim Taymans  <wim@fluendo.com>
13273
13274         * libs/gst/base/gstadapter.c:
13275         * libs/gst/base/gstadapter.h:
13276         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13277         (gst_base_sink_get_position):
13278         * libs/gst/base/gstbasesink.h:
13279         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13280         (gst_base_src_default_query), (gst_base_src_default_do_seek),
13281         (gst_base_src_do_seek), (gst_base_src_perform_seek),
13282         (gst_base_src_send_event), (gst_base_src_update_length),
13283         (gst_base_src_get_range), (gst_base_src_loop),
13284         (gst_base_src_start):
13285         * libs/gst/base/gstbasesrc.h:
13286         * libs/gst/base/gstbasetransform.h:
13287         * libs/gst/base/gstcollectpads.h:
13288         * libs/gst/base/gstpushsrc.c:
13289         * libs/gst/base/gstpushsrc.h:
13290         * libs/gst/dataprotocol/dataprotocol.c:
13291         * libs/gst/dataprotocol/dataprotocol.h:
13292         * libs/gst/net/gstnetclientclock.h:
13293         * libs/gst/net/gstnettimeprovider.h:
13294         Documentation updates.
13295
13296 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
13297
13298         * docs/manual/basics-helloworld.xml:
13299           Remove superfluous closing bracket in helloworld example.
13300
13301 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
13302
13303         * tools/gst-launch.1.in:
13304           Update gst-launch man page; add a section with useful
13305           environment variables. Fixes #323882.
13306
13307 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
13308
13309         * gst/gst.c:
13310         * gst/gst_private.h:
13311           change some char* into char[]
13312
13313 2005-12-16  Wim Taymans  <wim@fluendo.com>
13314
13315         * gst/gstregistryxml.c: (load_feature):
13316         Cleanups.
13317         Don't use g_object_unref on GstObjects so that we avoid
13318         leaks on unsafe glibs.
13319
13320 2005-12-16  Wim Taymans  <wim@fluendo.com>
13321
13322         * gst/gstbin.c: (gst_bin_recalc_state):
13323         Small doc updates.
13324
13325 2005-12-16  Wim Taymans  <wim@fluendo.com>
13326
13327         * common/check.mak:
13328         Added make forever target for check.
13329
13330 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13331
13332         * gst/gst.c: (init_post):
13333           make the registry cache file HOST_CPU-dependent
13334
13335 2005-12-16  Andy Wingo  <wingo@pobox.com>
13336
13337         * plugins/elements/gstbufferstore.c
13338         (gst_buffer_store_cleared_func): Pay attention to g_list_append
13339         return value.
13340
13341         * tests/check/gst/gstobject.c
13342         (test_fake_object_name_threaded_unique): Pay attention to
13343         g_list_sort return value.
13344
13345 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
13346
13347         * tools/gst-feedback-m.m:
13348           Update for 0.9/0.10 (fixes #323870).
13349
13350 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
13351
13352         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
13353           Fix lcopy for mini objects, the mini object needs to be ref'ed.
13354           
13355         * tests/check/gst/gstminiobject.c: (my_foo_init),
13356         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
13357         (test_value_collection), (gst_mini_object_suite):
13358           Add test to ensure refcounts end up as expected when passing
13359           GstMiniObjects through g_object_get() and g_object_set().
13360
13361 2005-12-14  Julien MOUTTE  <julien@moutte.net>
13362
13363         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13364         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
13365         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
13366         of collectpads. This version removes a lot of races without
13367         touching API/ABI. Yay !
13368
13369 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
13370
13371         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
13372           Don't allow activation of a srcpad in pull_range if it has no
13373           getrange function.
13374           Change some debug statements to be a little clearer
13375
13376         * plugins/elements/gsttypefindelement.c:
13377         (gst_type_find_handle_src_query):
13378           Check that we have a peer before executing queries thereupon.
13379
13380         * tests/examples/metadata/read-metadata.c: (message_loop):
13381           Use gst_bus_pop instead of gst_bus_poll when we just want it to
13382           immediately return us any available message with 0 timeout.
13383
13384 2005-12-12  Michael Smith  <msmith@fluendo.com>
13385
13386         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
13387           Don't unref factories after calling them.
13388         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
13389         * plugins/elements/gsttypefindelement.c:
13390         (gst_type_find_element_chain):
13391           Free lists of factories after using them. Fixing typefinding memory
13392           leaks.
13393
13394 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13395
13396         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
13397         (gst_plugin_feature_load):
13398           more meaningful debug output
13399         * configure.ac:
13400         * tests/Makefile.am:
13401         * tests/old/examples/Makefile.am:
13402           make make distcheck happy again
13403
13404 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
13405
13406         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13407           Catch the special case where we are operating chain-based,
13408           but the downstream peer pad has no chain function. Emit a
13409           custom error message in this case instead of letting the
13410           core generate one implying that this is some sort of core
13411           bug. It's not, it just means that whatever got plugged
13412           into the pipeline downstream when we announced the type
13413           can only operate pull-based, while our source can only
13414           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
13415           Error string has not been marked for translation yet, as
13416           it probably needs some more work first.
13417
13418         (gst_type_find_element_get_best_possibility):
13419           Add helper function to find the best of all available
13420           found possibilities that qualify given the min. threshold.
13421
13422         (gst_type_find_element_handle_event):
13423           Fix the case where we get an EOS while still in TYPEFIND
13424           mode (we want to chose the best of all possible types,
13425           not just the first type that happens to be in our unsorted
13426           list of possible types).
13427
13428         (gst_type_find_element_chain):
13429           Make sure we return GST_FLOW_ERROR when we errored out
13430           in stop_typefinding(); also, don't just find the best of
13431           all found type entries and then use the last examined
13432           type entry, but actually use the best entry.
13433
13434 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
13435
13436         * tests/examples/typefind/typefind.c: (type_found):
13437         * tests/examples/xml/runxml.c: (xml_loaded):
13438           More gcc4 fixes and a mem leak fix.
13439
13440 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13441
13442         * tests/examples/xml/createxml.c: (object_saved):
13443           gcc 4 fixes
13444
13445 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13446
13447         * tests/Makefile.am:
13448           enable the examples even more
13449
13450 2005-12-12  Andy Wingo  <wingo@pobox.com>
13451
13452         * libs/gst/net/gstnettimeprovider.c
13453         (gst_net_time_provider_class_init, gst_net_time_provider_init)
13454         (gst_net_time_provider_set_property)
13455         (gst_net_time_provider_get_property):
13456         API addition: Export "active" as a GObject property.
13457         (gst_net_time_provider_thread): Only respond to time queries if
13458         the time provider is active.
13459
13460         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
13461         NetTimeProvider, preserving binary compat.
13462
13463 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13464
13465         * tests/examples/controller/audio-example.c: (main):
13466         * tests/examples/launch/Makefile.am:
13467           convert comments again
13468
13469 2005-12-12  Wim Taymans  <wim@fluendo.com>
13470
13471         * libs/gst/base/gstpushsrc.c:
13472         Fix typo.
13473
13474 2005-12-12  Wim Taymans  <wim@fluendo.com>
13475
13476         * docs/libs/gstreamer-libs-sections.txt:
13477         Added new symbol to docs.
13478
13479         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13480         (gst_base_src_init), (gst_base_src_set_format),
13481         (gst_base_src_default_query), (gst_base_src_query),
13482         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
13483         (gst_base_src_perform_seek), (gst_base_src_send_event),
13484         (gst_base_src_default_event), (gst_base_src_event_handler),
13485         (gst_base_src_set_property), (gst_base_src_get_property),
13486         (gst_base_src_wait), (gst_base_src_do_sync),
13487         (gst_base_src_update_length), (gst_base_src_get_range),
13488         (gst_base_src_check_get_range), (gst_base_src_loop),
13489         (gst_base_src_default_negotiate), (gst_base_src_start),
13490         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13491         (gst_base_src_change_state):
13492         * libs/gst/base/gstbasesrc.h:
13493         Implement seeking to other formats than _BYTES.
13494         Implement more seeking methods correctly.
13495         Doc updates.
13496         Added query vmethod.
13497         Added do_seek vmethod to make life easier for subclasses
13498         when seeking.
13499         API addition: gst_base_src_set_format()
13500
13501 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13502
13503         * tests/examples/Makefile.am:
13504           added that too
13505
13506 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13507
13508         * configure.ac:
13509         * docs/random/ensonic/media-device-daemon.txt:
13510         * tests/examples/controller/.cvsignore:
13511         * tests/examples/controller/Makefile.am:
13512         * tests/examples/controller/audio-example.c: (main):
13513         * tests/examples/helloworld/.cvsignore:
13514         * tests/examples/helloworld/Makefile.am:
13515         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
13516         * tests/examples/launch/.cvsignore:
13517         * tests/examples/launch/Makefile.am:
13518         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
13519         * tests/examples/metadata/.cvsignore:
13520         * tests/examples/metadata/Makefile.am:
13521         * tests/examples/metadata/read-metadata.c: (message_loop),
13522         (make_pipeline), (print_tag), (main):
13523         * tests/examples/queue/.cvsignore:
13524         * tests/examples/queue/Makefile.am:
13525         * tests/examples/queue/queue.c: (event_loop), (main):
13526         * tests/examples/typefind/.cvsignore:
13527         * tests/examples/typefind/Makefile.am:
13528         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
13529         (main):
13530         * tests/examples/xml/.cvsignore:
13531         * tests/examples/xml/Makefile.am:
13532         * tests/examples/xml/createxml.c: (object_saved), (main):
13533         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
13534         * tests/old/examples/Makefile.am:
13535         * tests/old/examples/TODO:
13536         * tests/old/examples/controller/.cvsignore:
13537         * tests/old/examples/controller/Makefile.am:
13538         * tests/old/examples/controller/audio-example.c:
13539         * tests/old/examples/helloworld/.cvsignore:
13540         * tests/old/examples/helloworld/Makefile.am:
13541         * tests/old/examples/helloworld/helloworld.c:
13542         * tests/old/examples/launch/.cvsignore:
13543         * tests/old/examples/launch/Makefile.am:
13544         * tests/old/examples/launch/mp3parselaunch.c:
13545         * tests/old/examples/launch/mp3play:
13546         * tests/old/examples/manual/Makefile.am:
13547         * tests/old/examples/metadata/Makefile.am:
13548         * tests/old/examples/metadata/read-metadata.c:
13549         * tests/old/examples/queue/.cvsignore:
13550         * tests/old/examples/queue/Makefile.am:
13551         * tests/old/examples/queue/queue.c:
13552         * tests/old/examples/typefind/.cvsignore:
13553         * tests/old/examples/typefind/Makefile.am:
13554         * tests/old/examples/typefind/typefind.c:
13555         * tests/old/examples/xml/.cvsignore:
13556         * tests/old/examples/xml/Makefile.am:
13557         * tests/old/examples/xml/createxml.c:
13558         * tests/old/examples/xml/runxml.c:
13559           applied some simple fixing to some examples
13560           re-enabled the working examples
13561
13562 2005-12-12  Wim Taymans  <wim@fluendo.com>
13563
13564         * gst/gstsegment.c: (gst_segment_init),
13565         (gst_segment_set_last_stop), (gst_segment_set_seek),
13566         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
13567         (gst_segment_to_running_time):
13568         Added more documentation.
13569         Make sure the last_pos value is updated properly.
13570         Make sure to_stream_time and to_running_time don't
13571         operate on wrong values.
13572
13573         * tests/check/gst/gstsegment.c: (GST_START_TEST):
13574         Update check.
13575
13576 2005-12-12  Michael Smith  <msmith@fluendo.com>
13577
13578         * plugins/elements/gsttypefindelement.c: (free_entry),
13579         (gst_type_find_element_chain):
13580           Now that we're not leaking factories, make sure we keep references
13581           to them while we need them.
13582
13583 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13584
13585         * tests/check/gst/struct_i386.h:
13586           ifdef out the XML structs
13587
13588 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13589
13590         * gst/gstvalue.c: (gst_value_transform_double_fraction):
13591           floor is not needed, F is always positive; this obviates the
13592           need for adding -lm when building without libxml
13593
13594 2005-12-12  Wim Taymans  <wim@fluendo.com>
13595
13596         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13597         Take current playback rate into account when reporting
13598         the position.
13599
13600 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13601
13602         * docs/manual/mime-world.fig:
13603           Let's try this again, this time with a file that is
13604           actually in XFig format.
13605
13606 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13607
13608         * docs/manual/mime-world.fig:
13609           Add audioconvert element to diagram so that it
13610           matches the text and the code (fixes #319526).
13611
13612 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13613
13614         * docs/pwg/building-chainfn.xml:
13615         * docs/pwg/building-pads.xml:
13616         * docs/pwg/building-state.xml:
13617         * docs/pwg/other-source.xml:
13618           Update state change stuff for 0.10 (fixes #322969).
13619
13620 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13621
13622         * docs/manual/advanced-dataaccess.xml:
13623         * docs/manual/appendix-checklist.xml:
13624         * docs/manual/appendix-programs.xml:
13625         * docs/manual/basics-pads.xml:
13626         * docs/manual/highlevel-components.xml:
13627         * docs/manual/manual.xml:
13628           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
13629           add converters in front of pipelines; remove curly
13630           brackets for threads stuff, they no longer exist; use
13631           GST_TYPE_FRACTION for framerates; update some pieces of
13632           code to 0.10, but there's plenty more to do.
13633
13634         * docs/manual/appendix-porting.xml:
13635           Expand on asynchroneous state changes; s/0.9/0.10/;
13636           mention disappearance of gst_init_get_popt_table()
13637           (fixes #322916).
13638
13639 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13640
13641         * docs/faq/using.xml:
13642           Spider no longer exists, and neither does gst-launch-ext.
13643           Update examples to use decodebin and playbin and put
13644           converters in front of sinks (fixes #323726).
13645
13646 2005-12-09  Michael Smith  <msmith@fluendo.com>
13647
13648         * plugins/elements/gsttypefindelement.c: (find_peek),
13649         (gst_type_find_element_chain):
13650           Fix leaking element factories in typefinding.
13651           Fix problem where we forgot about a probable type on non-seekable
13652           files, and thus later mis-typefound it.
13653
13654 2005-12-09  Michael Smith  <msmith@fluendo.com>
13655
13656         * common/m4/gst-makecontext.m4:
13657         * common/m4/gst-mcsc.m4:
13658         * configure.ac:
13659         * win32/common/config.h:
13660         * win32/common/config.h.in:
13661           Remove makecontext stuff; not used in 0.10 and causes problems on
13662           HPUX according to bug #322441
13663
13664 2005-12-07  Wim Taymans  <wim@fluendo.com>
13665
13666         * tests/check/Makefile.am:
13667         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
13668         (main):
13669         * tests/check/libs/struct_i386.h:
13670         Added ABI check for libs
13671
13672 2005-12-07  Wim Taymans  <wim@fluendo.com>
13673
13674         * tests/check/Makefile.am:
13675         And add the struct_i386.h to dist.
13676
13677 2005-12-07  Wim Taymans  <wim@fluendo.com>
13678
13679         * tests/check/Makefile.am:
13680         * tests/check/gst/.cvsignore:
13681         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
13682         (main):
13683         * tests/check/gst/struct_i386.h:
13684         Added check for ABI compatibility.
13685
13686 2005-12-07  Wim Taymans  <wim@fluendo.com>
13687
13688         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13689         (gst_fake_src_get_times), (gst_fake_src_create):
13690         Fix broken sync option, fixes #323259
13691
13692 2005-12-07  Wim Taymans  <wim@fluendo.com>
13693
13694         * gst/gstbuffer.c:
13695         Small docs update.
13696
13697         * gst/gstcaps.c: (gst_caps_is_equal):
13698         Don't assert on NULL <--> X. Fixes #323260
13699
13700         * gst/gstminiobject.c: (gst_mini_object_replace):
13701         If we're doing atomic operations, we might just as well use
13702         the proper way to get an atomic pointer.
13703
13704         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13705         Clean up debugging.
13706
13707 2005-12-07  Michael Smith  <msmith@fluendo.com>
13708
13709         * gst/parse/grammar.y:
13710           Remove handling of { } for threads.
13711
13712 2005-12-06  David Schleef  <ds@schleef.org>
13713
13714         * libs/gst/base/gstbasetransform.c: speling fix.
13715
13716 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13717
13718         * docs/libs/tmpl/gstdataprotocol.sgml:
13719         * docs/random/omega/testing/gstobject.c:
13720         * gst/gst.c:
13721         * gst/gstclock.c:
13722         * gst/gstelement.c:
13723         * gst/gstelementfactory.c:
13724         * gst/gsterror.c:
13725         * gst/gstevent.c:
13726         * gst/gstghostpad.c:
13727         * gst/gstinfo.c:
13728         * gst/gstpadtemplate.c:
13729         * gst/gstregistryxml.c:
13730         * gst/gsttaglist.c:
13731         * gst/gsttagsetter.c:
13732         * gst/gsttypefind.c:
13733         * gst/gstvalue.c:
13734         * libs/gst/base/gstbasesrc.c:
13735         * libs/gst/net/gstnetclientclock.c:
13736         * libs/gst/net/gstnettimeprovider.c:
13737         * plugins/elements/gstfakesrc.c:
13738         * plugins/elements/gstfdsrc.c:
13739         * plugins/elements/gstfilesrc.c:
13740         * plugins/elements/gstidentity.c:
13741         * plugins/elements/gstqueue.c:
13742         * plugins/elements/gsttypefindelement.c:
13743         * plugins/indexers/gstfileindex.c:
13744         * plugins/indexers/gstmemindex.c:
13745         * tests/check/gst/gsttag.c:
13746         * tests/old/examples/cutter/cutter.c:
13747         * tests/old/examples/mixer/mixer.c:
13748         * tests/old/examples/xml/runxml.c: (main):
13749         * tests/old/testsuite/caps/normalisation.c:
13750         * tests/old/testsuite/debug/global.c:
13751         * tests/old/testsuite/parse/parse1.c:
13752         * tools/gst-xmlinspect.c:
13753         * win32/common/dirent.c:
13754           expand tabs
13755
13756 === release 0.10.0 ===
13757
13758 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13759
13760         * configure.ac:
13761           releasing 0.10.0, "Maroilles"
13762
13763 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         submitted by: Funda Wang <fundawang@linux.net.cn>
13766
13767         * po/LINGUAS:
13768         * po/zh_CN.po:
13769           added Chinese (Traditional) translation
13770
13771 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13772
13773         * docs/gst/gstreamer-sections.txt:
13774         * docs/libs/tmpl/gstdataprotocol.sgml:
13775         * docs/random/thomasvs/TODO:
13776         * gst/gstutils.c:
13777         * gst/gstutils.h:
13778           fix docs
13779
13780 2005-12-05  Andy Wingo  <wingo@pobox.com>
13781
13782         patch by: Wim Taymans <wim@fluendo.com>
13783
13784         * libs/gst/base/gstbasetransform.c
13785         (gst_base_transform_prepare_output_buf)
13786         (gst_base_transform_buffer_alloc):
13787         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
13788         alloc_buffer_and_set_caps.
13789
13790         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
13791         set_caps on the source pad.
13792         (gst_pad_alloc_buffer_and_set_caps): New function, does what
13793         alloc_buffer used to do. Fixes #322874.
13794
13795         * docs/gst/gstreamer-sections.txt: 
13796         * docs/design/part-negotiation.txt: 
13797         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
13798         changes.
13799
13800 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13801
13802         patch by: Sebastien Moutte
13803
13804         * win32/MANIFEST:
13805         * win32/common/config.h.in:
13806         * win32/vs6/libgstcontroller.dsp:
13807           win32 build fixes
13808
13809 2005-12-05  Wim Taymans  <wim@fluendo.com>
13810
13811         * gst/gstcaps.c: (gst_caps_is_equal):
13812         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13813         (gst_fake_src_create):
13814         Back out previous code changes, leave doc updates, file bugs 
13815         instead. 
13816
13817 2005-12-05  Wim Taymans  <wim@fluendo.com>
13818
13819         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13820         (gst_fake_src_get_times), (gst_fake_src_create):
13821         * plugins/elements/gstfakesrc.h:
13822         Fix broken sync code.
13823
13824 2005-12-05  Wim Taymans  <wim@fluendo.com>
13825
13826         * gst/gstcaps.c: (gst_caps_is_equal):
13827         Comparing NULL against !NULL yields different caps, not a
13828         failure.
13829
13830 2005-12-05  Wim Taymans  <wim@fluendo.com>
13831
13832         * gst/gstpipeline.c:
13833         Fix small typo in docs.
13834
13835 2005-12-05  Andy Wingo  <wingo@pobox.com>
13836
13837         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
13838
13839         * gst/gst.c (init_post): remove hard-coded 0.9 location for
13840         registries/plugins with a MAJORMINOR one.
13841         (plugin_desc): Rename library from gstcoreleements to
13842         staticelements. Fixes #323222.
13843
13844 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
13845
13846         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
13847           Change debug category to 'collectpads' from 'collect_pads'
13848           (fixes #323250).
13849
13850 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13851
13852         patch by: Sebastien Moutte
13853
13854         * libs/gst/controller/gstinterpolation.c:
13855           use convert function for uint64/double
13856         * win32/vs6/libgstcontroller.dsp:
13857           link to GLib
13858
13859 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13860
13861         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
13862         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
13863         * gst/gstutils.h:
13864         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13865           add tests that seem to show that the guint64/gdouble conversions
13866           are correct.
13867
13868 2005-12-02  Wim Taymans  <wim@fluendo.com>
13869
13870         * gst/gstregistry.c: (gst_registry_add_path):
13871         * gst/gstregistry.h:
13872         * gst/gstregistryxml.c:
13873         Fix docs again.
13874
13875 2005-12-02  Wim Taymans  <wim@fluendo.com>
13876
13877         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13878         (gst_util_uint64_scale_int):
13879         Small cleanup.
13880
13881         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13882         Add debug log line.
13883
13884         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
13885         Add FIXME.
13886
13887 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13888
13889         * win32/MANIFEST:
13890         * win32/common/config.h:
13891         * win32/vs6/gstreamer.dsw:
13892         * win32/vs6/libgstcoreelements.dsp:
13893         * win32/vs6/libgstelements.dsp:
13894           renamed core elements plugin
13895
13896 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13897
13898         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
13899         (get_candidates):
13900           do piece-wise major/minor comparison so 0.9 < 0.10
13901           also allow .exe extensions for tools
13902
13903 2005-12-02  Michael Smith  <msmith@fluendo.com>
13904
13905         * gst/gst.c:
13906           Escape a % to make gtkdoc happier; bug 322958.
13907
13908 === release 0.9.7 ===
13909
13910 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13911
13912         * configure.ac:
13913           releasing 0.9.7, "My Dog Has No Nose"
13914
13915 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13916
13917         * common/gst-xmlinspect.py:
13918         * configure.ac:
13919         * docs/libs/tmpl/gstdataprotocol.sgml:
13920         * docs/random/release:
13921         * po/af.po:
13922         * po/az.po:
13923         * po/bg.po:
13924         * po/ca.po:
13925         * po/cs.po:
13926         * po/de.po:
13927         * po/en_GB.po:
13928         * po/fr.po:
13929         * po/it.po:
13930         * po/nb.po:
13931         * po/nl.po:
13932         * po/ru.po:
13933         * po/sq.po:
13934         * po/sr.po:
13935         * po/sv.po:
13936         * po/tr.po:
13937         * po/uk.po:
13938         * po/vi.po:
13939         * win32/common/config.h:
13940         * win32/common/config.h.in:
13941         * win32/vs6/gst_inspect.dsp:
13942         * win32/vs6/gst_launch.dsp:
13943         * win32/vs6/libgstbase.dsp:
13944         * win32/vs6/libgstelements.dsp:
13945         * win32/vs6/libgstreamer.dsp:
13946         * win32/vs7/GStreamer.vcproj:
13947         * win32/vs7/gst-inspect.vcproj:
13948         * win32/vs7/gst-launch.vcproj:
13949         * win32/vs7/libgstbase.vcproj:
13950           bump GST_MAJORMINOR to 0.10
13951           reset libtool version
13952
13953 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13954
13955         * po/LINGUAS:
13956         * po/bg.po:
13957           Added Bulgarian translation by (Alexander Shopov)
13958
13959 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13960
13961         * tests/check/gst/gstplugin.c:
13962           fix test
13963
13964 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13965
13966         * common/gst-xmlinspect.py:
13967         * common/gtk-doc-plugins.mak:
13968         * configure.ac:
13969         * docs/Makefile.am:
13970         * docs/gst/Makefile.am:
13971         * docs/gst/gstreamer-docs.sgml:
13972         * docs/gst/gstreamer-sections.txt:
13973         * docs/gst/gstreamer.types:
13974         * docs/gst/gstreamer.types.in:
13975         * docs/plugins/Makefile.am:
13976         * docs/plugins/gstreamer-plugins-docs.sgml:
13977         * docs/plugins/gstreamer-plugins-sections.txt:
13978         * docs/plugins/gstreamer-plugins.types:
13979         * docs/plugins/inspect.stamp:
13980         * docs/plugins/inspect/plugin-coreelements.xml:
13981         * docs/plugins/inspect/plugin-coreindexers.xml:
13982         * docs/plugins/scanobj-build.stamp:
13983         * gstreamer.spec.in:
13984         * plugins/elements/Makefile.am:
13985         * plugins/elements/gstelements.c:
13986         * plugins/elements/gstfakesink.c:
13987         * plugins/elements/gstfakesrc.c:
13988         * plugins/elements/gstfilesink.c:
13989         * plugins/elements/gstfilesrc.c:
13990         * plugins/elements/gstqueue.c:
13991         * plugins/indexers/Makefile.am:
13992         * plugins/indexers/gstindexers.c:
13993           document core plugins in a separate document just like all the
13994           others
13995           rename these plugins to something starting with core
13996
13997 2005-12-01  Andy Wingo  <wingo@pobox.com>
13998
13999         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
14000         padding here before, but it missed the commit.
14001
14002 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14003
14004         * libs/gst/controller/gstinterpolation.c:
14005           whitespace prices have crashed, we should feel free to use some now
14006           use gst_guint64_to_gdouble
14007
14008 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14009
14010         * libs/gst/controller/gstcontroller.c:
14011         * libs/gst/controller/gsthelper.c:
14012         * libs/gst/controller/gstinterpolation.c:
14013         * libs/gst/controller/lib.c:
14014           wrap config.h include
14015
14016 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14017
14018         * docs/gst/gstreamer-sections.txt:
14019           update docs
14020
14021 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14022
14023         * plugins/elements/gstelements.c:
14024         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
14025         (gst_fd_sink__class_init), (gst_fd_sink__init),
14026         (gst_fd_sink__chain), (gst_fd_sink__set_property),
14027         (gst_fd_sink__get_property):
14028         * plugins/elements/gstfdsink.h:
14029         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
14030         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
14031         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
14032         (gst_fd_src_unlock), (gst_fd_src_set_property),
14033         (gst_fd_src_get_property), (gst_fd_src_create),
14034         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
14035         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
14036         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
14037         (gst_fd_src_uri_handler_init):
14038         * plugins/elements/gstfdsrc.h:
14039         * plugins/elements/gstqueue.c: (gst_queue_get_type):
14040           more anal cleanup
14041
14042 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14043
14044         * docs/gst/Makefile.am:
14045         * docs/gst/gstreamer.types.in:
14046         * gst/Makefile.am:
14047           fix the docs build
14048
14049 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14050
14051         * configure.ac:
14052         * gst/Makefile.am:
14053         * gst/gst.c:
14054         * gst/gstplugin.h:
14055         * gst/gstregistry.h:
14056         * tests/benchmarks/complexity.c:
14057         * tests/benchmarks/mass-elements.c:
14058         * tests/check/Makefile.am:
14059         * tools/Makefile.am:
14060         * tools/gst-inspect.c:
14061         * tools/gst-xmlinspect.c:
14062           various fixes to make
14063           --disable-nls --disable-registry --disable-loadsave
14064           --disable-parse --disable-gst-debug
14065           work and get the core .so down to 360444 bytes after stripping
14066
14067 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14068
14069         * Makefile.am:
14070         * configure.ac:
14071           descend into tests
14072         * docs/random/thomasvs/TODO:
14073         * tests/Makefile.am:
14074         * tests/README:
14075           add a README
14076
14077 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14078
14079         * win32/GStreamer.vcproj:
14080         * win32/MANIFEST:
14081         * win32/Makefile:
14082         * win32/Makefile.inspect:
14083         * win32/Makefile.launch:
14084         * win32/Makefile.register:
14085         * win32/README.txt:
14086         * win32/gst-inspect.vcproj:
14087         * win32/gst-launch.vcproj:
14088         * win32/gst-register.vcproj:
14089         * win32/gstelements.vcproj:
14090         * win32/gstgetbits.def:
14091         * win32/gstgetbits.vcproj:
14092         * win32/gstreamer-dbg.def:
14093         * win32/gstreamer.def:
14094         * win32/libgstbase.def:
14095         * win32/libgstbase.vcproj:
14096         * win32/link_oldruntime.c:
14097         * win32/mman.c:
14098         * win32/mman.h:
14099         * win32/mman.inl:
14100         * win32/msvc71.sln:
14101           move even more stuff, win32/ is nice and clean now
14102
14103 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14104
14105         * libs/gst/control/.cvsignore:
14106         * win32/MANIFEST:
14107         * win32/config.h:
14108         * win32/dirent.c:
14109         * win32/dirent.h:
14110         * win32/gstbytestream.def:
14111         * win32/gstbytestream.vcproj:
14112         * win32/gstconfig.h:
14113         * win32/gstenumtypes.c:
14114         * win32/gstenumtypes.h:
14115         * win32/gstoptimalscheduler.vcproj:
14116         * win32/gstversion.h:
14117         * win32/gtchar.h:
14118         * win32/testsuite/bins.vcproj:
14119         * win32/testsuite/bytestream.vcproj:
14120         * win32/testsuite/caps.vcproj:
14121         * win32/testsuite/cleanup.vcproj:
14122         * win32/testsuite/clock.vcproj:
14123         * win32/testsuite/debug.vcproj:
14124         * win32/testsuite/dlopen.vcproj:
14125         * win32/testsuite/dynparams.vcproj:
14126         * win32/testsuite/elements.vcproj:
14127         * win32/testsuite/ghostpads.vcproj:
14128         * win32/testsuite/indexers.vcproj:
14129         * win32/testsuite/negotiation.vcproj:
14130         * win32/testsuite/parse.vcproj:
14131         * win32/testsuite/plugin.vcproj:
14132         * win32/testsuite/refcounting.vcproj:
14133         * win32/testsuite/schedulers.vcproj:
14134         * win32/testsuite/states.vcproj:
14135         * win32/testsuite/tags.vcproj:
14136         * win32/testsuite/threads.vcproj:
14137           remove old win32 stuff that isn't maintained and should be
14138           reorganized
14139
14140 2005-11-30  Andy Wingo  <wingo@pobox.com>
14141
14142         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
14143         loading the gst.interfaces python module bork.
14144
14145         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
14146         available since GLib 2.2. Fixes #318031.
14147
14148 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14149
14150         * Makefile.am:
14151         * check/.cvsignore:
14152         * check/Makefile.am:
14153         * check/elements/.cvsignore:
14154         * check/elements/fakesrc.c:
14155         * check/elements/fdsrc.c:
14156         * check/elements/identity.c:
14157         * check/generic/.cvsignore:
14158         * check/generic/states.c:
14159         * check/gst-libs/.cvsignore:
14160         * check/gst-libs/controller.c:
14161         * check/gst-libs/gdp.c:
14162         * check/gst/.cvsignore:
14163         * check/gst/capslist.h:
14164         * check/gst/gst.c:
14165         * check/gst/gstbin.c:
14166         * check/gst/gstbuffer.c:
14167         * check/gst/gstbus.c:
14168         * check/gst/gstcaps.c:
14169         * check/gst/gstelement.c:
14170         * check/gst/gstevent.c:
14171         * check/gst/gstghostpad.c:
14172         * check/gst/gstiterator.c:
14173         * check/gst/gstmessage.c:
14174         * check/gst/gstminiobject.c:
14175         * check/gst/gstobject.c:
14176         * check/gst/gstpad.c:
14177         * check/gst/gstpipeline.c:
14178         * check/gst/gstplugin.c:
14179         * check/gst/gstsegment.c:
14180         * check/gst/gststructure.c:
14181         * check/gst/gstsystemclock.c:
14182         * check/gst/gsttag.c:
14183         * check/gst/gstutils.c:
14184         * check/gst/gstvalue.c:
14185         * check/net/.cvsignore:
14186         * check/net/gstnetclientclock.c:
14187         * check/net/gstnettimeprovider.c:
14188         * check/pipelines/.cvsignore:
14189         * check/pipelines/cleanup.c:
14190         * check/pipelines/simple_launch_lines.c:
14191         * check/pipelines/stress.c:
14192         * check/states/.cvsignore:
14193         * check/states/sinks.c:
14194         * configure.ac:
14195         * examples/Makefile.am:
14196         * examples/appreader/.cvsignore:
14197         * examples/appreader/Makefile.am:
14198         * examples/appreader/appreader.c:
14199         * examples/controller/.cvsignore:
14200         * examples/controller/Makefile.am:
14201         * examples/controller/audio-example.c:
14202         * examples/cutter/.cvsignore:
14203         * examples/cutter/Makefile.am:
14204         * examples/cutter/cutter.c:
14205         * examples/cutter/cutter.h:
14206         * examples/events/Makefile.am:
14207         * examples/events/seek.c:
14208         * examples/helloworld/.cvsignore:
14209         * examples/helloworld/Makefile.am:
14210         * examples/helloworld/helloworld.c:
14211         * examples/helloworld2/.cvsignore:
14212         * examples/helloworld2/Makefile.am:
14213         * examples/helloworld2/helloworld2.c:
14214         * examples/launch/.cvsignore:
14215         * examples/launch/Makefile.am:
14216         * examples/launch/mp3parselaunch.c:
14217         * examples/launch/mp3play:
14218         * examples/manual/.cvsignore:
14219         * examples/manual/Makefile.am:
14220         * examples/manual/extract.pl:
14221         * examples/metadata/Makefile.am:
14222         * examples/metadata/read-metadata.c:
14223         * examples/mixer/.cvsignore:
14224         * examples/mixer/Makefile.am:
14225         * examples/mixer/mixer.c:
14226         * examples/mixer/mixer.h:
14227         * examples/pingpong/.cvsignore:
14228         * examples/pingpong/Makefile.am:
14229         * examples/pingpong/pingpong.c:
14230         * examples/plugins/.cvsignore:
14231         * examples/plugins/Makefile.am:
14232         * examples/plugins/example.c:
14233         * examples/plugins/example.h:
14234         * examples/pwg/.cvsignore:
14235         * examples/pwg/Makefile.am:
14236         * examples/pwg/extract.pl:
14237         * examples/queue/.cvsignore:
14238         * examples/queue/Makefile.am:
14239         * examples/queue/queue.c:
14240         * examples/queue2/.cvsignore:
14241         * examples/queue2/Makefile.am:
14242         * examples/queue2/queue2.c:
14243         * examples/queue3/.cvsignore:
14244         * examples/queue3/Makefile.am:
14245         * examples/queue3/queue3.c:
14246         * examples/queue4/.cvsignore:
14247         * examples/queue4/Makefile.am:
14248         * examples/queue4/queue4.c:
14249         * examples/retag/.cvsignore:
14250         * examples/retag/Makefile.am:
14251         * examples/retag/retag.c:
14252         * examples/retag/transcode.c:
14253         * examples/thread/.cvsignore:
14254         * examples/thread/Makefile.am:
14255         * examples/thread/thread.c:
14256         * examples/typefind/.cvsignore:
14257         * examples/typefind/Makefile.am:
14258         * examples/typefind/typefind.c:
14259         * examples/xml/.cvsignore:
14260         * examples/xml/Makefile.am:
14261         * examples/xml/createxml.c:
14262         * examples/xml/runxml.c:
14263         * tests/Makefile.am:
14264         * tests/check/Makefile.am:
14265         * testsuite/.cvsignore:
14266         * testsuite/Makefile.am:
14267         * testsuite/Rules:
14268         * testsuite/caps/.cvsignore:
14269         * testsuite/caps/Makefile.am:
14270         * testsuite/caps/app_fixate.c:
14271         * testsuite/caps/audioscale.c:
14272         * testsuite/caps/caps.c:
14273         * testsuite/caps/caps.h:
14274         * testsuite/caps/caps_strings:
14275         * testsuite/caps/compatibility.c:
14276         * testsuite/caps/deserialize.c:
14277         * testsuite/caps/enumcaps.c:
14278         * testsuite/caps/eratosthenes.c:
14279         * testsuite/caps/filtercaps.c:
14280         * testsuite/caps/fixed.c:
14281         * testsuite/caps/fraction-convert.c:
14282         * testsuite/caps/fraction-multiply-and-zero.c:
14283         * testsuite/caps/intersect2.c:
14284         * testsuite/caps/intersection.c:
14285         * testsuite/caps/normalisation.c:
14286         * testsuite/caps/random.c:
14287         * testsuite/caps/renegotiate.c:
14288         * testsuite/caps/sets.c:
14289         * testsuite/caps/simplify.c:
14290         * testsuite/caps/string-conversions.c:
14291         * testsuite/caps/structure.c:
14292         * testsuite/caps/subtract.c:
14293         * testsuite/caps/union.c:
14294         * testsuite/debug/.cvsignore:
14295         * testsuite/debug/Makefile.am:
14296         * testsuite/debug/category.c:
14297         * testsuite/debug/commandline.c:
14298         * testsuite/debug/global.c:
14299         * testsuite/debug/output.c:
14300         * testsuite/debug/printf_extension.c:
14301         * testsuite/dlopen/.cvsignore:
14302         * testsuite/dlopen/Makefile.am:
14303         * testsuite/dlopen/dlopen_gst.c:
14304         * testsuite/dlopen/loadgst.c:
14305         * testsuite/elements/.cvsignore:
14306         * testsuite/elements/Makefile.am:
14307         * testsuite/elements/gst-inspect-check.in:
14308         * testsuite/elements/struct_i386.h:
14309         * testsuite/elements/struct_size.c:
14310         * testsuite/indexers/.cvsignore:
14311         * testsuite/indexers/Makefile.am:
14312         * testsuite/indexers/cache1.c:
14313         * testsuite/indexers/indexdump.c:
14314         * testsuite/parse/.cvsignore:
14315         * testsuite/parse/Makefile.am:
14316         * testsuite/parse/parse1.c:
14317         * testsuite/parse/parse2.c:
14318         * testsuite/plugin/.cvsignore:
14319         * testsuite/plugin/Makefile.am:
14320         * testsuite/plugin/README:
14321         * testsuite/plugin/dynamic.c:
14322         * testsuite/plugin/linked.c:
14323         * testsuite/plugin/loading.c:
14324         * testsuite/plugin/registry.c:
14325         * testsuite/plugin/static.c:
14326         * testsuite/plugin/static2.c:
14327         * testsuite/plugin/testplugin.c:
14328         * testsuite/plugin/testplugin2.c:
14329         * testsuite/plugin/testplugin2_s.c:
14330         * testsuite/plugin/testplugin_s.c:
14331         * testsuite/refcounting/.cvsignore:
14332         * testsuite/refcounting/Makefile.am:
14333         * testsuite/refcounting/bin.c:
14334         * testsuite/refcounting/element.c:
14335         * testsuite/refcounting/element_pad.c:
14336         * testsuite/refcounting/mainloop.c:
14337         * testsuite/refcounting/mem.c:
14338         * testsuite/refcounting/mem.h:
14339         * testsuite/refcounting/object.c:
14340         * testsuite/refcounting/pad.c:
14341         * testsuite/refcounting/sched.c:
14342         * testsuite/refcounting/thread.c:
14343         * testsuite/states/.cvsignore:
14344         * testsuite/states/Makefile.am:
14345         * testsuite/states/bin.c:
14346         * testsuite/states/locked.c:
14347         * testsuite/states/parent.c:
14348         * testsuite/threads/.cvsignore:
14349         * testsuite/threads/159566.c:
14350         * testsuite/threads/159852.c:
14351         * testsuite/threads/Makefile.am:
14352         * testsuite/threads/queue.c:
14353         * testsuite/threads/signals.c:
14354         * testsuite/threads/staticrec.c:
14355         * testsuite/threads/thread.c:
14356         * testsuite/threads/threadb.c:
14357         * testsuite/threads/threadc.c:
14358         * testsuite/threads/threadd.c:
14359         * testsuite/threads/threade.c:
14360         * testsuite/threads/threadf.c:
14361         * testsuite/threads/threadg.c:
14362         * testsuite/threads/threadh.c:
14363         * testsuite/threads/threadi.c:
14364           move all of these under tests
14365
14366 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14367
14368         * configure.ac:
14369         * tests/Makefile.am:
14370           fix distcheck
14371
14372 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14373
14374         * docs/gst/gstreamer-sections.txt:
14375         * tests/sched/.cvsignore:
14376         * tests/sched/Makefile.am:
14377         * tests/sched/cases/(fs-fs).xml:
14378         * tests/sched/cases/(fs-i-fs).xml:
14379         * tests/sched/cases/(fs-i-i-fs).xml:
14380         * tests/sched/cases/(fs-i-q[i-fs]).xml:
14381         * tests/sched/dynamic-pipeline.c:
14382         * tests/sched/interrupt1.c:
14383         * tests/sched/interrupt2.c:
14384         * tests/sched/interrupt3.c:
14385         * tests/sched/runtestcases:
14386         * tests/sched/runxml.c:
14387         * tests/sched/sched-stress.c:
14388         * tests/sched/sort.c:
14389         * tests/sched/testcases:
14390         * tests/sched/testcases1.tc:
14391         * tests/seeking/.cvsignore:
14392         * tests/seeking/Makefile.am:
14393         * tests/seeking/seeking1.c:
14394         * tests/threadstate/.cvsignore:
14395         * tests/threadstate/Makefile.am:
14396         * tests/threadstate/test1.c:
14397         * tests/threadstate/test2.c:
14398         * tests/threadstate/threadstate1.c:
14399         * tests/threadstate/threadstate2.c:
14400         * tests/threadstate/threadstate3.c:
14401         * tests/threadstate/threadstate4.c:
14402         * tests/threadstate/threadstate5.c:
14403           remove obsolete tests
14404         * configure.ac:
14405         * tests/bench-complexity.scm:
14406         * tests/bench-mass_elements.scm:
14407         * tests/complexity.c:
14408         * tests/complexity.gnuplot:
14409         * tests/instantiate/.cvsignore:
14410         * tests/instantiate/Makefile.am:
14411         * tests/instantiate/caps.c:
14412         * tests/mass_elements.c:
14413         * tests/network-clock-utils.scm:
14414         * tests/network-clock.scm:
14415         * tests/plot-data:
14416         First pass at cleaning up tests/ dir before moving the rest
14417         Combined with CVS surgery
14418
14419 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14420
14421         * po/POTFILES.in:
14422           queue has moved, update
14423
14424 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14425
14426         * docs/gst/gstreamer-sections.txt:
14427           remove double entries from the docs
14428         * gst/gst_private.h:
14429         * gst/gstinfo.c: (_gst_debug_init):
14430           remove the THREAD debug category
14431         * gst/Makefile.am:
14432         * gst/gstqueue.c:
14433         * gst/gstqueue.h:
14434         * docs/gst/gstreamer.types:
14435         * plugins/elements/gstqueue.c: (gst_queue_get_type),
14436         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
14437           completely move queue and fix up debugging categories
14438
14439 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14440
14441         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14442           make initialization portable, using LL is not
14443
14444 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14445
14446         * win32/common/gstconfig.h:
14447           add large padding
14448
14449 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14450
14451         * win32/common/libgstreamer.def:
14452           rename symbols; sort base section
14453
14454 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14455
14456         * gst/gstclock.c: (do_linear_regression):
14457           remove crack non-portable handrolled DEBUG macro
14458
14459 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14460
14461         * docs/random/release:
14462           update notes
14463         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14464         (gst_object_flags_get_type), (register_gst_bin_flags),
14465         (gst_bin_flags_get_type), (register_gst_buffer_flag),
14466         (gst_buffer_flag_get_type), (register_gst_bus_flags),
14467         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
14468         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
14469         (gst_caps_flags_get_type), (register_gst_clock_return),
14470         (gst_clock_return_get_type), (register_gst_clock_entry_type),
14471         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
14472         (gst_clock_flags_get_type), (register_gst_state),
14473         (gst_state_get_type), (register_gst_state_change_return),
14474         (gst_state_change_return_get_type), (register_gst_state_change),
14475         (gst_state_change_get_type), (register_gst_element_flags),
14476         (gst_element_flags_get_type), (register_gst_core_error),
14477         (gst_core_error_get_type), (register_gst_library_error),
14478         (gst_library_error_get_type), (register_gst_resource_error),
14479         (gst_resource_error_get_type), (register_gst_stream_error),
14480         (gst_stream_error_get_type), (register_gst_event_type_flags),
14481         (gst_event_type_flags_get_type), (register_gst_event_type),
14482         (gst_event_type_get_type), (register_gst_seek_type),
14483         (gst_seek_type_get_type), (register_gst_seek_flags),
14484         (gst_seek_flags_get_type), (register_gst_format),
14485         (gst_format_get_type), (register_gst_index_certainty),
14486         (gst_index_certainty_get_type), (register_gst_index_entry_type),
14487         (gst_index_entry_type_get_type),
14488         (register_gst_index_lookup_method),
14489         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
14490         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
14491         (gst_index_resolver_method_get_type), (register_gst_index_flags),
14492         (gst_index_flags_get_type), (register_gst_debug_level),
14493         (gst_debug_level_get_type), (register_gst_debug_color_flags),
14494         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
14495         (gst_iterator_result_get_type), (register_gst_iterator_item),
14496         (gst_iterator_item_get_type), (register_gst_message_type),
14497         (gst_message_type_get_type), (register_gst_mini_object_flags),
14498         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
14499         (gst_pad_link_return_get_type), (register_gst_flow_return),
14500         (gst_flow_return_get_type), (register_gst_activate_mode),
14501         (gst_activate_mode_get_type), (register_gst_pad_direction),
14502         (gst_pad_direction_get_type), (register_gst_pad_flags),
14503         (gst_pad_flags_get_type), (register_gst_pad_presence),
14504         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
14505         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
14506         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
14507         (gst_plugin_error_get_type), (register_gst_plugin_flags),
14508         (gst_plugin_flags_get_type), (register_gst_rank),
14509         (gst_rank_get_type), (register_gst_query_type),
14510         (gst_query_type_get_type), (register_gst_tag_merge_mode),
14511         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
14512         (gst_tag_flag_get_type), (register_gst_task_state),
14513         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
14514         (gst_alloc_trace_flags_get_type),
14515         (register_gst_type_find_probability),
14516         (gst_type_find_probability_get_type), (register_gst_uri_type),
14517         (gst_uri_type_get_type), (register_gst_parse_error),
14518         (gst_parse_error_get_type):
14519         * win32/common/gstenumtypes.h:
14520         * win32/common/gstversion.h:
14521           update visual studio generated files
14522
14523 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14524
14525         * win32/vs6/libgstbase.dsp:
14526         * win32/vs6/libgstelements.dsp:
14527           update project files for new locations
14528
14529 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14530
14531         * Makefile.am:
14532           remove some files
14533         * README:
14534           reinstate and update
14535         * DEVEL:
14536         * REQUIREMENTS:
14537           removed
14538         * LICENSE:
14539         * docs/random/LICENSE:
14540           moved to random
14541
14542 2005-11-30  Edward Hervey  <edward@fluendo.com>
14543
14544         * gst/gsttypefind.c: (gst_type_find_register):
14545         * gst/gsttypefind.h:
14546         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
14547         (gst_type_find_factory_dispose):
14548         * gst/gsttypefindfactory.h:
14549         Fix memory leak in GstTypeFindFactory.
14550
14551 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14552
14553         * gst/gst.c:
14554         * plugins/elements/Makefile.am:
14555         * plugins/elements/gstelements.c:
14556         * plugins/elements/gstqueue.c:
14557           move queue from core to the elements plugin
14558
14559 2005-11-29  Andy Wingo  <wingo@pobox.com>
14560
14561         * libs/gst/base/gstbasetransform.h: 
14562         * libs/gst/base/gstbasesrc.h: 
14563         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
14564
14565         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
14566         of pointers by which to pad very extensible base classes (like the
14567         ones in libs/gst/base).
14568
14569 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14570
14571         * docs/gst/gstreamer-docs.sgml:
14572         * docs/gst/gstreamer-sections.txt:
14573         * docs/libs/gstreamer-libs-docs.sgml:
14574         * docs/libs/gstreamer-libs-sections.txt:
14575           moving documentation from core to lib
14576
14577 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14578
14579         * check/Makefile.am:
14580         * configure.ac:
14581         * docs/gst/Makefile.am:
14582         * gst/Makefile.am:
14583         * gst/base/.cvsignore:
14584         * gst/base/Makefile.am:
14585         * gst/base/README:
14586         * gst/base/gstadapter.c:
14587         * gst/base/gstadapter.h:
14588         * gst/base/gstbasesink.c:
14589         * gst/base/gstbasesink.h:
14590         * gst/base/gstbasesrc.c:
14591         * gst/base/gstbasesrc.h:
14592         * gst/base/gstbasetransform.c:
14593         * gst/base/gstbasetransform.h:
14594         * gst/base/gstcollectpads.c:
14595         * gst/base/gstcollectpads.h:
14596         * gst/base/gstpushsrc.c:
14597         * gst/base/gstpushsrc.h:
14598         * gst/base/gsttypefindhelper.c:
14599         * gst/base/gsttypefindhelper.h:
14600         * gst/check/Makefile.am:
14601         * gst/check/gstcheck.c:
14602         * gst/check/gstcheck.h:
14603         * gst/net/Makefile.am:
14604         * gst/net/gstnet.h:
14605         * gst/net/gstnetclientclock.c:
14606         * gst/net/gstnetclientclock.h:
14607         * gst/net/gstnettimepacket.c:
14608         * gst/net/gstnettimepacket.h:
14609         * gst/net/gstnettimeprovider.c:
14610         * gst/net/gstnettimeprovider.h:
14611         * libs/gst/Makefile.am:
14612         * libs/gst/base/Makefile.am:
14613         * libs/gst/base/gstbasetransform.c:
14614         * libs/gst/check/Makefile.am:
14615         * plugins/elements/Makefile.am:
14616         * po/POTFILES.in:
14617           CVS surgery + support to move base, check, and net out of gst
14618           and into libs/gst
14619
14620 2005-11-29  Andy Wingo  <wingo@pobox.com>
14621
14622         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
14623
14624         * gst/gststructure.h (struct _GstStructure): Only one pointer of
14625         padding.
14626
14627         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
14628
14629         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
14630
14631         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
14632
14633         * gst/gstobject.h: (struct _GstObject): Only one pointer of
14634         padding; reduces object size by about 30%. We don't expect
14635         anything else to go into gstobject.
14636
14637         * gst/gstminiobject.h (struct _GstMiniObject)
14638         (struct _GstMiniObjectClass): Only one pointer of padding; the
14639         payload is only a pointer and two ints anyway. For the class there
14640         are only two methods as well.
14641         
14642         * gst/gstelement.h (struct _GstElementClass): Removed
14643         the state_changed signal callback, it is not used.
14644
14645 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14646
14647         * docs/gst/gstreamer.types:
14648           fix includes, though they are a little dinky
14649
14650 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14651
14652         * check/Makefile.am:
14653           look in the right place for elements, a lot more chance of
14654           success
14655         * gst/Makefile.am:
14656           remove indexers and elements subdirs
14657         * plugins/Makefile.am:
14658           make indexers conditional
14659
14660 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14661
14662         * Makefile.am:
14663         * configure.ac:
14664         * plugins/elements/Makefile.am:
14665         * plugins/elements/gstcapsfilter.c:
14666         * plugins/elements/gstfilesink.c:
14667         * plugins/elements/gstfilesrc.c:
14668         * plugins/elements/gstidentity.c:
14669         * plugins/indexers/Makefile.am:
14670           do CVS surgery and related build fixery to move elements
14671           and indexers in a new gstreamer/plugins directory, out of the
14672           gst/ directory
14673
14674 2005-11-29  Andy Wingo  <wingo@pobox.com>
14675
14676         * check/Makefile.am:
14677         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14678         * pkgconfig/gstreamer-net.pc.in:
14679         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
14680         #322257.
14681
14682 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14683
14684         * tools/Makefile.am:
14685         * tools/gst-complete.1.in:
14686         * tools/gst-complete.c:
14687         * tools/gst-compprep.1.in:
14688         * tools/gst-compprep.c:
14689           removing -compprep and -complete
14690
14691 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14692
14693         * gst/gstevent.c: (gst_event_new_new_segment),
14694         (gst_event_parse_new_segment):
14695         * gst/gstevent.h:
14696           fix #320529 - clean up new_segment API and structure.
14697           Let's hope everyone was using the methods, and not the structure.
14698
14699 2005-11-29  Edward Hervey  <edward@fluendo.com>
14700
14701         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14702         (gst_base_sink_event), (gst_base_sink_do_sync),
14703         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14704         Properly handle non GST_FORMAT_TIME segment
14705         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14706         Properly handle non GST_FORMAT_TIME segment
14707         * gst/gstsegment.c:
14708         This function is valid if the accumulator is 0 and the format
14709         is different from the requested format.
14710         
14711 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14712
14713         * docs/gst/gstreamer-sections.txt:
14714         Add gst_query_new_seeking and gst_query_parse_seeking to the
14715         docs.
14716
14717 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14718
14719         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14720           Treat a pad alloc with new caps the same as if we were not
14721           negotiated, in order to allow a changing upstream output
14722           to produce a new format of data.
14723
14724 2005-11-29  Edward Hervey  <edward@fluendo.com>
14725
14726         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14727         (gst_base_transform_event), (gst_base_transform_eventfunc):
14728         The event virtual method is now properly implemented, with a default
14729         handler
14730         Sub classes should call the parent_class event method. They should
14731         return FALSE if they had a problem handling the given event, or don't
14732         want GstBaseTransform to send that even downstream
14733         * gst/elements/gstidentity.c: (gst_identity_class_init),
14734         (gst_identity_init), (gst_identity_event),
14735         (gst_identity_transform_ip), (gst_identity_set_property),
14736         (gst_identity_get_property):
14737         * gst/elements/gstidentity.h:
14738         Added the single-segment boolean property.
14739         If set to TRUE, it will output a single segment of data, starting from
14740         0, will eat up all incoming newsegment, and modify the timestamp of the
14741         buffers accordingly
14742
14743 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
14744
14745         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
14746           Don't ref NULL target pad (#322751). Improve docs.
14747
14748 2005-11-29  Michael Smith  <msmith@fluendo.com>
14749
14750         * gst/gstregistryxml.c: (load_plugin):
14751           Don't crash if we failed to load a feature from a plugin. 
14752
14753 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14754
14755         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14756         (GST_START_TEST):
14757           use more check API and less GLib API
14758
14759 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14760
14761         * Makefile.am:
14762           don't run checks if we don't have check
14763         * common/check.mak:
14764           remove the registry when running make torture
14765         * docs/gst/gstreamer-sections.txt:
14766           remove second multiply
14767         * gst/gstqueue.c: (gst_queue_loop):
14768           fix a compile warning when disabling debug
14769
14770 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14771
14772         * gst/gstinfo.h:
14773         Hey! Let's print the pad name if the pointer != NULL instead
14774         of when it == NULL :-)
14775
14776 2005-11-28  Wim Taymans  <wim@fluendo.com>
14777
14778         * check/gst/gstutils.c: (GST_START_TEST):
14779         Updated check, add some scaling accuracy checking code.
14780
14781         * gst/gstutils.c: (gst_util_div128_64),
14782         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
14783         (gst_util_uint64_scale_int):
14784         Fix 6 times faster division code. Optimize for common 
14785         1/1 and less common X/1 cases.
14786
14787 2005-11-28  Wim Taymans  <wim@fluendo.com>
14788
14789         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14790         More checks.
14791
14792         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
14793         (do_linear_regression), (gst_clock_add_observation):
14794         Cleanups.
14795         Release lock when the clock cannot be slaved.
14796         Catch the case where the regression returned an invalid denominator.
14797
14798         * gst/gstutils.c: (gst_util_div128_64_iterate),
14799         (gst_util_div128_64), (gst_util_uint64_scale_int64),
14800         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14801         Add protentially more performant non-iterative 128/64 divide function
14802         that unfortunatly does not work yet.
14803         Shortcut the trivial 0/X = 0 case.
14804         Remove the warnings on overflow.
14805
14806 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14807
14808         * gst/gstplugin.c: (gst_plugin_register_func):
14809           everything causing a plugin not to load should be at least a WARNING
14810
14811 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
14812
14813         * docs/random/ensonic/dparams.txt:
14814           some TODOs for the next dev cycle
14815         * libs/gst/controller/gstcontroller.c:
14816         (gst_controlled_property_set_interpolation_mode),
14817         (gst_controlled_property_new):
14818         * libs/gst/controller/gstcontroller.h:
14819           use base type to assign acccessor functions
14820
14821 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14822
14823         * check/Makefile.am:
14824         Oops, that should have been top_srcdir
14825
14826 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14827
14828         * check/Makefile.am:
14829         * check/elements/fdsrc.c: (GST_START_TEST):
14830         Use a cmdline define to specify the location of a file to use for
14831         testing, to avoid breaking distcheck.
14832
14833 2005-11-28  Andy Wingo  <wingo@pobox.com>
14834
14835         * gst/gstpad.c (fixate_value): Use array functions for arrays.
14836
14837 2005-11-28  Edward Hervey  <edward@fluendo.com>
14838
14839         * tools/gst-launch.c: (main):
14840         Clarify the output strings, makes it easier to translate.
14841         Fixes #322626
14842
14843 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14844
14845         * gst/Makefile.am:
14846           don't try and build net if we don't even have <sys/socket.h>
14847
14848 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
14849
14850         * check/Makefile.am:
14851         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
14852         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
14853           Add tests for fdsrc seekability
14854
14855         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
14856         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
14857         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
14858         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
14859         * gst/elements/gstfdsrc.h:
14860           fdsrc should not be a 'live' source.
14861           Implement seeking on seekable fd's.
14862
14863         * gst/gstquery.c: (gst_query_new_seeking),
14864         (gst_query_parse_seeking):
14865         * gst/gstquery.h:
14866           Implement SEEKING query functions: 
14867             *_new_seeking and *_parse_seeking
14868
14869 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
14870
14871         * gst/gstelement.c: (gst_element_dispose):
14872           don't loop forever
14873
14874         * gst/gstiterator.c:
14875         * gst/gststructure.c:
14876           doc fixes
14877
14878         * libs/gst/controller/gstcontroller.c:
14879         (gst_controlled_property_set_interpolation_mode):
14880         * libs/gst/controller/gstcontroller.h:
14881         * libs/gst/controller/gstinterpolation.c:
14882         (interpolate_none_get_enum_value_array):
14883           support controlling enums
14884
14885 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14886
14887         * gst/gstvalue.c:
14888           Improve documentation for gst_value_union().
14889
14890         * gst/gstvalue.h:
14891           Change return value for union, intersect and subtract functions
14892           from gint to gboolean.
14893
14894 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14895
14896         * gst/gstvalue.c: (gst_value_serialize_any_list),
14897         (gst_value_transform_any_list_string),
14898         (gst_value_deserialize_list), (gst_value_deserialize_array),
14899         (gst_value_set_int_range), (gst_value_deserialize_int_range),
14900         (gst_value_set_double_range), (gst_value_deserialize_double_range),
14901         (gst_value_set_fraction_range_full),
14902         (gst_value_deserialize_fraction_range),
14903         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
14904         (gst_value_deserialize_boolean),
14905         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
14906         (gst_value_serialize_float), (gst_value_deserialize_float),
14907         (gst_string_wrap), (gst_value_deserialize_string),
14908         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
14909         (gst_value_union_int_range_int_range),
14910         (gst_value_intersect_int_range_int_range),
14911         (gst_value_intersect_double_range_double_range),
14912         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
14913         (gst_value_subtract_int_range_int_range),
14914         (gst_value_subtract_double_double_range),
14915         (gst_value_subtract_double_range_double_range),
14916         (gst_value_deserialize_fraction):
14917         * gst/gstvalue.h:
14918           Use gint, gdouble and gchar in our API instead of int, double and
14919           char (and make usage in gstvalue.c more consistent).
14920
14921 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14922
14923         * check/Makefile.am:
14924         * libs/gst/controller/Makefile.am:
14925         * libs/gst/dataprotocol/Makefile.am:
14926           fix up Makefile.am and remove GST_ENABLE_NEW
14927
14928 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14929
14930         * configure.ac:
14931         * gst/Makefile.am:
14932         * gst/base/Makefile.am:
14933         * gst/check/Makefile.am:
14934         * gst/elements/Makefile.am:
14935         * gst/net/Makefile.am:
14936           update LDFLAGS use some more
14937
14938 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14939
14940         * common/m4/gst-doc.m4:
14941           Fixes #312589
14942
14943 2005-11-26  Edward Hervey  <edward@fluendo.com>
14944
14945         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14946         This shouldn't issue a g_warning since it returns NULL if it
14947         couldn't find the plugin, and all functions using this behave
14948         properly on a NULL return. Switching to a GST_WARNING.
14949
14950 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
14951
14952         * gst/gstbin.c: (gst_bin_handle_message_func):
14953         Don't leak clock messages.
14954
14955 2005-11-25  Wim Taymans  <wim@fluendo.com>
14956
14957         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14958         (gst_util_uint64_scale_int):
14959         Optimisations, remove unneeded vars.
14960
14961 2005-11-25  Wim Taymans  <wim@fluendo.com>
14962
14963         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14964         Added more checks for the high precision uint64 cases.
14965
14966         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14967         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14968         Implement high precision (guint64 * guint64) / guint64.
14969
14970 2005-11-24  Wim Taymans  <wim@fluendo.com>
14971
14972         * gst/base/gstbasesrc.c: (gst_base_src_query):
14973         Fix wrong percentage query.
14974
14975         * gst/gstutils.c: (gst_util_uint64_scale),
14976         (gst_util_uint64_scale_int):
14977         Add some more common cases that can be handled 
14978         efficiently to _scale.
14979
14980 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14981
14982         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14983         (gst_mini_object_suite):
14984           don't use check calls from threads; check probably isn't
14985           threadsafe and using a lock to make it threadsafe would
14986           defeat the purpose of this check
14987         * gst/check/gstcheck.c:
14988         * gst/check/gstcheck.h:
14989           use GST_DEBUG some more
14990
14991 2005-11-24  Wim Taymans  <wim@fluendo.com>
14992
14993         * gst/gstutils.c: (gst_util_uint64_scale),
14994         (gst_util_uint64_scale_int):
14995         Chain trivial case to _scale_int.
14996
14997 2005-11-24  Wim Taymans  <wim@fluendo.com>
14998
14999         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15000         Added test for scaling.
15001
15002         * gst/gstclock.h:
15003         Small doc fix.
15004
15005         * gst/gstutils.c: (gst_util_uint64_scale_int):
15006         Implemented high precision scaling code.
15007
15008 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
15009
15010         * gst/gstinfo.h:
15011           do not crash on pad==NULL
15012
15013 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15014
15015         Patch by: Stefan Kost
15016
15017         * common/gtk-doc.mak:
15018         * docs/gst/Makefile.am:
15019         * docs/libs/Makefile.am:
15020           Fix distcheck issues for the libraries docs build
15021           Closes #319599.
15022
15023 2005-11-24  Michael Smith <msmith@fluendo.com>
15024
15025         * docs/manual/basics-helloworld.xml:
15026           Fix bug #315027: memory leak in example code in docs.
15027
15028 2005-11-24  Michael Smith <msmith@fluendo.com>
15029
15030         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15031           Unlock the PREROLL_LOCK in a failure case.
15032
15033 2005-11-24  Wim Taymans  <wim@fluendo.com>
15034
15035         * docs/gst/gstreamer-sections.txt:
15036         * gst/base/gstadapter.h:
15037         * gst/base/gstbasesink.h:
15038         * gst/base/gstbasesrc.h:
15039         * gst/base/gstbasetransform.h:
15040         * gst/base/gstpushsrc.h:
15041         * gst/elements/gstfakesink.h:
15042         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
15043         * gst/elements/gstfakesrc.h:
15044         * gst/elements/gstfilesink.h:
15045         * gst/elements/gstfilesrc.h:
15046         * gst/gst.c:
15047         * gst/gstbin.c:
15048         * gst/gstbuffer.c: (_gst_buffer_copy):
15049         * gst/gstbus.h:
15050         * gst/gstcaps.c:
15051         * gst/gstchildproxy.c:
15052         * gst/gstclock.c:
15053         * gst/gstelement.c:
15054         * gst/gstelementfactory.c:
15055         * gst/gstelementfactory.h:
15056         * gst/gstevent.c:
15057         * gst/gstghostpad.h:
15058         * gst/gstindex.h:
15059         * gst/gstinterface.h:
15060         * gst/gstminiobject.c:
15061         * gst/gstminiobject.h:
15062         * gst/gstpad.c:
15063         * gst/gstpad.h:
15064         * gst/gstpadtemplate.h:
15065         * gst/gstpipeline.h:
15066         * gst/gstpluginfeature.h:
15067         * gst/gstquery.h:
15068         * gst/gstqueue.h:
15069         * gst/gsttaglist.c:
15070         * gst/gsttaglist.h:
15071         * gst/gsttagsetter.c:
15072         * gst/gsttagsetter.h:
15073         * gst/gsttrace.c:
15074         * gst/gsttrace.h:
15075         * gst/gsttypefind.h:
15076         * gst/gsturi.h:
15077         * gst/gstvalue.c:
15078         * gst/net/gstnetclientclock.c:
15079         * gst/net/gstnetclientclock.h:
15080         * gst/net/gstnettimepacket.c:
15081         * gst/net/gstnettimeprovider.c:
15082         * gst/net/gstnettimeprovider.h:
15083         Doc fixes.
15084
15085 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15086
15087         * configure.ac: back to HEAD
15088
15089 === release 0.9.6 ===
15090
15091 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
15092
15093         * configure.ac:
15094           releasing 0.9.6, "Always On Time"
15095
15096 2005-11-23  Wim Taymans  <wim@fluendo.com>
15097
15098         * docs/gst/gstreamer-sections.txt:
15099         * gst/glib-compat.c:
15100         * gst/gsttagsetter.c:
15101         * gst/gstvalue.c:
15102         * gst/net/gstnetclientclock.c:
15103         * gst/net/gstnettimepacket.h:
15104         Doc updates.
15105
15106 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15107
15108         * docs/faq/using.xml:
15109         * docs/libs/tmpl/gstcontrol.sgml:
15110         * docs/manual/advanced-dparams.xml:
15111         * docs/manual/appendix-checklist.xml:
15112         * docs/manual/basics-elements.xml:
15113         * docs/pwg/other-source.xml:
15114         * docs/random/moving-plugins:
15115         * gst/gstpad.c:
15116         * tools/gst-launch.1.in:
15117           remove mentions of sinesrc
15118
15119 2005-11-23  Michael Smith <msmith@fluendo.com>
15120
15121         * docs/gst/gstreamer-sections.txt:
15122           Update for new API and API changes.
15123         * gst/gstobject.h:
15124           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
15125         * gst/gstvalue.c:
15126           Documentation typo fix.
15127         * gst/net/gstnettimepacket.c:
15128           Documentation fixes for arguments.
15129
15130 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
15131
15132         * gst/gststructure.c: (gst_structure_get_fraction),
15133         (gst_structure_parse_value),
15134         (gst_structure_fixate_field_nearest_fraction):
15135         * gst/gststructure.h:
15136         * gst/gstutils.c: (gst_util_uint64_scale_int):
15137         * gst/gstutils.h:
15138         * scripts/update-funcnames:
15139         API Changes. 
15140         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
15141         Make gst_structure_fixate_field_nearest_fraction take a numerator
15142         and denominator argument instead of a GValue
15143         add gst_structure_get_fraction helper function.
15144
15145 2005-11-23  Wim Taymans  <wim@fluendo.com>
15146
15147         * docs/design/part-TODO.txt:
15148         Update TODO.
15149
15150         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
15151         * gst/net/gstnetclientclock.h:
15152         Use parent fields for timeout and window_size.
15153
15154 2005-11-23  Andy Wingo  <wingo@pobox.com>
15155
15156         * check/net/gstnetclientclock.c (test_functioning): Adjust to
15157         rate_num/rate_denom change.
15158
15159         * gst/net/gstnetclientclock.c
15160         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
15161         OBJECT_LOCK. Don't call add_observation with the lock.
15162
15163         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
15164         fraction.
15165         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
15166         rate fraction.
15167         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
15168         deal with rate as a fraction whose numerator and denominator are
15169         GstClockTime values.
15170         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
15171         master; the other fields are protected by the SLAVE_LOCK.
15172         (do_linear_regression): Note that this must be called with the
15173         SLAVE_LOCK.
15174         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
15175         OBJECT_LOCK. Call set_calibration instead of touching the
15176         variables directly.
15177         (gst_clock_set_property, gst_clock_get_property): Protect
15178         master/slave parameters with the SLAVE_LOCK.
15179
15180         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
15181         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
15182         note that all of the instance variables that add_observation and
15183         the set_master functions use are protected by that lock and not
15184         the OBJECT_LOCK.
15185         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
15186
15187         * gst/gstclock.c (gst_clock_add_observation): No longer requires
15188         the caller to take the object lock.
15189
15190 2005-11-23  Wim Taymans  <wim@fluendo.com>
15191
15192         * gst/gsterror.c: (_gst_core_errors_init):
15193         * gst/gsterror.h:
15194         Add error for clock stuff.
15195
15196         * gst/gstpipeline.c: (gst_pipeline_change_state),
15197         (gst_pipeline_set_clock):
15198         Post clock error when clock cannot be used in a pipeline.
15199
15200 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
15201
15202         * docs/gst/gstreamer-sections.txt:
15203           make two symbols from gstinfo private for the docs
15204         * gst/base/gstcollectpads.h:
15205         * gst/gstutils.c:
15206           fix doc typos, update docs
15207
15208 2005-11-22  Wim Taymans  <wim@fluendo.com>
15209
15210         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15211         (gst_base_sink_wait), (gst_base_sink_do_sync),
15212         (gst_base_sink_handle_event):
15213         * gst/base/gstbasesink.h:
15214         No need to store the clock, the parent element class already
15215         has it.
15216
15217         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
15218         Updates for clock_set returning a gboolean
15219
15220         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
15221         (gst_clock_id_wait_async), (gst_clock_class_init),
15222         (gst_clock_init), (gst_clock_finalize),
15223         (gst_clock_get_internal_time), (gst_clock_get_time),
15224         (gst_clock_slave_callback), (gst_clock_set_master),
15225         (gst_clock_get_master), (do_linear_regression),
15226         (gst_clock_add_observation), (gst_clock_set_property),
15227         (gst_clock_get_property):
15228         * gst/gstclock.h:
15229         Implement master/slave. When setting a clock as a slave, a
15230         periodic timeout is scheduled to sample master and slave times.
15231         Then the slave clock is recalibrated to match offset and rate
15232         of the master clock.
15233         Update logging a bit.
15234         Add flag so that a clock can state that is cannot be slaved to
15235         another clock.
15236
15237         * gst/gstelement.c: (gst_element_set_clock):
15238         * gst/gstelement.h:
15239         The set clock returns a gboolean for when an element cannot
15240         deal with the selected clock in the pipeline. 
15241
15242         * gst/gstpipeline.c: (gst_pipeline_change_state),
15243         (gst_pipeline_set_clock):
15244         * gst/gstpipeline.h:
15245         Handle the case where the selected clock cannot be set on
15246         the pipeline.
15247
15248         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
15249         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
15250         (gst_net_client_clock_set_property),
15251         (gst_net_client_clock_get_property),
15252         (gst_net_client_clock_observe_times):
15253         * gst/net/gstnetclientclock.h:
15254         Use regression code in GstClock parent, remove duplicated
15255         functionality.
15256
15257 2005-11-22  Michael Smith <msmith@fluendo.com>
15258
15259         * gst/gstutils.c: (gst_util_clock_time_scale):
15260         * gst/gstutils.h:
15261         * docs/gst/gstreamer-sections.txt:
15262           Rename method to have extra underscore.
15263
15264 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15265
15266         * gst/elements/Makefile.am:
15267         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
15268         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15269         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15270         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
15271         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
15272         * gst/elements/gstfakesrc.h:
15273         * gst/gstqueue.c: (queue_leaky_get_type):
15274           correctly fix GEnumValues so that nick is the short lowercase
15275           dashed tag
15276         * tools/gst-inspect.c: (print_element_properties_info):
15277           also show the nick, since it's useful to use from parse_launch
15278           syntax
15279           Fixes #322139
15280
15281 2005-11-22  Michael Smith <msmith@fluendo.com>
15282
15283         * gst/gstutils.c: (gst_util_clocktime_scale):
15284         * gst/gstutils.h:
15285         * docs/gst/gstreamer-sections.txt:
15286           Add util method for scaling a clocktime by a fraction. Useful 
15287           implementation is left as an exercise for the reader.
15288
15289 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15290
15291         * gst/gstvalue.c: (gst_value_collect_fraction_range):
15292         If needed, allocate storage in the destination value during
15293         collection.
15294
15295 2005-11-22  Edward Hervey  <edward@fluendo.com>
15296
15297         * docs/gst/gstreamer-sections.txt:
15298         * gst/Makefile.am:
15299         * gst/gst.h:
15300         * gst/gsturitype.c:
15301         * gst/gsturitype.h:
15302         * gst/gstutils.c: (gst_util_set_object_arg):
15303         * tools/gst-compprep.c: (main):
15304         * tools/gst-inspect.c: (print_element_properties_info):
15305         Removed GstURI, closes bug #321061
15306
15307 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15308
15309         * check/gst/gststructure.c: (GST_START_TEST):
15310         * gst/gststructure.c: (gst_structure_parse_value):
15311           Oops, broke automatic string type parsing.
15312           Add a test to catch it in future.
15313
15314 2005-11-22  Andy Wingo  <wingo@pobox.com>
15315
15316         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
15317         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
15318         Actually rename the function implementations. Grr.
15319
15320 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15321
15322         * check/gst/capslist.h:
15323           Comment test cases
15324         * check/gst/gststructure.c: (GST_START_TEST),
15325         (gst_structure_suite):
15326           Test automatic value type detection in gst_structure_from_string.
15327         * gst/gststructure.c: (gst_structure_parse_value):
15328           Add fraction as a type we try and guess automatically in
15329           caps/structure strings.
15330
15331 2005-11-22  Andy Wingo  <wingo@pobox.com>
15332
15333         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
15334
15335         * gst/gsttagsetter.h:
15336         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
15337         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
15338         (gst_tag_setter_add_tag_valist)
15339         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
15340         _add_values, _add_valist, and _add_valist_values. Since this is an
15341         interface the function suffixes should be more explicit so
15342         language binding don't end up with element.add_valist ->
15343         gst_tag_setter_add_valist, for example. Fixes #322069.
15344
15345 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15346
15347         * check/gst/gstcaps.c: (GST_START_TEST):
15348           Extend caps string tests to check that a caps to string
15349           conversion is reversible and produces the same caps.
15350
15351         * gst/gststructure.c: (gst_structure_value_get_generic_type):
15352           Output "fraction" as the generic type fraction range, so caps
15353           serialisation and deserialisation works.
15354         * check/gst/capslist.h:
15355         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15356           Support 'MIN' and 'MAX' for deserialising fractions.
15357
15358 2005-11-22  Andy Wingo  <wingo@pobox.com>
15359
15360         * gst/gstevent.h (gst_event_new_new_segment)
15361         (gst_event_parse_new_segment, gst_event_new_buffer_size)
15362         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
15363         Renamed from *_newsegment, *_buffersize, *_notarget.
15364
15365         * scripts/update-funcnames: New script, performs the changes
15366         listed above.
15367
15368 2005-11-22  Wim Taymans  <wim@fluendo.com>
15369
15370         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15371         Make sure the GstFlowReturn is returned.
15372
15373         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
15374         (gst_bus_add_signal_watch):
15375         * gst/gstbus.h:
15376         add gst_bus_add_signal_watch_full.
15377
15378         * gst/gstplugin.c: (gst_plugin_load_file):
15379         Small style cleanup.
15380
15381 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15382
15383         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
15384           Block the fakesrc srcpad when we send an event, to avoid
15385           contention on the stream_lock causing random test failures.
15386
15387 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15388
15389         * check/gst/gstvalue.c: (GST_START_TEST):
15390         * gst/gstvalue.c: (gst_value_fraction_subtract):
15391           Fix subtraction.
15392
15393 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
15394
15395         * gst/gst.h:
15396           include "gstchildproxy.h"
15397         * gst/gstchildproxy.h:
15398         * libs/gst/controller/gstcontroller.h:
15399           use G_GNUC_NULL_TERMINATED
15400
15401 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15402
15403         * check/gst/capslist.h:
15404         * check/gst/gstcaps.c: (GST_START_TEST):
15405         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15406         * gst/gststructure.c: (gst_structure_parse_range),
15407         (gst_structure_fixate_field_nearest_fraction):
15408         * gst/gststructure.h:
15409         * gst/gstvalue.c: (gst_value_init_fraction_range),
15410         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
15411         (gst_value_collect_fraction_range),
15412         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
15413         (gst_value_set_fraction_range_full),
15414         (gst_value_get_fraction_range_min),
15415         (gst_value_get_fraction_range_max),
15416         (gst_value_serialize_fraction_range),
15417         (gst_value_transform_fraction_range_string),
15418         (gst_value_compare_fraction_range),
15419         (gst_value_deserialize_fraction_range),
15420         (gst_value_intersect_fraction_fraction_range),
15421         (gst_value_intersect_fraction_range_fraction_range),
15422         (gst_value_subtract_fraction_fraction_range),
15423         (gst_value_subtract_fraction_range_fraction),
15424         (gst_value_subtract_fraction_range_fraction_range),
15425         (gst_value_collect_fraction), (gst_value_fraction_multiply),
15426         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
15427         (gst_value_transform_string_fraction), (_gst_value_initialize):
15428         * gst/gstvalue.h:
15429           Implement fraction ranges and extend GstFraction to support
15430           arithmetic subtraction, as well as deserialization from integer
15431           strings such as "100"
15432           Add a testsuite as for int and double range set operations
15433
15434 2005-11-21  Andy Wingo  <wingo@pobox.com>
15435
15436         * gst/gsttaglist.h: 
15437         * gst/gstcaps.h: 
15438         * gst/gststructure.h: Add glib-compat.h.
15439
15440 2005-11-21  Wim Taymans  <wim@fluendo.com>
15441
15442         * gst/gstbin.c: (gst_bin_change_state_func):
15443         Fix for #321595
15444
15445 2005-11-21  Wim Taymans  <wim@fluendo.com>
15446
15447         * gst/gstsegment.h:
15448         And add a nice define too.
15449
15450 2005-11-21  Wim Taymans  <wim@fluendo.com>
15451
15452         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
15453         (gst_segment_new), (gst_segment_free), (gst_segment_init),
15454         (gst_segment_set_duration), (gst_segment_set_last_stop),
15455         (gst_segment_set_seek), (gst_segment_set_newsegment),
15456         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15457         (gst_segment_clip):
15458         * gst/gstsegment.h:
15459         Make binding friendly.
15460
15461 2005-11-21  Andy Wingo  <wingo@pobox.com>
15462
15463         * gst/gsttagsetter.h: 
15464         * gst/gsttaglist.h: 
15465         * gst/gststructure.h: 
15466         * gst/gstcaps.h: 
15467         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
15468         #319940.
15469
15470         * gst/gsterror.c (_gst_core_errors_init):
15471         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
15472         category.
15473
15474         * gst/Makefile.am (gst_headers): Add glib-compat.h.
15475         (noinst_HEADERS): noinst the -private.
15476
15477 2005-11-21  Michael Smith <msmith@fluendo.com>
15478
15479         * gst/gstplugin.h:
15480         * gst/gstregistry.h:
15481           Remove unimplemented declarations for which we can see no sensible
15482           use.
15483
15484 2005-11-21  Andy Wingo  <wingo@pobox.com>
15485
15486         * gst/gst.h: Include glib-compat.h.
15487
15488         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
15489
15490         * gst/glib-compat.c: Include the public and the private header.
15491
15492         * gst/glib-compat-private.h: Copied here from glib-compat.h.
15493
15494         * gst/gstvalue.c: 
15495         * gst/gstpad.c: 
15496         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
15497
15498         * check/gst/gstevent.c (create_custom_events): Check that
15499         FLUSH_STOP is serialized.
15500
15501         * check/elements/identity.c (event_func): 
15502         * check/elements/fakesrc.c (event_func): No stream lock, the core
15503         takes it.
15504
15505         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
15506         stream lock taking, yay.
15507
15508         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
15509         ensure that core takes the stream lock.
15510
15511         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
15512         lock name change.
15513
15514         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
15515         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
15516         it already. For the flush start we do take it though so we get the
15517         right preroll state change messages.
15518
15519         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
15520         the stream lock here, the core does it for us.
15521
15522         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
15523         GST_STREAM_GET_LOCK.
15524         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
15525         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
15526         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
15527         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
15528         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
15529         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
15530
15531         * gst/gstpad.c: Update for stream lock name change.
15532
15533         * gst/base/gstbasesink.c: Update for preroll lock name change.
15534
15535 2005-11-21  Wim Taymans  <wim@fluendo.com>
15536
15537         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
15538         (gst_clock_get_master):
15539         * gst/gstclock.h:
15540         * gst/gstsystemclock.c: (gst_system_clock_init):
15541         Convert Clock flags to object flags.
15542         Added methods to manage master/slave clocks.
15543
15544 2005-11-21  Wim Taymans  <wim@fluendo.com>
15545
15546         * check/gst/gstsegment.c: (GST_START_TEST):
15547         * docs/design/part-TODO.txt:
15548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15549         (gst_base_sink_event), (gst_base_sink_do_sync),
15550         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15551         (gst_base_sink_query), (gst_base_sink_change_state):
15552         * gst/base/gstbasesink.h:
15553         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15554         (gst_base_src_default_newsegment),
15555         (gst_base_src_configure_segment), (gst_base_src_do_seek),
15556         (gst_base_src_get_range), (gst_base_src_loop),
15557         (gst_base_src_change_state):
15558         * gst/base/gstbasesrc.h:
15559         * gst/base/gstbasetransform.c:
15560         (gst_base_transform_prepare_output_buf),
15561         (gst_base_transform_event), (gst_base_transform_change_state):
15562         * gst/base/gstbasetransform.h:
15563         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15564         (gst_collect_pads_event):
15565         * gst/base/gstcollectpads.h:
15566         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
15567         (gst_fake_src_create):
15568         * gst/elements/gstfakesrc.h:
15569         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15570         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15571         (gst_segment_set_last_stop), (gst_segment_set_seek),
15572         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15573         (gst_segment_to_running_time), (gst_segment_clip):
15574         * gst/gstsegment.h:
15575         More segment updates, replace code in plugins with segment
15576         helper functions.
15577
15578 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15579
15580         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
15581         Don't ignore sscanf results
15582
15583 2005-11-21  Andy Wingo  <wingo@pobox.com>
15584
15585         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
15586
15587         * *.h:
15588         * *.c: Ran scripts/update-macros. Oh yes.
15589
15590         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
15591         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
15592         GST_GET_LOCK, etc.
15593
15594         * scripts/update-macros: New script. Run it on your files to
15595         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
15596         well.
15597
15598 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15599
15600         * docs/gst/Makefile.am:
15601         * docs/gst/gstreamer-docs.sgml:
15602         * docs/gst/gstreamer-sections.txt:
15603         * docs/gst/gstreamer.types:
15604         * gst/gstinfo.h:
15605           more docs fixes, add new api to the docs
15606
15607 2005-11-21  Andy Wingo  <wingo@pobox.com>
15608
15609         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
15610         state_broadcast call.
15611
15612         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
15613
15614 2005-11-21  Julien MOUTTE  <julien@moutte.net>
15615
15616         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
15617         function calls for arrays.
15618
15619 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15620
15621         * docs/random/ensonic/media-device-daemon.txt:
15622           wild idea, can this be done?
15623         * docs/gst/gstreamer-sections.txt:
15624         * gst/gsterror.h:
15625         * gst/gstfilter.c:
15626         * gst/gstfilter.h:
15627         * gst/gstplugin.h:
15628         * gst/gstpluginfeature.c:
15629         * gst/gsttrace.c:
15630         * gst/gstvalue.c:
15631         * gst/gstvalue.h:
15632           doc fixes and additions
15633
15634 2005-11-21  Andy Wingo  <wingo@pobox.com>
15635
15636         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
15637         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
15638         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
15639         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
15640         private to the basesrc implementation.
15641
15642         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
15643         behalf of event function if necessary. It should no longer be
15644         necessary to take the stream lock in pad's event functions. Fixes
15645         #320299.
15646
15647 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15648         * docs/gst/gstreamer-sections.txt:
15649         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
15650         (gst_structure_fixate_field_nearest_double),
15651         (gst_structure_fixate_field_boolean):
15652         * gst/gststructure.h:
15653         * win32/common/libgstreamer.def:
15654         * win32/gstreamer.def:
15655
15656         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
15657         (#322027)
15658
15659 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15660
15661         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
15662         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
15663         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
15664         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
15665         (gst_fdsrc_uri_handler_init):
15666         * gst/elements/gstfdsrc.h:
15667           Port fd:// URI handler from 0.8 to fdsrc
15668
15669 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15670
15671         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
15672         (gst_value_serialize_fourcc):
15673         * gst/gstvalue.h:
15674           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
15675           consistent with our other format defines (#320324).
15676
15677 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15678
15679         * gst/gstvalue.c: (gst_value_is_fixed):
15680           Revert previous commit. Value lists are by definition
15681           not fixed, as they are a list of possible values.
15682
15683 2005-11-21  Andy Wingo  <wingo@pobox.com>
15684
15685         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
15686         during the stable series if we need it. Fixes #319178.
15687
15688         * gst/gstevent.c (gst_event_new_filler): Removed.
15689
15690         * check/gst/gstevent.c: Update comment about filler events.
15691
15692 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15693
15694         * gst/gstvalue.c: (gst_value_is_fixed):
15695           Should handle both value arrays and value lists.
15696
15697 2005-11-21  Andy Wingo  <wingo@pobox.com>
15698
15699         patch by: Alessandro Dessina <alessandro nnva org>
15700
15701         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
15702         functions to access arrays. Fixes #321962.
15703
15704 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15705
15706         * docs/gst/gstreamer.types:
15707           gst_collectpads_get_type => gst_collect_pads_get_type.
15708           
15709         * gst/base/gstbasetransform.c:
15710           Remove unused SIGNAL_HANDOFF enum.
15711
15712 2005-11-21  Andy Wingo  <wingo@pobox.com>
15713
15714         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
15715         the event type (upstream, downstream, serialized). Renamed
15716         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
15717         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
15718         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
15719
15720         * gst/gstevent.c: Update for new CUSTOM event names.
15721
15722         * check/gst/gstevent.c: Update check for new CUSTOM event names.
15723
15724         * gst/gstevent.h:
15725         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
15726         bug #319392.
15727
15728 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15729
15730         * docs/gst/gstreamer-sections.txt:
15731         * win32/common/libgstbase.def:
15732         * win32/libgstbase.def:
15733         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15734         (gst_collect_pads_class_init), (gst_collect_pads_init),
15735         (gst_collect_pads_finalize), (gst_collect_pads_new),
15736         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
15737         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
15738         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
15739         (gst_collect_pads_start), (gst_collect_pads_stop),
15740         (gst_collect_pads_peek), (gst_collect_pads_pop),
15741         (gst_collect_pads_available), (gst_collect_pads_read),
15742         (gst_collect_pads_flush), (gst_collect_pads_event),
15743         (gst_collect_pads_chain):
15744         * gst/base/gstcollectpads.h:
15745           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
15746           unimplemented functions as unimplemented. Add padding to
15747           GstCollectData. (#320766, #320423)
15748
15749 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15750
15751         * gst/gstmessage.c:
15752           Improve docs for DURATION message (usage of duration parameter)
15753           (#320113)
15754
15755 2005-11-20  Wim Taymans  <wim@fluendo.com>
15756
15757         * check/Makefile.am:
15758         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
15759         (main):
15760         * gst/Makefile.am:
15761         * gst/gst.h:
15762         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15763         (gst_segment_set_seek), (gst_segment_set_newsegment),
15764         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15765         (gst_segment_clip):
15766         * gst/gstsegment.h:
15767         Added segment helper structure and methods. Not fully implemented
15768         yet.
15769         Added segment check.
15770
15771 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
15772
15773         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15774           Add a deserialisation test for fractions
15775         * examples/metadata/read-metadata.c: (message_loop),
15776         (make_pipeline), (main):
15777           Fix up metadata reading sample.
15778         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15779           Debug format fix
15780         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15781           Don't try and fixate empty caps
15782         * gst/gst_private.h:
15783           Wrap in G_BEGIN_DECLS/G_END_DECLS
15784         * gst/gstvalue.c: (gst_value_collect_fraction),
15785         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
15786         (gst_value_transform_string_fraction),
15787         (gst_value_compare_fraction):
15788           Add some extra guards to ensure that we don't end up 
15789           with an invalid denominator of 0 in a gstfraction and
15790           that fractions always get reduced.
15791
15792 2005-11-20  Wim Taymans  <wim@fluendo.com>
15793
15794         * docs/gst/gstreamer-sections.txt:
15795         * gst/gstbuffer.h:
15796         * gst/gstelement.c:
15797         * gst/gstformat.c:
15798         * gst/gstformat.h:
15799         * gst/gstindex.h:
15800         * gst/gstquery.c:
15801         * gst/gstquery.h:
15802         * gst/gstvalue.c:
15803         Doc fixes.
15804
15805 2005-11-20  Wim Taymans  <wim@fluendo.com>
15806
15807         * docs/design/part-TODO.txt:
15808         * gst/gstcaps.h:
15809         Make a proper enum of the flag.
15810
15811 2005-11-19  Wim Taymans  <wim@fluendo.com>
15812
15813         * docs/design/part-TODO.txt:
15814         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
15815         (gst_format_to_quark), (gst_format_register):
15816         * gst/gstformat.h:
15817         * gst/gstquery.c: (_gst_query_initialize),
15818         (gst_query_type_get_name), (gst_query_type_to_quark),
15819         (gst_query_type_register):
15820         * gst/gstquery.h:
15821         Add type to quark and type to string conversions.
15822
15823 2005-11-19  Andy Wingo  <wingo@pobox.com>
15824
15825         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
15826         #320097.
15827
15828 2005-11-19  Wim Taymans  <wim@fluendo.com>
15829
15830         * docs/design/part-TODO.txt:
15831         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15832         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
15833         (gst_bin_handle_message_func):
15834         * gst/gstbin.h:
15835         Make message handling overridable.
15836
15837 2005-11-19  Andy Wingo  <wingo@pobox.com>
15838
15839         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
15840
15841         * gst/gstclock.h:
15842         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
15843         be a GstClockTime.
15844         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
15845         is a GstClockTime. Fixes #321710.
15846
15847         * gst/gstclock.h (GstClock): Remove offset property. Add
15848         internal_calibration and external_calibration. Fix padding. Pad
15849         also by GstClockTime so we don't run into problems.
15850
15851         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
15852         (gst_clock_get_rate_offset): Remove.
15853         (gst_clock_set_time_adjust): Remove. Fixes #321712.
15854
15855         * gst/gstutils.h:
15856         * gst/gstutils.c (g_static_rec_cond_wait)
15857         (g_static_rec_cond_timed_wait): Removed, no longer needed.
15858
15859         * gst/gstbin.c: Remove terrible continue_state prototype.
15860
15861         * gst/gstelement.h (gst_element_continue_state): Make public.
15862
15863         * gst/gstelement.h:
15864         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
15865         by continue_state. Fixes #319389.
15866
15867         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
15868         Really fixes #168438. However I don't see anywhere where the
15869         filter function is called... stupid GStreamer...
15870         
15871         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
15872         don't have a dispose function, so it won't get called when the
15873         object is unreffed, but oh well!
15874
15875         * gst/gstindex.c (gst_index_set_filter_full): New API function,
15876         allows a destroy function to be set so user_data can be freed.
15877         Fixes #168438.
15878         (gst_index_set_filter): Call gst_index_set_filter_full.
15879
15880         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
15881
15882         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
15883         string should produce an error, given the lack of a way to
15884         represent NULL strings. Fixes #165650.
15885         
15886         * gst/gstvalue.h: 
15887         * gst/gstvalue.c (gst_value_array_append_value) 
15888         (gst_value_array_prepend_value, gst_value_array_get_size) 
15889         (gst_value_array_get_value): New API, copied from
15890         gst_value_list_*, only operates on arrays.
15891         (gst_value_list_append_value, gst_value_list_prepend_value) 
15892         (gst_value_list_concat, gst_value_list_get_size) 
15893         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
15894
15895         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
15896         init_list, because it works on both.
15897         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
15898         (gst_value_copy_list_or_array): Renamed from copy_list.
15899         (gst_value_free_list_or_array): Renamed from free_list.
15900         (gst_value_collect_list_or_array): Renamed from collect_list.
15901         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
15902         (gst_value_list_or_array_peek_pointer): Renamed from
15903         list_peek_pointer.
15904         (_gst_value_array_value_table, _gst_value_list_value_table):
15905         Update value table functions.
15906         (gst_value_compare_list_or_array): Renamed from compare_list.
15907
15908         * gsttaglist.h: Whoops, foreach function returns void. Also fix
15909         some constness.
15910
15911         * gst/gsttaglist.c:
15912         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
15913         GstTagList*. Fixes #143472.
15914
15915         * gst/gststructure.h: Clarify what the foreach/map functions can
15916         or can't do to their arguments.
15917
15918 2005-11-18  Wim Taymans  <wim@fluendo.com>
15919
15920         * gst/gstclock.c: (gst_clock_set_calibration),
15921         (gst_clock_get_calibration):
15922         Doc and API fixes.
15923         Calibration can be set with internal time equal to current
15924         internal time too.
15925
15926 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15927
15928         * gst/gsterror.c:
15929         * gst/gsterror.h:
15930           document
15931
15932 2005-11-18  Andy Wingo  <wingo@pobox.com>
15933
15934         * configure.ac: 
15935         * pkgconfig/gstreamer-net.pc.in:
15936         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15937         * pkgconfig/Makefile.am: Add net pkgconfig files.
15938
15939 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
15940
15941         * gst/gstcaps.c:
15942         * gst/gstghostpad.c:
15943         * gst/gsttrace.c:
15944         * gst/gstvalue.c:
15945         * gst/gstvalue.h:
15946           docs fixes
15947
15948 2005-11-18  Andy Wingo  <wingo@pobox.com>
15949
15950         * gst/net/gstnetclientclock.c: Turn off debugging.
15951
15952         * check/net/gstnetclientclock.c (test_functioning): Assert that the
15953         times connverge somewhat. Can't make a real test.
15954
15955         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
15956         integer arithmetic. Return the minimum of the domain, which can be
15957         set as "internal" for gst_clock_set_calibration.
15958         (gst_net_client_clock_observe_times): Call _set_calibration.
15959         (gst_net_client_clock_new): Call _set_calibration instead of
15960         rate_offset.
15961
15962         * check/net/gstnetclientclock.c (test_functioning): Use the right
15963         adjustment api.
15964
15965         * gst/gstclock.h:
15966         * gst/gstclock.c (gst_clock_get_calibration) 
15967         (gst_clock_set_calibration): New functions, obsolete the ones I
15968         added yesterday. Doh. Precision issues mean we have to extrapolate
15969         from a point in the more recent past than 1970.
15970         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
15971         obsolete.
15972         (gst_clock_adjust_unlocked): Use the right calibration data.
15973
15974 2005-11-18  Edward Hervey  <edward@fluendo.com>
15975
15976         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
15977         Also reset the ->current_* values in READY->PAUSED
15978
15979 2005-11-18  Andy Wingo  <wingo@pobox.com>
15980
15981         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
15982         Whoops, check the right fd. Also add some debugging.
15983         (gst_net_client_clock_observe_times): Adjust for int64 offset.
15984         (do_linear_regression): Add a crapload of debugging. Subtract off
15985         the minimum values from the input series to discard unneeded bits.
15986         Use only int arithmetic. There is still double arithmetic when
15987         calculating the intercept that needs fixing. Return boolean to
15988         indicate success; FALSE would mean the domain or range is too
15989         great. Still needs fixes.
15990
15991 2005-11-18  Wim Taymans  <wim@fluendo.com>
15992
15993         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15994         For the current position in stream time, we need to subtract
15995         accumulated time.
15996         
15997         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15998         Release lock before calling the callback function of async
15999         entries.
16000
16001 2005-11-18  Andy Wingo  <wingo@pobox.com>
16002
16003         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
16004         Port goes all the way to MAXUINT16.
16005
16006         * gst/net/gstnettimeprovider.c: Make the port range the same as
16007         for the kernel: 0 assigns, otherwise ports are less than
16008         MAXUINT16.
16009
16010         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
16011         port change.
16012
16013         * check/net/gstnetclientclock.c (test_functioning): Add the start
16014         of another test. 
16015
16016 2005-11-18  Wim Taymans  <wim@fluendo.com>
16017
16018         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
16019         (gst_bin_remove_func), (bin_bus_handler):
16020         * gst/gstbin.h:
16021         Removing a clock provider from a bin, triggers a clock lost message
16022         so that a new clock will be selected.
16023         Adding a clock to a bin triggers a clock provider message.
16024         Make sure we reselect a clock when we received a clock lost message.
16025         Keep a reference to the element that provided the clock.
16026
16027 2005-11-18  Andy Wingo  <wingo@pobox.com>
16028
16029         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
16030         the clock initially so it produces values around the base time.
16031         (gst_net_client_clock_class_init): Typo fix.
16032         (gst_net_client_clock_thread): Add note on when the socket gets
16033         closed.
16034
16035 2005-11-17  Wim Taymans  <wim@fluendo.com>
16036
16037         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
16038         Free remote and local time arrays.
16039
16040 2005-11-17  Wim Taymans  <wim@fluendo.com>
16041
16042         * gst/net/gstnetclientclock.c: (do_linear_regression),
16043         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
16044         Fix compilation, uninitialized vars and a forgotten continue.
16045
16046 2005-11-17  Andy Wingo  <wingo@pobox.com>
16047
16048         * check/Makefile.am (check_PROGRAMS): 
16049         * check/net/gstnetclientclock.c: Add a most minimal test for the
16050         net client clock. More to come later.
16051
16052         * gst/net/gstnet.h: 
16053         * gst/net/Makefile.am: Add netclientclock.
16054
16055         * gst/net/gstnetclientclock.h:
16056         * gst/net/gstnetclientclock.c: New files, implement an untested
16057         GstClock that takes its time from a network time provider.
16058         Implements the algorithm in network-clock.scm.
16059
16060         * tests/network-clock.scm (*window-size*): Rename from
16061         *queue-length*.
16062         * tests/network-clock.scm (network-time): 
16063         * tests/network-clock-utils.scm (q-push): Update callers.
16064
16065 2005-11-17  Wim Taymans  <wim@fluendo.com>
16066
16067         * gst/gstbin.c: (gst_bin_provide_clock_func),
16068         (gst_bin_sort_iterator_new):
16069         And unref the child too..
16070
16071 2005-11-17  Wim Taymans  <wim@fluendo.com>
16072
16073         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16074         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
16075         Refactor the sort iterator so it can be used while holding the
16076         LOCK too.
16077         Make clock selection select a clock closest to the source.
16078
16079 2005-11-17  Michael Smith <msmith@fluendo.com>
16080
16081         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
16082         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
16083         * gst/gstclock.h:
16084           Anonymous structs are a gcc (and some other compilers) extension, so
16085           don't use them. Since this is only for ABI-compatibility, and our
16086           API/ABI freeze is over in a few days, this whole thing will only
16087           last a few days, so don't bother trying to think up a meaningful
16088           name for the struct.
16089
16090 2005-11-17  Andy Wingo  <wingo@pobox.com>
16091
16092         * gst/gstclock.h (GstClock): Add rate and offset properties,
16093         preserving ABI stability. Add rate/offset accessors. Will file bug
16094         for the freeze break.
16095
16096         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
16097         and offset, trying to keep precision and avoiding
16098         underflow/overflow.
16099         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
16100         functions. Make gst_clock_set_time_adjust obsolete.
16101         (gst_clock_set_time_adjust): Note that this function is obsolete.
16102         Will file bug soon.
16103
16104         * gst/base/gstbasetransform.h: Make the ABI-stability hack
16105         greppable by using GST_PADDING-1+1.
16106
16107 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
16108
16109         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16110
16111         * gst/gstmessage.c: (gst_message_parse_clock_lost):
16112           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
16113
16114         * gst/gstpadtemplate.h:
16115         * gst/gstpluginfeature.h:
16116           Don't use c++ style comments in headers (#321638).
16117
16118 2005-11-16  Andy Wingo  <wingo@pobox.com>
16119
16120         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
16121         buffer.
16122
16123         * check/net/gstnettimeprovider.c: Check to see that the time
16124         provider actually provides times. Works, yo!
16125
16126 2005-11-16  Wim Taymans  <wim@fluendo.com>
16127
16128         * check/Makefile.am:
16129         Enable more tests.
16130
16131         * check/elements/fakesrc.c: (GST_START_TEST):
16132         Set element to NULL before disposing it.
16133
16134 2005-11-16  Andy Wingo  <wingo@pobox.com>
16135
16136         * gst/net/Makefile.am:
16137         * gst/net/gstnet.h:
16138         * gst/net/gstnettimeprovider.c: 
16139         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
16140         provider, include it from gstnet.h, and add it to the build.
16141
16142         * gst/net/gstnettimepacket.h: 
16143         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
16144         sending and receiving.
16145
16146 2005-11-16  Wim Taymans  <wim@fluendo.com>
16147
16148         * check/Makefile.am:
16149         Enable valgrind check.
16150
16151         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
16152         (gst_fake_src_alloc_buffer):
16153         Fix memleak.
16154
16155 2005-11-16  Wim Taymans  <wim@fluendo.com>
16156
16157         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
16158         Call parent finalize too.
16159
16160 2005-11-16  Wim Taymans  <wim@fluendo.com>
16161
16162         * check/Makefile.am:
16163         Enable valgrind check that should work fine now.
16164
16165         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16166         * gst/gstqueue.c: (gst_queue_init):
16167         Fix memleaks in pad allocation.
16168
16169 2005-11-16  Andy Wingo  <wingo@pobox.com>
16170
16171         * gst/net/Makefile.am:
16172         * gst/net/gstnet.h: New part of core to hold network elements and
16173         objects. Put in core because it exposes API that applications want
16174         to use. The library is named libgstnet-tempname right now because
16175         of the existing libgstnet in gst-plugins-base. Solution is
16176         probably to rename the one in plugins-base; will file a bug for
16177         the freeze break.
16178
16179         * gst/net/gstnettimeprovider.c: 
16180         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
16181         get_time call over the network.
16182
16183         * configure.ac: 
16184         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
16185
16186         * check/Makefile.am:
16187         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
16188         get additions shortly.
16189
16190 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16191
16192         * gst/gstpad.c: (gst_pad_new_from_static_template):
16193         * gst/gstpad.h:
16194           add gst_pad_new_from_static_template functions
16195         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
16196         (gst_check_setup_sink_pad):
16197         * gst/elements/gsttee.c: (gst_tee_init):
16198           and use them
16199
16200 2005-11-16  Wim Taymans  <wim@fluendo.com>
16201
16202         * gst/gstpad.c: (gst_pad_pause_task):
16203         Removed warning, it's not really an error either.
16204
16205 2005-11-16  Wim Taymans  <wim@fluendo.com>
16206
16207         * gst/base/gstbasetransform.c:
16208         (gst_base_transform_prepare_output_buf),
16209         (gst_base_transform_event):
16210         Check if the caps are NULL, this can happen if the element
16211         is shutting down and the pad caps are set to NULL.
16212
16213 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16214
16215         * gst/elements/gsttee.c: (gst_tee_init):
16216           fix pad template leak in tee
16217
16218 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16219
16220         * gst/glib-compat.c: (g_value_dup_gst_object):
16221         * gst/glib-compat.h:
16222         * gst/gstpad.c: (gst_pad_set_property):
16223           use gst_object_ref when setting the pad template; this will
16224           trigger the pad template leaks on GLib 2.6 and the slaves
16225
16226 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16227
16228         * gst/glib-compat.c: (gst_flags_get_first_value):
16229         * gst/glib-compat.h:
16230         * gst/gstregistryxml.c:
16231           remove functions copied from GLib 2.6
16232
16233 2005-11-16  Michael Smith <msmith@fluendo.com>
16234
16235         * gst/Makefile.am:
16236           Don't link against VALGRIND_LIBS. That was always the wrong thing to
16237           do, but only breaks with newer valgrind versions. We're not a
16238           valgrind tool, we have no link-time dependencies on libcoregrind.
16239
16240 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16241
16242         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16243           some debug changes
16244         * gst/gstmessage.h:
16245           typo fixes
16246
16247 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16248
16249         * gst/base/gstbasesrc.c: (gst_base_src_init):
16250         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16251         * gst/gstqueue.c: (gst_queue_init):
16252         * gst/gstregistryxml.c: (load_feature):
16253           Revert all these unrefs, they don't even pass make check !
16254
16255 2005-11-15  Johan Dahlin  <johan@gnome.org>
16256
16257         * gst/base/gstbasesrc.c: (gst_base_src_init):
16258         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16259         * gst/gstqueue.c: (gst_queue_init): 
16260         Free pad templates, fixes a couple of leaks.
16261
16262 2005-11-15  Daniel Fischer  <dan at f3c dot com>
16263
16264         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16265
16266         * gst/gstpad.c: (gst_pad_get_property):
16267           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
16268           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
16269           (#321452)
16270
16271 2005-11-15  Wim Taymans  <wim@fluendo.com>
16272
16273         * gst/gstevent.c:
16274         Small doc update.
16275
16276 2005-11-15  Andy Wingo  <wingo@pobox.com>
16277
16278         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
16279
16280         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
16281         using GST_CLOCK_TIME_NONE to disable base time management.
16282         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
16283         time if it was NONE before.
16284         (gst_pipeline_change_state): Only munge the base time if
16285         stream_time != GST_CLOCK_TIME_NONE.
16286
16287         * check/gst/gstpipeline.c (test_base_time): Punt around the
16288         problem of the probe not being called, because that's not the
16289         issue I'm looking at. Add a check that setting stream_time to NONE
16290         disables base time management.
16291         
16292 2005-11-15  Wim Taymans  <wim@fluendo.com>
16293
16294         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
16295         segment_stop == -1 at startup.
16296
16297         * gst/base/gstbasetransform.c: (gst_base_transform_event),
16298         (gst_base_transform_change_state):
16299         Init segment values at start.
16300
16301 2005-11-15  Wim Taymans  <wim@fluendo.com>
16302
16303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16304         0 segment values are 0 in any format.
16305
16306         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16307         * gst/base/gstbasetransform.h:
16308         Parse newsegment correctly in basetransform
16309
16310         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16311         Sync to clock using updated segment values.
16312
16313 2005-11-15  Andy Wingo  <wingo@pobox.com>
16314
16315         * check/gst/gstpipeline.c (test_base_time): Add check that the
16316         base time and stream time are reset correctly.
16317
16318 2005-11-15  Wim Taymans  <wim@fluendo.com>
16319
16320         * docs/design/part-TODO.txt:
16321         Some more TODO items.
16322
16323 2005-11-15  Andy Wingo  <wingo@pobox.com>
16324
16325         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
16326         error if the user selected "no clock" as the clocking method.
16327
16328         * check/gst/gstpipeline.c (test_base_time): New test for buffer
16329         timestamps with live capture.
16330
16331         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
16332         is 0 but we are a live source, timestamp the buffers using the
16333         element's clock.
16334
16335 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
16336
16337         * docs/gst/gstreamer-sections.txt:
16338         * gst/gsterror.c:
16339         * gst/gstghostpad.c:
16340         * gst/gstobject.h:
16341         * gst/gstxml.c:
16342           more section docs
16343
16344 2005-11-14  Wim Taymans  <wim@fluendo.com>
16345
16346         * common/gst.supp:
16347           add suppressions from Wim's Debian machine
16348
16349 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16350
16351         * common/gst.supp:
16352           add suppressions from Andy's AMD64 Ubuntu machine
16353
16354 2005-11-14  Andy Wingo  <wingo@pobox.com>
16355
16356         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
16357         STATE_LOCK not necessary. Fixes #311489.
16358
16359         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
16360         #305291.
16361
16362         * gst/gstindex.c (gst_index_add_object): Note in the docs that
16363         this function is not implemented.
16364
16365 2005-11-14  Julien MOUTTE  <julien@moutte.net>
16366
16367         * gst/base/gstbasetransform.c:
16368         (gst_base_transform_prepare_output_buf):
16369         Ref the source pad caps while we need them.
16370         Fixes (#321386)
16371
16372 2005-11-11  Wim Taymans  <wim@fluendo.com>
16373
16374         * docs/gst/gstreamer-sections.txt:
16375         Added some docs for GstCollectData.
16376
16377         * gst/base/gstadapter.c:
16378         Some small code example fix.
16379
16380         * gst/base/gstcollectpads.c:
16381         * gst/base/gstcollectpads.h:
16382         Document some more.
16383
16384 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16385
16386         * configure.ac: back to HEAD
16387
16388 === release 0.9.5 ===
16389
16390 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
16391
16392         * configure.ac:
16393           releasing 0.9.5, "Bike Lunch Day"
16394
16395 2005-11-11  Wim Taymans  <wim@fluendo.com>
16396
16397         * gst/gstbuffer.c: (_gst_buffer_copy):
16398         Copy more flags.
16399
16400         * gst/gstcaps.c: (gst_caps_is_equal):
16401         Fix some docs.
16402         Make _is_equal fast in the trivial cases.
16403
16404         * gst/gstminiobject.c:
16405         * gst/gstminiobject.h:
16406         More docs. Spifify .h file.
16407
16408         * gst/gstutils.c:
16409         Small doc update.
16410
16411 2005-11-11  Wim Taymans  <wim@fluendo.com>
16412
16413         * gst/base/gstbasetransform.c:
16414         (gst_base_transform_prepare_output_buf),
16415         (gst_base_transform_handle_buffer):
16416         Small cleanups.
16417         If we're processing a buffer and need to allocate an output
16418         buffer, we cannot accept a format change. If we did get a 
16419         format change, we have to alloc a buffer ourselves of the 
16420         right size.
16421
16422 2005-11-11  Wim Taymans  <wim@fluendo.com>
16423
16424         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
16425         While checking the flag for reentrancy in the gstcaps function
16426         is nice to detect recursive invocations, it also makes it 
16427         impossible to call getcaps from multiple threads, which must be
16428         possible. So, checking for recursive calls has to go.
16429
16430 2005-11-11  Michael Smith <msmith@fluendo.com>
16431
16432         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16433           Don't sync on buffers that fall partially outside our current
16434           segment. Prevents an assertion failure/abort playing some files.
16435
16436 2005-11-10  Andy Wingo  <wingo@pobox.com>
16437
16438         * check/gst/gstbin.c (test_message_state_changed_children): Style
16439         fix..
16440
16441         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
16442         gst_bus_poll with the signal watch. Ensures that poll and a signal
16443         watch see the same messages.
16444
16445         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
16446         a poll and a watch at the same time get the same messages.
16447
16448 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16449
16450         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
16451         * gst/gstcaps.c: (gst_caps_intersect):
16452           Don't call gst_caps_do_simplify - it doesn't respect order of caps
16453           and it's not needed.
16454
16455 2005-11-10  Wim Taymans  <wim@fluendo.com>
16456
16457         * docs/design/part-TODO.txt:
16458         Updated todo.
16459
16460 2005-11-10  Wim Taymans  <wim@fluendo.com>
16461
16462         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16463         * gst/base/gstbasesrc.c: (gst_base_src_wait),
16464         (gst_base_src_do_sync), (gst_base_src_get_range):
16465         Implement clock sync in base class.
16466
16467 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16468
16469         patch by: Tim-Philipp Müller <tim at centricular dot net>
16470
16471         * gst/gststructure.c: (gst_structure_parse_field),
16472         (gst_structure_from_string):
16473           Forward-port a 0.8 patch to handle escaped spaces in structure string,
16474           so that gst_parse_launch() can deal with spaces in filtered link
16475           caps (fixes #164479)
16476         * check/gst/capslist.h:
16477         * check/gst/gststructure.c: (GST_START_TEST):
16478           add unit tests for this change
16479
16480 2005-11-10  Wim Taymans  <wim@fluendo.com>
16481
16482         * docs/gst/gstreamer-sections.txt:
16483         * gst/gstelement.c:
16484         * gst/gstelement.h:
16485         Fix docs, move some STATE macros to private.
16486
16487 2005-11-10  Wim Taymans  <wim@fluendo.com>
16488
16489         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
16490         Added check for bug #317341
16491
16492         * gst/gstbuffer.c:
16493         * gst/gstbuffer.h:
16494         Some more spiffifying.
16495
16496         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
16497         Call peer linkfunction if we are a source pad. Totally fixes
16498         #317341
16499
16500         * gst/gstpad.c:
16501         Update docs, source pads should call the peer linkfunction
16502         so they can atomically perform the pad link.
16503
16504 2005-11-09  Wim Taymans  <wim@fluendo.com>
16505
16506         * gst/gstbuffer.c:
16507         * gst/gstbuffer.h:
16508         Uber-spiffy-spiffify some more.
16509
16510 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
16511
16512         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
16513         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16514         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16515         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
16516         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
16517         * gst/gstpad.c: (gst_pad_init):
16518           Use GST_DEBUG_FUNCPTR() more extensively.
16519
16520 2005-11-09  Wim Taymans  <wim@fluendo.com>
16521
16522         * gst/gstobject.c: (gst_object_class_init):
16523         * gst/gstobject.h:
16524         Documentation fixes.
16525
16526 2005-11-09  Edward Hervey  <edward@fluendo.com>
16527
16528         * gst/gsttypefindfactory.c:
16529         Fix docs.
16530         
16531 2005-11-09  Edward Hervey  <edward@fluendo.com>
16532
16533         * gst/base/gsttypefindhelper.c:
16534         * gst/gsttypefind.c:
16535         * gst/gsttypefind.h:
16536         Fix docs.
16537
16538 2005-11-09  Wim Taymans  <wim@fluendo.com>
16539
16540         * gst/gstiterator.c:
16541         Fix revision data.
16542
16543         * gst/gsttask.c:
16544         * gst/gsttask.h:
16545         Fix docs.
16546
16547 2005-11-09  Wim Taymans  <wim@fluendo.com>
16548
16549         * gst/gstevent.h:
16550         * gst/gsturi.h:
16551         Fix docs.
16552
16553 2005-11-09  Wim Taymans  <wim@fluendo.com>
16554
16555         * docs/gst/gstreamer-sections.txt:
16556         Moved the message async delivery private lock and cond
16557         to the private section.
16558
16559         * gst/gstmessage.c:
16560         * gst/gstmessage.h:
16561         Fixed docs.
16562
16563 2005-11-09  Edward Hervey  <edward@fluendo.com>
16564
16565         * docs/gst/gstreamer-sections.txt:
16566         * gst/gsturi.c:
16567         * gst/gsturi.h:
16568         Document GstURIHandler
16569
16570 2005-11-09  Wim Taymans  <wim@fluendo.com>
16571
16572         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
16573         (gst_iterator_find_custom):
16574         * gst/gstiterator.h:
16575         Fix iterator docs.
16576
16577 2005-11-09  Wim Taymans  <wim@fluendo.com>
16578
16579         * gst/gstbin.h:
16580         Document another field.
16581
16582         * gst/gststructure.c:
16583         * gst/gststructure.h:
16584         Document.
16585
16586 2005-11-09  Wim Taymans  <wim@fluendo.com>
16587
16588         * gst/gstbin.h:
16589         Documented structs.
16590
16591 2005-11-09  Wim Taymans  <wim@fluendo.com>
16592
16593         * docs/gst/gstreamer-sections.txt:
16594         Added some new macros.
16595
16596         * gst/gstclock.c:
16597         * gst/gstclock.h:
16598         * gst/gstobject.h:
16599         Docs updates.
16600
16601 2005-11-09  Wim Taymans  <wim@fluendo.com>
16602
16603         * docs/design/part-TODO.txt:
16604         Some more items for the TODO
16605
16606         * gst/gstcaps.c:
16607         * gst/gstcaps.h:
16608         Document GstCaps.
16609
16610 2005-11-09  Andy Wingo  <wingo@pobox.com>
16611
16612         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
16613         to work on something else now tho...
16614
16615         * gst/base/gstadapter.c: More adapter docs.
16616
16617         * gst/elements/gstfilesink.c (gst_file_sink_start) 
16618         (gst_file_sink_stop): New functions, replace the state change
16619         handler.
16620         (gst_file_sink_class_init): Hook up the start and stop functions.
16621         (gst_file_sink_base_init): Don't set the state change handler any
16622         more. It was a bit ugly too, being set from here...
16623         (gst_file_sink_get_property, gst_file_sink_set_property):
16624         Cleanups...
16625         (gst_file_sink_set_location): More robust check that doesn't call
16626         GST_STATE. Ugggggg.
16627
16628 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
16629
16630         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16631           Hold STREAM_LOCK while pushing newsegment or tag events as well.
16632
16633 2005-11-08  Wim Taymans  <wim@fluendo.com>
16634
16635         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16636         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16637         (gst_base_sink_chain), (gst_base_sink_change_state):
16638         * gst/base/gstbasesink.h:
16639         * gst/base/gstbasesrc.h:
16640         * gst/gstelement.h:
16641         * gst/gstevent.h:
16642         Avoid excessive typechecking in macros.
16643
16644         * gst/gstminiobject.c: (gst_mini_object_get_type),
16645         (gst_mini_object_init), (gst_mini_object_new),
16646         (gst_mini_object_free):
16647         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16648         (gst_object_finalize):
16649         Remove cruft code, optimize alloc_trace.
16650
16651 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16652
16653         * docs/faq/gst-uninstalled:
16654           fix up PS1 for systems that try to reset it
16655
16656 2005-11-07  Wim Taymans  <wim@fluendo.com>
16657
16658         * gst/base/gstbasesrc.c: (gst_base_src_init),
16659         (gst_base_src_get_range):
16660         Set the segment_end to -1 initially. Fixed typefind.
16661
16662 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
16663
16664         * gst/base/gstadapter.c:
16665           Debug category should be 'adapter', not 'GstAdapter'.
16666           
16667         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
16668         (gst_collectpads_class_init), (gst_collectpads_init),
16669         (gst_collectpads_peek), (gst_collectpads_pop),
16670         (gst_collectpads_event), (gst_collectpads_chain):
16671           Add debug category and some debugging output. Use boilerplate
16672           macros. Remove some extraneous words from docs.
16673
16674 2005-11-05  Andy Wingo  <wingo@pobox.com>
16675
16676         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
16677         macro.
16678
16679 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16680
16681         * docs/gst/gstreamer-sections.txt:
16682         * gst/gstcaps.h:
16683         * gst/gstinfo.c:
16684         * gst/gstminiobject.h:
16685         * gst/gstobject.h:
16686         * gst/gstutils.h:
16687           more docs added
16688
16689 2005-11-04  Wim Taymans  <wim@fluendo.com>
16690
16691         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16692         Small update to stop at the configured segment_end
16693         position.
16694
16695 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16696
16697         * gst/gstregistry.c:
16698         * gst/gstregistry.h:
16699           added missing docs
16700
16701 2005-11-04  Edward Hervey  <edward@fluendo.com>
16702
16703         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16704         Check if we are doing a segment seek and have arrived at the
16705         end of that segment.
16706
16707 2005-11-04  Wim Taymans  <wim@fluendo.com>
16708
16709         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
16710         Don't leak a mutex unlock in case of an error.
16711
16712         * gst/gstbus.h:
16713         Doc fixes.
16714
16715 2005-11-04  Wim Taymans  <wim@fluendo.com>
16716
16717         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
16718         (gst_bus_post):
16719         Get the context to wake up only once.
16720
16721 2005-11-03  Wim Taymans  <wim@fluendo.com>
16722
16723         * check/states/sinks.c: (GST_START_TEST):
16724         Uncomment fixed check.
16725
16726         * docs/design/part-TODO.txt:
16727         Updated TODO.
16728
16729         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16730         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16731         (gst_base_sink_get_position):
16732         If we are going to PLAYING, post the right pending state
16733         when we post the intermediate paused message.
16734
16735         * gst/gstelement.c: (gst_element_continue_state),
16736         (gst_element_set_state_func), (gst_element_change_state):
16737         Don't post state changes that were between the same state
16738         and were not ASYNC.
16739
16740 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16741
16742         * docs/gst/gstreamer-sections.txt:
16743         * gst/gstcaps.h:
16744         * gst/gstinfo.c:
16745         * gst/gstminiobject.h:
16746         * gst/gstobject.h:
16747         * gst/gstutils.h:
16748           more docs and doc style fixes
16749
16750 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16751
16752         * docs/gst/gstreamer-sections.txt:
16753         * gst/gstelement.c:
16754         * gst/gstminiobject.c:
16755         doc fixes
16756
16757 2005-11-03  Andy Wingo  <wingo@pobox.com>
16758
16759         * check/states/sinks.c (test_livesrc_sink): Add checks that the
16760         state-changed messages actually have the right order and the right
16761         values.
16762
16763 2005-11-03  Wim Taymans  <wim@fluendo.com>
16764
16765         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16766         Added some more checks. Specifically the case where NO_PREROLL
16767         elements are in the pipeline.
16768
16769         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16770         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16771         (gst_base_sink_get_position):
16772         Post READY->PAUSED state change messages too.
16773         Fix bug where VOID was posted as pending state...
16774
16775         * gst/gstbin.c: (gst_bin_recalc_state):
16776         use _element_continue_state() to continue the state change.
16777
16778         * gst/gstelement.c: (gst_element_continue_state),
16779         (gst_element_commit_state), (gst_element_set_state_func),
16780         (gst_element_change_state), (gst_element_change_state_func):
16781         Lots of state change cleanups, assign the STATE_RETURN in
16782         a new continue_state() function that also propagates the
16783         last return value from a state change to the app.
16784         Update some debug statements with proper category.
16785
16786 2005-11-03  Wim Taymans  <wim@fluendo.com>
16787
16788         * docs/design/part-events.txt:
16789         * docs/design/part-gstpipeline.txt:
16790         * docs/design/part-messages.txt:
16791         * docs/design/part-overview.txt:
16792         * docs/design/part-seeking.txt:
16793         * docs/design/part-states.txt:
16794         * docs/design/part-trickmodes.txt:
16795         * docs/manual/advanced-position.xml:
16796         Small docs updates.
16797
16798         * gst/gstobject.h:
16799         People think !! is ugly, this looks better.
16800
16801         * gst/gstpad.c: (gst_pad_set_blocked_async):
16802         Remove !! since it's fixed elsewhere now.
16803
16804 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16805
16806         * gst/gstminiobject.h:
16807         * gst/gstobject.h:
16808           Add !! to _FLAG_IS_SET macros to make the result boolean.
16809
16810 2005-11-03  Edward Hervey  <edward@fluendo.com>
16811
16812         * gst/gstpad.c: (gst_pad_set_blocked_async):
16813         comparing a flag and a gboolean rarely returns coherent results...
16814         Added two characters (!!) to make that work correctly.
16815         
16816 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16817
16818         * gst/gstbus.c: (gst_bus_class_init):
16819           Fix some typos.
16820           
16821         * gst/gstqueue.c: (gst_queue_loop):
16822           Don't assume a miniobject that isn't a buffer is an
16823           event (it could be that there is a refcounting
16824           problem somewhere and the pointer is stale and
16825           refers to an already destroyed miniobject).
16826
16827 2005-11-03  Julien MOUTTE  <julien@moutte.net>
16828
16829         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
16830
16831 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16832
16833         * docs/manual/advanced-position.xml:
16834           Update seek example and explanations to current 0.9 API.
16835
16836         * gst/elements/gsttypefindelement.c:
16837         (gst_type_find_element_activate):
16838           Remove FIXME comment now that the found caps
16839           are unreffed.
16840
16841 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16842
16843         * gst/gstregistryxml.c: (load_feature):
16844           Add another GST_STR_NULL instance
16845
16846 2005-11-02  Edward Hervey  <edward@fluendo.com>
16847
16848         * gst/gstpad.c: (handle_pad_block):
16849         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
16850         
16851 2005-11-02  Wim Taymans  <wim@fluendo.com>
16852
16853         * gst/gstbin.c:
16854         Fix typo in docs.
16855
16856         * gst/gstelement.c: (gst_element_commit_state):
16857         Remove unused value.
16858
16859         * gst/gstiterator.c:
16860         Mention that the returned element is reffed in the docs.
16861
16862 2005-11-02  Wim Taymans  <wim@fluendo.com>
16863
16864         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
16865         (gst_pad_push), (gst_pad_push_event):
16866         Unlock blocked pads when they are flushed.
16867
16868 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16869
16870         * docs/README:
16871         * docs/gst/gstreamer-sections.txt:
16872         * gst/gstbin.c:
16873           doc updates
16874         * gst/gstregistry.c: (gst_registry_scan_path_level):
16875           fix for a nasty little missed situation where an installed plug-in
16876           which was in the cache did not get overridden by an uninstalled one
16877           which was earlier in the plugin path because the newly created plugin
16878           for the uninstalled one (not in the registry) didn't get its
16879           ->registered set to TRUE
16880
16881 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16882
16883         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
16884         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
16885         (gst_collectpads_is_active), (gst_collectpads_collect),
16886         (gst_collectpads_collect_range), (gst_collectpads_start),
16887         (gst_collectpads_stop), (gst_collectpads_peek),
16888         (gst_collectpads_pop), (gst_collectpads_available),
16889         (gst_collectpads_read), (gst_collectpads_flush):
16890           Guard public API with assertions.
16891         
16892         * gst/gstpad.c:
16893           Fix docs for gst_pad_set_link_function().
16894
16895 2005-11-02  Johan Dahlin  <johan@gnome.org>
16896
16897         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
16898         Unref found_caps after we used it.
16899
16900 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16901
16902         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
16903           Don't try to ref NULL.
16904
16905 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16906
16907         * win32/common/config.h.in:
16908           provide a GST_FUNCTION that just gives a string for now
16909
16910 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16911
16912         * win32/common/gstenumtypes.c: (register_gst_object_flags),
16913         (gst_object_flags_get_type), (register_gst_bin_flags),
16914         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16915         (gst_buffer_flag_get_type), (register_gst_bus_flags),
16916         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16917         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
16918         (gst_clock_return_get_type), (register_gst_clock_entry_type),
16919         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16920         (gst_clock_flags_get_type), (register_gst_state),
16921         (gst_state_get_type), (register_gst_state_change_return),
16922         (gst_state_change_return_get_type), (register_gst_state_change),
16923         (gst_state_change_get_type), (register_gst_element_flags),
16924         (gst_element_flags_get_type), (register_gst_core_error),
16925         (gst_core_error_get_type), (register_gst_library_error),
16926         (gst_library_error_get_type), (register_gst_resource_error),
16927         (gst_resource_error_get_type), (register_gst_stream_error),
16928         (gst_stream_error_get_type), (register_gst_event_type),
16929         (gst_event_type_get_type), (register_gst_seek_type),
16930         (gst_seek_type_get_type), (register_gst_seek_flags),
16931         (gst_seek_flags_get_type), (register_gst_format),
16932         (gst_format_get_type), (register_gst_index_certainty),
16933         (gst_index_certainty_get_type), (register_gst_index_entry_type),
16934         (gst_index_entry_type_get_type),
16935         (register_gst_index_lookup_method),
16936         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16937         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16938         (gst_index_resolver_method_get_type), (register_gst_index_flags),
16939         (gst_index_flags_get_type), (register_gst_debug_level),
16940         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16941         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16942         (gst_iterator_result_get_type), (register_gst_iterator_item),
16943         (gst_iterator_item_get_type), (register_gst_message_type),
16944         (gst_message_type_get_type), (register_gst_mini_object_flags),
16945         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16946         (gst_pad_link_return_get_type), (register_gst_flow_return),
16947         (gst_flow_return_get_type), (register_gst_activate_mode),
16948         (gst_activate_mode_get_type), (register_gst_pad_direction),
16949         (gst_pad_direction_get_type), (register_gst_pad_flags),
16950         (gst_pad_flags_get_type), (register_gst_pad_presence),
16951         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16952         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16953         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16954         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16955         (gst_plugin_flags_get_type), (register_gst_rank),
16956         (gst_rank_get_type), (register_gst_query_type),
16957         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16958         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16959         (gst_tag_flag_get_type), (register_gst_task_state),
16960         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16961         (gst_alloc_trace_flags_get_type),
16962         (register_gst_type_find_probability),
16963         (gst_type_find_probability_get_type), (register_gst_uri_type),
16964         (gst_uri_type_get_type), (register_gst_parse_error),
16965         (gst_parse_error_get_type):
16966         * win32/common/gstversion.h:
16967           update win32 copies
16968
16969 2005-11-01  Luca Ognibene  <luogni@tin.it>
16970
16971         * gst/gst.c:
16972           fix docs. popt is dead, long live GOption.
16973
16974 2005-10-31  Wim Taymans  <wim@fluendo.com>
16975
16976         * gst/gstbuffer.h:
16977         Small doc fix.
16978
16979 2005-10-31  Andy Wingo  <wingo@pobox.com>
16980
16981         * Boo!
16982
16983         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
16984
16985         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
16986         need to serialize property notifications on GLib 2.8. GLib 2.6 has
16987         the possibility of deadlocks here if code calling notify() or
16988         set() has a lock that can be taken in another notify handler (ABBA
16989         with class lock and e.g. python GIL state lock).
16990
16991 2005-10-28  Julien MOUTTE  <julien@moutte.net>
16992
16993         * gst/gstbus.c: Doc updates.
16994
16995 2005-10-28  Wim Taymans  <wim@fluendo.com>
16996
16997         * docs/design/part-TODO.txt:
16998         * gst/gstiterator.c:
16999         * gst/gstsystemclock.c:
17000         * gst/gstsystemclock.h:
17001         Doc updates.
17002
17003 2005-10-28  Edward Hervey  <edward@fluendo.com>
17004
17005         * docs/gst/gstreamer-docs.sgml:
17006         * docs/gst/gstreamer-sections.txt:
17007         the GstURIType documentation page is private, it only defines GstURIType
17008         which should be defined in the GstURIHandler page
17009         
17010 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17011
17012         * gst/gstbin.c: (gst_bin_class_init):
17013         * gst/gstbin.h:
17014         * gst/gstutils.c:
17015         Documentation updates.
17016
17017 2005-10-28  Wim Taymans  <wim@fluendo.com>
17018
17019         * docs/gst/gstreamer-sections.txt:
17020         * gst/gstclock.c:
17021         * gst/gstclock.h:
17022         Documented the clocks.
17023
17024 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
17025
17026         * docs/gst/gstreamer-sections.txt:
17027           move some macros to private sections
17028         * gst/gstminiobject.c:
17029         * gst/gstminiobject.h:
17030           add descriptions provided by ds and some more
17031         * gst/gstpad.h:
17032           mark macro as to be removed
17033
17034 2005-10-28  Wim Taymans  <wim@fluendo.com>
17035
17036         * docs/design/part-TODO.txt:
17037         Add an item to TODO.
17038
17039         * gst/gstiterator.c: (gst_iterator_fold),
17040         (gst_iterator_find_custom):
17041         * gst/gstiterator.h:
17042         Add iterator docs.
17043
17044 2005-10-28  Wim Taymans  <wim@fluendo.com>
17045
17046         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17047         (gst_base_transform_init):
17048         Don't leak class.
17049
17050         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
17051         An EOS event marks the queue as completely filled.
17052
17053 2005-10-27  Wim Taymans  <wim@fluendo.com>
17054
17055         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17056         (gst_base_sink_do_sync), (gst_base_sink_get_position):
17057         Some more debugging.
17058
17059         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
17060         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
17061         (gst_base_transform_event), (gst_base_transform_getrange),
17062         (gst_base_transform_chain):
17063         * gst/base/gstbasetransform.h:
17064         Fix debugging,
17065         Protect transform and concurrent buffer alloc with a new lock.
17066         Try not to break ABI/API.
17067
17068 2005-10-27  Wim Taymans  <wim@fluendo.com>
17069
17070         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17071         (gst_base_src_init), (gst_base_src_query),
17072         (gst_base_src_default_newsegment),
17073         (gst_base_src_configure_segment), (gst_base_src_do_seek),
17074         (gst_base_src_send_event), (gst_base_src_event_handler),
17075         (gst_base_src_pad_get_range), (gst_base_src_loop),
17076         (gst_base_src_unlock), (gst_base_src_default_negotiate),
17077         (gst_base_src_start), (gst_base_src_deactivate),
17078         (gst_base_src_activate_push), (gst_base_src_change_state):
17079         Move some stuff around and cleanup things.
17080
17081 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
17082
17083         * gst/base/gstbasesrc.c: (gst_base_src_query):
17084           Add missing break statements.
17085
17086 2005-10-27  Wim Taymans  <wim@fluendo.com>
17087
17088         * check/gst/gstbin.c: (GST_START_TEST):
17089         An extra refcount is taken in basesrc.
17090
17091         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17092         (gst_base_src_get_range), (gst_base_src_pad_get_range),
17093         (gst_base_src_loop):
17094         Small cleanups, check for flushing after being unlocked from the 
17095         LIVE_LOCK. take refcounts correctly (not yet everywhere).
17096         Don't send out EOS when going to READY.
17097
17098 2005-10-27  Wim Taymans  <wim@fluendo.com>
17099
17100         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17101         (gst_base_sink_get_position):
17102         Some more debug.
17103
17104         * gst/gstbin.c: (message_check), (bin_replace_message),
17105         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17106         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17107         (bin_query_duration_init), (bin_query_duration_fold),
17108         (bin_query_duration_done), (bin_query_generic_fold),
17109         (gst_bin_query):
17110         * tools/gst-launch.c: (main):
17111         Remove old option.
17112
17113 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
17114
17115         * examples/controller/audio-example.c: (main):
17116         * examples/queue/queue.c: (event_loop):
17117         * gst/base/gstbasetransform.h:
17118         * gst/gstelement.c: (gst_element_send_event):
17119         * gst/gstevent.h:
17120         * gst/gstpad.c: (gst_pad_send_event):
17121           fixing examples
17122           fixing docs typos
17123           changing log priority in error situations
17124
17125 2005-10-25  Wim Taymans  <wim@fluendo.com>
17126
17127         * gst/gstbin.c: (message_check), (bin_replace_message),
17128         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17129         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17130         (bin_query_duration_init), (bin_query_duration_fold),
17131         (bin_query_duration_done), (bin_query_generic_fold),
17132         (gst_bin_query):
17133         Some doc and debug updates.
17134         Cache previously requested query DURATION for speed. invalidate
17135         cached duration if element posts a DURATION message.
17136
17137 2005-10-25  Wim Taymans  <wim@fluendo.com>
17138
17139         * docs/design/part-TODO.txt:
17140         Update TODO.
17141
17142         * gst/gstbin.c: (message_check), (bin_replace_message),
17143         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17144         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
17145         (bin_query_duration_init), (bin_query_duration_fold),
17146         (bin_query_duration_done), (bin_query_generic_fold),
17147         (gst_bin_query):
17148         Handle SEGMENT_START/DONE messages correctly.
17149         More evolved query algorithm that handles duration queries
17150         correctly.
17151
17152         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
17153         (gst_element_get_state_func), (gst_element_abort_state),
17154         (gst_element_commit_state), (gst_element_lost_state):
17155         Some more debugging.
17156
17157         * gst/gstmessage.h:
17158         Added doc.
17159
17160 2005-10-25  Wim Taymans  <wim@fluendo.com>
17161
17162         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17163         Don't use invalid stream_time.
17164
17165         * gst/gstevent.c: (gst_event_new_newsegment):
17166         stream_time in newsegment cannot be undefined.
17167
17168 2005-10-24  Wim Taymans  <wim@fluendo.com>
17169
17170         * gst/gstbus.c:
17171         Doc fix.
17172
17173         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17174         (gst_queue_loop):
17175         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
17176
17177 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
17178
17179         * docs/libs/tmpl/gstdparam.sgml:
17180         * docs/libs/tmpl/gstdplinint.sgml:
17181         * docs/libs/tmpl/gstdpman.sgml:
17182         * docs/libs/tmpl/gstdpsmooth.sgml:
17183         * docs/libs/tmpl/gstunitconvert.sgml:
17184           these are obsolete
17185
17186 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17187
17188         * configure.ac:
17189           back to HEAD
17190
17191 === release 0.9.4 ===
17192
17193 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17194
17195         * configure.ac:
17196           releasing 0.9.4, "Tyrannosaurus Rex"
17197
17198 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
17199
17200         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17201         (gst_file_sink_get_current_offset):
17202           Use fseeko() and ftello() if available. When falling back on
17203           lseek() to get the current offset, fflush() first to make sure
17204           everything is up-to-date and we get the right offset.
17205
17206 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17207
17208         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17209         * gst/base/gstbasesrc.c: (gst_base_src_loop):
17210         * gst/gsterror.c: (_gst_stream_errors_init):
17211         * gst/gsterror.h:
17212         * gst/gstqueue.c: (gst_queue_loop):
17213         * po/POTFILES.in:
17214           remove prematurely added error category and clean up the instances
17215
17216 2005-10-21  Wim Taymans  <wim@fluendo.com>
17217
17218         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17219         (gst_base_sink_get_position), (gst_base_sink_query),
17220         (gst_base_sink_change_state):
17221         Simply set the right flag when going to playing, that's all
17222         we need to do instead of calling a function inside the object
17223         lock (that could take the lock as well and deadlock)
17224
17225 2005-10-21  Wim Taymans  <wim@fluendo.com>
17226
17227         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
17228         (gst_base_src_loop):
17229         Don't warn, the peer element knows what to do best when
17230         the seek failed, it might try something else.
17231
17232 2005-10-21  Wim Taymans  <wim@fluendo.com>
17233
17234         * gst/base/gstbasesrc.c: (gst_base_src_init),
17235         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
17236         Fix seeking.
17237
17238 2005-10-21  Wim Taymans  <wim@fluendo.com>
17239
17240         * docs/design/part-segments.txt:
17241         More docs.
17242
17243         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17244         Correctly set caps, even on the subbufer.
17245
17246 2005-10-21  Wim Taymans  <wim@fluendo.com>
17247
17248         * docs/gst/gstreamer-docs.sgml:
17249         * docs/gst/gstreamer-sections.txt:
17250         * gst/gstelement.h:
17251         * gst/gstevent.c:
17252         * gst/gstevent.h:
17253         * gst/gstmessage.h:
17254         * gst/gstpad.h:
17255         * gst/gstparse.h:
17256         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
17257         * gst/gsttask.h:
17258         * gst/gstutils.c:
17259         * gst/gstutils.h:
17260         And 2% more doc coverage.
17261
17262 2005-10-21  Andy Wingo  <wingo@pobox.com>
17263
17264         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
17265         position reporting.
17266
17267 2005-10-20  Wim Taymans  <wim@fluendo.com>
17268
17269         * gst/gsterror.c: (gst_error_get_message):
17270         * gst/gstparse.h:
17271         * gst/gstquery.h:
17272         * gst/gststructure.c:
17273         * gst/gsttrace.c:
17274         * gst/gstutils.c:
17275         More docs.
17276
17277 2005-10-20  Wim Taymans  <wim@fluendo.com>
17278
17279         * gst/gstbuffer.h:
17280         * gst/gstpad.c:
17281         * gst/gstparse.c:
17282         Another 1% more coverage.
17283
17284 2005-10-20  Wim Taymans  <wim@fluendo.com>
17285
17286         * docs/gst/gstreamer-sections.txt:
17287         * gst/gstelement.c: (gst_element_get_state_func),
17288         (gst_element_abort_state), (gst_element_commit_state),
17289         (gst_element_lost_state):
17290         * gst/gstevent.h:
17291         * gst/gstquery.c: (gst_query_set_position),
17292         (gst_query_parse_position), (gst_query_set_duration),
17293         (gst_query_parse_duration), (gst_query_new_convert):
17294         * gst/gstutils.c:
17295         Yay! 1% more docs coverage.
17296
17297 2005-10-20  Wim Taymans  <wim@fluendo.com>
17298
17299         * gst/gstpad.h:
17300         * gst/gstquery.c: (gst_query_set_position),
17301         (gst_query_parse_position), (gst_query_set_duration),
17302         (gst_query_parse_duration), (gst_query_new_convert):
17303         * gst/gstquery.h:
17304         * gst/gstutils.c: (gst_element_query_convert):
17305         * gst/gstutils.h:
17306         Docs and consistency fixes.
17307
17308 2005-10-20  Wim Taymans  <wim@fluendo.com>
17309
17310         * gst/gsttask.c:
17311         * gst/gsttask.h:
17312         More docs.
17313
17314 2005-10-20  Wim Taymans  <wim@fluendo.com>
17315
17316         * gst/gstbin.c: (message_check), (bin_replace_message),
17317         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17318         (update_degree), (gst_bin_sort_iterator_next),
17319         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
17320         Reworked the message handling a bit, cache the messages instead of
17321         only the senders. alows us to do more in the future.
17322
17323 2005-10-20  Wim Taymans  <wim@fluendo.com>
17324
17325         * docs/design/part-TODO.txt:
17326         Update TODO
17327
17328         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
17329         (gst_base_sink_query):
17330         Don't use clock time to report position when in EOS.
17331
17332 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
17333
17334         * tools/gst-inspect.c: (print_interfaces),
17335         (print_element_properties_info), (print_element_info):
17336           Fix interface output with gst-inspect -a; don't print
17337           newlines after double/float properties.
17338
17339 2005-10-20  Wim Taymans  <wim@fluendo.com>
17340
17341         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
17342         (gst_base_sink_query):
17343         Speed up current position calculation.
17344
17345         * gst/base/gstbasesrc.c: (gst_base_src_query),
17346         (gst_base_src_default_newsegment):
17347         Correctly set stream position in newsegment.
17348
17349         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
17350         (update_degree), (gst_bin_sort_iterator_next),
17351         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
17352         * gst/gstmessage.c: (gst_message_new_custom):
17353         Clean up debugging info
17354
17355         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
17356         (gst_queue_loop), (gst_queue_handle_src_query):
17357         Pause task faster.
17358
17359 2005-10-19  Wim Taymans  <wim@fluendo.com>
17360
17361         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17362         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
17363         Fix query handling again.
17364
17365 2005-10-19  Wim Taymans  <wim@fluendo.com>
17366
17367         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17368         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
17369         * gst/base/gstbasesrc.c: (gst_base_src_query):
17370         * gst/elements/gstfilesink.c: (gst_file_sink_query):
17371         * gst/elements/gsttypefindelement.c:
17372         (gst_type_find_handle_src_query), (find_element_get_length),
17373         (gst_type_find_element_activate):
17374         API change fix.
17375
17376         * gst/gstquery.c: (gst_query_new_position),
17377         (gst_query_set_position), (gst_query_parse_position),
17378         (gst_query_new_duration), (gst_query_set_duration),
17379         (gst_query_parse_duration), (gst_query_set_segment),
17380         (gst_query_parse_segment):
17381         * gst/gstquery.h:
17382         Bundling query position/duration is not a good idea since duration
17383         does not change much and we don't want to recalculate it for every
17384         position query, so they are separated again..
17385         Base value in segment query is not needed.
17386
17387         * gst/gstqueue.c: (gst_queue_handle_src_query):
17388         * gst/gstutils.c: (gst_element_query_position),
17389         (gst_element_query_duration), (gst_pad_query_position),
17390         (gst_pad_query_duration):
17391         * gst/gstutils.h:
17392         Updates for query API change.
17393         Added some docs here and there.
17394
17395 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17396
17397         * check/gst/gstbin.c: (GST_START_TEST):
17398         * check/gst/gstghostpad.c: (GST_START_TEST):
17399         * check/pipelines/cleanup.c: (GST_START_TEST):
17400           wait on thread to die so we can check refcount correctly
17401
17402 2005-10-18  Wim Taymans  <wim@fluendo.com>
17403
17404         * check/pipelines/stress.c: (GST_START_TEST):
17405         Make check a little more time consuming.
17406
17407 2005-10-18  Wim Taymans  <wim@fluendo.com>
17408
17409         * check/Makefile.am:
17410         * check/pipelines/stress.c: (GST_START_TEST),
17411         (simple_launch_lines_suite), (main):
17412         Small state change torture test.
17413
17414         * docs/design/part-states.txt:
17415         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17416         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
17417         (gst_base_sink_change_state):
17418         Never take state lock from streaming thread, clean up ugly
17419         hacks. Unfortunatly core does not yet support nice ways to
17420         async commit state.
17421         
17422         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
17423         (bin_bus_handler):
17424         Start state recalc if a STATE_DIRTY message is posted, but only
17425         on the toplevel bin.
17426
17427         * gst/gstelement.c: (gst_element_sync_state_with_parent),
17428         (gst_element_get_state_func), (gst_element_abort_state),
17429         (gst_element_commit_state), (gst_element_lost_state),
17430         (gst_element_set_state_func), (gst_element_change_state):
17431         * gst/gstelement.h:
17432         State variables are now protected with the LOCK, the state
17433         lock is only used to serialize _set_state().
17434
17435 2005-10-18  Wim Taymans  <wim@fluendo.com>
17436
17437         * check/gst/gstbin.c: (GST_START_TEST):
17438         * check/gst/gstmessage.c: (GST_START_TEST):
17439         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17440         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
17441         (bin_bus_handler):
17442         * gst/gstelement.c: (gst_element_abort_state),
17443         (gst_element_commit_state), (gst_element_lost_state):
17444         * gst/gstmessage.c: (gst_message_new_state_changed),
17445         (gst_message_new_state_dirty), (gst_message_new_segment_start),
17446         (gst_message_new_segment_done), (gst_message_new_duration),
17447         (gst_message_parse_state_changed),
17448         (gst_message_parse_segment_start),
17449         (gst_message_parse_segment_done), (gst_message_parse_duration):
17450         * gst/gstmessage.h:
17451         * tools/gst-launch.c: (event_loop):
17452         Seriously, this is better than a previous commit as we only need
17453         to notify the fact that an element changed state in a streaming
17454         thread, marking the state of the parents dirty, hence the 
17455         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
17456         message.
17457
17458 2005-10-18  Wim Taymans  <wim@fluendo.com>
17459
17460         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
17461         (gst_bin_recalc_func):
17462         * gst/gstelement.c: (gst_element_set_clock),
17463         (gst_element_abort_state), (gst_element_lost_state):
17464         Cleanups, prepare for state change fixes.
17465
17466 2005-10-18  Wim Taymans  <wim@fluendo.com>
17467
17468         * gst/gstbin.h:
17469         * gst/gstelement.c: (gst_element_class_init),
17470         (gst_element_set_state), (gst_element_set_state_func):
17471         * gst/gstelement.h:
17472         Pending ABI changes.
17473         GThreadPool in GstBinClass to monitor async state changes.
17474         state_cookie in GstElement to detect concurrent gst/set state.
17475         set_state is now virtual too in case a very complicated element
17476         has to be constructed.
17477
17478 2005-10-18  Wim Taymans  <wim@fluendo.com>
17479
17480         * check/gst/gstbin.c: (GST_START_TEST):
17481         * check/gst/gstmessage.c: (GST_START_TEST):
17482         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17483         * gst/gstbin.c: (bin_bus_handler):
17484         * gst/gstelement.c: (gst_element_commit_state),
17485         (gst_element_lost_state):
17486         * gst/gstmessage.c: (gst_message_new_state_changed),
17487         (gst_message_new_segment_start), (gst_message_new_segment_done),
17488         (gst_message_new_duration), (gst_message_parse_state_changed),
17489         (gst_message_parse_segment_start),
17490         (gst_message_parse_segment_done), (gst_message_parse_duration):
17491         * gst/gstmessage.h:
17492         * tools/gst-launch.c: (event_loop):
17493         Make messages future proof.
17494         state-change gets a flag if it was a message comming from the
17495         streaming thread.
17496         segment-start/stop can also be specified in other formats.
17497         A message to notify an app that a pipeline changed playback 
17498         duration.
17499         Also fix a GstMessage leak in -launch
17500
17501 2005-10-18  Andy Wingo  <wingo@pobox.com>
17502
17503         * gst/gstelement.c (gst_element_dispose): More helpful message.
17504
17505 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17506
17507         reviewed by: <delete if not using a buddy>
17508
17509         * common/gtk-doc.mak:
17510
17511 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17512
17513         * gst/gstregistry.c: (gst_registry_scan_path_level):
17514           unref a plug-in we get that was already initialized
17515
17516 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
17517
17518         * docs/gst/gstreamer-sections.txt:
17519         * docs/libs/gstreamer-libs-sections.txt:
17520         * gst/gstelement.h:
17521           add new api entries
17522           hide internal macro
17523
17524 2005-10-17  Andy Wingo  <wingo@pobox.com>
17525
17526         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
17527         cleanup.
17528
17529         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
17530
17531         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
17532
17533         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
17534         (gst_element_get_state_func): Better debug message.
17535         (gst_element_commit_state): s/INFO/DEBUG/.
17536         (gst_element_lost_state, gst_element_change_state): 
17537
17538         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
17539         (gst_message_new_custom): s/INFO/LOG/.
17540
17541 2005-10-17  Michael Smith <msmith@fluendo.com>
17542
17543         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17544           Check if end time is valid using end time, not start time.
17545
17546 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
17547
17548         * check/gst-libs/controller.c: (GST_START_TEST),
17549         (gst_controller_suite):
17550         * libs/gst/controller/gstcontroller.c:
17551         (gst_controlled_property_set_interpolation_mode):
17552         * libs/gst/controller/gstcontroller.h:
17553         * libs/gst/controller/gstinterpolation.c:
17554         * testsuite/controller/.cvsignore:
17555         * testsuite/controller/Makefile.am:
17556         * testsuite/controller/interpolator.c:
17557           merge controller testsuites
17558           fix broken tests
17559           remove mem-chunk from docs
17560
17561 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17562
17563         * gst/gstmemchunk.c:
17564         * gst/gstmemchunk.h:
17565         * gst/gsttrashstack.c:
17566         * gst/gsttrashstack.h:
17567           out.  get out.  you're fired.  to the Attic !
17568
17569 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17570
17571         * gst/gstcaps.c: (gst_caps_intersect):
17572           fix signedness issues in a (hopefully) correct way
17573         * gst/gstelement.c: (gst_element_pads_activate):
17574           some debugging
17575         * gst/gstobject.c: (gst_object_set_parent):
17576           some debugging
17577
17578 2005-10-17  Julien MOUTTE  <julien@moutte.net>
17579
17580         * gst/gstvalue.h: Fix prototypes.
17581
17582 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17583
17584         * docs/gst/gstreamer-sections.txt:
17585         * gst/gst.c: (gst_version_string):
17586         * gst/gst.h:
17587         * gst/gstversion.h.in:
17588         * win32/common/libgstreamer.def:
17589           add gst_version_string ()
17590
17591 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17592
17593         * configure.ac:
17594           clean up further
17595         * gst/gst.c: (init_post):
17596         * win32/common/config.h.in:
17597           it's PLUGINDIR now
17598         * gst/gstcaps.c: (gst_caps_intersect):
17599           use gint64, the range could be bigger than a guint
17600
17601 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17602
17603         * gst/gstclock.h:
17604           document potential problem in 2038
17605
17606 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17607
17608         * gst/gstcaps.c: (gst_caps_intersect):
17609           Fix guint j diving under 0
17610
17611 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17612
17613         * configure.ac:
17614         * win32/common/config.h:
17615         * win32/common/config.h.in:
17616           check for process.h, declares getpid() on Windows
17617         * gst/gstinfo.c:
17618           include process.h if we have it
17619         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
17620         * gst/gstmemchunk.h:
17621           fix signedness issues
17622         * win32/common/libgstreamer.def:
17623           fix get_type's
17624
17625 2005-10-16  Julien MOUTTE  <julien@moutte.net>
17626
17627         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
17628         fix. Because of unsigned ints, caps intersection was going nuts and
17629         trying to access structures with G_MAXUINT index. That fixes
17630         videotestsrc ! ffmpegcolorspace ! fakesink
17631         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
17632         consistency.
17633
17634 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17635
17636         * configure.ac:
17637           use the gettext macro
17638         * gst/elements/gstelements.c:
17639         * gst/gst.c:
17640         * gst/indexers/gstindexers.c:
17641           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
17642         * win32/common/config.h:
17643           updated config.h
17644         * win32/common/config.h.in:
17645           add the template to generate config.h
17646         * win32/common/gstenumtypes.c:
17647         * win32/common/gstversion.h:
17648           updated copies
17649
17650 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17651
17652         * gst/gst.c: (gst_version):
17653         * gst/gstversion.h.in:
17654           add the nano
17655
17656 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17657
17658         * gst/gstevent.h:
17659           Oops, add missing closing bracket.
17660
17661 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17662
17663         * configure.ac:
17664           use common m4's for argument checking
17665
17666 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17667
17668         * docs/gst/gstreamer-sections.txt:
17669         * gst/gstevent.h:
17670           Add GST_EVENT_TYPE_NAME() macro.
17671
17672 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17673
17674         * gst/gstinfo.c:
17675         * gst/gstpluginfeature.c:
17676         * gst/gsttask.c:
17677           privatize more symbols
17678
17679 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17680
17681         * configure.ac:
17682           add srcdir, builddir includes to GST_ALL_CFLAGS, since
17683           everything that uses GStreamer API should have the includes
17684
17685 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17686
17687         * docs/gst/gstreamer-sections.txt:
17688         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
17689         * gst/gstvalue.h:
17690           give each value a _get_type, removes the DATA exports
17691
17692 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17693
17694         * gst/gst.c:
17695         * gst/gst.h:
17696           remove _gst_registry_auto_load, not used anymore
17697         * gst/gstbin.c: (gst_bin_get_type):
17698         * gst/gstbin.h:
17699         * gst/gstelement.c: (gst_element_get_type):
17700         * gst/gstelement.h:
17701         * gst/gstobject.c: (gst_object_get_type):
17702         * gst/gstobject.h:
17703         * gst/gstpad.c: (gst_pad_get_type):
17704         * gst/gstpad.h:
17705           make _get_type functions similar, fixes data export from library
17706
17707 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17708
17709         * configure.ac:
17710           correctly make conditionals
17711         * gst/elements/Makefile.am:
17712         * gst/elements/gstelements.c:
17713           fix typo causing fdsrc not to build
17714
17715 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17716
17717         * testsuite/Makefile.am:
17718         * testsuite/bytestream/.cvsignore:
17719         * testsuite/bytestream/Makefile.am:
17720         * testsuite/bytestream/filepadsink.c:
17721         * testsuite/bytestream/gstbstest.c:
17722         * testsuite/bytestream/test1.c:
17723         * testsuite/bytestream/testfile1:
17724         * testsuite/caps/normalisation.c:
17725         * testsuite/caps/random.c: (main):
17726         * testsuite/cleanup/.cvsignore:
17727         * testsuite/cleanup/Makefile.am:
17728         * testsuite/cleanup/cleanup1.c:
17729         * testsuite/cleanup/cleanup2.c:
17730         * testsuite/cleanup/cleanup3.c:
17731         * testsuite/cleanup/cleanup4.c:
17732         * testsuite/cleanup/cleanup5.c:
17733         * testsuite/controller/interpolator.c:
17734         * testsuite/debug/printf_extension.c: (main):
17735         * testsuite/elements/tee.c:
17736         * testsuite/negotiation/.cvsignore:
17737         * testsuite/negotiation/Makefile.am:
17738         * testsuite/negotiation/pad_link.c:
17739         * testsuite/pad/Makefile.am:
17740         * testsuite/pad/chainnopull.c:
17741         * testsuite/pad/getnopush.c:
17742         * testsuite/pad/link.c:
17743         * testsuite/refcounting/sched.c: (create_pipeline):
17744         * testsuite/registry/Makefile.am:
17745         * testsuite/registry/gst-print-formats.c:
17746         * testsuite/schedulers/.cvsignore:
17747         * testsuite/schedulers/142183-2.c:
17748         * testsuite/schedulers/142183.c:
17749         * testsuite/schedulers/143777-2.c:
17750         * testsuite/schedulers/143777.c:
17751         * testsuite/schedulers/147713.c:
17752         * testsuite/schedulers/147819.c:
17753         * testsuite/schedulers/147894-2.c:
17754         * testsuite/schedulers/147894.c:
17755         * testsuite/schedulers/Makefile.am:
17756         * testsuite/schedulers/group_link.c:
17757         * testsuite/schedulers/queue_link.c:
17758         * testsuite/schedulers/relink.c:
17759         * testsuite/schedulers/unlink.c:
17760         * testsuite/schedulers/unref.c:
17761         * testsuite/schedulers/useless_iteration.c:
17762         * testsuite/states/bin.c:
17763           clean out/remove some stuff from the testsuite directories
17764
17765 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17766
17767         * configure.ac:
17768           check for some headers
17769         * gst/elements/Makefile.am:
17770         * gst/elements/gstelements.c:
17771           don't compile fdsrc without sys/socket.h
17772         * gst/indexers/Makefile.am:
17773         * gst/indexers/gstindexers.c: (plugin_init):
17774           don't compile fileindex without mmap
17775
17776 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17777
17778         * configure.ac:
17779           reorganize
17780           clean up
17781           document more
17782           remove cruft
17783         * check/Makefile.am:
17784         * docs/gst/Makefile.am:
17785         * examples/helloworld/Makefile.am:
17786         * gst/Makefile.am:
17787         * gst/base/Makefile.am:
17788         * gst/check/Makefile.am:
17789         * gst/elements/Makefile.am:
17790         * gst/indexers/Makefile.am:
17791         * gst/parse/Makefile.am:
17792         * libs/gst/controller/Makefile.am:
17793         * libs/gst/dataprotocol/Makefile.am:
17794         * examples/helloworld/helloworld.c: (event_loop):
17795           compile fixes, though it's not being compiled currently
17796
17797 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17798
17799         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
17800           Add some simple tests for the new taglist date API.
17801
17802 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17803
17804         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
17805         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
17806           Beautify 'last-message' output: print 'none' for buffer timestamps
17807           and durations if none is set; improve alignment with next messages.
17808
17809 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17810
17811         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
17812         * gst/gstpluginfeature.h:
17813         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
17814         * gst/gstregistry.h:
17815         * docs/gst/gstreamer-sections.txt:
17816           Add new API to check plugin feature version requirements.
17817
17818         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
17819           Some basic tests for the above.         
17820
17821 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17822
17823         * gst/gststructure.c: (gst_structure_to_string):
17824           guard against NULL printf - happens when for example
17825           a message structure with GstClock gets serialized
17826
17827 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17828
17829         * gst/base/gstcollectpads.c: (gst_collectpads_event):
17830           Fix presumable copy'n'pasto.
17831
17832 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17833
17834         * gst/elements/gstfakesrc.h:
17835         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
17836         * gst/elements/gsttypefindelement.c:
17837           fix some signedness
17838         * gst/elements/gstfilesink.c: (gst_file_sink_render):
17839           I wonder if this could actually write +2GB files before
17840
17841 2005-10-13  Andy Wingo  <wingo@pobox.com>
17842
17843         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
17844         Fix Timmeke Waymans bug.
17845         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
17846         string of the proper length to gst_caps_from_string. There's a
17847         potential for, before this fix, that this could cause someone
17848         connecting over the network to cause a segfault if the payload is
17849         not NUL-terminated.
17850
17851 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17852
17853         * docs/design/draft-push-pull.txt:
17854         * docs/design/part-overview.txt:
17855         * docs/random/TODO-pre-0.9:
17856         * docs/random/old/ChangeLog.gstreamer:
17857         * gst/base/gstpushsrc.c:
17858         * gst/gstclock.c:
17859           fixed typos
17860
17861 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17862
17863         * gst/glib-compat.c: (gst_flags_get_first_value):
17864         * gst/glib-compat.h:
17865         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
17866         (gst_value_compare_double), (gst_value_serialize_flags):
17867           GLib 2.6 g_flags_get_first_value has a bug that triggers an
17868           infinite loop
17869
17870 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17871
17872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17873         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17874           fix up debugging
17875         * tools/gst-launch.c: (event_loop):
17876           print out clock nicely
17877
17878 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17879
17880         * docs/gst/gstreamer-sections.txt:
17881         * gst/gsttaglist.h:
17882         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
17883         (gst_tag_list_get_date_index):
17884           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
17885           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
17886
17887 2005-10-13  Julien MOUTTE  <julien@moutte.net>
17888
17889         * gst/base/gstcollectpads.c: (gst_collectpads_event),
17890         (gst_collectpads_chain):
17891         * gst/base/gstcollectpads.h: Handle newsegment and store informations
17892         in CollectData.
17893
17894 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17895
17896         * docs/gst/gstreamer-sections.txt:
17897         * gst/gst.c:
17898         * gst/gsterror.h:
17899         * tools/gst-inspect.c: (main):
17900         * tools/gst-launch.c: (main):
17901         * tools/gst-run.c: (main):
17902         * tools/gst-xmlinspect.c: (main):
17903           fix GOption context leaks
17904           doc fixes
17905
17906 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17907
17908         * gst/gstbus.c:
17909           use HAVE_UNISTD_H
17910         * win32/common/config.h:
17911           update config
17912         * win32/vs6/grammar.dsp:
17913         * win32/vs6/libgstelements.dsp:
17914         * win32/vs6/libgstreamer.dsp:
17915           update vs6 files
17916
17917 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17918
17919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17920         * gst/base/gstbasesrc.c: (gst_base_src_query):
17921           fix more guint64<->gdouble conversions
17922
17923 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17924
17925         * Makefile.am:
17926           add win32-update target
17927         * win32/common/gstconfig.h:
17928         * win32/common/gstenumtypes.c:
17929         * win32/common/gstenumtypes.h:
17930         * win32/common/gstversion.h:
17931           add files that visual studio can't generate
17932
17933 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17934
17935         * Makefile.am:
17936           add a win32-update target
17937         * configure.ac:
17938
17939 2005-10-12  Wim Taymans  <wim@fluendo.com>
17940
17941         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17942         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
17943         * gst/gstelement.c: (gst_element_commit_state),
17944         (gst_element_set_state):
17945         Protect flags with proper lock.
17946         unref provided cached clock in dispose.
17947
17948 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17949
17950         * gst/gst.c:
17951         * gst/gstminiobject.h:
17952         * gst/gstpad.h:
17953         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
17954           removed unused flags from miniobject
17955           doc fixes
17956
17957 2005-10-12  Wim Taymans  <wim@fluendo.com>
17958
17959         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17960         (gst_file_sink_event), (gst_file_sink_render):
17961         Flush before seeking.
17962
17963 2005-10-12  Andy Wingo  <wingo@pobox.com>
17964
17965         * gst/gst.c (gst_init_check): Ignore unknown options, as has
17966         always been the case.
17967
17968 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17969
17970         * check/gst/gstbin.c: (GST_START_TEST):
17971         * docs/gst/gstreamer-sections.txt:
17972         * gst/base/gstbasesink.c: (gst_base_sink_init):
17973         * gst/base/gstbasesrc.c: (gst_base_src_init),
17974         (gst_base_src_get_range), (gst_base_src_check_get_range),
17975         (gst_base_src_start), (gst_base_src_stop):
17976         * gst/base/gstbasesrc.h:
17977         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
17978         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17979         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
17980         (bin_bus_handler):
17981         * gst/gstbin.h:
17982         * gst/gstbuffer.h:
17983         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
17984         * gst/gstbus.h:
17985         * gst/gstelement.c: (gst_element_is_locked_state),
17986         (gst_element_set_locked_state), (gst_element_commit_state),
17987         (gst_element_set_state):
17988         * gst/gstelement.h:
17989         * gst/gstindex.c: (gst_index_init):
17990         * gst/gstindex.h:
17991         * gst/gstminiobject.h:
17992         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
17993         (gst_object_set_parent):
17994         * gst/gstobject.h:
17995         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
17996         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
17997         * gst/gstpad.h:
17998         * gst/gstpadtemplate.h:
17999         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
18000         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
18001         * gst/gstpipeline.h:
18002         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18003         (gst_file_index_commit):
18004         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
18005         * testsuite/pad/link.c: (gst_test_src_init),
18006         (gst_test_filter_init), (gst_test_sink_init):
18007         * testsuite/states/locked.c: (main):
18008           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
18009           moved bitshift from macro to enum definition
18010
18011 2005-10-12  Wim Taymans  <wim@fluendo.com>
18012
18013         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
18014         * gst/elements/gstfilesink.c: (gst_file_sink_event),
18015         (gst_file_sink_render):
18016         Some more debugging info.
18017
18018 2005-10-12  Wim Taymans  <wim@fluendo.com>
18019
18020         * docs/design/part-states.txt:
18021         * tools/gst-launch.c: (main):
18022         Some doc updates.
18023         Revert non-intentional change.
18024
18025 2005-10-12  Wim Taymans  <wim@fluendo.com>
18026
18027         * check/gst/gstbin.c: (GST_START_TEST):
18028         * check/gst/gstelement.c: (GST_START_TEST):
18029         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
18030         * check/gst/gstghostpad.c: (GST_START_TEST):
18031         * check/gst/gstpipeline.c: (GST_START_TEST):
18032         * check/pipelines/simple_launch_lines.c: (run_pipeline):
18033         * check/states/sinks.c: (GST_START_TEST):
18034         * gst/elements/gsttypefindelement.c: (stop_typefinding):
18035         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18036         (gst_bin_remove_func), (gst_bin_get_state_func),
18037         (gst_bin_recalc_state), (gst_bin_change_state_func),
18038         (bin_bus_handler):
18039         * gst/gstelement.c: (gst_element_get_state_func),
18040         (gst_element_get_state), (gst_element_abort_state),
18041         (gst_element_commit_state), (gst_element_set_state),
18042         (gst_element_change_state), (gst_element_change_state_func):
18043         * gst/gstelement.h:
18044         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
18045         (gst_pipeline_provide_clock_func):
18046         * gst/gstutils.c: (gst_element_link_pads_filtered):
18047         * tools/gst-launch.c: (main):
18048         * tools/gst-typefind.c: (main):
18049         Use GstClockTime in _get_state() instead of GTimeVal.
18050         Remove old code in gstutils.c
18051
18052 2005-10-12  Andy Wingo  <wingo@pobox.com>
18053
18054         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
18055         removed.
18056
18057         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
18058         there is no task. Shouldn't affect any code, as nothing in our
18059         plugins checks this return value.
18060         (gst_pad_stop_task): Also take the stream lock if the pad has no
18061         task. Docs updated.
18062
18063 2005-10-12  Wim Taymans  <wim@fluendo.com>
18064
18065         * gst/gstpad.c: (pre_activate), (post_activate),
18066         (gst_pad_activate_pull), (gst_pad_activate_push):
18067         Cleanup activation code. Reset old state if
18068         activation failed.
18069
18070 2005-10-12  Wim Taymans  <wim@fluendo.com>
18071
18072         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18073         (gst_base_sink_change_state):
18074         No need to prerol after receiving EOS.
18075
18076         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18077         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
18078         * gst/elements/gstidentity.c: (gst_identity_event):
18079         Print events more verbosely.
18080
18081 2005-10-12  Wim Taymans  <wim@fluendo.com>
18082
18083         * check/Makefile.am:
18084         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18085         * check/states/sinks2.c:
18086         Moved sinks2 testcode in sinks check.
18087
18088         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
18089         (gst_bin_remove_func), (gst_bin_recalc_state),
18090         (gst_bin_change_state_func), (bin_bus_handler):
18091         Fix potential race condition when _get_state() iterated over an
18092         ASYNC element right before it posted a state completion.
18093
18094         * gst/gstclock.h:
18095         Do proper cast here.
18096
18097         * gst/gstevent.c: (gst_event_new_newsegment),
18098         (gst_event_parse_newsegment):
18099         A playback rate of 0.0 is not allowed.
18100
18101 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18102
18103         * win32/common/config.h:
18104         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
18105         (_trewinddir), (_ttelldir), (_tseekdir):
18106         * win32/common/dirent.h:
18107         * win32/common/gtchar.h:
18108         * win32/common/libgstbase.def:
18109         * win32/common/libgstreamer.def:
18110         * win32/vs6/grammar.dsp:
18111         * win32/vs6/gst_inspect.dsp:
18112         * win32/vs6/gst_launch.dsp:
18113         * win32/vs6/gstreamer.dsw:
18114         * win32/vs6/libgstbase.dsp:
18115         * win32/vs6/libgstelements.dsp:
18116         * win32/vs6/libgstreamer.dsp:
18117           Visual Studio 6 project files, and a new common directory.
18118           Phear.
18119
18120 2005-10-11  Wim Taymans  <wim@fluendo.com>
18121
18122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18123         (gst_base_sink_do_sync), (gst_base_sink_query),
18124         (gst_base_sink_change_state):
18125         * gst/base/gstbasesink.h:
18126         Correctly parse newsegment info.
18127
18128 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18129
18130         * gst/gst.c: (init_post):
18131           split plugin paths correctly
18132
18133 2005-10-11  Wim Taymans  <wim@fluendo.com>
18134
18135         * check/gst/gstevent.c: (GST_START_TEST):
18136         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18137         (gst_base_sink_change_state):
18138         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
18139         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18140         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18141         * gst/gstevent.c: (gst_event_new_newsegment),
18142         (gst_event_parse_newsegment):
18143         * gst/gstevent.h:
18144         Added extra flag to newsegment for future API freeze.
18145         Updated check and base elements.
18146
18147 2005-10-11  Julien MOUTTE  <julien@moutte.net>
18148
18149         * gst/base/gstcollectpads.c: (gst_collectpads_init),
18150         (gst_collectpads_add_pad), (gst_collectpads_pop),
18151         (gst_collectpads_event), (gst_collectpads_chain):
18152         * gst/base/gstcollectpads.h: Handle EOS correctly.
18153
18154 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18155
18156         * tools/gst-launch.c: (main):
18157           more null protecting
18158
18159 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18160
18161         * gst/gst-i18n-lib.h:
18162           check for ENABLE_NLS, not GETTEXT_PACKAGE
18163         * gst/gstregistry.c: (gst_registry_add_plugin),
18164         (gst_registry_scan_path_level),
18165         (_gst_registry_remove_cache_plugins):
18166           protect possibly NULL strings
18167         * gst/parse/types.h:
18168           config.h already included before
18169         * tools/gst-inspect.c: (main):
18170           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
18171           check for ENABLE_NLS, not GETTEXT_PACKAGE
18172         * tools/gst-launch.c: (main):
18173           check for ENABLE_NLS, not GETTEXT_PACKAGE
18174
18175 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18176
18177         * configure.ac:
18178           if we don't have glib, fail before testing 2.8
18179         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
18180           fix a leak, should fix plugins-base testsuite
18181
18182 2005-10-11  Andy Wingo  <wingo@pobox.com>
18183
18184         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
18185         take the mode we're going to as an arg. Go head and set the mode
18186         and flushing flags now, so that if the activate function starts a
18187         thread all the flags will be in the right state.
18188         (post_activate): Renamed also. Just handle making sure streaming
18189         finishes for the deactivation case, and setting the deactivated
18190         mode.
18191         (gst_pad_set_active): Complain loudly if deactivation fails.
18192         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
18193         (gst_pad_activate_push): Adapt to pre/post_activate changes,
18194         remove the terrible hack.
18195
18196 2005-10-11  Wim Taymans  <wim@fluendo.com>
18197
18198         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
18199         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
18200         (gst_bin_recalc_state), (gst_bin_change_state_func),
18201         (gst_bin_dispose), (bin_bus_handler):
18202         * gst/gstbin.h:
18203         Prepare to make current EOS message queue more generic.
18204         Fix some typos.
18205
18206         * gst/gstevent.c: (gst_event_new_newsegment),
18207         (gst_event_parse_newsegment):
18208         * gst/gstevent.h:
18209         Rename base to stream_time.
18210
18211         * gst/gstmessage.h:
18212         Fix typo in docs.
18213
18214 2005-10-11  Wim Taymans  <wim@fluendo.com>
18215
18216         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
18217         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
18218         (gst_bin_change_state_func), (bin_bus_handler):
18219         * gst/gstbin.h:
18220         Work on proper clock selection.
18221
18222 2005-10-11  Edward Hervey  <edward@fluendo.com>
18223
18224         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
18225         * libs/gst/controller/gstcontroller.h:
18226         Added GList* version of _remove_properties() in order to be able to wrap
18227         it in bindings.
18228
18229 2005-10-11  Wim Taymans  <wim@fluendo.com>
18230
18231         * docs/design/part-states.txt:
18232         Some more docs.
18233
18234         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
18235         (gst_bin_change_state_func), (bin_bus_handler):
18236         Doc updates. Don't distribute the same clock over and over again.
18237
18238         * gst/gstclock.c:
18239         * gst/gstclock.h:
18240         Doc updates.
18241
18242         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
18243         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
18244         (gst_pad_send_event):
18245         * gst/gstpad.h:
18246         Make probe emission threadsafe again.
18247         Register quarks and move _get_name() from utils.
18248         Doc updates.
18249
18250         * gst/gstpipeline.c: (gst_pipeline_class_init),
18251         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
18252         Only redistribute the clock of it changed.
18253
18254         * gst/gstsystemclock.h:
18255         Doc updates. 
18256
18257         * gst/gstutils.c:
18258         * gst/gstutils.h:
18259         Moved the _flow_get_name() to GstPad.
18260
18261 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18262
18263         * check/gst-libs/gdp.c: (GST_START_TEST):
18264         * check/gst/gstcaps.c: (GST_START_TEST):
18265         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
18266         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
18267         (gst_dp_packet_from_caps):
18268           fix more valgrind warnings before turning up the heat
18269
18270 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18271
18272         * gst/parse/grammar.y:
18273           some cleanup before the hacking
18274
18275 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18276
18277         * gst/base/gstbasesrc.c: (gst_base_src_query):
18278           use conversions
18279         * gst/gstutils.c: (gst_guint64_to_gdouble),
18280         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
18281         * gst/gstutils.h:
18282           externalize, basesrc uses it
18283           obviously the implementation needs testing
18284
18285 2005-10-10  Wim Taymans  <wim@fluendo.com>
18286
18287         * tests/sched/Makefile.am:
18288         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
18289         (make_pipeline3), (make_pipeline4), (print_elem), (main):
18290
18291 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18292
18293         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
18294           apparently converting from guint64 to double is not implemented
18295           on MSVC
18296
18297 2005-10-10  Wim Taymans  <wim@fluendo.com>
18298
18299         * check/Makefile.am:
18300         * check/generic/states.c: (GST_START_TEST):
18301         * check/gst/gstbin.c: (GST_START_TEST):
18302         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18303         * check/states/sinks.c: (GST_START_TEST):
18304         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
18305         (main):
18306         Check fixes, use API as stated in design docs, remove hacks.
18307
18308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18309         (gst_base_sink_change_state):
18310         Catch stopping our task while we're shutting down.
18311
18312         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
18313         (gst_bin_remove_func), (gst_bin_get_state_func),
18314         (gst_bin_recalc_state), (gst_bin_change_state_func),
18315         (bin_bus_handler):
18316         * gst/gstbin.h:
18317         * gst/gstelement.c: (gst_element_init),
18318         (gst_element_get_state_func), (gst_element_abort_state),
18319         (gst_element_commit_state), (gst_element_lost_state),
18320         (gst_element_set_state), (gst_element_change_state),
18321         (gst_element_change_state_func):
18322         * gst/gstelement.h:
18323         New state change algorithm (see #318116)
18324
18325         * gst/gstpipeline.c: (gst_pipeline_class_init),
18326         (gst_pipeline_init), (gst_pipeline_set_property),
18327         (gst_pipeline_get_property), (do_pipeline_seek),
18328         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
18329         * gst/gstpipeline.h:
18330         Remove crude state change hacks.
18331
18332         * gst/gstutils.h:
18333         Remove crude hacks.
18334
18335         * tools/gst-launch.c: (main):
18336         Fixes for state change. Needs some more work to fully use the
18337         new stuff.
18338
18339 2005-10-10  Andy Wingo  <wingo@pobox.com>
18340
18341         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
18342
18343         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
18344         this flag, but it's not even in GLib 2.6. Odd. Hack around the
18345         issue.
18346
18347 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18348
18349         * gst/gstiterator.c: (gst_iterator_new):
18350           Fix my previous commit: GTypes passed to gst_iterator_new()
18351           can be fundamental types.
18352
18353 2005-10-10  Wim Taymans  <wim@fluendo.com>
18354
18355         * gst/gstelement.c: (gst_element_iterate_pad_list),
18356         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
18357         (gst_element_iterate_sink_pads):
18358         Use src/sink pads lists for the respective iterators instead
18359         of filtering.
18360
18361 2005-10-10  Andy Wingo  <wingo@pobox.com>
18362
18363         Merged in popt removal + GOption addition patch from Ronald, bug
18364         #169772.
18365
18366         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
18367         GstElement macros around, remove popt-related symbols, add goption
18368         stuff.
18369
18370         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
18371         
18372         * docs/gst/Makefile.am:
18373         * docs/libs/Makefile.am: No POPT_CFLAGS.
18374         
18375         * examples/manual/Makefile.am:
18376         * docs/manual/basics-init.xml: Doc updates with an example.
18377         
18378         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
18379         (gst_init), (parse_one_option), (parse_goption_arg):
18380         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
18381         bit of hand merging and debugging to get the GOption stuff working
18382         tho.
18383         
18384         * tests/Makefile.am:
18385         * tools/Makefile.am:
18386         * tools/gst-inspect.c: (main):
18387         * tools/gst-launch.c: (main):
18388         * tools/gst-run.c: (main):
18389         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
18390
18391 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18392
18393         * gst/gstiterator.c: (gst_iterator_new):
18394           Add assertions to make sure passed GType is likely to really
18395           be a GType (as the compiler won't catch it if the size and
18396           GType arguments get mixed up, see #318447).
18397
18398 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
18399
18400         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18401
18402         * gst/gstbin.c: (gst_bin_iterate_sorted):
18403           Pass GType and size arguments to gst_iterator_new() in the right
18404           order (maybe we should make _new() take the GType as first argument
18405           just like _new_list()?) (#318447).
18406           
18407
18408 2005-10-10  Wim Taymans  <wim@fluendo.com>
18409
18410         * gst/gstelement.c: (gst_element_finalize):
18411         And free the GStaticRecMutex too
18412
18413 2005-10-10  Andy Wingo  <wingo@pobox.com>
18414
18415         * gst/gstelement.c (gst_element_init, gst_element_finalize):
18416         Allocate and free the mutex properly.
18417
18418         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
18419         New macros.
18420         (GstElement): The state_lock is now recursive. Rebuild your
18421         plugins, suckers. Old macros adapted.
18422
18423         * docs/gst/gstreamer-sections.txt: Doc updates.
18424
18425         * gst/gstutils.h:
18426         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
18427         (g_static_rec_cond_wait): Ported from state changes patch, while
18428         we wait on bug #317802 to be solved in a well-distributed GLib.
18429
18430         * gst/gstelement.c (gst_element_change_state_func): Renamed from
18431         gst_element_change_state, variable name changes.
18432         (gst_element_change_state): Split out of gst_element_set_state in
18433         preparation for the state change merge. Doesn't pay attention to
18434         the 'transition' argument.
18435         (gst_element_set_state): Updates, hopefully purely cosmetic.
18436         (gst_element_sync_state_with_parent): MT-safety. Ported from the
18437         state change patch.
18438         (gst_element_get_state_func): Renamed from get_state, cosmetic
18439         changes.
18440
18441 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18442
18443         * gst/elements/gstelements.c:
18444         * win32/GStreamer.vcproj:
18445         * win32/config.h:
18446         * win32/dirent.c: (_tseekdir):
18447         * win32/gst-inspect.vcproj:
18448         * win32/gst-launch.vcproj:
18449         * win32/gstconfig.h:
18450         * win32/gstelements.vcproj:
18451         * win32/gstenumtypes.c: (gst_object_flags_get_type):
18452         * win32/gstreamer.def:
18453         * win32/msvc71.sln:
18454           updates for the win32 build (patch from Sebastien Moutte)
18455
18456 2005-10-10  Andy Wingo  <wingo@pobox.com>
18457
18458         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
18459         gst_bin_get_state, cleaned up (but no logic changes).
18460         (bin_element_is_sink): Comment updates.
18461         (sink_iterator_filter): Remove needless cast.
18462         (gst_bin_iterate_sinks): Doc update.
18463         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
18464         cleaned up (but no logic changes).
18465
18466         * check/states/sinks.c (test_src_sink): Cleanups from the state
18467         change patch.
18468         (test_livesrc_sink): Sync on the state.
18469
18470         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
18471         the state change patch.
18472
18473         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
18474         change patch.
18475
18476         * check/gst/gstbin.c: Merge in some style fixes and additional
18477         checks from Wim's state change patch.
18478
18479 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18480
18481         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18482         (gst_type_find_helper):
18483           Check whether we have the requested data already in our list of
18484           cached buffers before pulling a new buffer; also make the buffer
18485           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
18486
18487 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18488
18489         * gst/gstcaps.c:
18490         * gst/gstevent.c:
18491           doc updates
18492         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
18493           don't use long long, it's not portable.  Replacing with
18494           gint64 seems to work; let's hope no skeletons fall out of the closet.
18495
18496 2005-10-10  Andy Wingo  <wingo@pobox.com>
18497
18498         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
18499
18500 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
18501
18502         * docs/gst/gstreamer-sections.txt:
18503         * gst/gstevent.c:
18504         * gst/gstevent.h:
18505         * gst/gstinfo.c:
18506         * gst/gstinfo.h:
18507         * gst/gstmessage.c: (gst_message_parse_state_changed):
18508         * gst/gstpad.c:
18509         * gst/gstpad.h:
18510           more docs, fix compilation
18511
18512 2005-10-09  Philippe Khalaf <burger@speedy.org>
18513         * gst/gstmessage.c:
18514           Fixed a few forgotten variables on previous commit
18515
18516 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
18517
18518         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18519           Fix evil typefind crasher: getrange() might return a short
18520           buffer at the end of a file, but gst_type_find_peek() must
18521           either return the full data as requested or NULL, but
18522           never a short buffer.
18523
18524 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18525
18526         * gst/gstmessage.c: (gst_message_new_state_changed),
18527         (gst_message_parse_state_changed):
18528         * gst/gstmessage.h:
18529           don't use "new", it's a C++ keyword
18530
18531 2005-10-08  Wim Taymans  <wim@fluendo.com>
18532
18533         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
18534         * gst/gstelement.c: (gst_element_post_message):
18535         * gst/gstpipeline.c: (gst_pipeline_change_state):
18536         Small docs and debug updates.
18537
18538 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18539
18540         * docs/gst/gstreamer-sections.txt:
18541         * gst/gstelementfactory.c:
18542         * gst/gstevent.c:
18543         * gst/gsttaglist.c:
18544           more docs
18545
18546 2005-10-08  Wim Taymans  <wim@fluendo.com>
18547
18548         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
18549         (gst_bin_dispose), (bin_bus_handler):
18550         Fix typos, add comments.
18551         Clear EOS list when going to PAUSED from any direction and do it
18552         in a threadsafe way.
18553         Get base time in a threadsafe way too.
18554         Fix confusing debug in the change_state function.
18555         Various other small cleanups.
18556         
18557         * gst/gstelement.c: (gst_element_post_message):
18558         Fix very verbose bus posting code.
18559
18560         * gst/gstpipeline.c: (gst_pipeline_class_init),
18561         (gst_pipeline_set_property), (gst_pipeline_get_property),
18562         (gst_pipeline_change_state):
18563         Small ARG_ -> PROP_ cleanup
18564
18565 2005-10-08  Wim Taymans  <wim@fluendo.com>
18566
18567         * gst/gstbin.c: (is_eos), (bin_bus_handler):
18568         Do a less CPU demanding EOS check because we can.
18569
18570 2005-10-08  Wim Taymans  <wim@fluendo.com>
18571
18572         * libs/gst/dataprotocol/dataprotocol.c:
18573         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
18574         (gst_dp_packet_from_event):
18575         * libs/gst/dataprotocol/dataprotocol.h:
18576         * libs/gst/dataprotocol/dp-private.h:
18577         It's about time we bump the version number.
18578         Since event types don't fit in the guint8 anymore describing
18579         the payload type, make payload type 16 bits wide.
18580
18581 2005-10-08  Wim Taymans  <wim@fluendo.com>
18582
18583         * docs/design/part-TODO.txt:
18584         * docs/design/part-clocks.txt:
18585         * docs/design/part-events.txt:
18586         * docs/design/part-gstbin.txt:
18587         * docs/design/part-gstelement.txt:
18588         * docs/design/part-gstpipeline.txt:
18589         * docs/design/part-live-source.txt:
18590         * docs/design/part-messages.txt:
18591         * docs/design/part-overview.txt:
18592         * docs/design/part-states.txt:
18593         Many doc updates.
18594
18595 2005-10-08  Wim Taymans  <wim@fluendo.com>
18596
18597         * gst/gstevent.c:
18598         * gst/gstevent.h:
18599         Fix event quark registration.
18600         Add some space between events so we can insert them in the
18601         right groups.
18602
18603 2005-10-08  Wim Taymans  <wim@fluendo.com>
18604
18605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18606         (gst_base_sink_handle_buffer):
18607         Better log message.
18608
18609         * gst/gstbus.h:
18610         * gst/gstelement.h:
18611         More docs.
18612
18613         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18614         (gst_queue_set_property), (gst_queue_get_property):
18615         * gst/gstqueue.h:
18616         Remove old unused properties.
18617
18618 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18619         * docs/gst/gstreamer-sections.txt:
18620         * gst/gstmessage.c:
18621         * gst/gstmessage.h:
18622         * gst/gstminiobject.c:
18623         * gst/gstminiobject.h:
18624         * gst/gstobject.h:
18625         * gst/gstpad.h:
18626         * gst/gstutils.h:
18627           lots of new docs and doc fixes
18628
18629 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18630
18631         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
18632         * gst/gstplugin.h:
18633         * gst/gstregistry.c: (gst_registry_lookup_locked),
18634         (gst_registry_scan_path_level):
18635         * gst/gstregistryxml.c: (load_plugin):
18636           Only ever load one plugin for a given plugin basename.
18637           This ensures correct overriding of GST_PLUGIN_PATH over
18638           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
18639           system installed plugins.
18640
18641 2005-10-08  Wim Taymans  <wim@fluendo.com>
18642
18643         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18644         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
18645         Prepare for doing QOS.
18646
18647 2005-10-08  Wim Taymans  <wim@fluendo.com>
18648
18649         * check/gst/gstbin.c: (GST_START_TEST):
18650         * check/pipelines/cleanup.c: (GST_START_TEST):
18651         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18652         Allow new clock message too.
18653
18654 2005-10-08  Wim Taymans  <wim@fluendo.com>
18655
18656         * gst/gstmessage.c: (gst_message_new_error),
18657         (gst_message_new_warning), (gst_message_new_tag),
18658         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18659         (gst_message_new_clock_lost), (gst_message_new_new_clock),
18660         (gst_message_new_segment_start), (gst_message_new_segment_done),
18661         (gst_message_parse_state_changed),
18662         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
18663         (gst_message_parse_new_clock):
18664         * gst/gstmessage.h:
18665         Also carry the clock in question.
18666
18667 2005-10-08  Wim Taymans  <wim@fluendo.com>
18668
18669         * gst/gstmessage.c: (gst_message_new_custom),
18670         (gst_message_new_eos), (gst_message_new_error),
18671         (gst_message_new_warning), (gst_message_new_tag),
18672         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18673         (gst_message_new_new_clock), (gst_message_new_segment_start),
18674         (gst_message_new_segment_done), (gst_message_parse_state_changed),
18675         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
18676         * gst/gstmessage.h:
18677         Clean up.
18678         Added clock related messages.
18679
18680         * gst/gstpipeline.c: (gst_pipeline_change_state):
18681         Post message when the clock changed.
18682
18683         * tools/gst-launch.c: (event_loop):
18684         Print new clock.
18685
18686 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
18687
18688         * tools/gst-inspect.c: (print_element_properties_info):
18689           Can't pass NULL strings to g_print() on windows.
18690
18691 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18692
18693         * docs/Makefile.am:
18694         * docs/gst/Makefile.am:
18695         * docs/gst/gstreamer-docs.sgml:
18696         * docs/gst/running.xml:
18697         * docs/version.entities.in:
18698           add a chapter on running GStreamer.
18699           document GST_DEBUG and GST_PLUGIN* env vars
18700
18701 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18702
18703         * Makefile.am:
18704           remove include dir
18705         * configure.ac:
18706           remove PLUGINS_BUILDDIR stuff
18707         * gst/gst.c: (init_post):
18708           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
18709         * idiottest.mak:
18710           remove, it was condescending and not needed
18711
18712 2005-10-08  Wim Taymans  <wim@fluendo.com>
18713
18714         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
18715         (gst_base_sink_handle_object), (gst_base_sink_event),
18716         (gst_base_sink_wait), (gst_base_sink_handle_event),
18717         (gst_base_sink_change_state):
18718         * gst/base/gstbasesink.h:
18719         Repost EOS message while going to PLAYING if still EOS.
18720         Make sure that when receiving a FLUSH_START we don't attempt
18721         to sync on the clock anymore.
18722
18723 2005-10-08  Wim Taymans  <wim@fluendo.com>
18724
18725         * tools/gst-launch.c: (event_loop):
18726         Better message printout.
18727
18728 2005-10-08  Wim Taymans  <wim@fluendo.com>
18729
18730         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
18731         (gst_bin_child_proxy_get_children_count):
18732         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18733         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
18734         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
18735         (gst_child_proxy_set_valist):
18736         * gst/parse/grammar.y:
18737         Make ChildProxy threadsafe and fix mem leaks.
18738
18739 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18740
18741         * gst/gst.c: (init_post):
18742           debug the GST_PLUGIN_ env vars
18743
18744 2005-10-08  Wim Taymans  <wim@fluendo.com>
18745
18746         * check/gst/gstbin.c: (GST_START_TEST):
18747         * check/gst/gstmessage.c: (GST_START_TEST):
18748         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18749         * gst/gstelement.c: (gst_element_commit_state),
18750         (gst_element_lost_state):
18751         * gst/gstmessage.c: (gst_message_new_state_changed),
18752         (gst_message_parse_state_changed):
18753         * gst/gstmessage.h:
18754         * tools/gst-launch.c: (event_loop):
18755         Added extra field to STATE_CHANGE message with the pending
18756         state, which will be different from the new state soon.
18757
18758 2005-10-08  Wim Taymans  <wim@fluendo.com>
18759
18760         * gst/gstbus.c: (gst_bus_pop):
18761         * gst/gstclock.c:
18762         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18763         Small cleanups and doc updates.
18764
18765 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18766
18767         * gst/gst.c: (init_pre):
18768         * gst/gstbin.c: (gst_bin_add_func):
18769           log distributing clocks and base time
18770         * gst/gstregistry.c: (gst_registry_add_plugin),
18771         (gst_registry_scan_path_level), (gst_registry_scan_path):
18772           clean up the debugging output a little
18773         * gst/gstutils.c: (gst_element_state_get_name):
18774           warn about a memleak (I've actually seen this be used, though
18775           it was probably a bug)
18776
18777 2005-10-07  Wim Taymans  <wim@fluendo.com>
18778
18779         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18780         (gst_base_src_init), (gst_base_src_default_newsegment),
18781         (gst_base_src_newsegment), (gst_base_src_do_seek),
18782         (gst_base_src_loop), (gst_base_src_start):
18783         * gst/base/gstbasesrc.h:
18784         Make the newsegment event customizable by subclasses.
18785
18786 2005-10-07  Wim Taymans  <wim@fluendo.com>
18787
18788         * gst/gstevent.c: (gst_event_new_buffersize),
18789         (gst_event_parse_buffersize):
18790         * gst/gstevent.h:
18791         New event for future idea.
18792
18793 2005-10-07  Andy Wingo  <wingo@pobox.com>
18794
18795         * gst/gstelement.c (gst_element_post_message): Doc update.
18796
18797         * docs/gst/gstreamer-sections.txt: Update.
18798
18799         * gst/gstmessage.c (gst_message_new_application): Made into a
18800         function like honest API calls.
18801         (gst_message_new_element): New message type.
18802
18803         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
18804
18805         * check/elements/fakesrc.c (test_no_preroll): New check, checks
18806         that setting a live fakesrc to PAUSED returns NO_PREROLL both
18807         times.
18808
18809         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
18810         NO_PREROLL from gst_element_change_state to fall through.
18811
18812 2005-10-07  Wim Taymans  <wim@fluendo.com>
18813
18814         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
18815         (gst_ghost_pad_do_activate_push):
18816         Activating a ghostpad with no internal pad in push mode
18817         is ok.
18818
18819 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18820
18821         * gst/gstobject.h:
18822           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
18823           Fixes compilation on Windows.
18824
18825 2005-10-07  Michael Smith <msmith@fluendo.com>
18826
18827         * tools/gst-inspect.c:
18828           Print out feature and plugin count at the end when printing out
18829           all features.
18830
18831 2005-10-04  Michael Smith <msmith@fluendo.com>
18832
18833         * gst/gsterror.c: (_gst_stream_errors_init):
18834           Add another error string used in a few existing plugins.
18835
18836         * gst/gstplugin.c:
18837         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18838         * tools/gst-inspect.c: (print_element_info):
18839           When a feature disappears from a plugin (and the feature exists in
18840           the cached registry file), things went horribly wrong. This isn't a
18841           complete fix, we should actually be removing the 'missing' features
18842           from the features list when we load the actual plugin. That's not
18843           yet implemented. 
18844
18845 2005-10-04  Johan Dahlin  <johan@gnome.org>
18846
18847         * check/gst/gstiterator.c: (GST_START_TEST):
18848         * gst/gstbin.c: (gst_bin_iterate_elements),
18849         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
18850         * gst/gstelement.c: (gst_element_iterate_pads):
18851         * gst/gstformat.c: (gst_format_iterate_definitions):
18852         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18853         (gst_iterator_new_list), (gst_iterator_filter):
18854         * gst/gstiterator.h:
18855         * gst/gstquery.c: (gst_query_type_iterate_definitions):
18856         Add a GType to GstIterator, update callsites and tests.
18857
18858 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18859
18860         * gst/gstpad.c: (gst_pad_event_default_dispatch):
18861           give events a chance to be handled by event probes when the pad
18862           is not linked
18863
18864 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18865
18866         * gst/gstevent.c: (gst_event_type_get_name),
18867         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
18868         * gst/gstevent.h:
18869           add string representations for event types
18870
18871 2005-10-06  Wim Taymans  <wim@fluendo.com>
18872
18873         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
18874         Don't use NULL pointers.
18875
18876 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18877
18878         * gst/gst_private.h:
18879         * gst/gstbus.c:
18880         * gst/gstelement.c:
18881         * gst/gstinfo.c:
18882         * gst/gstpluginfeature.c:
18883           widen the debug category in output to fit the biggest one we have
18884           add a bus category and use it
18885           play with the colors
18886           fix up some categories
18887
18888 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18889
18890         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
18891           add push activation of sink ghost pads.
18892           Andye, please verify
18893
18894 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18895
18896         * gst/gstutils.c: (gst_element_link_pads):
18897           fix a bug in the case where neither element has a pad
18898         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18899           add a test for that case
18900
18901 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18902
18903         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
18904           emit have-data before checking for peers.  This allows
18905           for probe handlers to connect elements.  This helps autopluggers.
18906         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
18907         (gst_pad_suite):
18908           add six checks, linked/unlinked with no/true/false probe
18909
18910 2005-10-04  Wim Taymans  <wim@fluendo.com>
18911
18912         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
18913         (gst_fake_sink_event), (gst_fake_sink_preroll),
18914         (gst_fake_sink_render), (gst_fake_sink_change_state):
18915         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
18916         (gst_fake_src_get_property), (gst_fake_src_create),
18917         (gst_fake_src_stop):
18918         * gst/elements/gstidentity.c: (gst_identity_stop):
18919         Protect last_message with lock.
18920
18921 2005-10-04  Edward Hervey  <edward@fluendo.com>
18922
18923         * gst/gstformat.h: 
18924         Added precision in the comments for GST_FORMAT_DEFAULT
18925
18926 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
18927
18928         * tools/gst-launch.c: (main):
18929           Don't try to run erroneous pipelines.
18930
18931 2005-10-04  Julien MOUTTE  <julien@moutte.net>
18932
18933         * gst/gstbus.c: We don't need this header.
18934
18935 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18936
18937         * configure.ac:
18938           back to development
18939
18940 === release 0.9.3 ===
18941
18942 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18943
18944         * README:
18945         * configure.ac:
18946           Releasing 0.9.3, "Unregistered"
18947
18948 2005-10-03  Andy Wingo  <wingo@pobox.com>
18949
18950         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
18951         whereby calling a pad's activatepush() function can start a thread
18952         that starts to push or pull before the pad gets the FLUSHING flag
18953         unset. Hack around it by holding the stream lock until the flag is
18954         set. Need to replace this with a proper solution. Together with
18955         the ghost pad fixes, this fixes mp3 playing/tagreading.
18956
18957         * docs/design/part-gstghostpad.txt: Add a note about activation of
18958         proxy pads outside of ghost pads.
18959
18960         * gst/gstghostpad.c: Implement the ghost pad activation design.
18961
18962 2005-10-02  Andy Wingo  <wingo@pobox.com>
18963
18964         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
18965         It is volatile, after all.
18966
18967         * docs/design/part-gstghostpad.txt: Flesh out activation with
18968         ghost pads.
18969
18970         * gst/base/gstbasesrc.c (gst_base_src_init): Use
18971         GST_DEBUG_FUNCPTR.
18972
18973 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
18974
18975         * configure.ac:
18976           Fix (unused) AM_CONDITIONAL tests.
18977
18978 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
18979
18980         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18981
18982         * gst/gstutils.c: (gst_pad_query_convert):
18983           Add assertion that makes sure src_val is >=0, just like
18984           gst_query_new_convert() has. (#315895)
18985
18986 2005-09-30  Edward Hervey  <edward@fluendo.com>
18987
18988         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
18989         Let's not iterate pads we're not interested in, it avoids getting 
18990         sky-high refcounts on sinkpad.
18991
18992 2005-09-30  Wim Taymans  <wim@fluendo.com>
18993
18994         * gst/gstelement.c: (gst_element_set_state),
18995         (gst_element_change_state):
18996         Small tweak, element in ASYNC remains ASYNC.
18997
18998 2005-09-30  Wim Taymans  <wim@fluendo.com>
18999
19000         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19001         Only error is an error.
19002
19003         * gst/gstbin.c: (gst_bin_change_state):
19004         Better debugging.
19005
19006         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
19007         Also call pad_block in pad alloc.
19008
19009         * gst/gstutils.c: (gst_flow_get_name):
19010         Better debugging.
19011
19012 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19013
19014         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19015         (gst_base_src_get_range):
19016           Fix documentation typos. Add some more debug info.
19017
19018 2005-09-29  David Schleef  <ds@schleef.org>
19019
19020         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
19021           more end-user friendly.
19022         * tools/gst-inspect.c: (main): Check if command-line argument is
19023           a file and attempt to load that file as a plugin.
19024
19025 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19026
19027         * check/gst/gstbin.c:
19028         * check/states/sinks.c:
19029           fix tests for the new warning
19030         * check/gst/gstpipeline.c:
19031           add a test for pipeline and bus interaction
19032         * gst/gstelement.c:
19033           elements should be NULL if they get disposed; add a warning if not
19034
19035 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19036
19037         * gst/gstobject.c:
19038           for 2.6 refcounting, make debug log more correct by printing
19039           the actual refcounts at the time of swap (Wim)
19040
19041 2005-09-29  Andy Wingo  <wingo@pobox.com>
19042
19043         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
19044         removes signal watches previously added via
19045         gst_bus_add_signal_watch.
19046         (gst_bus_add_signal_watch): Don't return the source id, just store
19047         it on the bus if there wasn't an id already.
19048
19049         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
19050         add_signal_watch and remove_signal_watch.
19051
19052 2005-09-29  Edward Hervey  <edward@fluendo.com>
19053
19054         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
19055         Better if we actually iterate the list :)
19056
19057 2005-09-29  Wim Taymans  <wim@fluendo.com>
19058
19059         * check/gst/gstbin.c: (GST_START_TEST):
19060         Change for new bus API.
19061
19062         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19063         (send_messages), (GST_START_TEST), (gstbus_suite):
19064         Change for new bus signal API.
19065
19066         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
19067         (gst_bus_source_prepare), (gst_bus_source_check),
19068         (gst_bus_create_watch), (gst_bus_add_watch_full),
19069         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
19070         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
19071         * gst/gstbus.h:
19072         Remove support for multiple GSources operating on different
19073         message types as it is too complex and unneeded when using
19074         signals.
19075         Added support for receiving signals from the bus.
19076
19077 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19078
19079         * docs/libs/tmpl/gstdataprotocol.sgml:
19080         * docs/manual/advanced-dataaccess.xml:
19081         * gst/elements/gstcapsfilter.c:
19082         * gst/gstutils.c:
19083           rename filter-caps to caps property
19084
19085 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19086
19087         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19088           More robust fraction string parsing.
19089
19090         * docs/pwg/appendix-porting.xml:
19091           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
19092
19093 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
19094
19095         * gst/gstcaps.c: (gst_caps_do_simplify):
19096           Thou shalt not free a structure and then continue using it
19097           in the next loop iteration.
19098
19099         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
19100         (gst_caps_suite):
19101           Add test case for caps simplification.
19102
19103 2005-09-29  Wim Taymans  <wim@fluendo.com>
19104
19105         * check/gst/gstbin.c: (GST_START_TEST):
19106         Oops.
19107
19108 2005-09-29  Wim Taymans  <wim@fluendo.com>
19109
19110         * check/gst/gstbin.c: (GST_START_TEST):
19111         Add bus to bin.
19112
19113         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
19114         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
19115         (find_element), (gst_bin_sort_iterator_next),
19116         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19117         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19118         (gst_bin_change_state), (gst_bin_dispose):
19119         A bin does not have a bus, it gets the bus from the parent.
19120
19121         * gst/gstelement.c: (gst_element_requires_clock),
19122         (gst_element_provides_clock), (gst_element_is_indexable),
19123         (gst_element_is_locked_state), (gst_element_change_state),
19124         (gst_element_set_bus_func):
19125         Small cleanups.
19126
19127         * gst/gstpipeline.c: (gst_pipeline_class_init),
19128         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
19129         The pipeline provides a bus.
19130
19131 2005-09-28  Johan Dahlin  <johan@gnome.org>
19132
19133         * gst/gstmessage.c (gst_message_parse_state_changed): Use
19134         gst_structure_get_enum instead of gst_structure_get_int
19135
19136         * gst/gststructure.c (gst_structure_get_enum): Impl.
19137
19138         * gst/gststructure.h (gst_structure_get_enum): Add
19139
19140         * docs/gst/gstreamer-sections.txt: Ditto
19141
19142         * gst/gstmessage.c (gst_message_new_state_changed): Use
19143         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
19144         which does introspection.
19145         Reviewed by Christian Schaller
19146
19147 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
19148
19149         * gst/gstinfo.c: (gst_debug_log_default):
19150           don't do dummy g_strdup()s
19151         * libs/gst/controller/gstcontroller.c:
19152         (on_object_controlled_property_changed),
19153         (gst_controlled_property_new), (gst_controller_new_valist),
19154         (gst_controller_new_list),
19155         (gst_controller_remove_properties_valist), (gst_controller_set),
19156         (gst_controller_get), (gst_controller_sync_values),
19157         (gst_controller_get_value_array), (_gst_controller_class_init),
19158         (gst_controller_get_type):
19159         * libs/gst/controller/gstcontroller.h:
19160         * libs/gst/controller/gstinterpolation.c:
19161         (gst_controlled_property_find_timed_value_node):
19162           convert // to /**/ comments
19163
19164 2005-09-28  Wim Taymans  <wim@fluendo.com>
19165
19166         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
19167         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
19168         (gst_bus_sync_signal_handler):
19169         * gst/gstbus.h:
19170         Added async-message and sync-message signals to the bus.
19171         Added helper BusFunc to emit signals for all posted messages.
19172
19173         * gst/gstmessage.c: (gst_message_type_get_name),
19174         (gst_message_type_to_quark), (gst_message_get_type):
19175         * gst/gstmessage.h:
19176         Register quarks for message names.
19177
19178 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
19179
19180         * docs/libs/gstreamer-libs-sections.txt:
19181         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
19182         (gst_controller_new_list):
19183         * libs/gst/controller/gstcontroller.h:
19184           added another constructor for language bindings
19185
19186 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19187
19188         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19189           add another check
19190         * gst/gstbus.c:
19191           add some doc
19192         * gst/gstinfo.c: (_gst_debug_init):
19193           slightly more readable color for refcount debugging
19194
19195 2005-09-28  Wim Taymans  <wim@fluendo.com>
19196
19197         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19198         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
19199         (find_element), (gst_bin_sort_iterator_next),
19200         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19201         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19202         (gst_bin_change_state), (gst_bin_dispose):
19203         Small doc fixes. get_clock -> provide_clock.
19204
19205         * gst/gstelement.c: (gst_element_class_init),
19206         (gst_element_provides_clock), (gst_element_provide_clock),
19207         (gst_element_get_clock), (gst_element_commit_state),
19208         (gst_element_lost_state):
19209         * gst/gstelement.h:
19210         Make get/set_clock() symetric. Add provide_clock vmethod since
19211         that is actually what this function does.
19212
19213         * gst/gstpipeline.c: (gst_pipeline_class_init),
19214         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
19215         (gst_pipeline_get_clock):
19216         get_clock -> provide_clock.
19217
19218 2005-09-28  Andy Wingo  <wingo@pobox.com>
19219
19220         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
19221         lieu of real docs...
19222
19223         * gst/elements/gstfdsrc.c: Cleaned up a bit.
19224
19225 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
19226
19227         * gst/elements/gstcapsfilter.c:
19228         * gst/elements/gstfakesink.c:
19229         * gst/elements/gstfakesrc.c:
19230         * gst/elements/gstfdsink.c:
19231         * gst/elements/gstfdsrc.c:
19232         * gst/elements/gstfilesink.c:
19233         * gst/elements/gstfilesrc.c:
19234         * gst/elements/gstidentity.c:
19235         * gst/elements/gsttee.c:
19236         * gst/elements/gsttypefindelement.c:
19237           Make element details static.
19238
19239 2005-09-28  Wim Taymans  <wim@fluendo.com>
19240
19241         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19242         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
19243         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19244         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19245         (gst_bin_change_state), (gst_bin_dispose):
19246         Some documentation updates.
19247         Clean up dispose handlers.
19248
19249         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
19250         * gst/gstpad.c: (gst_pad_dispose):
19251         Clean up dispose handler.
19252
19253         * gst/gstpipeline.c: (gst_pipeline_change_state):
19254         Removed spurious UNLOCK.
19255
19256 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
19257
19258         * docs/gst/gstreamer-sections.txt:
19259         * gst/base/gstbasesrc.h:
19260         * gst/gstelement.h:
19261         * gst/gstevent.h:
19262         * gst/gstobject.h:
19263         * gst/gstpad.h:
19264         * gst/gstpipeline.c:
19265         * gst/gstpipeline.h:
19266         * gst/gstutils.h:
19267         * gst/gstxml.h:
19268           added two new functions to the docs
19269                 documents all undocumented GstXXXFlags
19270                 completed some incomplete docs 
19271
19272 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19273
19274         * gst/gstbin.c: (gst_bin_dispose):
19275         * gst/gstelement.c: (gst_element_dispose):
19276           remove now useless and leaky resurrection code in dispose
19277         * gst/base/gstbasesrc.c: (gst_base_src_init):
19278         * gst/gstelementfactory.c: (gst_element_factory_create):
19279         * gst/gstobject.c: (gst_object_set_parent):
19280           add some debugging
19281
19282 2005-09-27  Wim Taymans  <wim@fluendo.com>
19283
19284         * docs/design/part-TODO.txt:
19285         Update TODO.
19286
19287         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19288         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
19289         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19290         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19291         (gst_bin_change_state):
19292         * gst/gstelement.h:
19293         Remove element variable, we keep element info in the iterator now.
19294
19295 2005-09-27  Andy Wingo  <wingo@pobox.com>
19296
19297         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
19298         values.
19299
19300 2005-09-27  Wim Taymans  <wim@fluendo.com>
19301
19302         * check/gst/gstbin.c: (GST_START_TEST):
19303         Enable check that works now.
19304
19305         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19306         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
19307         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19308         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19309         (gst_bin_change_state):
19310         * gst/gstbin.h:
19311         Redid the state change algorithm using a topological sort algo.
19312         Handles all cases correctly.
19313         Exposed iterator for state change order.
19314
19315         * gst/gstelement.h:
19316         Temp storage for state changes. Need to get rid of this soon.
19317
19318 2005-09-27  Wim Taymans  <wim@fluendo.com>
19319
19320         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
19321         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
19322         (link_fold_func), (gst_pad_proxy_setcaps):
19323         Leak fixes, the fold functions need to unref the passed object and
19324         _get_parent_*() returns ref to parent.
19325
19326 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
19327
19328         * check/gst/gstbuffer.c: (test_make_writable):
19329           Plug leak in test case and fix 'make check-valgrind'
19330
19331 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
19332
19333         * gst/gstbuffer.c: (gst_subbuffer_init):
19334           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
19335           works correctly in all circumstances (we could have just copied
19336           the parent buffer's readonly flag, but conceptually it seems
19337           cleaner to mark all subbuffers as read-only). (based on patch
19338           by Alessandro Decina, #314710).
19339         
19340         * check/gst/gstbuffer.c: (create_read_only_buffer),
19341         (test_make_writable), (test_subbuffer_make_writable),
19342         (gst_test_suite):
19343           Add some tests for gst_buffer_make_writable().
19344
19345 2005-09-27  Wim Taymans  <wim@fluendo.com>
19346
19347         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
19348         use gst_object_has_ancestor().
19349
19350         * gst/gstobject.c: (gst_object_has_ancestor):
19351         * gst/gstobject.h:
19352         gst_object_has_ancestor() copied from gstbin.c as it is a
19353         useful function.
19354
19355         * tests/instantiate/create.c: (create_all_elements):
19356         * tests/lat.c: (handoff_src), (handoff_sink):
19357         * tests/sched/runxml.c: (main):
19358         * tests/seeking/seeking1.c: (main):
19359         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
19360         (main):
19361         Fix compilation of some tests.
19362
19363 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
19364
19365         * gst/gsterror.h:
19366           Remove comment. GST_TYPE_G_ERROR is here to stay,
19367           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
19368           (#316961, #300610).
19369
19370 2005-09-26  Wim Taymans  <wim@fluendo.com>
19371
19372         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19373         Added check that shows error in state change order.
19374
19375 2005-09-26  Wim Taymans  <wim@fluendo.com>
19376
19377         * gst/gstbin.c: (gst_bin_change_state):
19378         Make state change function use 3 queues again, we were
19379         adding elements in the wrong order.
19380
19381         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
19382         Some debug info,
19383
19384         * gst/gstpad.c: (gst_pad_dispose):
19385         Added some debug info first.
19386
19387 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
19388
19389         * docs/design/draft-push-pull.txt:
19390         * docs/design/part-events.txt:
19391         * docs/design/part-overview.txt:
19392         * docs/design/part-scheduling.txt:
19393           Replace all _pull_region() with _pull_range()
19394           
19395 2005-09-26  Andy Wingo  <wingo@pobox.com>
19396
19397         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
19398
19399         * check/gst-libs/controller.c: Update for controller api change.
19400
19401         * configure.ac: 
19402         * tests/Makefile.am:
19403         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
19404         over by GLib bug 118439.
19405         
19406         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
19407         routines to a function.
19408
19409         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
19410
19411         * libs/gst/controller/gsthelper.c:
19412         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
19413         (gst_object_sync_values): Renamed from sink_values. Ugh.
19414
19415         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
19416
19417         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
19418         Renamed from controller_key, as it is exported.
19419
19420         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
19421
19422 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
19423
19424         * gst/Makefile.am:
19425         * gst/gst.h:
19426         * gst/gstpad.h:
19427         * gst/gstpadtemplate.h:
19428         * gst/gstquery.c:
19429         * gst/gstquery.h:
19430         * gst/gstqueryutils.c:
19431         * gst/gstqueryutils.h:
19432           remove queryutils headers after moving the two used functions
19433           to gstquery.  also fixes build problem for gstsiddec
19434
19435 2005-09-26  Michael Smith <msmith@fluendo.com>
19436
19437         * tools/gst-launch.1.in:
19438         Correct documentation in manpage of debug syntax
19439
19440 2005-09-26  Wim Taymans  <wim@fluendo.com>
19441
19442         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19443         (gst_base_src_is_seekable), (gst_base_src_change_state):
19444         Some more debugging info.
19445
19446 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19447
19448         * docs/gst/gstreamer-sections.txt:
19449         * gst/base/gstbasetransform.h:
19450         * gst/gstindex.h:
19451           added more docs
19452
19453 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19454
19455         * docs/gst/.cvsignore:
19456         * docs/gst/tmpl/.cvsignore:
19457         * docs/gst/tmpl/gstpipeline.sgml:
19458         * docs/gst/tmpl/gstplugin.sgml:
19459         * gst/gstpipeline.c:
19460         * gst/gstplugin.c:
19461         * gst/gstplugin.h:
19462           inlined the last two docs files
19463           removed the tmpl directory from cvs (no more conflicts here!)
19464
19465 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19466
19467         * docs/gst/gstreamer-sections.txt:
19468         * docs/gst/tmpl/.cvsignore:
19469         * docs/gst/tmpl/gstpad.sgml:
19470         * docs/gst/tmpl/gstpadtemplate.sgml:
19471         * gst/Makefile.am:
19472         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
19473         (gst_pad_finalize), (gst_pad_set_pad_template):
19474         * gst/gstpad.h:
19475         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
19476         (gst_pad_template_class_init), (gst_pad_template_init),
19477         (gst_pad_template_dispose), (name_is_valid),
19478         (gst_static_pad_template_get), (gst_pad_template_new),
19479         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
19480         (gst_pad_template_pad_created):
19481         * gst/gstpadtemplate.h:
19482           inlined two more docs
19483           factored gstpadtemplate out of gstpad
19484
19485 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
19486
19487         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
19488         (test_children_state_change_order_semi_sink):
19489           Fix test case: we can't rely on a fixed state change order when
19490           going from READY => PAUSED because the sink might commit its 
19491           new state first when the first buffer created by the source 
19492           reaches the sink before the source has finished its change state.
19493           (Test case still fails at times, see #316856, comment 5 onwards)
19494
19495 2005-09-24  Wim Taymans  <wim@fluendo.com>
19496
19497         * docs/design/part-events.txt:
19498         * docs/design/part-gstbus.txt:
19499         * docs/design/part-gstpipeline.txt:
19500         * docs/design/part-messages.txt:
19501         * docs/design/part-overview.txt:
19502         * docs/design/part-segments.txt:
19503         * gst/gstbin.c:
19504         * gst/gstbuffer.c:
19505         * gst/gstclock.c:
19506         * gst/gstelement.c:
19507         * gst/gstevent.c:
19508         * gst/gstfilter.c:
19509         * gst/gstiterator.c:
19510         Various documentation updates.
19511
19512 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19513
19514         * gst/gstclock.h:
19515           Well, that's embarassing.  Luckily we weren't using
19516           GST_CLOCK_DIFF anywhere.
19517
19518 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19519
19520         * common/gtk-doc.mak:
19521           don't fail on building XML, FC4 slave shows a bunch of doc
19522           missing bits that I don't get
19523         * gst/gstpad.c:
19524         * gst/gstpipeline.c:
19525         * gst/gststructure.c:
19526           some doc updates
19527
19528 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
19529
19530         * docs/design/part-gstbin.txt:
19531         * docs/design/part-gstbus.txt:
19532         * gst/gstbus.c:
19533           Add blurb about how the bus goes into flushing mode and
19534           drops all messages when its bin goes from READY into NULL 
19535           state.
19536
19537 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19538
19539         * docs/gst/gstreamer-sections.txt:
19540         * gst/gststructure.c: (gst_structure_get_clock_time):
19541         * gst/gststructure.h:
19542           add a method to get a GstClockTime out of a structure
19543
19544 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
19545
19546         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
19547         (test_children_state_change_order_semi_sink), (gst_bin_suite):
19548           Added test to check state change order in bins (can still be made
19549           to fail here under heavy disk load; bails out with 'Push on pad
19550           fakesink:sink0, but it was not activated in push mode').
19551
19552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
19553           Fix state change order when there is only a semi sink (#316856)
19554
19555         * gst/gstbus.c: (gst_bus_class_init):
19556           Use _class_peek_parent(), not _class_ref(); fix docs to say
19557           'default main context' instead of 'mainloop' where that is
19558           what's meant.
19559
19560         * gst/gstelement.c: (gst_element_commit_state),
19561         (gst_element_set_state):
19562           Fix typos in debug messages
19563
19564 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19565
19566         * docs/README:
19567         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
19568         * gst/gstpluginfeature.c:
19569         * gst/gstutils.c:
19570           various doc updates
19571         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19572           change an assert into an error until it gets fixed properly
19573
19574 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
19575
19576         * docs/gst/gstreamer-sections.txt:
19577         * docs/gst/tmpl/.cvsignore:
19578         * docs/gst/tmpl/gstelement.sgml:
19579         * docs/gst/tmpl/gstinfo.sgml:
19580         * docs/gst/tmpl/gstobject.sgml:
19581         * gst/gstelement.c:
19582         * gst/gstelement.h:
19583         * gst/gstinfo.c:
19584         * gst/gstinfo.h:
19585         * gst/gstobject.c: (gst_object_class_init):
19586         * gst/gstobject.h:
19587           inlined 3 more biiiig doc files and added some missing docs on the fly
19588
19589 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19590
19591         * check/gst/.cvsignore:
19592         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
19593         * gst/gstregistryxml.c: (load_plugin),
19594         (gst_registry_xml_save_plugin):
19595           put back source in registry.  add checks for find_plugin.
19596         * testsuite/states/bin.c: (assert_state), (empty_bin),
19597         (test_adding_one_element), (main):
19598         * testsuite/states/locked.c: (main):
19599           some compile/run fixes
19600
19601 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19602
19603         * check/gst/gstvalue.c: (GST_START_TEST):
19604           fix leaks in the test itself
19605
19606 2005-09-22  Wim Taymans  <wim@fluendo.com>
19607
19608         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19609         (gst_base_sink_send_event), (gst_base_sink_peer_query),
19610         (gst_base_sink_query):
19611         Prepare for more accurate position reporting and query
19612         handling.
19613
19614         * gst/gstelement.c: (gst_element_send_event),
19615         (gst_element_set_state):
19616         Add some comment.
19617
19618 2005-09-22  Wim Taymans  <wim@fluendo.com>
19619
19620         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
19621         (gst_query_parse_segment):
19622         * gst/gstquery.h:
19623         More documentation.
19624         Add segment query for future use.
19625
19626 2005-09-22  Wim Taymans  <wim@fluendo.com>
19627
19628         * gst/gstbin.c: (gst_bin_add_func):
19629         Some more debug info.
19630
19631         * gst/gstelement.c: (gst_element_send_event):
19632         Simplify send_event
19633
19634         * gst/gstelement.h:
19635         Don't know how flags got broken.
19636
19637         * gst/gstquery.h:
19638         Added new query.
19639
19640 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19641
19642         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
19643           Add simplistic test suite for GST_TYPE_DATE serialisation and
19644           deserialisation.
19645
19646 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19647
19648         * docs/gst/gstreamer-sections.txt:
19649         * gst/gststructure.c: (gst_structure_set_valist),
19650         (gst_structure_get_date):
19651         * gst/gststructure.h:
19652         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
19653         (gst_date_copy), (gst_value_compare_date),
19654         (gst_value_serialize_date), (gst_value_deserialize_date),
19655         (gst_value_transform_date_string),
19656         (gst_value_transform_string_date), (_gst_value_initialize):
19657         * gst/gstvalue.h:
19658           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
19659           bunch of utility functions along with a hack that checks that
19660           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
19661           is required. Part of the grand scheme in #170777.
19662
19663 2005-09-22  Andy Wingo  <wingo@pobox.com>
19664
19665         * gst/gstconfig.h.in: Psych out gtk-doc.
19666
19667         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
19668
19669         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
19670
19671         * tools/gst-inspect.c (print_element_list): Plug some
19672         inconsequential leaks.
19673
19674         * gst/gstregistry.c (gst_registry_get_default): Doc.
19675
19676         * check/gst/gstplugin.c: 
19677         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
19678         * gst/gstelementfactory.c (gst_element_factory_create): 
19679         * gst/gstindexfactory.c (gst_index_factory_create): Update for
19680         refcount changes.
19681
19682         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
19683         (gst_plugin_feature_load): Doc, don't eat refs.
19684
19685         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
19686         (gst_plugin_list_free): Doc.
19687         (gst_plugin_load_file): Doc updates.
19688
19689         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
19690         accessors returning refcounted objects, return a ref.
19691
19692         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
19693         accessor for caps. IDEMPOTENCE. Oh yes.
19694
19695 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
19696
19697         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19698
19699         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19700         (_gst_debug_register_funcptr):
19701           Add mutex to serialise access to the hash table with
19702           the function pointer => function name string mapping;
19703           make that hash table static scope (#316809).
19704
19705         * gst/registries/.cvsignore:
19706           Remove left-over file.
19707
19708 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19709
19710         * docs/pwg/appendix-porting.xml:
19711           And something about newsegment events and caps-on-buffers to
19712           the porting guide (feel free to improve).
19713
19714 2005-09-21  Andy Wingo  <wingo@pobox.com>
19715
19716         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
19717         data and event probes on the same pad.
19718         (test_buffer_probe_once): Test that removing probes from within
19719         the probe functions works.
19720
19721 2005-09-21  Andy Wingo  <wingo@pobox.com>
19722
19723         * check/gst/gstutils.c: New file.
19724         (test_buffer_probe_n_times): A simple buffer probe test. More to
19725         come, foolios.
19726
19727         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
19728         have-data::buffer, not have-data.
19729         (gst_pad_add_event_probe): Likewise for have-data::event.
19730         (gst_pad_add_data_probe): More docs. The part about 'resolving the
19731         peer' isn't quite right yet though.
19732         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
19733         (gst_pad_remove_data_probe): Change to take the guint handler_id
19734         as their arg, not the function+data, which is more glib-like.
19735
19736         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
19737         the signal emission to indicate if the data is a buffer or an
19738         event.
19739         (gst_pad_get_type): Initialize buffer and event quarks.
19740         (gst_pad_class_init): have-data is now a detailed signal, yes it
19741         is.
19742
19743 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19744
19745         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19746         * gst/gstutils.c: (gst_util_set_value_from_string),
19747         (gst_util_set_object_arg):
19748           Don't put functional code in g_return_if_fail() or
19749           g_return_val_if_fail() statements, otherwise things will 
19750           break when G_DISABLE_CHECKS is defined during compilation.
19751
19752 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19753
19754         * docs/gst/tmpl/.cvsignore:
19755         * docs/gst/tmpl/gstvalue.sgml:
19756         * gst/gstvalue.c:
19757         * gst/gstvalue.h:
19758           inlied another one and added  some obvious docs
19759
19760 2005-09-21  Wim Taymans  <wim@fluendo.com>
19761
19762         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19763         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
19764         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
19765         (gst_fdsrc_get_property), (gst_fdsrc_create):
19766         * gst/elements/gstfdsrc.h:
19767         Properly implement fdsrc. Removed signal and timeout,
19768         better implemented somewhere else.
19769
19770 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19771
19772         * docs/gst/tmpl/.cvsignore:
19773         * docs/gst/tmpl/gstimplementsinterface.sgml:
19774         * gst/gstinterface.c:
19775           inlined more docs
19776
19777 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19778
19779         * docs/gst/gstreamer-sections.txt:
19780         * docs/gst/tmpl/.cvsignore:
19781         * docs/gst/tmpl/gstenumtypes.sgml:
19782           remove obsolete doc file
19783
19784 2005-09-21  David Schleef  <ds@schleef.org>
19785
19786         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
19787         little beer, fix a little leak.
19788
19789 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19790
19791         * docs/gst/gstreamer-docs.sgml:
19792         * docs/gst/gstreamer-sections.txt:
19793         * docs/gst/tmpl/.cvsignore:
19794         * gst/Makefile.am:
19795         * gst/gst.h:
19796         * gst/gstbin.c:
19797         * gst/gstelement.h:
19798         * gst/gstindex.c: (gst_index_class_init):
19799         * gst/gstindex.h:
19800         * gst/gstindexfactory.c: (gst_index_factory_get_type),
19801         (gst_index_factory_class_init), (gst_index_factory_init),
19802         (gst_index_factory_finalize), (gst_index_factory_new),
19803         (gst_index_factory_destroy), (gst_index_factory_find),
19804         (gst_index_factory_create), (gst_index_factory_make):
19805         * gst/gstindexfactory.h:
19806         * gst/gstpluginfeature.c:
19807         * gst/gstpluginfeature.h:
19808         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19809           more docs inlined, splitted gstindex.{c,h}
19810
19811 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19812
19813         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19814           fix a leak
19815
19816 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19817
19818         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19819           Set sync to FALSE by default.
19820
19821 2005-09-20  Wim Taymans  <wim@fluendo.com>
19822
19823         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19824         (gst_base_sink_init):
19825         Make sync property settable from subclass.
19826
19827         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19828         (gst_fake_sink_change_state):
19829         Set sync to FALSE by default.
19830
19831 2005-09-20  Wim Taymans  <wim@fluendo.com>
19832
19833         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
19834         * tools/gst-launch.c: (main):
19835         The timeout handler should have lower priority than the source
19836         so we don't timeout before popping a message with 0 timeout.
19837         Dump error messages after failed state change.
19838
19839 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19840
19841         * tools/gst-inspect.c: (print_element_properties_info):
19842           Fix two typos.
19843
19844 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19845
19846         * check/gst/gstevent.c:
19847         * gst/elements/gstfakesink.c:
19848         * gst/elements/gstfakesink.h:
19849           remove the sync property from fakesink.
19850           has the side effect of setting sync TRUE
19851           for fakesink, which is a change.  Anyone who knows how
19852           to fix this nicely in a GObject-y way, feel free.
19853
19854 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19855
19856         * docs/gst/gstreamer-docs.sgml:
19857           remove probe refsection
19858
19859 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19860
19861         * check/Makefile.am:
19862           disable valgrinding the controller test again
19863         * docs/gst/gstreamer-sections.txt:
19864           update for api-changes
19865
19866 2005-09-20  Wim Taymans  <wim@fluendo.com>
19867
19868         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19869         (gst_base_sink_set_property), (gst_base_sink_get_property),
19870         (gst_base_sink_do_sync):
19871         * gst/base/gstbasesink.h:
19872         Added sync property to basesink to disable clock sync.
19873
19874 2005-09-20  Andy Wingo  <wingo@pobox.com>
19875
19876         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
19877         eating the caller's refcount.
19878
19879         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
19880         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
19881         refcount.
19882
19883         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
19884         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
19885         of GLib 2.8 public, so we can know which refcount to check in
19886         tests.
19887
19888         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
19889         (gst_object_init): Only set the gst refcount if we're going ahead
19890         with the refcount hack.
19891
19892 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19893
19894         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19895         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19896           more leaks plumbed, added more debug-logging
19897         * gst/gstmacros.h:
19898           whitespace fix
19899
19900 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19901
19902         * gst/gstmessage.c:
19903           remove include of gstmemchunk.h
19904
19905 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19906
19907         * gst/gstclock.c: (_gst_clock_id_free):
19908           Commit from the Political Party For More Atomic CVS Commits,
19909           so that people don't waste too much of their day fishing
19910           out obvious leaks out of massive commits.
19911           Oh, and fix a pretty damn obvious leak in the memchunk
19912           removal code.
19913
19914 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19915
19916         * check/Makefile.am:
19917         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19918           plug mem-leak, re-add to valgrindable tests
19919
19920 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19921
19922         * gst/gstplugin.h:
19923           unbreak the build for those who have chronic arthritis
19924           and typing "make check" is just too taxing on the hands
19925
19926 2005-09-20  Andy Wingo  <wingo@pobox.com>
19927
19928         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
19929         really want it out, you should fix plugins at the same time.
19930
19931 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
19932
19933         * configure.ac:
19934         * docs/gst/gstreamer-sections.txt:
19935         * gst/gstobject.c:
19936           added missing symbols to api docs
19937           disable ref-count hack if we have glib >= 2.8
19938
19939 2005-09-19  David Schleef  <ds@schleef.org>
19940
19941         * docs/gst/Makefile.am: Ignore a few more internal headers
19942         * docs/gst/gstreamer-docs.sgml: Remove old sections
19943         * docs/gst/gstreamer-sections.txt: Remove old sections
19944         * docs/gst/tmpl/gstobject.sgml: update
19945         * docs/gst/tmpl/gstplugin.sgml: update
19946         * docs/gst/tmpl/gstpluginfeature.sgml: update
19947         * docs/random/ds/0.9-suggested-changes: update.
19948         * gst/Makefile.am: remove memchunk and trashstack, since they're
19949           not used.
19950         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
19951         * gst/gst.h: don't include some headers
19952         * gst/gstchildproxy.c: add gstmarshal.h
19953         * gst/gstclock.c: Don't use memchunks
19954         * gst/gstminiobject.c: Add some docs
19955         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
19956         * gst/gstobject.h: same
19957         * gst/gstplugin.c: include gstmacros.h
19958         * gst/gstplugin.h: don't include gstmacros.h, since it's private
19959         * gst/gstquery.c: don't use memchunks
19960         * gst/gstregistry.c: rename gst_registry_deinit()
19961         * gst/gstregistry.h: same
19962
19963 2005-09-19  David Schleef  <ds@schleef.org>
19964
19965         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
19966         * docs/libs/gstreamer-libs-sections.txt:
19967         * docs/libs/tmpl/gstgetbits.sgml:
19968         * docs/libs/tmpl/gstputbits.sgml:
19969
19970 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
19971
19972         * win32/gstenumtypes.c:
19973         * win32/gstenumtypes.h:
19974           Update.
19975
19976 2005-09-19  Wim Taymans  <wim@fluendo.com>
19977
19978         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
19979         Automatically PAUSE and RESUME a pipeline when a flushing seek
19980         is performed.
19981
19982 2005-09-19  Andy Wingo  <wingo@pobox.com>
19983
19984         * gst/gstregistry.h: Spacing fixen.
19985
19986 2005-09-19  Wim Taymans  <wim@fluendo.com>
19987
19988         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
19989         Handle state change failure more correctly.
19990
19991 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19992
19993         * check/Makefile.am:
19994         * check/pipelines/cleanup.c: (run_pipeline):
19995         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19996         (GST_START_TEST):
19997           enable cleanup again after fixing the leak
19998         * docs/README:
19999           some more info on docs
20000
20001 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20002
20003         * check/Makefile.am:
20004           re-enable tests now that leaks are plugged
20005         * check/gst/gst.c:
20006         * check/gst/gstbin.c:
20007         * check/gst/gstpipeline.c:
20008           add some more tests while fixing leaks
20009         * common/check.mak:
20010           make sure binaries are uptodate when valgrinding/gdbing
20011         * gst/gst.c:
20012         * gst/gstelementfactory.c:
20013           remove a ref too many, and add a FIXME for when we get
20014           round to disposing of classes
20015         * gst/gstplugin.c:
20016           fix the refcounting when loading a plugin from a file and
20017           the code pretends that the pointer is the same even though
20018           of course it can change
20019         * gst/gstpluginfeature.c:
20020           unref plugins marked cached (a bit confusing as a name)
20021           as the docs state should be done
20022           various doc additions to explain refcounting
20023         * gst/gstregistry.c:
20024         * gst/gstregistryxml.c:
20025           debugging
20026
20027 2005-09-19  Wim Taymans  <wim@fluendo.com>
20028
20029         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
20030         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20031         (send_messages), (GST_START_TEST), (gstbus_suite):
20032         * check/gst/gstpipeline.c: (GST_START_TEST):
20033         * check/pipelines/cleanup.c: (run_pipeline):
20034         * check/pipelines/simple_launch_lines.c: (run_pipeline),
20035         (GST_START_TEST):
20036         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
20037         (gst_bus_source_check), (gst_bus_source_dispatch),
20038         (gst_bus_create_watch), (gst_bus_add_watch_full),
20039         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
20040         * gst/gstbus.h:
20041         * tools/gst-launch.c: (event_loop):
20042         * tools/gst-md5sum.c: (event_loop):
20043         GstBusHandler -> GstBusFunc, return value has the same meaning as
20044         any other GSource (FALSE == remove source).
20045         _add_watch() and _add_watch_full() now take a MessageType mask to
20046         only handle specific types of messages.
20047         _poll() returns the GstMessage instead of the message type to avoid
20048         race conditions.
20049         _have_pending() takes a MessageType mask now too.
20050         Added testsuite for multiple bus watches.
20051         Fix testsuites and applications for new bus API.
20052
20053 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20054
20055         * check/Makefile.am:
20056           mark a bunch of the tests as to fix until we fix them
20057
20058 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20059
20060         * common/check.mak:
20061           use GST_PLUGIN settings for valgrind tests as well, so we're
20062           valgrinding the correct thing
20063         * gst/gst.c: (init_post):
20064           plug another leak
20065
20066 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20067
20068         * gst/gst.c: (init_post), (gst_deinit):
20069         * gst/gstelementfactory.c: (gst_element_factory_class_init),
20070         (gst_element_factory_finalize), (gst_element_factory_cleanup):
20071         * gst/gstindex.c: (gst_index_factory_class_init),
20072         (gst_index_factory_finalize):
20073         * gst/gstobject.c: (gst_object_dispose):
20074         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
20075         (gst_plugin_load_file), (gst_plugin_desc_free):
20076         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
20077         (gst_plugin_feature_finalize):
20078         * gst/gstregistry.c: (gst_registry_class_init),
20079         (gst_registry_init), (gst_registry_finalize),
20080         (gst_registry_get_default), (gst_registry_deinit):
20081         * gst/gstregistry.h:
20082         * gst/gstregistryxml.c: (load_feature), (load_plugin):
20083           various cleanups and memleak plugging.  make valgrind is happy now.
20084
20085 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20086
20087         * common/check.mak:
20088           add a check-valgrind target
20089
20090 2005-09-18  David Schleef  <ds@schleef.org>
20091
20092         * tools/gst-inspect.c: Revert the GOption code.
20093
20094 2005-09-17  David Schleef  <ds@schleef.org>
20095
20096         * check/Makefile.am: Fix environment variables.
20097         * check/gst/gstplugin.c: Fix for API changes.
20098         * tools/gst-inspect.c: Fix for API changes.
20099         * tools/gst-xmlinspect.c: Fix for API changes.
20100         * gst/gstelementfactory.c:
20101         * gst/gstplugin.c:
20102         * gst/gstplugin.h:
20103         * gst/gstpluginfeature.c:
20104         * gst/gstpluginfeature.h:
20105         * gst/gstregistry.c:
20106         * gst/gstregistry.h:
20107         * gst/gstregistryxml.c:
20108         * gst/gsttypefind.c:
20109         * gst/gsttypefindfactory.c:
20110         * gst/indexers/gstfileindex.c:
20111         * gst/indexers/gstmemindex.c:
20112         * gst/schedulers/Makefile.am:
20113           Change registry to keep track of both plugins and features,
20114           removing the feature tracking from plugins themselves.
20115
20116 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20117
20118         * check/Makefile.am:
20119         * tools/gst-register.1.in:
20120           remove gst-register
20121
20122 2005-09-15  David Schleef  <ds@schleef.org>
20123
20124         * check/gst/gstplugin.c:
20125         * gst/gstelementfactory.c:
20126         * gst/gstplugin.c:
20127         * gst/gstpluginfeature.c:
20128         * gst/gstregistry.c:
20129           Getting tired of debugging.  Disabled all the unreffing of
20130           plugins and features, which fixes the segfaults, but of
20131           course leaks like crazy.  At least playbin works.
20132
20133 2005-09-15  David Schleef  <ds@schleef.org>
20134
20135         * check/gst/gstplugin.c: (register_check_elements),
20136         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
20137         More testing
20138         * gst/elements/gsttypefindelement.c: Fix refcounting.
20139         * gst/gsttypefind.c:
20140         * gst/gsttypefindfactory.c:
20141         * gst/gsttypefindfactory.h:
20142
20143 2005-09-15  David Schleef  <ds@schleef.org>
20144
20145         * gst/gstindex.c: get refcounting correct.
20146         * gst/gstregistry.c: Handle the case where a feature/plugin is
20147           not found.
20148
20149 2005-09-15  David Schleef  <ds@schleef.org>
20150
20151         * check/Makefile.am:
20152         * check/gst/gstplugin.c: Add test
20153         * gst/gstplugin.c: Fix problems noticed by testsuite
20154         * gst/gstplugin.h:
20155         * gst/gstregistry.c: 
20156         * gst/gstregistry.h:
20157
20158 2005-09-15  David Schleef  <ds@schleef.org>
20159
20160         * gst/gstplugin.c: Implement semi-decent recounting and locking
20161           in plugins and plugin features.
20162         * gst/gstplugin.h:
20163         * gst/gstpluginfeature.c:
20164         * gst/gstpluginfeature.h:
20165         * gst/gstregistry.c:
20166
20167 2005-09-15  Michael Smith <msmith@fluendo.com>
20168
20169         * gst/gstregistry.c: (gst_registry_get_feature_list):
20170           Implement this. Makes oggdemux work; decodebin still broken.
20171
20172 2005-09-14  David Schleef  <ds@schleef.org>
20173
20174         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
20175           #316076)
20176         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
20177         * gst/check/Makefile.am:
20178         * libs/gst/controller/Makefile.am:
20179         * libs/gst/dataprotocol/Makefile.am:
20180
20181 2005-09-14  David Schleef  <ds@schleef.org>
20182
20183         * configure.ac: Remove getbits library.  Nothing uses it, and
20184           it should be in something like liboil if someone did want
20185           to use it.
20186         * libs/gst/Makefile.am:
20187         * libs/gst/getbits/Makefile.am:
20188         * libs/gst/getbits/gbtest.c:
20189         * libs/gst/getbits/getbits.c:
20190         * libs/gst/getbits/getbits.h:
20191         * libs/gst/getbits/gstgetbits_generic.c:
20192         * libs/gst/getbits/gstgetbits_i386.s:
20193         * libs/gst/getbits/gstgetbits_inl.h:
20194
20195 2005-09-14  David Schleef  <ds@schleef.org>
20196
20197         * gst/Makefile.am: Dist glib-compat.h
20198
20199 2005-09-14  David Schleef  <ds@schleef.org>
20200
20201         * configure.ac: Remove gst/registries, since it's no longer used.
20202         * gst/registries/Makefile.am:
20203         * gst/registries/gstlibxmlregistry.c:
20204         * gst/registries/gstlibxmlregistry.h:
20205         * gst/registries/gstxmlregistry.c:
20206         * gst/registries/gstxmlregistry.h:
20207         * gst/registries/registrytest.c:
20208
20209 2005-09-14  David Schleef  <ds@schleef.org>
20210
20211         * gst/glib-compat.h:
20212         * gst/gstregistryxml.c:
20213           Convergence is near.  Seriously.
20214
20215 2005-09-14  David Schleef  <ds@schleef.org>
20216
20217         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20218         * gst/glib-compat.h:
20219           Attempt #4 to appease the buildbots.
20220
20221 2005-09-14  David Schleef  <ds@schleef.org>
20222
20223         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20224           Attempt #3.
20225
20226 2005-09-14  David Schleef  <ds@schleef.org>
20227
20228         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20229         Attempt #2.
20230
20231 2005-09-14  David Schleef  <ds@schleef.org>
20232
20233         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
20234           the new functions.
20235
20236 2005-09-14  David Schleef  <ds@schleef.org>
20237
20238         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20239         * gst/glib-compat.h: Add some functions that are in newer versions
20240           of glib than we care to require.
20241         * gst/gstregistryxml.c: Use them.
20242
20243 2005-09-14  David Schleef  <ds@schleef.org>
20244
20245         * po/POTFILES.in: remove gst-register.c
20246
20247 2005-09-14  David Schleef  <ds@schleef.org>
20248
20249         * docs/gst/gstreamer-docs.sgml:
20250         * docs/gst/gstreamer-sections.txt:
20251         * docs/gst/gstreamer.types:
20252         * docs/gst/tmpl/gstelement.sgml:
20253         * docs/gst/tmpl/gstplugin.sgml:
20254         * docs/gst/tmpl/gstpluginfeature.sgml:
20255           Documentation updates for registry changes.
20256
20257 2005-09-14  David Schleef  <ds@schleef.org>
20258
20259         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
20260           because we don't require glib-2.8.
20261
20262 2005-09-14  David Schleef  <ds@schleef.org>
20263
20264         * gst/gstregistryxml.c: Added.  Essentially moved out of the
20265           registries directory.
20266
20267 2005-09-14  David Schleef  <ds@schleef.org>
20268
20269         * check/Makefile.am:
20270         * check/generic/states.c:
20271         * gst/Makefile.am:
20272         * gst/gst.c:
20273         * gst/gst.h:
20274         * gst/gst_private.h:
20275         * gst/gstelementfactory.c:
20276         * gst/gstindex.c:
20277         * gst/gstinfo.c:
20278         * gst/gstplugin.c:
20279         * gst/gstplugin.h:
20280         * gst/gstpluginfeature.c:
20281         * gst/gstpluginfeature.h:
20282         * gst/gstregistry.c:
20283         * gst/gstregistry.h:
20284         * gst/gstregistrypool.c: remove
20285         * gst/gstregistrypool.h: remove
20286         * gst/gsttypefind.c:
20287         * gst/gsttypefindfactory.c:
20288         * gst/gsturi.c:
20289         * tools/Makefile.am:
20290         * tools/gst-compprep.c:
20291         * tools/gst-inspect.c:
20292         * tools/gst-register.c: remove
20293         * tools/gst-xmlinspect.c:
20294           Registry rewrite.  Changes registry from being a file created
20295           by a tool into a simple cache file created automatically by 
20296           libgstreamer.  Removed gst-register (because it's no longer
20297           needed).  Remove registry pools, because we only have one
20298           registry implementation (XML).  Fix up other subsystems as
20299           necessary.
20300
20301 2005-09-13  Michael Smith <msmith@fluendo.com>
20302
20303         * gst/gstconfig.h.in:
20304           Don't Use windows linking attributes for MinGW. Fixes #316157
20305
20306 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20307
20308         * gst/gstutils.c: (set_state_async_thread_func),
20309         (gst_element_set_state_async):
20310           Apparently people think it's better if this function doesn't
20311           try to set the state to whatever state was asked for on the first
20312           call to this function for any object.  Seriously.
20313
20314 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20315
20316         * check/gst/gstpipeline.c: (GST_START_TEST):
20317         * docs/gst/gstreamer-sections.txt:
20318         * gst/gstutils.c: (set_state_async_thread_func),
20319         (gst_element_set_state_async):
20320         * gst/gstutils.h:
20321           add a "gst_element_set_state_async" method that
20322           sets the state and starts a thread to make sure the state
20323           change completes as best as it can
20324
20325 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20326
20327         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20328           codify design+behaviour in testsuite after discussion
20329
20330 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20331
20332         * docs/gst/tmpl/gstelement.sgml:
20333         * docs/manual/appendix-quotes.xml:
20334           add a quote
20335         * gst/gstelement.c: (gst_element_set_state):
20336           add some debug
20337
20338 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
20339
20340         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20341         (gst_base_transform_prepare_output_buf),
20342         (gst_base_transform_handle_buffer):
20343         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
20344         (gst_capsfilter_prepare_buf):
20345           Remove the requirement for sub-classes to call the parent
20346           implementation of prepare_output_buffer with a wrapper function.
20347           
20348         * gst/gsttaglist.h:
20349         * gst/gsttagsetter.h:
20350           Fix #define wrapper
20351
20352 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
20353
20354         * docs/gst/gstreamer-sections.txt:
20355           more doc cleanups
20356
20357 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20358
20359         * docs/gst/gstreamer-sections.txt:
20360         * docs/gst/tmpl/gstelement.sgml:
20361         * docs/gst/tmpl/gstplugin.sgml:
20362         * gst/gstminiobject.c:
20363         * gst/gstvalue.h:
20364           docs now stop throwing warnings
20365
20366 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20367
20368         * docs/gst/gstreamer-sections.txt:
20369         * docs/gst/gstreamer.types:
20370         * docs/gst/tmpl/gstpad.sgml:
20371         * docs/gst/tmpl/gsttypes.sgml:
20372         * gst/base/gstadapter.h:
20373         * gst/base/gstbasesink.h:
20374         * gst/base/gstbasesrc.h:
20375         * gst/gstbin.h:
20376         * gst/gstbuffer.h:
20377         * gst/gstbus.h:
20378         * gst/gstcaps.h:
20379         * gst/gstclock.h:
20380         * gst/gstelement.h:
20381         * gst/gstevent.h:
20382         * gst/gstmessage.h:
20383         * gst/gstpad.h:
20384         * gst/gststructure.c:
20385         * gst/registries/gstlibxmlregistry.h:
20386           various documentation fixes
20387
20388 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20389
20390         * docs/gst/gstreamer-sections.txt:
20391         * docs/gst/tmpl/gstvalue.sgml:
20392           rearrange gstvalue section
20393         * gst/gstutils.c: (gst_element_state_get_name):
20394           NONE -> VOID
20395         * gst/gstvalue.c: (_gst_value_initialize):
20396         * gst/gstvalue.h:
20397           doc updates
20398
20399 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
20400
20401         * check/gst-libs/controller.c:
20402           Header include fix.
20403         * gst/base/gstbasetransform.c:
20404         (gst_base_transform_default_prepare_buf),
20405         (gst_base_transform_handle_buffer):
20406         * gst/base/gstbasetransform.h:
20407           Some more basetransform changes and fixes to enable sub-classes
20408           that modify buffer metadata only.
20409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20410         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
20411         (gst_capsfilter_prepare_buf):
20412           If the output pad has fixed allowed caps and input buffers 
20413           don't have any, set the fixed caps on outgoing buffers.
20414
20415 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
20416         * check/elements/identity.c: (GST_START_TEST):
20417           Make the error a little clearer when the test fails because
20418           identity made a copy of the buffer.
20419         * docs/gst/gstreamer-sections.txt:
20420           New symbols in gstbasetransform.h
20421         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20422         (gst_base_transform_init), (gst_base_transform_transform_size),
20423         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20424         (gst_base_transform_default_prepare_buf),
20425         (gst_base_transform_get_unit_size),
20426         (gst_base_transform_buffer_alloc),
20427         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
20428         (gst_base_transform_change_state),
20429         (gst_base_transform_set_passthrough),
20430         (gst_base_transform_set_in_place),
20431         (gst_base_transform_is_in_place):
20432         * gst/base/gstbasetransform.h:
20433           Change BaseTransform to separate in_place operate from same_caps
20434           output. in_place implies that the element can perform the transform
20435           on incoming buffers in-place, even if the caps on the output are
20436           different.
20437           Sub-class elements can now implement special buffer allocation
20438           methods for outgoing buffers if they wish to.
20439           Big documentation addition.
20440         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
20441         * gst/elements/gstelements.c:
20442           Changes for basetransform modifications.
20443         * gst/elements/Makefile.am:
20444         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
20445           Compile fix. Extra debug output.
20446
20447 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20448
20449         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
20450         (gst_pad_suite):
20451           add tests for valid pad naming
20452         * gst/check/gstcheck.c: (gst_check_log_message_func),
20453         (gst_check_log_critical_func):
20454           add ASSERT_WARNING
20455           remove printing of code, it is fragile when the code contains
20456           % and the line number is enough info
20457         * gst/check/gstcheck.h:
20458         * gst/gstpad.c: (gst_pad_template_new):
20459           fix memleaks
20460
20461 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20462
20463         * configure.ac:
20464           say what CHECK flags we use
20465         * docs/libs/gstreamer-libs.types:
20466         * libs/gst/controller/Makefile.am:
20467         * libs/gst/controller/gst-controller.c:
20468         * libs/gst/controller/gst-controller.h:
20469         * libs/gst/controller/gst-helper.c:
20470         * libs/gst/controller/gst-interpolation.c:
20471         * libs/gst/controller/gstcontroller.c:
20472         * libs/gst/controller/gsthelper.c:
20473         * libs/gst/controller/gstinterpolation.c:
20474         * tools/gst-inspect.c: (print_plugin_info):
20475           we don't use dashes in header names
20476
20477 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20478
20479         * check/Makefile.am:
20480         * check/gst/.cvsignore:
20481         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
20482         (gst_pipeline_suite), (main):
20483           adding a test for pipelines and state changes
20484         * gst/gstutils.c: (get_state_func):
20485           add some debugging
20486         * gstreamer.spec.in:
20487           fix up spec file
20488
20489 2005-09-08  Michael Smith <msmith@fluendo.com>
20490
20491         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
20492         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
20493         (gst_file_src_is_seekable), (gst_file_src_get_size),
20494         (gst_file_src_start):
20495         * gst/elements/gstfilesrc.h:
20496           Various fixes for unseekable, unmmapable, and non-normal files, so
20497           that fallback to read() rather than mmap() works.
20498         * gst/gstevent.c: (gst_event_new_newsegment):
20499           Allow newsegment events with segment_start == segment_end, as will
20500           correctly happen if you use filesrc on a zero-size file, for
20501           example.
20502
20503 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
20504
20505         * gst/gstplugin.c: (gst_plugin_load_file):
20506           Call g_module_close when we don't load the module
20507
20508         * gst/registries/gstlibxmlregistry.c:
20509         (gst_xml_registry_get_property):
20510           Port leak fix from 0.8
20511
20512 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20513
20514         * docs/gst/gstreamer-docs.sgml:
20515         * docs/gst/tmpl/.cvsignore:
20516         * docs/gst/tmpl/gsttrace.sgml:
20517         * docs/gst/tmpl/gsttrashstack.sgml:
20518         * gst/Makefile.am:
20519         * gst/gst.h:
20520         * gst/gstelement.h:
20521         * gst/gstevent.h:
20522         * gst/gstmessage.c:
20523         * gst/gstmessage.h:
20524         * gst/gsttag.c:
20525         * gst/gsttag.h:
20526         * gst/gsttaginterface.c:
20527         * gst/gsttaginterface.h:
20528         * gst/gsttaglist.c:
20529         * gst/gsttaglist.h:
20530         * gst/gsttagsetter.c:
20531         * gst/gsttagsetter.h:
20532         * gst/gsttrace.c:
20533         * gst/gsttrace.h:
20534         * gst/gsttrashstack.c:
20535           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
20536           inlined docs for gsttrace, gsttrashstack
20537
20538 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20539
20540         * gst/Makefile.am:
20541         * gst/elements/gstbufferstore.h:
20542         * gst/elements/gsttypefindelement.c:
20543         * gst/elements/gsttypefindelement.h:
20544         * gst/gst.h:
20545         * gst/gsttypefind.c:
20546         * gst/gsttypefind.h:
20547         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
20548         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
20549         (gst_type_find_factory_dispose),
20550         (gst_type_find_factory_unload_thyself),
20551         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
20552         (gst_type_find_factory_get_caps),
20553         (gst_type_find_factory_get_extensions),
20554         (gst_type_find_factory_call_function):
20555         * gst/gsttypefindfactory.h:
20556         * gst/registries/gstlibxmlregistry.c:
20557         * gst/registries/gstxmlregistry.c:
20558           splitted gsttypefind into gsttypefind, gsttypefindfactory
20559
20560 2005-09-07  Andy Wingo  <wingo@pobox.com>
20561
20562         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
20563         condition whereby the pad's task function is entered before the
20564         pad_mode variable was set.
20565
20566 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
20567
20568         * gst/gstpad.c: (gst_pad_alloc_buffer):
20569           Catch misbehaving pad_alloc functions that don't
20570           set up caps and do it for them.
20571
20572 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20573
20574         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20575           test for pipe!=NULL
20576         * docs/gst/tmpl/.cvsignore:
20577         * docs/gst/tmpl/gstmemchunk.sgml:
20578         * docs/gst/tmpl/gstparse.sgml:
20579         * docs/gst/tmpl/gsttaglist.sgml:
20580         * docs/gst/tmpl/gsttagsetter.sgml:
20581         * docs/gst/tmpl/gsttypefind.sgml:
20582         * docs/gst/tmpl/gsttypefindfactory.sgml:
20583         * gst/gstmemchunk.c:
20584         * gst/gstparse.c:
20585         * gst/gsttag.c:
20586         * gst/gsttaginterface.c:
20587         * gst/gsttypefind.c:
20588         * gst/gsttypefind.h:
20589           inlined more docs
20590
20591 === release 0.9.2 ===
20592
20593 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20594
20595         * NEWS:
20596         * RELEASE:
20597         * configure.ac:
20598           releasing 0.9.2, "South"
20599
20600 2005-09-05  Andy Wingo  <wingo@pobox.com>
20601
20602         * gst/registries/gstxmlregistry.h:
20603         * gst/registries/gstxmlregistry.c: Um... resurrect...
20604         
20605         * gst/registries/gstxmlregistry.h:
20606         * gst/registries/gstxmlregistry.c: and update to newer API.
20607         Incidentally they should be a bit faster now that they don't have
20608         to parse the caps.
20609         
20610 2005-09-05  Andy Wingo  <wingo@pobox.com>
20611
20612         * gst/registries/gstxmlregistry.h:
20613         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
20614         replaced by the libxml registry a while back
20615
20616 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20617
20618         * docs/gst/tmpl/gstplugin.sgml:
20619         * gst/elements/gstelements.c:
20620         * gst/gst.c:
20621         * gst/gstplugin.c: (gst_plugin_register_func),
20622         (gst_plugin_desc_copy), (gst_plugin_desc_free),
20623         (gst_plugin_get_source):
20624         * gst/gstplugin.h:
20625         * gst/registries/gstlibxmlregistry.c: (load_plugin),
20626         (gst_xml_registry_save_plugin):
20627         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
20628         (gst_xml_registry_save_plugin):
20629         * tools/gst-inspect.c: (print_plugin_info):
20630           add a "source" plugin description field, to represent the source
20631           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
20632           will set it to PACKAGE, which is automake's idea of the name of
20633           the source project.
20634
20635 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20636
20637         * Makefile.am:
20638         * autogen.sh:
20639         * configure.ac:
20640         * docs/Makefile.am:
20641         * docs/faq/Makefile.am:
20642         * docs/gst/tmpl/gstelement.sgml:
20643         * docs/gst/tmpl/gsttypes.sgml:
20644         * docs/htmlinstall.mak:
20645         * docs/manual/Makefile.am:
20646         * docs/pwg/Makefile.am:
20647           reorganize doc build a little
20648           split out docbook and gtk-doc stuff
20649           have two separate --enable's and enable them through autogen
20650           but disable by default in configure (to be similar to other
20651           projects)
20652         * gstreamer.spec.in:
20653           clean up docs install
20654         * po/af.po:
20655         * po/az.po:
20656         * po/ca.po:
20657         * po/cs.po:
20658         * po/de.po:
20659         * po/en_GB.po:
20660         * po/fr.po:
20661         * po/it.po:
20662         * po/nb.po:
20663         * po/nl.po:
20664         * po/ru.po:
20665         * po/sq.po:
20666         * po/sr.po:
20667         * po/sv.po:
20668         * po/tr.po:
20669         * po/uk.po:
20670         * po/vi.po:
20671           translation updates
20672
20673 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
20674
20675         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
20676           Add comment.
20677           
20678         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20679         (gst_fake_sink_change_state):
20680           Make state change function thread-safe.
20681           
20682         * gst/gstpad.c: (gst_pad_alloc_buffer):
20683           Set offset on generic buffer allocated by fallback.
20684
20685 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
20686
20687         * docs/gst/gstreamer-sections.txt:
20688         * docs/gst/tmpl/gstelement.sgml:
20689         * gst/gstpad.c:
20690         * libs/gst/controller/gst-controller.c:
20691         (gst_controlled_property_set_interpolation_mode),
20692         (gst_controlled_property_new),
20693         (gst_controller_find_controlled_property):
20694          run the wingo-magic script against the docs
20695
20696 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20697
20698         * docs/gst/gstreamer-docs.sgml:
20699         * docs/gst/gstreamer-sections.txt:
20700         * docs/gst/tmpl/.cvsignore:
20701         * docs/gst/tmpl/gstelementdetails.sgml:
20702         * docs/gst/tmpl/gstelementfactory.sgml:
20703         * gst/gst.c:
20704         * gst/gstbus.c:
20705         * gst/gstelementfactory.c:
20706         * gst/gstelementfactory.h:
20707           merged elementdetails docs into elementfactory docs
20708           inlined both
20709
20710 2005-09-02  Andy Wingo  <wingo@pobox.com>
20711
20712         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
20713         consider this enum an enum and not a flags.
20714
20715 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20716
20717         * docs/gst/gstreamer-docs.sgml:
20718         * docs/gst/tmpl/.cvsignore:
20719         * docs/gst/tmpl/gstghostpad.sgml:
20720         * docs/gst/tmpl/gstiterator.sgml:
20721         * docs/gst/tmpl/gstmacros.sgml:
20722         * docs/gst/tmpl/gstrealpad.sgml:
20723         * docs/gst/tmpl/gstregistry.sgml:
20724         * docs/gst/tmpl/gstregistrypool.sgml:
20725         * docs/gst/tmpl/gststructure.sgml:
20726         * docs/gst/tmpl/gstsystemclock.sgml:
20727         * docs/gst/tmpl/gsttrace.sgml:
20728         * gst/gstghostpad.c:
20729         * gst/gstmacros.h:
20730         * gst/gstmemchunk.c:
20731         * gst/gstmemchunk.h:
20732         * gst/gstqueue.c:
20733         * gst/gstregistry.c:
20734         * gst/gstregistrypool.c:
20735         * gst/gststructure.c:
20736         * gst/gstsystemclock.c:
20737           more docs inlined
20738
20739 2005-09-02  Andy Wingo  <wingo@pobox.com>
20740
20741         * gst/gstelement.h (GstState): Renamed from GstElementState,
20742         changed to be a normal enum instead of flags.
20743         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
20744         munged to be GST_STATE_CHANGE_*.
20745         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
20746         work with the new state representation.
20747         (GstStateChange): New enumeration of possible state transitions.
20748         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
20749         (GstElementClass::change_state): Pass the GstStateChange along as
20750         an argument. Helps language bindings, so they don't have to use
20751         tricky lock-needing macros like GST_STATE_CHANGE ().
20752
20753         * scripts/update-states (file): New script. Run it on a file to
20754         update it for state naming and API changes. Updates files in
20755         place.
20756
20757         * All files updated for the new API.
20758
20759 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20760
20761         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
20762         * gst/gstutils.c: (gst_util_set_value_from_string),
20763         (gst_util_set_object_arg):
20764           fix a bunch of unchecked return values
20765         * tools/gst-complete.c: (main):
20766         * gstreamer.spec.in:
20767           clean up a little
20768
20769 2005-09-01  Wim Taymans  <wim@fluendo.com>
20770
20771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20772         (gst_base_sink_event), (gst_base_sink_do_sync),
20773         (gst_base_sink_handle_event):
20774         * gst/base/gstbasesink.h:
20775         Handle newsegments more correctly.
20776
20777         * gst/gstbus.c:
20778         Fix docs.
20779
20780         * gst/gstevent.c: (gst_event_new_newsegment):
20781         A newsegment cannot have a start_time of -1
20782
20783 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
20784
20785         * win32/gstenumtypes.c:
20786         * win32/gstenumtypes.h:
20787           Update
20788
20789 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20790
20791         * libs/gst/controller/gst-controller.c:
20792         (gst_controlled_property_set_interpolation_mode),
20793         (gst_controlled_property_new):
20794          fixed boolean again
20795
20796 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
20797
20798         * docs/faq/gst-uninstalled:
20799           add -good
20800         * gst/gstevent.c:
20801         * gst/gstevent.h:
20802           remove wrong docs
20803         * gst/gstutils.c: (gst_element_link_filtered):
20804         * gst/gstutils.h:
20805           add gst_element_link_filtered
20806
20807 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20808
20809         * docs/gst/gstreamer-docs.sgml:
20810         * docs/gst/gstreamer-sections.txt:
20811         * docs/gst/tmpl/.cvsignore:
20812         * docs/gst/tmpl/gsterror.sgml:
20813         * docs/gst/tmpl/gstfilter.sgml:
20814         * docs/gst/tmpl/gsturihandler.sgml:
20815         * docs/gst/tmpl/gsturitype.sgml:
20816         * docs/gst/tmpl/gstutils.sgml:
20817         * docs/gst/tmpl/gstxml.sgml:
20818         * gst/gsterror.c:
20819         * gst/gsterror.h:
20820         * gst/gstfilter.c:
20821         * gst/gsturi.c:
20822         * gst/gsturitype.c:
20823         * gst/gstutils.c:
20824         * gst/gstxml.c:
20825           inlined more docs, fixed double id-ref
20826
20827 2005-08-31  Wim Taymans  <wim@fluendo.com>
20828
20829         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20830         (gst_base_transform_handle_buffer):
20831         Passthrough elements don't need the caps as they don't care.
20832
20833 2005-08-31  Wim Taymans  <wim@fluendo.com>
20834
20835         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20836         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
20837         Don't leak refcounts on buffers.
20838
20839 2005-08-31  Wim Taymans  <wim@fluendo.com>
20840
20841         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
20842         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
20843         (gst_base_transform_chain), (gst_base_transform_change_state):
20844         * gst/base/gstbasetransform.h:
20845         Handle the case where we are not negotiated more gracefully.
20846
20847 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
20848
20849         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
20850         (gst_file_src_map_region):
20851           Set READONLY flag on mmap'ed buffers, otherwise
20852           gst_buffer_make_writable() won't work properly (#314708).
20853
20854 2005-08-31  Wim Taymans  <wim@fluendo.com>
20855
20856         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
20857         passthrough elements can even do inplace on non writable
20858         buffers (as they don't touch them).
20859
20860 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20861
20862         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20863         (gst_test_mono_source_set_property),
20864         (gst_test_mono_source_class_init), (GST_START_TEST),
20865         (gst_controller_suite):
20866           more tests (hehe I have the most)
20867         * gst/gstbus.c:
20868           describe popping messages whenusing mulltiple sources
20869         * libs/gst/controller/gst-controller.c:
20870         (gst_controlled_property_set_interpolation_mode),
20871         (gst_controlled_property_new):
20872         * libs/gst/controller/gst-controller.h:
20873         * libs/gst/controller/gst-interpolation.c:
20874           implement boolean properties
20875
20876 2005-08-31  Wim Taymans  <wim@fluendo.com>
20877
20878         * gst/gstminiobject.c: (gst_mini_object_ref):
20879         Cannot assert that the refcount has to be positive
20880         since a disposed object can be resurrected.
20881
20882 2005-08-31  Wim Taymans  <wim@fluendo.com>
20883
20884         * gst/gstpad.c: (gst_pad_init):
20885         Revert change, need to first fix badly behaving 
20886         apps.
20887
20888 2005-08-30  Wim Taymans  <wim@fluendo.com>
20889
20890         * check/elements/fakesrc.c: (setup_fakesrc):
20891         * check/elements/identity.c: (setup_identity):
20892         Activate pads before using them.
20893
20894 2005-08-30  Wim Taymans  <wim@fluendo.com>
20895
20896         * gst/base/gstadapter.c: (gst_adapter_flush):
20897         Flushing out 0 bytes is ok for this function.
20898
20899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20900         no newsegment gives a warning and sets the start/stop to 
20901         invalid.
20902
20903         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
20904         (gst_base_transform_set_passthrough):
20905         Some debug info.
20906
20907         * gst/gstminiobject.c: (gst_mini_object_ref):
20908         Check refcount here too.
20909
20910         * gst/gstpad.c: (gst_pad_init):
20911         Pads are initially flushing and refusing data.
20912
20913         * gst/gstutils.c: (gst_element_link_pads_filtered):
20914         When adding a capsfilter element make sure it has the
20915         same state as the parent bin.
20916
20917 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20918
20919         * docs/gst/tmpl/.cvsignore:
20920         * docs/gst/tmpl/gstformat.sgml:
20921         * docs/gst/tmpl/gstversion.sgml:
20922         * gst/gstbus.h:
20923         * gst/gstformat.c:
20924         * gst/gstformat.h:
20925         * gst/gstversion.h.in:
20926           more docs and two more inlined
20927
20928 2005-08-30  Wim Taymans  <wim@fluendo.com>
20929
20930         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
20931         Don't sync to clock.
20932
20933 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20934
20935         * docs/gst/gstreamer-sections.txt:
20936           ultral33t func10ns deserve to appear in the docs actually
20937         * docs/gst/tmpl/.cvsignore:
20938         * docs/gst/tmpl/gstcompat.sgml:
20939         * docs/gst/tmpl/gstconfig.sgml:
20940         * gst/check/gstcheck.c:
20941         * gst/gstcompat.h:
20942         * gst/gstconfig.h.in:
20943           inlined more docs
20944
20945 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20946
20947         * docs/gst/tmpl/.cvsignore:
20948         * docs/gst/tmpl/gstquery.sgml:
20949         * docs/gst/tmpl/gstutils.sgml:
20950         * gst/gstquery.c:
20951         * gst/gstquery.h:
20952           inlined and extended docs
20953
20954 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20955
20956         * check/gst-libs/controller.c: (GST_START_TEST),
20957         (gst_controller_suite):
20958           more tests
20959         * docs/gst/tmpl/gstutils.sgml:
20960         * docs/libs/gstreamer-libs-sections.txt:
20961         * docs/libs/tmpl/gstdataprotocol.sgml:
20962           include path fixes
20963         * examples/controller/audio-example.c: (main):
20964           controller example works now
20965         * gst/gstclock.h:
20966           doc fixes
20967         * tools/gst-inspect.c: (print_element_properties_info):
20968           show param spec flags
20969
20970 2005-08-29  Andy Wingo  <wingo@pobox.com>
20971
20972         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
20973
20974 2005-08-28  Andy Wingo  <wingo@pobox.com>
20975
20976         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
20977         as having two arguments instead of just one. Allows superclasses
20978         to access information on subclasses -- see the terrible for() loop
20979         in gtype.c:g_type_create_instance for the reason why. All callers
20980         changed.
20981
20982 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20983
20984         * docs/design/part-messages.txt:
20985           update info
20986         * docs/gst/tmpl/.cvsignore:
20987         * docs/gst/tmpl/gstcaps.sgml:
20988         * docs/gst/tmpl/gstclock.sgml:
20989         * gst/gstbus.c:
20990         * gst/gstcaps.c:
20991         * gst/gstcaps.h:
20992         * gst/gstclock.c:
20993         * gst/gstclock.h:
20994         * gst/gstmessage.c:
20995           added descriptions for bus and message
20996           inline caps and clock docs
20997
20998 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20999
21000         * gst/gstmessage.c:
21001         * gst/gstmessage.h:
21002           doc fixes
21003
21004 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
21005
21006         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21007           fix div-by-zero
21008
21009 2005-08-26  Andy Wingo  <wingo@pobox.com>
21010
21011         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
21012         element_set_state's return val.
21013         (test_2_elements): Add test that's been disabled for months.
21014
21015         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
21016         can-activate-pull properties.
21017
21018         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
21019         can-activate-pull properties. Implement is_seekable so fakesrc can
21020         operate in pull mode.
21021
21022         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
21023         properties.
21024         (gst_base_sink_activate, gst_base_sink_activate_pull)
21025         (gst_base_sink_activate_push): Make activation mode choosing work.
21026         Cleanups.
21027         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
21028         is right. Make pull mode work. Post an eos before pausing in pull
21029         mode.
21030         (gst_base_sink_change_state): Pay attention to the core's
21031         change_state() return val.
21032         
21033         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
21034         has-getrange properties. Cleanups.
21035         
21036         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
21037         has_getrange and replace with can_activate_pull and
21038         can_activate_push.
21039
21040         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
21041         locking comments. Remove has_loop, has_chain and replace with
21042         can_activate_pull and can_activate_push.
21043
21044 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
21045
21046         * configure.ac:
21047         * examples/Makefile.am:
21048         * examples/metadata/Makefile.am:
21049         * examples/metadata/read-metadata.c: (message_loop),
21050         (have_pad_handler), (make_pipeline), (print_tag), (main):
21051           Add metadata reading example that loops over a list of filenames,
21052           dumping any tags found.
21053
21054         * gst/gstbus.c: (gst_bus_dispose):
21055         * gst/gstelement.c: (gst_element_dispose):
21056           Release a few potentially-held references in dispose.
21057
21058 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21059
21060         * docs/gst/tmpl/gstminiobject.sgml:
21061           do *not* add tmpl/*.sgml files to CVS!
21062
21063 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21064
21065         * libs/gst/bytestream/.cvsignore:
21066         * libs/gst/bytestream/Makefile.am:
21067         * libs/gst/bytestream/adapter.c:
21068         * libs/gst/bytestream/adapter.h:
21069         * libs/gst/bytestream/bytestream.c:
21070         * libs/gst/bytestream/bytestream.h:
21071         * libs/gst/bytestream/filepad.c:
21072         * libs/gst/bytestream/filepad.h:
21073           removing obsolete files
21074
21075 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21076
21077         * docs/gst/gstreamer-docs.sgml:
21078         * docs/libs/gstreamer-libs-docs.sgml:
21079           disabed additional index entries again, as this makes docs-gen just
21080           slow and they aren't useful yet
21081         * docs/libs/gstreamer-libs-sections.txt:
21082           little -section.txt cleanup for libs
21083
21084 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
21085
21086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21087         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
21088           fix up some debugging
21089         (gst_base_transform_get_unit_size),
21090         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
21091         (gst_base_transform_handle_buffer):
21092         * gst/base/gstbasetransform.h:
21093           handle and store timed NEWSEGMENT events so that subclasses that
21094           calculate time by counting samples have a segment_start time they
21095           need to add to their timestamps - see audioresample
21096
21097 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
21098
21099         * gst/gstbin.h:
21100           removed ';' from the end of macro defs
21101         * docs/gst/gstreamer-docs.sgml:
21102         * docs/gst/gstreamer-sections.txt:
21103         * docs/gst/tmpl/.cvsignore:
21104         * gst/gstbus.h:
21105         * gst/gstelement.c: (gst_element_class_init),
21106         (gst_element_set_state), (activate_pads),
21107         (gst_element_save_thyself):
21108         * gst/gstevent.c: (gst_event_new_newsegment):
21109         * gst/gstevent.h:
21110         * gst/gstiterator.c:
21111         * gst/gstiterator.h:
21112         * gst/gstpad.c:
21113         * gst/gstprobe.h:
21114         * gst/gstutils.c: (gst_pad_query_convert):
21115         * gst/gstutils.h:
21116           fixed parameter name mismatches between source, header and docs
21117           added some more docs, resolved the last batch of unused elements in
21118           docs (now someone needs to doc them)
21119
21120 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21121
21122         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
21123         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
21124           don't walk through the plugins backwards.  Where is all this
21125           reversed logic coming from ?
21126
21127 2005-08-25  Wim Taymans  <wim@fluendo.com>
21128
21129         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21130         (gst_base_transform_transform_size),
21131         (gst_base_transform_configure_caps),
21132         (gst_base_transform_get_unit_size),
21133         (gst_base_transform_buffer_alloc),
21134         (gst_base_transform_change_state):
21135         * gst/base/gstbasetransform.h:
21136         Cache caps unit_size.
21137         Make sure we cannot negotiate up and downstream at the
21138         same time.
21139
21140 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21141
21142         * gst/gst.c: (init_pre), (init_post):
21143           register the installed plugin path after the env var
21144         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
21145         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
21146           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
21147           directories, so the tests can prefer uninstalled over installed
21148
21149 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
21150
21151         * gst/base/gstbasetransform.h:
21152           comment
21153         * gst/gstpad.c:
21154           add to docs
21155
21156 2005-08-25  Wim Taymans  <wim@fluendo.com>
21157
21158         * gst/gstbin.c: (bin_bus_handler):
21159         Be a bit more conservative about the posted message.
21160         
21161         * gst/gstbus.c: (gst_bus_post):
21162         Some cleanups, warn wrong return values.
21163
21164 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
21165
21166         * check/gst/gstbin.c: (GST_START_TEST):
21167         * gst/gstbin.c: (bin_bus_handler):
21168         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
21169         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
21170         (gst_message_new_warning), (gst_message_new_tag),
21171         (gst_message_new_state_changed), (gst_message_new_segment_start),
21172         (gst_message_new_segment_done), (gst_message_new_custom):
21173         * gst/gstmessage.h:
21174         * tools/gst-launch.c: (event_loop):
21175         * tools/gst-md5sum.c: (event_loop):
21176           Revert unpopular change for GST_MESSAGE_SRC to GObject.
21177
21178 2005-08-25  Wim Taymans  <wim@fluendo.com>
21179
21180         * check/generic/states.c: (GST_START_TEST):
21181         Cleanup can be done at the end.
21182
21183         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
21184         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
21185         (gst_task_get_state), (gst_task_start), (gst_task_pause):
21186         Oh boy.. Thanks for finding this, Thomas. 
21187
21188 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
21189
21190         * docs/gst/gstreamer.types:
21191           added missing types
21192
21193 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
21194
21195         * docs/gst/gstreamer-docs.sgml:
21196         * docs/gst/gstreamer-sections.txt:
21197         * docs/gst/tmpl/.cvsignore:
21198         * gst/gstbin.c:
21199         * gst/gstiterator.c:
21200         * gst/gstutils.c:
21201         * gst/registries/gstxmlregistry.h:
21202           added missing classes and symbols (123 more to go)
21203           removed removed symbols from section file
21204           fixed many doc-comments
21205
21206 2005-08-24  Wim Taymans  <wim@fluendo.com>
21207
21208         * check/generic/states.c: (GST_START_TEST):
21209         Make sure all tasks are stopped.
21210
21211         * check/gst/gstbin.c: (GST_START_TEST):
21212         Unref after usage for proper valgrinding.
21213
21214         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
21215         Really wait for the task to stop before destroying the
21216         mutex.
21217
21218         * gst/gstqueue.c: (gst_queue_sink_activate_push),
21219         (gst_queue_src_activate_push):
21220         Small cleanups. Don't stop the task when we did not start
21221         it.
21222
21223         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
21224         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
21225         (gst_task_get_state), (gst_task_start), (gst_task_pause),
21226         (gst_task_join):
21227         * gst/gsttask.h:
21228         Protect the stream lock with the object lock.
21229         Disallow setting the stream lock when running.
21230         Add cleanup_all to wait for the threadpool to finish.
21231         Remove code to autoallocate a mutex if none was provided.
21232         Add _join() to wait for a task to stop.
21233         Protect the thread pool with a global lock.
21234
21235 2005-08-24  Wim Taymans  <wim@fluendo.com>
21236
21237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21238         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21239         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
21240         * gst/base/gstbasesink.h:
21241         Handle newsegment events correctly.
21242         Drop buffers out of the segment range.
21243
21244 2005-08-22  Andy Wingo  <wingo@pobox.com>
21245
21246         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
21247         macro, implements an interface and gstimplementsinterface for a
21248         new type.
21249
21250 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21251
21252         * check/Makefile.am:
21253         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
21254           add a test that does a bunch of state changes on elements
21255           needs some fixing for valgrind
21256         * check/states/sinks.c: (gst_object_suite):
21257           whitespace
21258         * gst/gstcaps.h:
21259           add prototype for gst_caps_is_equal_fixed
21260         * gst/gstplugin.c:
21261         * gst/gstregistrypool.c:
21262           doc fixes
21263
21264 2005-08-24  Andy Wingo  <wingo@pobox.com>
21265
21266         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
21267         convert a negative value. Doesn't make much sense. Mostly this is
21268         here to force callers to ensure -1 maps to -1.
21269
21270 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
21271
21272         * docs/pwg/advanced-types.xml:
21273           Well done to Michael for catching my deliberate introduction
21274           of this spelling mistake. 
21275         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
21276         * gst/gstelement.h:
21277           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
21278           unlink pads before removing the element from the bin.
21279
21280 2005-08-24  Andy Wingo  <wingo@pobox.com>
21281
21282         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
21283         the same thing as GST_DEBUG=*:4.
21284         (parse_debug_level, parse_debug_category): New helper parsers.
21285
21286 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21287
21288         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21289         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
21290         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
21291         (gst_base_transform_buffer_alloc),
21292         (gst_base_transform_handle_buffer):
21293           use gboolean return values and pointers to size so we can use the
21294           full GST_BUFFER_SIZE range (guint) for buffer sizes
21295           use GstPadDirection for transform_caps
21296         * gst/base/gstbasetransform.h:
21297           rename get_size to get_unit_size since that's what it is
21298         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
21299           use GstPadDirection for transform_caps
21300         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
21301         * gst/gstutils.h:
21302           cleanup and debugging
21303
21304 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
21305
21306         * gst/gstelement.c: (gst_element_class_init),
21307         (gst_element_set_state), (activate_pads),
21308         (gst_element_save_thyself):
21309         * tools/gst-compprep.c: (main):
21310         * tools/gst-inspect.c: (print_element_properties_info):
21311         * tools/gst-xmlinspect.c: (print_element_properties):
21312           Fixed long standing mem-leak
21313
21314 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
21315
21316         * check/gst/gstbin.c: (GST_START_TEST):
21317         * gst/gstbin.c: (bin_bus_handler):
21318         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
21319         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
21320         (gst_message_new_warning), (gst_message_new_tag),
21321         (gst_message_new_state_changed), (gst_message_new_segment_start),
21322         (gst_message_new_segment_done), (gst_message_new_custom):
21323         * gst/gstmessage.h:
21324         * tools/gst-launch.c: (event_loop):
21325         * tools/gst-md5sum.c: (event_loop):
21326           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
21327           that applications can sensibly post custom messages with references
21328           to their own objects.
21329
21330 2005-08-24  Andy Wingo  <wingo@pobox.com>
21331
21332         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
21333         already.
21334
21335 2005-08-24  Wim Taymans  <wim@fluendo.com>
21336
21337         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21338         (gst_base_transform_transform_caps),
21339         (gst_base_transform_transform_size),
21340         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21341         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21342         (gst_base_transform_handle_buffer):
21343         * gst/base/gstbasetransform.h:
21344         Many fixes and new features added by Thomas. Can now also do
21345         transforms with variable sizes and a custom fixate_caps function.
21346
21347 2005-08-24  Wim Taymans  <wim@fluendo.com>
21348
21349         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
21350         Some debugging.
21351
21352         * gst/gstclock.h:
21353         Cast to ClockTime before formatting to time.
21354
21355         * gst/gstutils.h:
21356         Cleanups.
21357
21358 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
21359
21360         * check/gst-libs/controller.c: (GST_START_TEST),
21361         (gst_controller_suite):
21362         * docs/gst/tmpl/gstcaps.sgml:
21363         * docs/gst/tmpl/gstghostpad.sgml:
21364         * docs/gst/tmpl/gstquery.sgml:
21365         * docs/gst/tmpl/gstutils.sgml:
21366         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
21367         (gst_object_sink_values), (gst_object_get_value_arrays),
21368         (gst_object_get_value_array):
21369           gracefully handle helper method calls to objects that are not beeing
21370           controlled, added test case for that          
21371
21372 2005-08-23  Wim Taymans  <wim@fluendo.com>
21373
21374         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
21375         (gst_event_new_newsegment), (gst_event_parse_newsegment),
21376         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
21377         (gst_event_parse_qos), (gst_event_new_seek),
21378         (gst_event_parse_seek):
21379         * gst/gstevent.h:
21380         Some more debugging output and doc cleanups.
21381
21382         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21383         Fix possible deadlock.
21384
21385 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
21386
21387         * docs/gst/gstreamer-docs.sgml:
21388         * docs/gst/gstreamer-sections.txt:
21389         * docs/gst/gstreamer.types:
21390         * docs/gst/tmpl/.cvsignore:
21391         * gst/gstbin.h:
21392         * gst/gstbus.c:
21393         * gst/gstelement.c:
21394         * gst/gstevent.h:
21395           added 100 symbols from gstreamer-unused.txt to the right sections
21396           fixed more broken comments
21397           added GstBus to docs
21398
21399 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
21400
21401         * docs/gst/gstreamer-sections.txt:
21402         * docs/gst/tmpl/.cvsignore:
21403         * docs/gst/tmpl/gstbin.sgml:
21404         * docs/gst/tmpl/gstbuffer.sgml:
21405         * gst/base/gstbasesrc.c:
21406         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
21407         * gst/gstbuffer.c:
21408         * gst/gstbuffer.h:
21409         * tools/gst-launch.1.in:
21410           inlined more doc comments, added missing comments and fixed comments
21411           fixed typos
21412
21413 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21414
21415         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
21416           some debugging
21417         * gst/gstcaps.h:
21418           whitespace fixes
21419         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
21420           more debugging
21421         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
21422         * gst/gststructure.h:
21423           add a fixate function for booleans; add a FIXME that these func
21424           names should probably be gst_structure_fixate_*
21425
21426 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
21427
21428         * docs/gst/gstreamer-docs.sgml:
21429         * docs/gst/gstreamer-sections.txt:
21430         * gst/Makefile.am:
21431         * gst/gstbin.c: (gst_bin_get_type),
21432         (gst_bin_child_proxy_get_child_by_index),
21433         (gst_bin_child_proxy_get_children_count),
21434         (gst_bin_child_proxy_init):
21435         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21436         (gst_child_proxy_get_child_by_index),
21437         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
21438         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
21439         (gst_child_proxy_get), (gst_child_proxy_set_property),
21440         (gst_child_proxy_set_valist), (gst_child_proxy_set),
21441         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
21442         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
21443         * gst/gstchildproxy.h:
21444         * gst/parse/grammar.y:
21445         * tools/gst-inspect.c: (print_interfaces),
21446         (print_element_properties_info), (print_element_info):
21447           ported gstchildproxy over from 0.8
21448           ported gst-inspect fixes and enhancements over from 0.8
21449
21450 2005-08-22  Wim Taymans  <wim@fluendo.com>
21451
21452         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21453         (gst_base_transform_handle_buffer):
21454         Also call the transform function if we have ANY caps.
21455
21456         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
21457         Fix debug info.
21458
21459 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
21460
21461         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
21462           Don't pretend to handle seek events if the source is not seekable
21463
21464 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
21465
21466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21467           Remove extra parameter to debug output
21468
21469         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21470         (gst_base_src_do_seek), (gst_base_src_activate_push):
21471           Fix seek event handling.
21472
21473         * gst/gstpipeline.c: (gst_pipeline_change_state):
21474         * gst/gstqueue.c: (gst_queue_handle_sink_event),
21475         (gst_queue_src_activate_push):
21476           Don't start the src pad task on FLUSH_STOP if the pad
21477           isn't linked.
21478           Debug changes.
21479
21480 2005-08-22  Wim Taymans  <wim@fluendo.com>
21481
21482         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
21483         Added check for gst_static_caps_get() refcounting.
21484
21485 2005-08-22  Wim Taymans  <wim@fluendo.com>
21486
21487         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
21488         Make _static_caps_get() refcounting sane.
21489         
21490         * gst/gstelement.c: (gst_element_set_state):
21491         Add g_return_val_if_fail() to protect against segfaults.
21492
21493 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
21494
21495         * docs/gst/tmpl/gstevent.sgml:
21496         * gst/gstevent.c:
21497         * gst/gstevent.h:
21498           inlined remaining docs, added missing doc comments
21499
21500 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21501
21502         * check/gst/gstbin.c: (GST_START_TEST):
21503           since we don't know when preroll is done, use refcount range
21504           check for the sink
21505         * gst/check/gstcheck.h:
21506           add macro for checking refcount range
21507
21508 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21509
21510         * check/Makefile.am:
21511           clean up environment for when registry gets built versus
21512           when actual tests are run; valgrind seems to not report
21513           leaks if GST_PLUGIN_PATH is set to some specific values
21514         * check/gst/gstbin.c: (GST_START_TEST):
21515           add more refcounting checks; maybe this exposes a
21516           preroll lock bug ?
21517         * common/check.mak:
21518         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21519         * gst/check/gstcheck.h:
21520         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
21521         (gst_bin_change_state):
21522         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
21523           add/fix debugging/whitespace
21524
21525 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
21526
21527         * check/gst/gstevent.c: (event_probe), (test_event),
21528         (GST_START_TEST):
21529          Er, don't call gst_bin_watch_for_state_change you idiot.
21530
21531 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
21532
21533         * check/Makefile.am:
21534           Use CHECK_CFLAGS and CHECK_LIBS
21535         * check/gst/gstevent.c: (event_probe), (test_event),
21536         (GST_START_TEST):
21537           Don't leak events.
21538         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21539         (gst_base_src_start), (gst_base_src_stop),
21540         (gst_base_src_activate_push), (gst_base_src_activate_pull),
21541         (gst_base_src_change_state):
21542           Sprinkle gst_base_src_stop liberally around error paths to fix
21543           problems reusing a source after failed state changes.
21544         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21545         (helper_find_suggest), (gst_type_find_helper):
21546           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
21547         * gst/gstevent.h:
21548         * docs/gst/tmpl/gstevent.sgml:
21549           Migrate part of the docs from the SGML file. Wait for ensonic to
21550           tell me how I did it wrong ;)
21551         * tools/gst-typefind.c: (main):
21552           Extra robustness to state changes between files.
21553
21554 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21555
21556         * check/Makefile.am:
21557           don't valgrind the controller test - it's leaking - Stefan, HELP
21558         * gst/check/gstcheck.c: (gst_check_message_error),
21559         (gst_check_chain_func), (gst_check_setup_element),
21560         (gst_check_teardown_element), (gst_check_setup_src_pad),
21561         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
21562         (gst_check_teardown_sink_pad):
21563         * gst/check/gstcheck.h:
21564           add a bunch of methods to set up elements, and src and sink pads
21565         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
21566         * check/elements/identity.c: (setup_identity), (cleanup_identity),
21567         (GST_START_TEST):
21568           use them
21569         * gst/gstmessage.c:
21570         * gst/gsttag.h:
21571           whitespace/doc fixes
21572
21573 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21574
21575         * gst/gstelement.h:
21576           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
21577           be handled by the application and not always printed as well
21578
21579 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21580
21581         * check/Makefile.am:
21582           set GST_TOOLS_DIR
21583         * gst/check/gstcheck.c: (gst_check_message_error):
21584         * gst/check/gstcheck.h:
21585           add a fail_unless_equals_int
21586           add fail_unless for error messages
21587
21588 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21589
21590         * check/Makefile.am:
21591         * check/gst.supp:
21592         * common/Makefile.am:
21593         * common/check.mak:
21594         * common/gst.supp:
21595           factor out some of the common stuff so we can use it
21596
21597 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21598
21599         * check/Makefile.am:
21600         * check/gst/gstiterator.c: (GST_START_TEST):
21601         * check/gst/gstsystemclock.c: (GST_START_TEST),
21602         (gst_systemclock_suite):
21603         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
21604         * gst/gstclock.c:
21605           valgrind more tests
21606
21607 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21608
21609         * check/elements/.cvsignore:
21610         * check/elements/gstfakesrc.c:
21611           rename to name of element
21612         * check/elements/identity.c: (chain_func), (event_func),
21613         (setup_identity), (cleanup_identity), (GST_START_TEST),
21614         (identity_suite), (main):
21615           add a test for identity
21616         * check/Makefile.am:
21617         * pkgconfig/Makefile.am:
21618         * pkgconfig/gstreamer-check.pc.in:
21619         * pkgconfig/gstreamer-check-uninstalled.pc.in:
21620         * gst/check:
21621         * gst/Makefile.am:
21622         * configure.ac:
21623           move the check stuff to a library that gets installed
21624         * check/gst-libs/controller.c: (GST_START_TEST):
21625         * check/gst-libs/gdp.c:
21626         * check/gst/gst.c: (GST_START_TEST):
21627         * check/gst/gstbin.c:
21628         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21629         * check/gst/gstbus.c:
21630         * check/gst/gstcaps.c: (GST_START_TEST):
21631         * check/gst/gstelement.c:
21632         * check/gst/gstghostpad.c:
21633         * check/gst/gstiterator.c:
21634         * check/gst/gstmessage.c:
21635         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
21636         * check/gst/gstobject.c:
21637         * check/gst/gstpad.c: (GST_START_TEST):
21638         * check/gst/gststructure.c: (GST_START_TEST):
21639         * check/gst/gstsystemclock.c: (GST_START_TEST),
21640         (gst_systemclock_suite):
21641         * check/gst/gsttag.c: (gst_tag_suite):
21642         * check/gst/gstvalue.c:
21643         * check/pipelines/cleanup.c:
21644         * check/pipelines/simple_launch_lines.c:
21645         * check/states/sinks.c:
21646           change include statement
21647
21648         * docs/gst/gstreamer-sections.txt:
21649         * docs/gst/tmpl/gstpad.sgml:
21650           document more pad stuff
21651         * gst/gstminiobject.c: (gst_mini_object_ref),
21652         (gst_mini_object_unref):
21653           debug refcounting
21654
21655 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
21656
21657         * docs/gst/tmpl/gst.sgml:
21658         * gst/gst.c:
21659           eliminate another tmpl file, fix spelling in the long-description
21660
21661 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21662
21663         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21664         (test_event), (timediff), (gstevents_suite):
21665           Should fix build on 64-bit arch's
21666
21667 2005-08-18  Andy Wingo  <wingo@pobox.com>
21668
21669         Make sure that when a pipeline goes to PLAYING, that data has
21670         actually hit the sink.
21671
21672         * check/states/sinks.c (test_sink): A sink that doesn't get any
21673         data shouldn't return SUCCESS for going to either PLAYING or
21674         PAUSED. Test also the return values on the way back down.
21675
21676         * gst/gstelement.c (gst_element_set_state): When changing the
21677         state of an element currently changing state asynchronously, go to
21678         lost-state after commiting the pending state. Makes future calls
21679         to get_state continue to return ASYNC.
21680
21681         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
21682         ASYNC when going to PLAYING if we still don't have preroll, as can
21683         happen with live sources.
21684
21685 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21686
21687         * docs/pwg/advanced-types.xml:
21688           Hack long paragraph into 2 chunks as a workaround for buggy
21689           jadetex version in sid and breezy that loops infinitely and
21690           eats all RAM.
21691
21692 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21693
21694         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21695         (test_event), (timediff), (gstevents_suite):
21696           Provide more error margin in clock measurements to allow for 
21697           g_get_current_time inaccuracies.
21698
21699 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21700
21701         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21702         (test_event), (timediff), (gstevents_suite):
21703            Fix error message output so I might be able to tell why the
21704            test works here but fails on the build farm.
21705
21706 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21707
21708         * check/Makefile.am:
21709         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21710         (test_event), (timediff), (gstevents_suite), (main):
21711           I wrote a test!
21712
21713         * docs/design/part-seeking.txt:
21714           Spelling correction
21715
21716         * docs/gst/tmpl/gstevent.sgml:
21717         * docs/gst/tmpl/gstfakesrc.sgml:
21718           Docs updates.
21719
21720         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21721           Treat a buffer-without-newsegment the same as a receiving 
21722           a newsegment not in time format, and disable syncing to the clock
21723           with a warning.
21724
21725         * gst/gstbus.c: (gst_bus_set_sync_handler):
21726           Assert if anyone tries to replace the existing sync_handler for bus, 
21727           as only the owner should be setting it.
21728
21729         * gst/gstevent.h:
21730           Have a fixed set of custom event enums with events identified by
21731           their structure name (as in 0.8), rather than a free-for-all
21732           allowing collisions between enum values from different plugins.
21733
21734         * gst/gstpad.c: (gst_pad_class_init):
21735           Docs change.
21736           
21737         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21738           Handle out-of-band downstream events from the sending thread.
21739
21740 2005-08-17  Andy Wingo  <wingo@pobox.com>
21741
21742         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
21743         play-timeout==0 to mean no timeout at all. In that case, don't
21744         bother with a get_state or a warning, just return directly, even
21745         if it's ASYNC.
21746
21747         * gst/base/gstbasetransform.c: Debug changes.
21748
21749         * gst/gstutils.h:
21750         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
21751         ensure bins post state change messages. A bit of a hack but I can't
21752         think of a way to avoid it.
21753
21754         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
21755
21756 2005-08-16  Andy Wingo  <wingo@pobox.com>
21757
21758         * gst/base/gstadapter.h:
21759         * gst/base/gstadapter.c (gst_adapter_take): New function, like
21760         peek() but you own the data. Not terribly efficient atm.
21761
21762 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21763
21764         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
21765         (gst_element_found_tags):
21766         * gst/gstutils.h:
21767           Add two utility functions for tag handling.
21768
21769 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21770
21771         * docs/manual/advanced-dataaccess.xml:
21772         * docs/manual/basics-helloworld.xml:
21773           Fix docs to use _bin_add() before _link(), which fixes the examples
21774           with recent core versions (reported by Madhan Raj M
21775           <raj_madan@rediffmail.com>, #313199).
21776
21777 2005-08-16  Wim Taymans  <wim@fluendo.com>
21778
21779         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21780         Added subtract checks.
21781
21782         * docs/design/part-events.txt:
21783         Some more docs about newsegment
21784
21785         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
21786         Fix FIXME
21787
21788         * gst/gstcaps.c: (gst_caps_to_string):
21789         Add comments, cleanups.
21790         
21791         * gst/gstelement.c: (gst_element_save_thyself):
21792         cleanups
21793         
21794         * gst/gstvalue.c: (gst_value_collect_int_range),
21795         (gst_string_unwrap), (gst_value_union_int_int_range),
21796         (gst_value_union_int_range_int_range),
21797         (gst_value_intersect_int_int_range),
21798         (gst_value_intersect_int_range_int_range),
21799         (gst_value_intersect_double_double_range),
21800         (gst_value_intersect_double_range_double_range),
21801         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
21802         (gst_value_subtract_int_range_int),
21803         (gst_value_subtract_double_range_double),
21804         (gst_value_subtract_double_range_double_range),
21805         (gst_value_subtract_from_list), (gst_value_subtract_list),
21806         (gst_value_can_compare), (gst_value_compare_fraction):
21807         Cleanups, add comments, remove unneeded asserts.
21808
21809 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21810
21811         * tools/gst-launch.c: (event_loop):
21812           don't convert NULL structures to strings
21813
21814 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
21815
21816         * docs/gst/gstreamer-sections.txt:
21817           made some defines private
21818         * docs/gst/tmpl/gstconfig.sgml:
21819         * docs/gst/tmpl/gstqueue.sgml:
21820         * docs/gst/tmpl/gsttaglist.sgml:
21821         * docs/gst/tmpl/gsttypes.sgml:
21822         * docs/gst/tmpl/gstutils.sgml:
21823         * docs/pwg/appendix-porting.xml:
21824         * gst/base/gstbasesink.h:
21825         * gst/base/gstbasesrc.c:
21826         * gst/base/gstbasesrc.h:
21827         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
21828         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
21829         * gst/gstelement.c: (gst_element_class_init):
21830         * gst/gstpad.c: (gst_pad_class_init):
21831         * gst/gstqueue.c: (gst_queue_class_init):
21832         * gst/gstxml.c: (gst_xml_class_init):
21833           documented all undocumented signal inline
21834         * libs/gst/controller/gst-controller.h:
21835           added padding
21836
21837 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21838
21839         * docs/pwg/appendix-porting.xml:
21840           Document _set_link_function -> _set_setcaps_function.
21841
21842 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21843
21844         * check/Makefile.am:
21845           add a .check target for running the check
21846         * check/gst-libs/controller.c: (GST_START_TEST):
21847           cosmetic fixups
21848         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21849           complete checks for gstbuffer; would be nice if I could get the
21850           gcov stuff to work so I can see if I actually completed gstbuffer.c
21851         * check/gstcheck.h:
21852           add ASSERT_BUFFER_REFCOUNT
21853
21854 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
21855
21856         * docs/gst/gstreamer-sections.txt:
21857         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
21858         * gst/gsttag.h:
21859           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
21860           spew out a warning if a tag that is already registered
21861           is re-registered, unless it is re-registered with a 
21862           different type (#308438).
21863
21864 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
21865
21866         * docs/pwg/appendix-porting.xml:
21867         * docs/pwg/building-state.xml:
21868           Add some paragraphs about state changes in 0.9 to the PWG
21869           and the porting guide, in particular about the new meaning
21870           of GST_STATE_PAUSED and how to write state change functions
21871           with concurrent access by multiple threads in mind.
21872
21873 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
21874
21875         * docs/gst/gstreamer-docs.sgml:
21876         * docs/libs/gstreamer-libs-docs.sgml:
21877           added deprecation and since indexes
21878         * libs/gst/controller/gst-controller.c:
21879         * libs/gst/controller/gst-helper.c:
21880           added since tags
21881
21882
21883 2005-08-11  Wim Taymans  <wim@fluendo.com>
21884
21885         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
21886         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
21887         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
21888         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
21889         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
21890         (gst_ghost_pad_set_target):
21891         Actually implement (re)setting the target on a ghostpad
21892         as described in the docs.
21893
21894 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21895
21896         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
21897           Check whether GST_DEBUG_NO_COLOR environment variable is
21898           set and disable coloured debug output if that is the case.
21899
21900 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21901
21902         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21903         (gst_type_find_helper):
21904           The memory returned by gst_type_find_peek() needs to
21905           stay valid until the end of a typefind function, and
21906           typefind functions may keep results from different 
21907           offsets around, so we can't just unref the buffer from
21908           the previous _peek(), but have to save all buffers 
21909           returned by _peek() until typefinding is done and only
21910           free them then.
21911
21912 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
21913
21914         * docs/gst/gstreamer-sections.txt:
21915         * gst/gstutils.h:
21916           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
21917
21918 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21919
21920         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
21921           Fix a pretty good memleak.
21922
21923 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21924
21925         * gst/gstiterator.h:
21926           Fix wrong include and 'make distcheck'.
21927
21928 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21929
21930         * gst/gstbin.c: (bin_bus_handler):
21931           Use gst_element_post_message() instead.
21932
21933 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21934
21935         * gst/base/gstadapter.h:
21936         * gst/base/gstbasesink.h:
21937         * gst/base/gstbasesrc.h:
21938         * gst/base/gstbasetransform.h:
21939         * gst/base/gstcollectpads.h:
21940         * gst/base/gstpushsrc.h:
21941         * gst/gstiterator.h:
21942           Add padding to our base elements' class and instance structs and
21943           to GstIterator (you will need to rebuild all plugins and apps!)
21944
21945 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21946
21947         * gst/gstbin.c: (bin_bus_handler):
21948           Make default message forwarding from child->bus to bin->bus
21949           threadsafe and make it not emit warnings if the parent has no bus.
21950
21951 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21952
21953         * gst/gstelement.c: (activate_pads):
21954           On paused->ready, set pad->caps to NULL, as is the documented
21955           behaviour in this state change. Fixes playback of series of
21956           media files when visualization is enabled in Totem.
21957
21958 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21959
21960         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21961           Allow NULL as filter-caps (which means "any").
21962
21963 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21964
21965         * docs/libs/gstreamer-libs-sections.txt:
21966         * libs/gst/controller/gst-controller.c:
21967         * libs/gst/controller/gst-controller.h:
21968         * libs/gst/controller/gst-helper.c:
21969           adding more entries to the docs and fix small doc-bugs
21970
21971 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21972
21973         * docs/gst/gstreamer-docs.sgml:
21974         * docs/gst/gstreamer-sections.txt:
21975         * docs/gst/gstreamer.types:
21976         * docs/gst/tmpl/gstbasesink.sgml:
21977         * docs/gst/tmpl/gstbasesrc.sgml:
21978         * docs/gst/tmpl/gstbasetransform.sgml:
21979         * docs/gst/tmpl/gstfakesrc.sgml:
21980         * gst/base/gstcollectpads.c:
21981         * gst/base/gstcollectpads.h:
21982         * libs/gst/controller/gst-controller.c:
21983         * libs/gst/controller/gst-controller.h:
21984         * libs/gst/controller/gst-helper.c:
21985         * libs/gst/controller/gst-interpolation.c:
21986         * libs/gst/controller/lib.c:
21987           added long/short desc for controller docs
21988           added collectpads base class docs
21989           added correct includes to base-class docs
21990
21991 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21992
21993         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21994         (gst_test_mono_source_set_property),
21995         (gst_test_mono_source_class_init), (GST_START_TEST),
21996         (gst_controller_suite):
21997         * docs/gst/gstreamer-docs.sgml:
21998         * docs/gst/gstreamer-sections.txt:
21999         * docs/gst/gstreamer.types:
22000         * docs/libs/gstreamer-libs-docs.sgml:
22001         * docs/libs/gstreamer-libs-sections.txt:
22002         * gst/base/gstadapter.c:
22003         * libs/gst/controller/gst-controller.c:
22004         (gst_controlled_property_new), (gst_controlled_property_free),
22005         (gst_controller_new_valist),
22006         (gst_controller_remove_properties_valist),
22007         (gst_controller_sink_values), (_gst_controller_finalize):
22008         * libs/gst/controller/gst-controller.h:
22009         * libs/gst/controller/gst-helper.c:
22010         (gst_object_control_properties), (gst_object_uncontrol_properties),
22011         (gst_object_get_controller), (gst_object_set_controller),
22012         (gst_object_sink_values), (gst_object_get_value_arrays),
22013         (gst_object_get_value_array):
22014           more tests (and fixes) for the controller
22015           more docs for the controller
22016           integrated companies docs for the adapter 
22017
22018 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22019
22020         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
22021         (GST_START_TEST), (fakesrc_suite):
22022           add tests for sizetype
22023
22024 2005-08-04  Andy Wingo  <wingo@pobox.com>
22025
22026         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
22027         fixes buffer_alloc proxying among other things.
22028
22029         * gst/base/gstbasetransform.c:
22030         * gst/base/gstbasetransform.h:
22031         Revert patch to gstbasetransform from 7-28 removing
22032         delay_configure.
22033
22034         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
22035         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
22036         Semantics changed, should return not the size of the output buffer
22037         but the byte size of a buffer with a given caps.
22038
22039         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
22040         debug object.
22041         (gst_base_transform_configure_caps): Don't set out_size here: (in,
22042         out) are not the pad caps until setcaps finishes.
22043         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
22044         not-in-place case as well. Deal with changing from in-place to
22045         not-in-place within calling pad_alloc_buffer. Still a bit
22046         concerned about the overhead here...
22047
22048 2005-08-03  Andy Wingo  <wingo@pobox.com>
22049
22050         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
22051         fixating is an error.
22052
22053 2005-08-04  Edward Hervey  <edward@fluendo.com>
22054
22055         * gst/base/gstadapter.h: 
22056         Added gst_adapter_get_type() to the header
22057
22058 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22059
22060         * check/Makefile.am:
22061         * check/gst-libs/controller.c:
22062         * libs/gst/controller/gst-controller.c:
22063         (gst_controller_new_valist):
22064           added check test suite for the controller
22065         * gst/base/gstpushsrc.c:
22066           fixed a doc typo
22067
22068 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22069
22070         * docs/gst/Makefile.am:
22071         * docs/gst/gstreamer-docs.sgml:
22072         * docs/gst/gstreamer-sections.txt:
22073         * docs/gst/gstreamer.types:
22074         * docs/gst/tmpl/gstfakesrc.sgml:
22075         * gst/base/README:
22076         * gst/base/gstbasesink.c:
22077         * gst/base/gstbasesink.h:
22078         * gst/base/gstbasesrc.c:
22079         * gst/base/gstbasesrc.h:
22080         * gst/base/gstbasetransform.c:
22081         * gst/base/gstpushsrc.c:
22082         * gst/base/gstpushsrc.h:
22083           add short/long description docs to base classes
22084           add pushsrc to the docs
22085           remove consolidated doc fragments
22086
22087 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
22088
22089         * configure.ac:
22090         * docs/libs/Makefile.am:
22091         * docs/libs/gstreamer-libs-docs.sgml:
22092         * docs/libs/gstreamer-libs-sections.txt:
22093         * docs/libs/gstreamer-libs.types:
22094         * examples/Makefile.am:
22095         * examples/controller/.cvsignore:
22096         * examples/controller/Makefile.am:
22097         * examples/controller/audio-example.c: (main):
22098         * libs/gst/Makefile.am:
22099         * libs/gst/controller/.cvsignore:
22100         * libs/gst/controller/Makefile.am:
22101         * libs/gst/controller/gst-controller.c:
22102         (on_object_controlled_property_changed), (gst_timed_value_compare),
22103         (gst_timed_value_find),
22104         (gst_controlled_property_set_interpolation_mode),
22105         (gst_controlled_property_new), (gst_controlled_property_free),
22106         (gst_controller_find_controlled_property),
22107         (gst_controller_new_valist), (gst_controller_new),
22108         (gst_controller_remove_properties_valist),
22109         (gst_controller_remove_properties), (gst_controller_set),
22110         (gst_controller_set_from_list), (gst_controller_unset),
22111         (gst_controller_get), (gst_controller_get_all),
22112         (gst_controller_sink_values), (gst_controller_get_value_arrays),
22113         (gst_controller_get_value_array),
22114         (gst_controller_set_interpolation_mode),
22115         (_gst_controller_finalize), (_gst_controller_init),
22116         (_gst_controller_class_init), (gst_controller_get_type):
22117         * libs/gst/controller/gst-controller.h:
22118         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
22119         (g_object_uncontrol_properties), (g_object_get_controller),
22120         (g_object_set_controller), (g_object_sink_values),
22121         (g_object_get_value_arrays), (g_object_get_value_array):
22122         * libs/gst/controller/gst-interpolation.c:
22123         (gst_controlled_property_find_timed_value_node),
22124         (interpolate_none_get), (interpolate_trigger_get),
22125         (interpolate_trigger_get_value_array):
22126         * libs/gst/controller/lib.c: (gst_controller_init):
22127         * pkgconfig/Makefile.am:
22128         * pkgconfig/gstreamer-control-uninstalled.pc.in:
22129         * pkgconfig/gstreamer-control.pc.in:
22130         * testsuite/Makefile.am:
22131         * testsuite/controller/.cvsignore:
22132         * testsuite/controller/Makefile.am:
22133         * testsuite/controller/interpolator.c: (main):
22134           added controller code
22135           removed dparam pc files
22136
22137 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
22138         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
22139         (gst_collectpads_stop):
22140           Broadcast the condition when shutting down, to make sure we wake all
22141           threads up. Shut down pads on finalize, for safety.
22142
22143 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
22144         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22145         (gst_base_transform_handle_buffer),
22146         (gst_base_transform_change_state):
22147           Handle PAUSED->READY->PAUSED transition after negotiation
22148           occurred already.
22149         * gst/gstmessage.c: (gst_message_init):
22150           Extra piece of debug for new messages.
22151
22152 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
22153
22154         * configure.ac:
22155         * docs/gst/tmpl/gstbasesrc.sgml:
22156         * docs/gst/tmpl/gstelement.sgml:
22157         * docs/gst/tmpl/gstevent.sgml:
22158         * docs/gst/tmpl/gstfakesrc.sgml:
22159         * docs/gst/tmpl/gstformat.sgml:
22160         * docs/gst/tmpl/gstghostpad.sgml:
22161         * docs/gst/tmpl/gstpad.sgml:
22162         * docs/gst/tmpl/gstquery.sgml:
22163         * docs/gst/tmpl/gststructure.sgml:
22164         * docs/gst/tmpl/gsttaglist.sgml:
22165         * docs/gst/tmpl/gstvalue.sgml:
22166         * docs/libs/gstreamer-libs-docs.sgml:
22167         * docs/libs/gstreamer-libs-sections.txt:
22168         * docs/libs/gstreamer-libs.types:
22169         * libs/gst/Makefile.am:
22170         * libs/gst/control/.cvsignore:
22171         * libs/gst/control/Makefile.am:
22172         * libs/gst/control/control.c:
22173         * libs/gst/control/control.h:
22174         * libs/gst/control/dparam.c:
22175         * libs/gst/control/dparam.h:
22176         * libs/gst/control/dparam_smooth.c:
22177         * libs/gst/control/dparam_smooth.h:
22178         * libs/gst/control/dparamcommon.h:
22179         * libs/gst/control/dparammanager.c:
22180         * libs/gst/control/dparammanager.h:
22181         * libs/gst/control/dplinearinterp.c:
22182         * libs/gst/control/dplinearinterp.h:
22183         * libs/gst/control/unitconvert.c:
22184         * libs/gst/control/unitconvert.h:
22185         * testsuite/Makefile.am:
22186         * testsuite/dynparams/.cvsignore:
22187         * testsuite/dynparams/Makefile.am:
22188         * testsuite/dynparams/dparamstest.c:
22189         * tools/Makefile.am:
22190         * tools/gst-inspect.c: (print_element_info), (main):
22191         * tools/gst-xmlinspect.c: (print_element_info), (main):
22192           deactivate and remove dparams (libgstcontrol)
22193
22194 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22195
22196         * gst/elements/gsttypefindelement.c:
22197         (gst_type_find_element_have_type), (gst_type_find_element_init),
22198         (stop_typefinding), (gst_type_find_element_handle_event),
22199         (gst_type_find_element_chain), (gst_type_find_element_getrange):
22200         * gst/elements/gsttypefindelement.h:
22201           Set caps on all outgoing buffers, not just the first one.
22202
22203 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22204
22205         * gst/elements/gsttypefindelement.c:
22206         (gst_type_find_element_have_type),
22207         (gst_type_find_element_check_set_buffer_caps),
22208         (gst_type_find_element_init), (stop_typefinding),
22209         (gst_type_find_element_handle_event),
22210         (gst_type_find_element_chain), (gst_type_find_element_getrange):
22211         * gst/elements/gsttypefindelement.h:
22212           Set caps on first outgoing buffer when we've found the type.
22213
22214 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22215
22216         * docs/gst/gstreamer-docs.sgml:
22217         * docs/gst/gstreamer-sections.txt:
22218         * docs/gst/tmpl/gstscheduler.sgml:
22219         * docs/gst/tmpl/gstschedulerfactory.sgml:
22220           Remove some old cruft from docs.
22221
22222 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
22223
22224         * gst/gstpad.h:
22225           Fix inline docs for GstPadLinkReturn.
22226           
22227         * gst/gststructure.c: (gst_structure_has_name):
22228         * gst/gststructure.h:
22229         * docs/gst/gstreamer-sections.txt:
22230           New API: gst_structure_has_name().
22231
22232 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
22233
22234         * configure.ac:
22235           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
22236           and _LARGEFILE_SOURCE in config.h as required. Do not 
22237           export those flags in our .pc files any longer (#142209).
22238
22239           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
22240
22241         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
22242         (gst_file_sink_do_seek), (gst_file_sink_event),
22243         (gst_file_sink_get_current_offset), (gst_file_sink_render):
22244           Redo seek/tell calls with large file support in mind; add some
22245           debugging messages; add log message that tells us when large
22246           file support is unavailable or not enabled for some reason.
22247
22248         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
22249           Add log message that tells us when large file support 
22250           is unavailable or not enabled for some reason.
22251
22252 2005-07-29  Wim Taymans  <wim@fluendo.com>
22253
22254         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
22255         Added test for removing an element with ghostpad from a bin.
22256         Fixed test as current implementation does the right thing.
22257
22258         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
22259         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
22260         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
22261         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
22262         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
22263         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
22264         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
22265         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22266         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
22267         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
22268         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
22269         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
22270         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
22271         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
22272         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
22273         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
22274         * gst/gstghostpad.h:
22275         Clean up ghostpads, remove properties for internal stuff.
22276         Make threadsafe.
22277         Fix refcounting.
22278         Prepare for switching targets, not all use cases work yet.
22279
22280 2005-07-29  Wim Taymans  <wim@fluendo.com>
22281
22282         * docs/design/part-gstghostpad.txt:
22283         Small update.
22284
22285         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
22286         (gst_bin_remove_func):
22287         Unlinking pads while holding the bin LOCK is not a good
22288         idea.
22289
22290         * gst/gstpad.c: (gst_pad_class_init),
22291         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
22292         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
22293         No prob setting template after creating the pad.
22294
22295 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
22296
22297         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
22298         (gst_bus_peek), (gst_bus_source_dispatch),
22299         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
22300         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
22301           gst_bus_poll may be called from other threads. Handle
22302           this nicely by not making poll_data disappear off the
22303           stack once gst_bus_poll returns.
22304           gst_bus_peek now increments the refcount on the returned
22305           message.
22306
22307 2005-07-29  Wim Taymans  <wim@fluendo.com>
22308
22309         * docs/design/part-gstghostpad.txt:
22310         Overview of current GhostPad datastructures and use
22311         cases for changing the target.
22312
22313 2005-07-28  Wim Taymans  <wim@fluendo.com>
22314
22315         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22316         Added checks for hierarchy consistency whan adding linked
22317         elements to bins.
22318
22319         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22320         Added check to test element scheduling without bin/pipeline.
22321
22322         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22323         First add elements to bin, then link.
22324         
22325         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
22326         (gst_bin_remove_func):
22327         Unlink pads from elements added/removed from bin to maintain
22328         hierarchy consistency.
22329
22330 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22331
22332         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22333         (gst_base_transform_handle_buffer):
22334         * gst/base/gstbasetransform.h:
22335           Remove broken delay_configure (fixes renegotiation of software
22336           scaling pipelines); remove some leftover printf()s.
22337
22338 2005-07-28  Wim Taymans  <wim@fluendo.com>
22339
22340         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
22341         Added some more tests for wrong hierarchy
22342
22343         * docs/design/part-overview.txt:
22344         Some updates.
22345
22346         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
22347         Cleanups.
22348
22349         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
22350         (gst_element_dispose):
22351         Some more cleanups.
22352
22353         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
22354         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
22355         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22356         (gst_pad_set_caps), (gst_pad_send_event):
22357         Check for correct hierarchy when linking pads. Moving to
22358         strict requirement for ghostpads when linking elements in
22359         different bins.
22360
22361         * gst/gstpad.h:
22362         Clean ups. Added WRONG_HIERARCHY return value.
22363
22364 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22365
22366         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22367           Better debug if no transform is possible.
22368
22369 2005-07-27  Wim Taymans  <wim@fluendo.com>
22370
22371         * docs/random/wtay/network-transp:
22372         Some old doc I had.
22373
22374 2005-07-27  Wim Taymans  <wim@fluendo.com>
22375
22376         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22377         (gst_dp_event_from_packet):
22378         Fix serialization of seek events.
22379
22380 2005-07-27  Wim Taymans  <wim@fluendo.com>
22381
22382         * check/gst-libs/gdp.c: (GST_START_TEST):
22383         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22384         Fix compilation and fix event serialization.
22385
22386 2005-07-27  Wim Taymans  <wim@fluendo.com>
22387
22388         * CHANGES-0.9:
22389         * docs/design/part-TODO.txt:
22390         * docs/design/part-events.txt:
22391         Some docs updates
22392
22393         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22394         (gst_base_sink_event), (gst_base_sink_do_sync),
22395         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
22396         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22397         (gst_base_src_do_seek), (gst_base_src_event_handler),
22398         (gst_base_src_loop):
22399         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22400         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22401         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22402         (gst_base_transform_event), (gst_base_transform_handle_buffer),
22403         (gst_base_transform_set_passthrough),
22404         (gst_base_transform_is_passthrough):
22405         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22406         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22407         Event updates.
22408
22409         * gst/gstbuffer.h:
22410         Use faster casts.
22411
22412         * gst/gstelement.c: (gst_element_seek):
22413         * gst/gstelement.h:
22414         Update gst_element_seek.
22415
22416         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
22417         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
22418         (gst_event_new_flush_start), (gst_event_new_flush_stop),
22419         (gst_event_new_eos), (gst_event_new_newsegment),
22420         (gst_event_parse_newsegment), (gst_event_new_tag),
22421         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
22422         (gst_event_parse_qos), (gst_event_new_seek),
22423         (gst_event_parse_seek), (gst_event_new_navigation):
22424         * gst/gstevent.h:
22425         Make GstEvent use GstStructure. Add parsing code, make sure the
22426         API is sufficiently generic.
22427         Mark possible directions of events and serialization.
22428
22429         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
22430         (_gst_message_copy), (gst_message_new_segment_start),
22431         (gst_message_new_segment_done), (gst_message_new_custom),
22432         (gst_message_parse_segment_start),
22433         (gst_message_parse_segment_done):
22434         Small cleanups.
22435
22436         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22437         (gst_pad_set_caps), (gst_pad_send_event):
22438         Update for new events. 
22439         Catch events sent in wrong directions.
22440
22441         * gst/gstqueue.c: (gst_queue_link_src),
22442         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
22443         (gst_queue_handle_src_query):
22444         Event updates.
22445
22446         * gst/gsttag.c:
22447         * gst/gsttag.h:
22448         Remove event code from this file.
22449
22450         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22451         (gst_dp_event_from_packet):
22452         Event updates.
22453
22454 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22455
22456         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
22457         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22458         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
22459           Make debugging actually useful.
22460
22461 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22462
22463         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
22464         (gst_pad_fixate_caps):
22465           Implement default fixation once again, so that gst_pad_fixate()
22466           actually does anything at all. This probably needs to be some
22467           sort of a last resort, and use profile-based fixation first, but
22468           since that doesn't exist yet, this is the best we have. Fixes
22469           visualization in Totem.
22470
22471 2005-07-22  Wim Taymans  <wim@fluendo.com>
22472
22473         * docs/design/part-events.txt:
22474         Small update.
22475
22476         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22477         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
22478         (gst_base_sink_activate_pull):
22479         Some more comments.
22480
22481         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
22482         (gst_fake_src_create):
22483         Fix handoff marshall.
22484
22485         * gst/elements/gstidentity.c: (gst_identity_class_init),
22486         (gst_identity_transform_ip):
22487         We're a real inplace element.
22488
22489         * gst/gstbus.c: (gst_bus_post):
22490         Added some comments.
22491
22492         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
22493         * tests/muxing/case1.c: (main):
22494         * tests/sched/dynamic-pipeline.c: (main):
22495         * tests/sched/interrupt1.c: (main):
22496         * tests/sched/interrupt2.c: (main):
22497         * tests/sched/interrupt3.c: (main):
22498         * tests/sched/runxml.c: (main):
22499         * tests/sched/sched-stress.c: (main):
22500         * tests/seeking/seeking1.c: (event_received), (main):
22501         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22502         (main):
22503         * tests/threadstate/threadstate3.c: (main):
22504         * tests/threadstate/threadstate4.c: (main):
22505         * tests/threadstate/threadstate5.c: (main):
22506         Fix the tests.
22507
22508 2005-07-21  Wim Taymans  <wim@fluendo.com>
22509
22510         * docs/design/part-seeking.txt:
22511         Some small additions.
22512
22513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22514         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22515         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
22516         * gst/base/gstbasesink.h:
22517         discont values are gint64, handle the math correctly.
22518
22519         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22520         Make the basesrc report error if the source pad is not linked.
22521
22522         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22523         (gst_queue_loop), (gst_queue_handle_src_query),
22524         (gst_queue_src_activate_push):
22525         Make queue collect data even if the srcpad is not linked.
22526         Start pushing out data as soon as it is linked.
22527
22528         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
22529         * gst/gstutils.h:
22530         Added gst_flow_get_name() to ease error reporting.
22531
22532 2005-07-20  Wim Taymans  <wim@fluendo.com>
22533
22534         * gst/gstmessage.c: (gst_message_new_segment_start),
22535         (gst_message_new_segment_done), (gst_message_parse_segment_start),
22536         (gst_message_parse_segment_done):
22537         * gst/gstmessage.h:
22538         Added a bunch of messages for advanced seeking.
22539
22540         * gst/parse/grammar.y:
22541         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
22542         (gst_dpman_state_changed):
22543         Fix some new-pad -> pad-added signals
22544
22545 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22546
22547         * docs/manual/appendix-porting.xml:
22548         * docs/pwg/appendix-porting.xml:
22549           Document new-pad/state-change signal renames and the FixedList
22550           type rename.
22551
22552 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22553
22554         * docs/manual/advanced-autoplugging.xml:
22555         * docs/manual/basics-helloworld.xml:
22556         * docs/manual/basics-pads.xml:
22557         * docs/random/ds/0.9-suggested-changes:
22558         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
22559         * gst/gstelement.h:
22560         * gst/gstevent.h:
22561         * gst/gstformat.h:
22562         * gst/gstquery.h:
22563         * gst/gststructure.c: (gst_structure_value_get_generic_type),
22564         (gst_structure_parse_array), (gst_structure_parse_value):
22565         * gst/gstvalue.c: (gst_type_is_fixed),
22566         (gst_value_list_prepend_value), (gst_value_list_append_value),
22567         (gst_value_list_get_size), (gst_value_list_get_value),
22568         (gst_value_transform_array_string), (gst_value_serialize_array),
22569         (gst_value_deserialize_array), (gst_value_intersect_array),
22570         (gst_value_is_fixed), (_gst_value_initialize):
22571         * gst/gstvalue.h:
22572           GstElement::new-pad -> pad-added, GstElement::state-change ->
22573           state-changed, GstValueFixedList -> GstValueArray, add format and
22574           flags as their own arguments in gst_element_seek() (should improve
22575           "bindeability"), remove function generators since they don't work
22576           under a whole bunch of compilers (they were deprecated already
22577           anyway).
22578
22579 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22580
22581         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22582         (_gst_debug_register_funcptr):
22583         * gst/gstinfo.h:
22584           Fix illegal cast on some platforms (#309253).
22585
22586 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22587
22588         * gst/gstmessage.c: (gst_message_new_custom):
22589         * gst/gstmessage.h:
22590           Add _new_custom, make _new_application a macro to _new_custom.
22591
22592 2005-07-20  Wim Taymans  <wim@fluendo.com>
22593
22594         * gst/base/gstbasesrc.c: (gst_base_src_init),
22595         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22596         * gst/base/gstbasesrc.h:
22597         Add a gboolean to decide when to push out a discont.
22598
22599         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22600         (gst_queue_loop), (gst_queue_handle_src_query),
22601         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
22602         (gst_queue_set_property), (gst_queue_get_property):
22603         Some cleanups.
22604
22605         * tests/threadstate/threadstate1.c: (main):
22606         Make a thread test compile and run... very silly..
22607
22608
22609 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22610
22611         * docs/manual/appendix-porting.xml:
22612           Mention removal of libgstgconf-0.9.la and existence of gconf
22613           elements.
22614
22615 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22616
22617         * docs/pwg/advanced-clock.xml:
22618         * docs/pwg/appendix-porting.xml:
22619         * docs/pwg/intro-preface.xml:
22620         * docs/pwg/other-base.xml:
22621         * docs/pwg/other-manager.xml:
22622         * docs/pwg/other-nton.xml:
22623         * docs/pwg/other-ntoone.xml:
22624         * docs/pwg/other-oneton.xml:
22625         * docs/pwg/pwg.xml:
22626           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
22627           demuxer), remove n-to-n (was never written), fix some code examples
22628           and links and update the porting section to include all this.
22629
22630 2005-07-19  Wim Taymans  <wim@fluendo.com>
22631
22632         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
22633         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
22634         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
22635         (gst_queue_src_activate_push), (gst_queue_change_state),
22636         (gst_queue_get_property):
22637         * gst/gstqueue.h:
22638         Propagate GstFlowReturn more intelligently upstream and output
22639         an ERROR/EOS when streaming stopped due to fatal error.
22640
22641 2005-07-19  Wim Taymans  <wim@fluendo.com>
22642
22643         * tools/gst-launch.c: (check_intr), (event_loop), (main):
22644         Don't block forever for the state change to complete, the
22645         pipeline already did with a sensible timeout.
22646
22647 2005-07-19  Wim Taymans  <wim@fluendo.com>
22648
22649         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22650         Make sure we never call the create function is we
22651         got deactivated.
22652
22653 2005-07-19  Andy Wingo  <wingo@pobox.com>
22654
22655         * gst/parse/parse.l: Attempt to solve bug #172815.
22656
22657 2005-07-19  Wim Taymans  <wim@fluendo.com>
22658
22659         * docs/design/part-clocks.txt:
22660         * docs/design/part-events.txt:
22661         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
22662         Small docs updates.
22663         Only update the seeking values when we are not
22664         busy streaming.
22665
22666 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22667
22668         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22669           Oops, ignore the result of gst_pad_push_event here.
22670
22671 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22672
22673         * gst/base/gstbasesrc.c: (gst_base_src_loop),
22674         (gst_base_src_activate_push):
22675           Send discont event from the loop function, as pads
22676           aren't activated yet in the activate_push handler.
22677
22678         * gst/gstbin.c: (bin_bus_handler):
22679           Don't leak element name.
22680
22681 2005-07-18  Andy Wingo  <wingo@pobox.com>
22682
22683         * configure.ac: Use AS_LIBTOOL_TAGS.
22684
22685 2005-07-18  Wim Taymans  <wim@fluendo.com>
22686
22687         * docs/gst/gstreamer.types:
22688         Remove deleted types.
22689
22690 2005-07-18  Wim Taymans  <wim@fluendo.com>
22691
22692         * check/elements/gstfakesrc.c: (GST_START_TEST):
22693         * configure.ac:
22694         * gst/Makefile.am:
22695         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
22696         (init_popt_callback):
22697         * gst/gst.h:
22698         * gst/gst_private.h:
22699         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
22700         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
22701         * gst/gstbin.h:
22702         * gst/gstbus.h:
22703         * gst/gstconfig.h.in:
22704         * gst/gstelement.c: (gst_element_class_init),
22705         (gst_element_set_base_time), (gst_element_get_base_time),
22706         (iterator_fold_with_resync), (gst_element_change_state),
22707         (gst_element_dispose), (gst_element_get_bus):
22708         * gst/gstelement.h:
22709         * gst/gstelementfactory.h:
22710         * gst/gsterror.c: (_gst_core_errors_init):
22711         * gst/gsterror.h:
22712         * gst/gstevent.h:
22713         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22714         * gst/gstindex.c:
22715         * gst/gstinfo.c: (_gst_debug_init):
22716         * gst/gstmessage.c: (_gst_message_copy):
22717         * gst/gstmessage.h:
22718         * gst/gstminiobject.h:
22719         * gst/gstobject.c:
22720         * gst/gstobject.h:
22721         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22722         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
22723         * gst/gstpad.h:
22724         * gst/gstparse.h:
22725         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22726         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22727         (gst_pipeline_get_last_stream_time):
22728         * gst/gstpipeline.h:
22729         * gst/gstpluginfeature.h:
22730         * gst/gstquery.h:
22731         * gst/gstscheduler.c:
22732         * gst/gstscheduler.h:
22733         * gst/gststructure.h:
22734         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22735         (gst_task_finalize), (gst_task_func), (gst_task_create),
22736         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
22737         (gst_task_stop), (gst_task_pause):
22738         * gst/gsttask.h:
22739         * gst/gsttypefind.h:
22740         * gst/gsttypes.h:
22741         * gst/registries/gstlibxmlregistry.c: (load_feature),
22742         (gst_xml_registry_load), (gst_xml_registry_save_feature):
22743         * gst/registries/gstxmlregistry.c:
22744         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
22745         * gst/schedulers/threadscheduler.c:
22746         * libs/gst/control/dparammanager.h:
22747         * tools/gst-inspect.c: (print_element_list),
22748         (print_plugin_features), (print_element_features):
22749         * tools/gst-xmlinspect.c: (print_element_list),
22750         (print_plugin_info), (main):
22751         Removed plugable schedulers.
22752         Removed Scheduler/Manager from elements.
22753         Removed gsttypes.h, rearranged includes.
22754         Removed dependency pad<->element, element<>pipeline, and
22755         various others,  fix includes.
22756         implement gst_pad_get_parent() with gst_object_get_parent()
22757         Make GstTask sefcontained.
22758         Fix _get_state() on GstBin, it did not return ASYNC with a 0
22759         timeout.
22760         Fix endless loop in iterator_fold_with_resync.
22761
22762
22763 2005-07-18  Wim Taymans  <wim@fluendo.com>
22764
22765         * gst/Makefile.am:
22766         * gst/gstarch.h:
22767         Remove old file.
22768
22769 2005-07-18  Wim Taymans  <wim@fluendo.com>
22770
22771         * gst/Makefile.am:
22772         No more cothreads.h
22773
22774 2005-07-18  Wim Taymans  <wim@fluendo.com>
22775
22776         * gst/cothreads.c:
22777         * gst/cothreads.h:
22778         Let's remove these.
22779
22780 2005-07-18  Wim Taymans  <wim@fluendo.com>
22781
22782         * docs/design/part-dynamic.txt:
22783         * docs/design/part-events.txt:
22784         * docs/design/part-seeking.txt:
22785         Some more docs in the works.
22786
22787         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22788         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
22789         (gst_base_transform_setcaps), (gst_base_transform_get_size),
22790         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22791         (gst_base_transform_handle_buffer),
22792         (gst_base_transform_sink_activate_push),
22793         (gst_base_transform_src_activate_pull),
22794         (gst_base_transform_set_passthrough),
22795         (gst_base_transform_is_passthrough):
22796         Refcounting fixes.
22797
22798         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
22799         Cleanups.
22800
22801         * gst/gstevent.c: (gst_event_finalize):
22802         Set SRC to NULL.
22803
22804         * gst/gstutils.c: (gst_element_unlink),
22805         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
22806         (gst_pad_proxy_setcaps):
22807         * gst/gstutils.h:
22808         Add _get_parent_element() to get a pads parent as an element.
22809
22810 2005-07-18  Wim Taymans  <wim@fluendo.com>
22811
22812         * check/gst/gstbin.c: (GST_START_TEST):
22813         Remove bogus test.
22814
22815 2005-07-18  Wim Taymans  <wim@fluendo.com>
22816
22817         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22818         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22819         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22820         (gst_base_sink_event), (gst_base_sink_do_sync),
22821         (gst_base_sink_chain), (gst_base_sink_loop),
22822         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
22823         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
22824         Refcounting fixes.
22825         Fix logic for returning ASYNC when not prerolled.
22826
22827 2005-07-18  Wim Taymans  <wim@fluendo.com>
22828
22829         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22830         Fix nasty refcount bug.
22831
22832 2005-07-16 Philippe Khalaf <burger@speedy.org>
22833
22834         * gst/elements/gstfdsrc.c:
22835         * gst/elements/gstfdsrc.h:
22836         * gst/elements/gstelements.c:
22837         * gst/elements/Makefile.am:
22838         Ported fdsrc to 0.9.
22839
22840 2005-07-16  Wim Taymans  <wim@fluendo.com>
22841
22842         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22843         (gst_base_sink_do_sync):
22844         Fix compile error.
22845
22846 2005-07-16  Wim Taymans  <wim@fluendo.com>
22847
22848         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22849         (gst_base_sink_event), (gst_base_sink_get_times),
22850         (gst_base_sink_do_sync), (gst_base_sink_change_state):
22851         * gst/base/gstbasesink.h:
22852         Store and use discont values when syncing buffers as described
22853         in design docs.
22854         
22855         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22856         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
22857         (gst_base_src_activate_push):
22858         Push discont event when starting.
22859
22860         * gst/elements/gstidentity.c: (gst_identity_transform):
22861         Small cleanups.
22862
22863         * gst/gstbin.c: (gst_bin_change_state):
22864         Small cleanups in base_time  distribution.
22865
22866         * gst/gstelement.c: (gst_element_set_base_time),
22867         (gst_element_get_base_time), (gst_element_change_state):
22868         * gst/gstelement.h:
22869         Added methods for the base_time of the element.
22870         Some MT fixes.
22871
22872         * gst/gstpipeline.c: (gst_pipeline_send_event),
22873         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22874         (gst_pipeline_get_last_stream_time):
22875         * gst/gstpipeline.h:
22876         MT fixes.
22877         Handle seeking as described in design doc, remove stream_time
22878         hack.
22879         Cleanups clock and stream_time selection code. Added accessors
22880         for the stream_time.
22881         
22882
22883 2005-07-16  Andy Wingo  <wingo@pobox.com>
22884
22885         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
22886         (#305291).
22887
22888 2005-07-16  Wim Taymans  <wim@fluendo.com>
22889
22890         * check/gst/gstbin.c: (GST_START_TEST):
22891         Make elements silent as the deep_notify refs the
22892         parent, which might make the test fail.
22893
22894         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22895         Don't hold the lock for too long.
22896
22897 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
22898
22899         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
22900           Don't unref the caps we passed to gst_caps_make_writable() after
22901           passing them. gst_caps_make_writable() will do that for us.
22902
22903 2005-07-15  Andy Wingo  <wingo@pobox.com>
22904
22905         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
22906         (#157311).
22907
22908         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
22909         own marshalling function for the handoff signal. Properly type the
22910         buffer as a buffer. Fixes some warnings. Should do a more general
22911         solution.
22912         (gst_identity_class_init): Plug into the right marshaller.
22913
22914 2005-07-15  Wim Taymans  <wim@fluendo.com>
22915
22916         * docs/design/part-TODO.txt:
22917         * docs/design/part-clocks.txt:
22918         * docs/design/part-element-sink.txt:
22919         * docs/design/part-events.txt:
22920         * docs/design/part-gstpipeline.txt:
22921         Updated docs, mostly DISCONT related.
22922
22923 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
22924
22925         * docs/pwg/building-pads.xml:
22926           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
22927
22928 2005-07-15  Andy Wingo  <wingo@pobox.com>
22929
22930         * tools/gst-typefind.c: Update, add copyright block.
22931
22932         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
22933         Normalize and truncate caps before fixation.
22934
22935         * gst/gstcaps.h:
22936         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
22937         discards all but the first structure from its argument.
22938
22939 2005-07-15  Wim Taymans  <wim@fluendo.com>
22940
22941         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22942         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
22943         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22944         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22945         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
22946         (gst_base_transform_chain), (gst_base_transform_change_state),
22947         (gst_base_transform_set_passthrough),
22948         (gst_base_transform_is_passthrough):
22949         * gst/base/gstbasetransform.h:
22950         Make passthrough work using the bufferpools.
22951         Changed API a bit, subclasses have to write into a buffer
22952         provided by the base class.
22953         More debug info in nego functions.
22954         
22955         * gst/elements/gstidentity.c: (gst_identity_init),
22956         (gst_identity_transform):
22957         Port to new base class.
22958
22959 2005-07-15  Wim Taymans  <wim@fluendo.com>
22960
22961         * gst/gstmessage.c: (gst_message_new_state_changed):
22962         * tools/gst-launch.c: (event_loop), (main):
22963         Totally dump messages in -launch with the -m option.
22964         Fix message name for State messages,
22965
22966 2005-07-14  Wim Taymans  <wim@fluendo.com>
22967
22968         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22969         Post error messages on errors.
22970
22971 2005-07-14  Wim Taymans  <wim@fluendo.com>
22972
22973         * gst/gstcaps.c: (gst_caps_do_simplify):
22974         Remove debug info.
22975
22976         * gst/gsterror.h:
22977         Define error for stream stopped.
22978
22979         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22980         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
22981         Do proper return values.
22982
22983         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22984         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
22985         (gst_pad_get_range):
22986         Better return values.
22987
22988         * gst/gstpad.h:
22989         Reorganise return values, add macro to check for fatal errors.
22990
22991         * gst/gstqueue.c: (gst_queue_chain):
22992         Return proper GstFlowReturn values,
22993
22994 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
22995
22996         * docs/gst/gstreamer-sections.txt:
22997         * docs/gst/gstreamer.types:
22998         * docs/gst/tmpl/gst.sgml:
22999         * docs/gst/tmpl/gstbasesink.sgml:
23000         * docs/gst/tmpl/gstbasesrc.sgml:
23001         * docs/gst/tmpl/gstbasetransform.sgml:
23002         * docs/gst/tmpl/gstbin.sgml:
23003         * docs/gst/tmpl/gstbuffer.sgml:
23004         * docs/gst/tmpl/gstcaps.sgml:
23005         * docs/gst/tmpl/gstclock.sgml:
23006         * docs/gst/tmpl/gstcompat.sgml:
23007         * docs/gst/tmpl/gstconfig.sgml:
23008         * docs/gst/tmpl/gstelement.sgml:
23009         * docs/gst/tmpl/gstelementdetails.sgml:
23010         * docs/gst/tmpl/gstelementfactory.sgml:
23011         * docs/gst/tmpl/gstenumtypes.sgml:
23012         * docs/gst/tmpl/gsterror.sgml:
23013         * docs/gst/tmpl/gstevent.sgml:
23014         * docs/gst/tmpl/gstfakesink.sgml:
23015         * docs/gst/tmpl/gstfakesrc.sgml:
23016         * docs/gst/tmpl/gstfilesink.sgml:
23017         * docs/gst/tmpl/gstfilesrc.sgml:
23018         * docs/gst/tmpl/gstfilter.sgml:
23019         * docs/gst/tmpl/gstformat.sgml:
23020         * docs/gst/tmpl/gstghostpad.sgml:
23021         * docs/gst/tmpl/gstimplementsinterface.sgml:
23022         * docs/gst/tmpl/gstindex.sgml:
23023         * docs/gst/tmpl/gstindexfactory.sgml:
23024         * docs/gst/tmpl/gstinfo.sgml:
23025         * docs/gst/tmpl/gstiterator.sgml:
23026         * docs/gst/tmpl/gstmacros.sgml:
23027         * docs/gst/tmpl/gstmemchunk.sgml:
23028         * docs/gst/tmpl/gstminiobject.sgml:
23029         * docs/gst/tmpl/gstobject.sgml:
23030         * docs/gst/tmpl/gstpad.sgml:
23031         * docs/gst/tmpl/gstpadtemplate.sgml:
23032         * docs/gst/tmpl/gstparse.sgml:
23033         * docs/gst/tmpl/gstpipeline.sgml:
23034         * docs/gst/tmpl/gstplugin.sgml:
23035         * docs/gst/tmpl/gstpluginfeature.sgml:
23036         * docs/gst/tmpl/gstquery.sgml:
23037         * docs/gst/tmpl/gstqueue.sgml:
23038         * docs/gst/tmpl/gstregistry.sgml:
23039         * docs/gst/tmpl/gstregistrypool.sgml:
23040         * docs/gst/tmpl/gstscheduler.sgml:
23041         * docs/gst/tmpl/gstschedulerfactory.sgml:
23042         * docs/gst/tmpl/gststructure.sgml:
23043         * docs/gst/tmpl/gstsystemclock.sgml:
23044         * docs/gst/tmpl/gsttaglist.sgml:
23045         * docs/gst/tmpl/gsttagsetter.sgml:
23046         * docs/gst/tmpl/gsttrace.sgml:
23047         * docs/gst/tmpl/gsttrashstack.sgml:
23048         * docs/gst/tmpl/gsttypefind.sgml:
23049         * docs/gst/tmpl/gsttypefindfactory.sgml:
23050         * docs/gst/tmpl/gsttypes.sgml:
23051         * docs/gst/tmpl/gsturihandler.sgml:
23052         * docs/gst/tmpl/gsturitype.sgml:
23053         * docs/gst/tmpl/gstutils.sgml:
23054         * docs/gst/tmpl/gstvalue.sgml:
23055         * docs/gst/tmpl/gstversion.sgml:
23056         * docs/gst/tmpl/gstxml.sgml:
23057         * docs/libs/tmpl/gstcontrol.sgml:
23058         * docs/libs/tmpl/gstdataprotocol.sgml:
23059         * docs/libs/tmpl/gstdparam.sgml:
23060         * docs/libs/tmpl/gstdplinint.sgml:
23061         * docs/libs/tmpl/gstdpman.sgml:
23062         * docs/libs/tmpl/gstdpsmooth.sgml:
23063         * docs/libs/tmpl/gstgetbits.sgml:
23064         * docs/libs/tmpl/gstunitconvert.sgml:
23065         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
23066         (gst_push_src_base_init), (gst_push_src_class_init),
23067         (gst_push_src_init), (gst_push_src_create):
23068         * gst/base/gstpushsrc.h:
23069         * gst/elements/gstelements.c:
23070         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
23071         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
23072         (gst_fake_sink_init), (gst_fake_sink_set_property),
23073         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
23074         (gst_fake_sink_event), (gst_fake_sink_preroll),
23075         (gst_fake_sink_render), (gst_fake_sink_change_state):
23076         * gst/elements/gstfakesink.h:
23077         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
23078         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
23079         (gst_fake_src_base_init), (gst_fake_src_class_init),
23080         (gst_fake_src_init), (gst_fake_src_event_handler),
23081         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
23082         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
23083         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
23084         (gst_fake_src_create_buffer), (gst_fake_src_create),
23085         (gst_fake_src_start), (gst_fake_src_stop):
23086         * gst/elements/gstfakesrc.h:
23087         * gst/elements/gstfilesink.c: (_do_init),
23088         (gst_file_sink_base_init), (gst_file_sink_class_init),
23089         (gst_file_sink_init), (gst_file_sink_dispose),
23090         (gst_file_sink_set_location), (gst_file_sink_set_property),
23091         (gst_file_sink_get_property), (gst_file_sink_open_file),
23092         (gst_file_sink_close_file), (gst_file_sink_query),
23093         (gst_file_sink_event), (gst_file_sink_render),
23094         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
23095         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
23096         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
23097         * gst/elements/gstfilesink.h:
23098         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
23099         (gst_file_src_class_init), (gst_file_src_init),
23100         (gst_file_src_finalize), (gst_file_src_set_location),
23101         (gst_file_src_set_property), (gst_file_src_get_property),
23102         (gst_file_src_map_region), (gst_file_src_map_small_region),
23103         (gst_file_src_create_mmap), (gst_file_src_create_read),
23104         (gst_file_src_create), (gst_file_src_is_seekable),
23105         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
23106         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
23107         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
23108         (gst_file_src_uri_handler_init):
23109         * gst/elements/gstfilesrc.h:
23110           more autistic cleanliness in functions/names/defines
23111
23112 2005-07-13  Andy Wingo  <wingo@pobox.com>
23113
23114         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
23115         source couldn't negotiate.
23116
23117         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
23118         connections again.
23119
23120         * gst/gstutils.h:
23121         * gst/gstutils.c (gst_element_link_pads_filtered): New old
23122         function. I am channeling Hades. Put your boots on suckers!!!
23123
23124 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23125
23126         * testsuite/caps/Makefile.am:
23127         * testsuite/caps/value_compare.c:
23128         * testsuite/caps/value_intersect.c:
23129         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23130           move two testsuite apps over to the check dir
23131
23132 2005-07-12  Wim Taymans  <wim@fluendo.com>
23133
23134         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23135         Added more debug info in the negotiate process.
23136
23137         * gst/gstmessage.h:
23138         Prepare for segment playback.
23139
23140         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
23141         Better debugging.
23142
23143         * gst/gstutils.c:
23144         Some more docs.
23145
23146         * tools/gst-launch.c: (main):
23147         NULL pipeline on errors.
23148
23149 2005-07-12  Andy Wingo  <wingo@pobox.com>
23150
23151         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
23152         not it comes from a malloc region. Make sure our copy gets freed.
23153
23154 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23155
23156         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23157         * check/gst/gstmessage.c: (GST_START_TEST):
23158         * check/gst/gststructure.c: (GST_START_TEST),
23159         (gst_structure_suite), (main):
23160           more testing
23161         * gst/gstelement.c: (gst_element_message_full):
23162           clean up GError and debug string now that they get copied
23163         * gst/gstmessage.c: (gst_message_new_error),
23164         (gst_message_new_warning), (gst_message_parse_error),
23165         (gst_message_parse_warning):
23166           use GST_TYPE_G_ERROR for structure_new, and take copies of
23167           arguments, so that we don't mess up refcounting
23168
23169 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23170
23171         * check/Makefile.am:
23172           add per-test valgrind targets
23173         * check/gst-libs/gdp.c: (GST_START_TEST),
23174         (gst_data_protocol_suite), (main):
23175           clean up
23176
23177 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23178
23179         * check/Makefile.am:
23180           instate more valgrindable tests
23181         * check/elements/gstfakesrc.c: (chain_func), (event_func),
23182         (GST_START_TEST), (fakesrc_suite):
23183         * check/gst/gstpad.c: (GST_START_TEST):
23184         * check/gst/gststructure.c: (GST_START_TEST):
23185           fix test leaks
23186         * docs/gst/tmpl/gstminiobject.sgml:
23187         * gst/gstpad.c: (gst_pad_finalize):
23188           fix the static mutex leak
23189
23190 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23191
23192         * check/Makefile.am:
23193           add two more tests for valgrinding
23194         * check/gst/gstvalue.c: (GST_START_TEST):
23195           test refcount of deserialized buffer, found a leak
23196         * docs/gst/gstreamer-docs.sgml:
23197         * docs/gst/gstreamer-sections.txt:
23198         * docs/gst/gstreamer.types:
23199         * docs/gst/tmpl/gstminiobject.sgml:
23200           add miniobject to docs
23201         * gst/gstminiobject.c:
23202           add some docs
23203         * gst/gstvalue.c: (gst_value_deserialize_buffer),
23204         (gst_string_unwrap):
23205           fix a hard-to-find invalid write for one of the tests
23206           fix a leak for deserialized buffers
23207
23208 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23209
23210         * docs/pwg/advanced-events.xml:
23211         * docs/pwg/advanced-request.xml:
23212         * docs/pwg/advanced-scheduling.xml:
23213         * docs/pwg/appendix-porting.xml:
23214         * docs/pwg/building-boiler.xml:
23215         * docs/pwg/intro-preface.xml:
23216         * docs/pwg/other-ntoone.xml:
23217           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
23218           of example code and explanation for pad activation, loop() and
23219           getrange() functions and a bit more. Remove old comments pointing
23220           to loop-functions.
23221         * examples/pwg/Makefile.am:
23222           Add loop/getrange examples.
23223
23224 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23225
23226         * configure.ac:
23227           check for valgrind binary + some fixes
23228         * check/gst.supp:
23229           valgrind suppressions for the tests
23230         * check/Makefile.am:
23231           add a valgrind: target that valgrinds the unit tests
23232         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
23233         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23234         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23235         * check/gst/gstghostpad.c:
23236           added some cleanup
23237         * check/gst/gstdata.c:
23238           removed
23239         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
23240         (thread_unref), (gst_mini_object_suite), (main):
23241           added
23242         * gst/gst.c: (gst_deinit):
23243         * gst/gst.h:
23244           add a method to clean up.
23245         * gst/gstsystemclock.c: (gst_system_clock_dispose),
23246         (gst_system_clock_obtain):
23247           allow for disposing the system clock.
23248         * tools/gst-launch.c: (main):
23249           deinit
23250
23251 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23252
23253         * docs/gst/tmpl/gstbasesrc.sgml:
23254         * docs/gst/tmpl/gstfakesrc.sgml:
23255         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23256         (gst_base_src_init), (gst_base_src_set_property),
23257         (gst_base_src_get_property), (gst_base_src_get_range),
23258         (gst_base_src_start):
23259         * gst/base/gstbasesrc.h:
23260           add num-buffers property
23261         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23262         (gst_fakesrc_init), (gst_fakesrc_set_property),
23263         (gst_fakesrc_get_property), (gst_fakesrc_create),
23264         (gst_fakesrc_start):
23265           remove num-buffers property
23266
23267 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23268
23269         * docs/gst/gstreamer-sections.txt:
23270         * docs/gst/tmpl/gstbasesink.sgml:
23271         * docs/gst/tmpl/gstbasesrc.sgml:
23272         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
23273         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
23274         (gst_base_sink_finalize), (gst_base_sink_set_clock),
23275         (gst_base_sink_set_property), (gst_base_sink_get_property),
23276         (gst_base_sink_handle_object), (gst_base_sink_event),
23277         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
23278         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
23279         (gst_base_sink_loop), (gst_base_sink_deactivate),
23280         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
23281         (gst_base_sink_change_state):
23282         * gst/base/gstbasesink.h:
23283         * gst/base/gstbasesrc.h:
23284         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
23285         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
23286         (gst_filesink_init):
23287           more macro splitting
23288
23289 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23290
23291         * gst/gstelement.c: (gst_element_get_bus):
23292           add debug
23293         * tools/gst-launch.c: (check_intr), (event_loop):
23294           fix bus leaks
23295
23296 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23297
23298         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
23299           fix a caps leak
23300
23301 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23302
23303         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23304         (gst_base_src_finalize):
23305           add finalize method and clean up properly
23306         * gst/gstpipeline.c: (gst_pipeline_dispose):
23307           add debug
23308
23309 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23310
23311         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
23312         (gst_bin_suite):
23313           add more things to check
23314         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23315         * gst/gstelement.c:
23316           more debug
23317
23318 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23319
23320         * check/elements/gstfakesrc.c: (chain_func), (event_func),
23321         (GST_START_TEST), (fakesrc_suite):
23322         * check/gst-libs/gdp.c: (GST_START_TEST):
23323         * check/gst/gst.c: (GST_START_TEST):
23324         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23325         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23326         * check/gst/gstbus.c: (GST_START_TEST):
23327         * check/gst/gstcaps.c: (GST_START_TEST):
23328         * check/gst/gstdata.c: (GST_START_TEST):
23329         * check/gst/gstelement.c: (GST_START_TEST):
23330         * check/gst/gstghostpad.c: (GST_START_TEST):
23331         * check/gst/gstiterator.c: (GST_START_TEST):
23332         * check/gst/gstmessage.c: (GST_START_TEST):
23333         * check/gst/gstobject.c: (GST_START_TEST):
23334         * check/gst/gstpad.c: (GST_START_TEST):
23335         * check/gst/gststructure.c: (GST_START_TEST):
23336         * check/gst/gstsystemclock.c: (GST_START_TEST),
23337         (gst_systemclock_suite):
23338         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
23339         * check/gst/gstvalue.c: (GST_START_TEST):
23340         * check/pipelines/cleanup.c: (GST_START_TEST):
23341         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23342         * check/states/sinks.c: (GST_START_TEST):
23343         * check/gstcheck.c: (gst_check_init):
23344         * check/gstcheck.h:
23345           add debugging category
23346           use GST_START_TEST now, so we add a debug line
23347
23348 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23349
23350         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
23351           add test for state change message on a bin
23352         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
23353           add another test
23354         * gst/gstbin.c: (gst_bin_init):
23355         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
23356         * gst/gstelement.c: (gst_element_post_message),
23357         (gst_element_set_state):
23358         * gst/gstelementfactory.c: (gst_element_factory_create):
23359         * gst/gstmessage.c: (gst_message_new):
23360         * gst/gstscheduler.c:
23361           various debugging additions and cleanups
23362
23363 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23364
23365         * check/Makefile.am:
23366         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
23367         (main):
23368           adding tests for elements
23369         * gst/gstelement.c: (gst_element_dispose):
23370
23371 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23372
23373         * gst/registries/gstlibxmlregistry.c: (load_feature):
23374           plug more leaks.  A simple gst_init() now is leakfree, yay.
23375
23376 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23377
23378         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
23379         (gst_xml_registry_load):
23380           plug another memleak
23381
23382 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23383
23384         * configure.ac:
23385           use GST_SET_ERROR_CFLAGS
23386         * docs/faq/cvs.xml:
23387           change to ERROR_CFLAGS
23388
23389 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23390
23391         * configure.ac:
23392           make GST_ERROR_CFLAGS overridable and re-enable Werror
23393         * docs/faq/cvs.xml:
23394           add a note about error CFLAGS
23395         * docs/gst/tmpl/gstfakesrc.sgml:
23396         * gst/elements/gstfakesrc.c:
23397           comment out some unused code
23398         * gst/gst.c: (split_and_iterate):
23399         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
23400         (load_feature):
23401           plug some memleaks
23402
23403 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23404
23405         * common/Makefile.am:
23406         * common/gtk-doc.mak:
23407         * docs/gst/Makefile.am:
23408           factor out gtk-doc.mak
23409
23410 2005-07-07  Wim Taymans  <wim@fluendo.com>
23411
23412         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
23413         (gst_thread_scheduler_dispose):
23414         Unlock the STREAM_LOCK completely.
23415
23416 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23417
23418         * check/Makefile.am:
23419         * check/elements/.cvsignore:
23420         * check/elements/gstfakesrc.c: (chain_func), (event_func),
23421         (START_TEST), (fakesrc_suite), (main):
23422         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23423         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23424         (gst_fakesrc_create), (gst_fakesrc_start):
23425         * gst/elements/gstfakesrc.h:
23426           adding a first element test
23427
23428 2005-07-07  Andy Wingo  <wingo@pobox.com>
23429
23430         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
23431         debug message.
23432
23433 2005-07-07  Wim Taymans  <wim@fluendo.com>
23434
23435         * gst/gstquery.c:
23436         * gst/gstquery.h:
23437         Remove old types
23438
23439 2005-07-07  Wim Taymans  <wim@fluendo.com>
23440
23441         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23442         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
23443         Allow subclasses to implement their own negotiation.
23444
23445 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23446
23447         * docs/design/part-gstbin.txt:
23448         * docs/design/part-gstpipeline.txt:
23449           Update design notes to reflect the movement of
23450           responsibility for bus handling from GstPipeline to
23451           GstBin
23452
23453 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23454
23455         * configure.ac:
23456           Remove unnecessary queue2/3/4 examples.
23457
23458 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23459
23460         * examples/Makefile.am:
23461         * examples/helloworld/helloworld.c: (event_loop), (main):
23462         * examples/queue/queue.c: (event_loop), (main):
23463         * examples/queue2/queue2.c: (main):
23464           Update a couple of the examples to work again.
23465
23466         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23467         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
23468          Spelling corrections and extra debug.
23469         
23470         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
23471         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
23472         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
23473         * gst/gstbin.h:
23474         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23475         (gst_pipeline_change_state):
23476         * gst/gstpipeline.h:
23477           Move the bus handler for children to the GstBin, and create a
23478           separate bus for receiving messages from children to the one the
23479           bus sends 'upwards' on.
23480
23481 2005-07-06  Wim Taymans  <wim@fluendo.com>
23482
23483         * gst/base/README:
23484         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23485         (gst_base_sink_handle_object), (gst_base_sink_loop),
23486         (gst_base_sink_change_state):
23487         * gst/base/gstbasesink.h:
23488         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23489         (gst_base_src_init), (gst_base_src_setcaps),
23490         (gst_base_src_getcaps), (gst_base_src_loop),
23491         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
23492         (gst_base_src_start), (gst_base_src_change_state):
23493         * gst/base/gstbasesrc.h:
23494         Make basesrc negotiate.
23495         Handle the case where preroll fails in basesink.
23496         Update README.
23497
23498 2005-07-06  Wim Taymans  <wim@fluendo.com>
23499
23500         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
23501         Implement the fixate function.
23502         Clean up acceptcaps.
23503
23504 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23505
23506         * docs/pwg/building-filterfactory.xml:
23507         * docs/pwg/pwg.xml:
23508           Remove never-written filter-factory chapter; I'll add the various
23509           base classes to part 4 ("other element types") later on.
23510
23511 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23512
23513         * docs/pwg/advanced-negotiation.xml:
23514         * docs/pwg/building-boiler.xml:
23515         * docs/pwg/building-pads.xml:
23516         * docs/pwg/pwg.xml:
23517         * examples/pwg/Makefile.am:
23518           Add a chapter on caps negotiation, simplify the original code
23519           samples a bit w.r.t. caps negotiation, add link to the advanced
23520           section. Add a bunch of examples showing different use cases of
23521           different types of caps negotiation. Upstream renegotiation isn't
23522           fully documented yet since nobody knows how that works.
23523
23524 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23525
23526         * check/gst/gstpad.c:
23527         * check/gstcheck.c:
23528         * gst/gstpad.c: (gst_pad_get_internal_links_default):
23529           if pad has no parent, return NULL as list of internal links
23530
23531 2005-07-05  Andy Wingo  <wingo@pobox.com>
23532
23533         * gst/elements/gstfilesrc.c:
23534         * gst/elements/gstfakesrc.c: 
23535         * gst/base/gstpushsrc.c:
23536         * gst/base/gstbasesrc.h: 
23537         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
23538         
23539 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
23540
23541         * Makefile.am:
23542           better report generation target (lcov needs a patch)
23543
23544 2005-07-05  Andy Wingo  <wingo@pobox.com>
23545
23546         * gst/elements, testsuite: Null if we got it...
23547
23548 2005-07-05  Wim Taymans  <wim@fluendo.com>
23549
23550         * configure.ac:
23551         * libs/gst/dataprotocol/Makefile.am:
23552         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
23553         * libs/gst/dataprotocol/dataprotocol.h:
23554         * pkgconfig/Makefile.am:
23555         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
23556         * pkgconfig/gstreamer-dataprotocol.pc.in:
23557         Ported dataprotol to 0.9. 
23558         Added pkgconfig files.
23559
23560 2005-07-05  Andy Wingo  <wingo@pobox.com>
23561
23562         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
23563         Default to returning TRUE for the case when tranform_caps returns
23564         a fixed caps, like for identity or volume.
23565
23566         * check/gst/gstbus.c (pound_bus_with_messages): 
23567         * check/gst/gstmessage.c (START_TEST): 
23568         * check/pipelines/simple_launch_lines.c (got_handoff): Application
23569         message API change.
23570
23571         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
23572         logic weaks here: always run transform_caps, trying passthrough
23573         operation only if the original caps intersects with the transform.
23574
23575         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
23576         source and sink caps.
23577
23578         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
23579         Intersect the peer caps with the pad template before going into
23580         transform_caps.
23581         (gst_base_transform_transform_caps): More debugging.
23582
23583         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
23584         src argument.
23585
23586 2005-07-04  Edward Hervey  <edward@fluendo.com>
23587
23588         * gst/gstutils.c:
23589         * gst/gstutils.h:
23590         (gst_pad_add_*_probe): now returns the signal id for better wrapping
23591         in bindings.
23592
23593 2005-07-04  Andy Wingo  <wingo@pobox.com>
23594
23595         * check/gst/gstpad.c: Only set explicit caps on pads.
23596
23597 2005-07-01  Andy Wingo  <wingo@pobox.com>
23598
23599         * tests/network-clock.scm: Commentary update.
23600
23601         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
23602         Didn't really make sense, not implementable with basetransform,
23603         etc.
23604         (gst_identity_transform): Unref inbuf via make_writable. Feeble
23605         attempt at implementing the sync property, needs an unlock method.
23606
23607         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
23608         New func, by default returns the same caps (the identity
23609         transformation).
23610         (gst_base_transform_getcaps): Uses transform_caps to return
23611         something sensible.
23612         (gst_base_transform_setcaps): Complicated logic to get caps on
23613         both pads, even if they are different, and to call set_caps once
23614         for every time both pads get their caps set.
23615         (gst_base_transform_handle_buffer): Give the ref to the transform
23616         function. Allows in-place modification of the buffer.
23617
23618         * gst/base/gstbasetransform.h (transform_caps): New class method.
23619         Given caps on one side, what can I do on the other.
23620         (set_caps): Take two caps, one for each side of the element.
23621
23622         * gst/gstpad.h:
23623         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
23624         caps in place. This is safe because we can check the mutability of
23625         the caps, and a good idea because fixate functions are just called
23626         as a matter of last resort. (Not actually implemented.)
23627         (gst_pad_set_caps): If the caps we're setting is actually the same
23628         as the existing pad caps, just update the pointer without calling
23629         setcaps. Assert that caps is either NULL or fixed, as per the
23630         docs.
23631
23632         * gst/gstghostpad.c: Update for fixate changes.
23633
23634 2005-07-02  Andy Wingo  <wingo@pobox.com>
23635
23636         * gst/gstcaps.c:
23637         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
23638         two refcounts makes it immutable, which is enough. Doc more.
23639
23640 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
23641
23642         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
23643           Put the mini_object into GValue as a mini_object,
23644           not a gpointer, since that's how we declared
23645           the signal.
23646
23647 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23648
23649         * examples/pwg/Makefile.am:
23650           Fix buildbot again.
23651
23652 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23653
23654         * docs/pwg/building-testapp.xml:
23655           Add extra check.
23656         * examples/pwg/Makefile.am:
23657           Fix buildbot.
23658
23659 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23660
23661         * configure.ac:
23662         * examples/Makefile.am:
23663         * examples/pwg/Makefile.am:
23664         * examples/pwg/extract.pl:
23665           Enable building the PWG examples.
23666         * docs/pwg/advanced-interfaces.xml:
23667           Add URI interface stub.
23668         * docs/pwg/advanced-types.xml:
23669         * docs/pwg/other-autoplugger.xml:
23670         * docs/pwg/appendix-porting.xml:
23671         * docs/pwg/pwg.xml:
23672           Add porting guide (mostly stubs), remove autoplugging (see ADM).
23673         * docs/pwg/building-boiler.xml:
23674         * docs/pwg/building-chainfn.xml:
23675         * docs/pwg/building-pads.xml:
23676         * docs/pwg/building-props.xml:
23677         * docs/pwg/building-state.xml:
23678         * docs/pwg/building-testapp.xml:
23679           Update the building-*.xml parts for 0.9 changes. All examples
23680           code blocks compile in examples/pwg/*.
23681
23682 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23683
23684         * docs/manual/advanced-autoplugging.xml:
23685         * docs/manual/appendix-checklist.xml:
23686         * docs/manual/appendix-integration.xml:
23687         * docs/manual/highlevel-components.xml:
23688           Fix playbin/decodebin examples, update docs a bit, mention bus
23689           instead of signals in various places, mention kmplayer and
23690           kaffeine since they have a working GStreamer backend in the KDE
23691           section.
23692
23693 2005-06-30  Wim Taymans  <wim@fluendo.com>
23694
23695         * CHANGES-0.9:
23696         * docs/design/draft-ghostpads.txt:
23697         * docs/design/draft-push-pull.txt:
23698         * docs/design/draft-query.txt:
23699         * docs/design/part-TODO.txt:
23700         * docs/design/part-query.txt:
23701         Added CHANGES-0.9 doc, updated status of other docs.
23702         
23703         * gst/gstquery.h:
23704         Remove "hmm" macro
23705
23706 2005-06-30  Wim Taymans  <wim@fluendo.com>
23707
23708         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23709         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23710         (gst_base_sink_change_state):
23711         * gst/base/gstbasesink.h:
23712         Some tweaks, only EOS and a buffer complete a preroll.
23713
23714 2005-06-30  Andy Wingo  <wingo@pobox.com>
23715
23716         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
23717         activate_push down to the internal pad as well.
23718
23719 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
23720
23721         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23722
23723         * gst/gsttaginterface.c:
23724           Some documentation fixes (#307394 and #307397).
23725
23726 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
23727
23728         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23729
23730         * gst/gstvalue.c: (gst_value_intersect_list):
23731           Fix memleak (#309125).
23732
23733 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23734
23735         * docs/manual/advanced-dataaccess.xml:
23736           Fix fakesrc example to compile; doesn't work, bug somewhere...?
23737         * docs/manual/basics-pads.xml:
23738           Add reference for filtered caps to above chapter.
23739
23740 2005-06-30  Wim Taymans  <wim@fluendo.com>
23741
23742         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
23743         (gst_bin_change_state):
23744         Probes are gone.
23745         Lame attempt at making the state change function a bit
23746         more readable.
23747
23748 2005-06-30  Wim Taymans  <wim@fluendo.com>
23749
23750         * docs/design/part-clocks.txt:
23751         * docs/design/part-element-sink.txt:
23752         * docs/design/part-events.txt:
23753         * docs/design/part-preroll.txt:
23754         * docs/design/part-states.txt:
23755         Some more tweeks and additions to the docs.
23756
23757 2005-06-30  Wim Taymans  <wim@fluendo.com>
23758
23759         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23760         (default_have_data), (gst_pad_class_init), (gst_pad_init),
23761         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23762         (gst_pad_check_pull_range), (gst_pad_get_range),
23763         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
23764         * gst/gstpad.h:
23765         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
23766         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23767         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23768         (gst_pad_remove_buffer_probe):
23769         Removed atomic operations, use existing LOCK.
23770         Move exception handling out of main code path.
23771
23772 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23773
23774         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23775         (silly_return_true_function), (gst_pad_class_init),
23776         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23777         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
23778         (gst_pad_send_event):
23779           Fix accumulator, add default value by using _emitv() instead
23780           of _emit() for signal emission.
23781
23782 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23783
23784         * docs/manual/advanced-dataaccess.xml:
23785         * examples/manual/Makefile.am:
23786           Add probe example.
23787         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
23788           Make work (??).
23789
23790 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
23791
23792         * gst/elements/gstfilesink.c: (gst_filesink_render):
23793           Simplify code so that we don't have to handle short
23794           writes and return GST_FLOW_ERROR if an error occured.
23795
23796 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23797
23798         * docs/gst/gstreamer-docs.sgml:
23799           Remove probes more.
23800
23801 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23802
23803         * docs/gst/gstreamer-sections.txt:
23804         * docs/gst/tmpl/gstpad.sgml:
23805         * docs/gst/tmpl/gstprobe.sgml:
23806         * gst/Makefile.am:
23807         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23808         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
23809         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23810         (gst_pad_push_event), (gst_pad_send_event):
23811         * gst/gstpad.h:
23812         * gst/gstutils.c: (gst_pad_add_data_probe),
23813         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23814         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23815         (gst_pad_remove_buffer_probe):
23816         * gst/gstutils.h:
23817           Remove old probes, add new g-signal-based probes and some utility
23818           functions.
23819
23820 2005-06-29  Edward Hervey  <edward@fluendo.com>
23821
23822         * gst/gstelementfactory.c:
23823         * gst/gstutils.h:
23824         * gst/gstutils.c:
23825         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
23826         the definition to the header file.
23827
23828 2005-06-29  Andy Wingo  <wingo@pobox.com>
23829
23830         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
23831         plugins from the source directory.
23832
23833 2005-06-29  Wim Taymans  <wim@fluendo.com>
23834
23835         * docs/gst/tmpl/gstbuffer.sgml:
23836         * docs/gst/tmpl/gstclock.sgml:
23837         Some fixings for blantently wrong text.
23838
23839 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23840
23841         * check/Makefile.am:
23842         * gst/gst.c: (add_path_func), (init_pre):
23843         * gst/gstregistry.c: (gst_registry_add_path):
23844           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
23845           only scan the GST_PLUGIN_PATH locations, and not add
23846           system locations
23847
23848 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23849
23850         * docs/gst/gstreamer-sections.txt:
23851         * docs/gst/tmpl/gstbasesrc.sgml:
23852         * gst/gstelement.c:
23853         * gst/gstelement.h:
23854         * gst/gstevent.c:
23855         * gst/gstutils.c:
23856           doc fixes
23857
23858 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23859
23860         * docs/manual/advanced-autoplugging.xml:
23861           Fix autoplugging example.
23862
23863 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23864
23865         * docs/manual/advanced-autoplugging.xml:
23866         * docs/manual/mime-world.fig:
23867           Try to get autoplugging working, fix type detection. Fix text
23868           in hello-world image.
23869
23870 2005-06-29  Wim Taymans  <wim@fluendo.com>
23871
23872         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23873         (gst_base_sink_change_state):
23874         Small debug line.
23875
23876         * gst/gstclock.h:
23877         map SIGNAL and BROADCAST to the right function.
23878
23879         * gst/gstobject.h:
23880         Remove redundant braces.
23881
23882         * gst/gstpad.c: (gst_pad_set_caps):
23883         Don't call setcaps function when reseting caps to NULL.
23884
23885         * gst/gstsystemclock.c: (gst_system_clock_dispose),
23886         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
23887         (gst_system_clock_id_unschedule):
23888         Use BROADCAST as this is what we do.
23889
23890 2005-06-29  Wim Taymans  <wim@fluendo.com>
23891
23892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23893         We are actually prerolling before commiting the state
23894         change. 
23895
23896 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23897
23898         * docs/manual/advanced-clocks.xml:
23899         * docs/manual/advanced-interfaces.xml:
23900         * docs/manual/advanced-metadata.xml:
23901         * docs/manual/advanced-position.xml:
23902         * docs/manual/advanced-schedulers.xml:
23903         * docs/manual/advanced-threads.xml:
23904         * docs/manual/appendix-porting.xml:
23905         * docs/manual/basics-bins.xml:
23906         * docs/manual/basics-bus.xml:
23907         * docs/manual/basics-elements.xml:
23908         * docs/manual/basics-helloworld.xml:
23909         * docs/manual/basics-pads.xml:
23910         * docs/manual/highlevel-components.xml:
23911         * docs/manual/manual.xml:
23912         * docs/manual/thread.fig:
23913           Update (until threads/scheduling) Application Development Manual;
23914           remove GstThread, add GstBus, add simple porting checklist, add
23915           documentation for tag writing, clocks, make all examples until this
23916           part compile and run.
23917         * examples/manual/Makefile.am:
23918           Update from changes to Application Development Manual; add bus
23919           example, remove thread example.
23920
23921 2005-06-28  Wim Taymans  <wim@fluendo.com>
23922
23923         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
23924         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
23925         (gst_bus_source_dispatch):
23926         Add debugging messages.
23927         Make internal methods static.
23928         Handle the case where the bus is flushed in the handler.
23929         
23930         * gst/gstelement.c: (gst_element_get_bus):
23931         Fix refcount in _get_bus();
23932
23933         * gst/gstpipeline.c: (gst_pipeline_change_state),
23934         (gst_pipeline_get_clock_func):
23935         Clock refcounting fixes.
23936         Handle the case where preroll timed out more gracefully.
23937         
23938         * gst/gstsystemclock.c: (gst_system_clock_dispose):
23939         Clean up the internal thread in dispose. This is needed
23940         for subclasses that actually get disposed.
23941         
23942         * gst/schedulers/threadscheduler.c:
23943         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23944         (gst_thread_scheduler_dispose):
23945         Free thread pool in dispose.
23946
23947 2005-06-28  Andy Wingo  <wingo@pobox.com>
23948
23949         * tests/network-clock-utils.scm (debug, print-event): New utils.
23950
23951         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
23952         (*packet-loss*): Unified loss probability.
23953         (network-time): Report out-of-band events.
23954
23955         * tests/plot-data: Add support for out-of-band events. Hack it
23956         into this script instead of passing it down the pipe; should fix
23957         this later.
23958
23959 2005-06-28  Wim Taymans  <wim@fluendo.com>
23960
23961         * docs/gst/gstreamer.types:
23962         * docs/gst/tmpl/gstbasesrc.sgml:
23963         * docs/gst/tmpl/gstpad.sgml:
23964         Docs fixes.
23965
23966 2005-06-28  Wim Taymans  <wim@fluendo.com>
23967
23968         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23969         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
23970         (gst_proxy_pad_do_fixatecaps):
23971         Correctly proxy the check_pull_range function.
23972
23973 2005-06-28  Andy Wingo  <wingo@pobox.com>
23974
23975         * tests/network-clock.scm: Removed need for slib.
23976         
23977 2005-06-28  Wim Taymans  <wim@fluendo.com>
23978
23979         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
23980         (gst_basesink_preroll_queue_flush):
23981         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
23982         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
23983         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23984         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23985         (gst_proxy_pad_set_property):
23986         * gst/gstpad.c:
23987         * gst/gstpad.h:
23988         * gst/gstqueue.c: (gst_queue_init):
23989         The deprecated pad loop function is removed now.
23990
23991 2005-06-28  Andy Wingo  <wingo@pobox.com>
23992
23993         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
23994         New parameters, simulate network packet loss.
23995
23996         * tests/network-clock-utils.scm: Initialize the RNG.
23997
23998 2005-06-28  Wim Taymans  <wim@fluendo.com>
23999
24000         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
24001         (gst_basesink_event), (gst_basesink_deactivate):
24002         Flushing the preroll queue always needs to unlock the waiters.
24003
24004 2005-06-28  Edward Hervey  <edward@fluendo.com>
24005
24006         * gst/gstpipeline.c: (gst_pipeline_send_event): 
24007         Wheen a seek was successful on a pipeline, set the stream_time to the
24008         seek offset in order to have a synchronized stream_time.
24009
24010 2005-06-28  Wim Taymans  <wim@fluendo.com>
24011
24012         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24013         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
24014         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
24015         (gst_proxy_pad_do_fixatecaps):
24016         Call wrapper function instead of just calling the function
24017         pointers. This takes care of any locking and whatmore.
24018
24019 2005-06-28  Wim Taymans  <wim@fluendo.com>
24020
24021         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
24022         (gst_pad_pull_range):
24023         * gst/gstpad.h:
24024         CONNECTED -> LINKED.
24025
24026 2005-06-28  Andy Wingo  <wingo@pobox.com>
24027
24028         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
24029         source-munging commit!!!
24030
24031         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
24032         (gst_object_sink): Take gpointer arguments, not GstObject --
24033         avoids casts. Like GLib.
24034
24035         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
24036         activate.
24037
24038 2005-06-27  Andy Wingo  <wingo@pobox.com>
24039
24040         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
24041         remaining buffer.
24042
24043         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
24044         returns a sorted copy of the trace list.
24045         (gst_alloc_trace_print_live): New API, only prints traces with
24046         live objects. Sort the list.
24047         (gst_alloc_trace_print_all): Sort the list.
24048         (gst_alloc_trace_print): Align columns.
24049
24050         * gst/elements/gstttypefindelement.c:
24051         * gst/elements/gsttee.c:
24052         * gst/base/gstbasesrc.c:
24053         * gst/base/gstbasesink.c:
24054         * gst/base/gstbasetransform.c:
24055         * gst/gstqueue.c: Adapt for pad activation changes.
24056
24057         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
24058         sched.
24059         (gst_pipeline_dispose): Drop ref on sched.
24060
24061         * gst/gstpad.c (gst_pad_init): Set the default activate func.
24062         (gst_pad_activate_default): Push mode by default.
24063         (pre_activate_switch, post_activate_switch): New stubs, things to
24064         do before and after switching activation modes on pads.
24065         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
24066         the pad's activate function to choose which mode to activate.
24067         Shortcut on deactivation and call the right function directly.
24068         (gst_pad_activate_pull): New API, (de)activates a pad in pull
24069         mode.
24070         (gst_pad_activate_push): New API, same for push mode.
24071         (gst_pad_set_activate_function) 
24072         (gst_pad_set_activatepull_function) 
24073         (gst_pad_set_activatepush_function): Setters for new API.
24074
24075         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
24076         Trace all miniobjects.
24077         (gst_mini_object_make_writable): Unref the arg if we copy, like
24078         gst_caps_make_writable.
24079
24080         * gst/gstmessage.c (_gst_message_initialize): No trace init.
24081
24082         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
24083         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
24084         Adapt for new pad API.
24085
24086         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
24087
24088         * gst/gstelement.h:
24089         * gst/gstelement.c (gst_element_iterate_src_pads) 
24090         (gst_element_iterate_sink_pads): New API functions.
24091         
24092         * gst/gstelement.c (iterator_fold_with_resync): New utility,
24093         should fold into gstiterator.c in some form.
24094         (gst_element_pads_activate): Simplified via use of fold and
24095         delegation of decisions to gstpad->activate.
24096
24097         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
24098         help in debugging.
24099
24100         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
24101         class once in init, like gstmessage. Didn't run into this issue
24102         but it seems correct. Don't initialize a trace, gstminiobject does
24103         that.
24104
24105         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
24106         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
24107         to the bus.
24108         (assert_live_count): New util function, uses alloc traces to check
24109         cleanup.
24110
24111         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
24112         To be modified when unlink drops the internal pad.
24113
24114 2005-06-27  Wim Taymans  <wim@fluendo.com>
24115
24116         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
24117         (gst_bin_change_state):
24118         Cleanup the get_state() function a little, make sure it
24119         iterates the same set of elements.
24120         Added stub iterate_state_order().
24121
24122 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24123
24124         * docs/gst/gstreamer-docs.sgml:
24125         * docs/gst/gstreamer-sections.txt:
24126         * docs/gst/gstreamer.types:
24127         * docs/gst/tmpl/gstbasesink.sgml:
24128         * docs/gst/tmpl/gstbasesrc.sgml:
24129         * docs/gst/tmpl/gstbasetransform.sgml:
24130         * docs/gst/tmpl/gstelement.sgml:
24131         * docs/gst/tmpl/gstiterator.sgml:
24132         * gst/base/gstbasesrc.c:
24133         * gst/base/gstbasesrc.h:
24134         * gst/base/gstbasetransform.h:
24135         * gst/gstelement.c:
24136         * gst/gstiterator.h:
24137           adding basetransform and iterator docs
24138
24139 2005-06-27  Andy Wingo  <wingo@pobox.com>
24140
24141         * docs/design/part-activation.txt: Notes on how activation should
24142         work -- not quite implemented yet.
24143
24144 2005-06-25  Wim Taymans  <wim@fluendo.com>
24145
24146         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
24147         At least get the chain function correct, needs more
24148         fixing.
24149
24150 2005-06-25  Wim Taymans  <wim@fluendo.com>
24151
24152         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24153         (gst_basesink_handle_object), (gst_basesink_event),
24154         (gst_basesink_do_sync), (gst_basesink_handle_event),
24155         (gst_basesink_change_state):
24156         * gst/gsttask.h:
24157         Right, two problems here: ghostpads don't take locks and
24158         glib _rec_mutex_lock_full() with depth==0 still locks.
24159         Catch illegal locking and g_warn them.
24160
24161 2005-06-25  Wim Taymans  <wim@fluendo.com>
24162
24163         * check/states/sinks.c: (START_TEST), (gst_object_suite):
24164         Have to check for completion now...
24165
24166 2005-06-25  Wim Taymans  <wim@fluendo.com>
24167
24168         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
24169         (gst_basesink_handle_object), (gst_basesink_event),
24170         (gst_basesink_do_sync), (gst_basesink_handle_event),
24171         (gst_basesink_change_state):
24172         * gst/gstpad.h:
24173         Unlock STREAM_LOCK whatever the recursion was.
24174
24175 2005-06-25  Wim Taymans  <wim@fluendo.com>
24176
24177         * gst/base/gstbasesink.c: (gst_basesink_set_property),
24178         (gst_basesink_preroll_queue_empty),
24179         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
24180         (gst_basesink_event), (gst_basesink_do_sync),
24181         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
24182         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
24183         (gst_basesink_change_state):
24184         Reworked the base sink, handle event and buffer serialisation
24185         correctly and removed possible deadlock.
24186         Handle EOS correctly.
24187
24188 2005-06-25  Wim Taymans  <wim@fluendo.com>
24189
24190         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
24191         (gst_pipeline_change_state):
24192         * tools/gst-launch.c: (check_intr), (event_loop), (main):
24193         Allow elements to post EOS in the state change function.
24194         Fix up -launch, make it exit the poll loop when the
24195         pipeline actually changed state.
24196         Fix up warning parsing in -launch.
24197
24198 2005-06-25  Wim Taymans  <wim@fluendo.com>
24199
24200         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
24201         (gst_tee_sink_activate):
24202         Core takes STREAM_LOCK for us now.
24203
24204 2005-06-25  Wim Taymans  <wim@fluendo.com>
24205
24206         * gst/gstelement.c: (gst_element_get_state_func),
24207         (gst_element_set_state):
24208         * gst/gstelement.h:
24209         * gst/gstmessage.c: (gst_message_parse_error),
24210         (gst_message_parse_warning):
24211         Keep track of current target state while performing a state
24212         change so that subclasses can do something interesting.
24213         Fix parsing of warning/error messages when GError is NULL.
24214
24215 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24216
24217         * docs/gst/Makefile.am:
24218         * docs/gst/gstreamer-docs.sgml:
24219         * docs/gst/gstreamer-sections.txt:
24220         * docs/gst/gstreamer.types:
24221         * docs/gst/tmpl/gstbasesink.sgml:
24222         * docs/gst/tmpl/gstbasesrc.sgml:
24223         * docs/gst/tmpl/gstbin.sgml:
24224         * docs/gst/tmpl/gstcompat.sgml:
24225         * docs/gst/tmpl/gstfakesink.sgml:
24226         * docs/gst/tmpl/gstfakesrc.sgml:
24227         * docs/gst/tmpl/gstfilesink.sgml:
24228         * docs/gst/tmpl/gstfilesrc.sgml:
24229         * docs/gst/tmpl/gstindex.sgml:
24230         * docs/manual/appendix-quotes.xml:
24231         * gst/base/gstbasesrc.h:
24232         * gst/elements/gstfakesrc.h:
24233         * gst/gstmessage.h:
24234           start pulling in base classes and elements in our docs
24235
24236 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
24237
24238         * docs/gst/Makefile.am:
24239         * docs/libs/Makefile.am:
24240           fixed make distcheck with gtk-doc 1.3
24241
24242 2005-06-23  Wim Taymans  <wim@fluendo.com>
24243
24244         * gst/gstelement.c: (gst_element_get_state_func),
24245         (gst_element_set_state), (gst_element_change_state):
24246         When the state did not change, also report NO_PREROLL
24247         when it matters.
24248
24249 2005-06-23  Wim Taymans  <wim@fluendo.com>
24250
24251         * gst/gstpad.c: (gst_pad_event_default):
24252         * gst/gstqueue.c: (gst_queue_loop):
24253         No unsafe task pausing please.
24254
24255 2005-06-23  Wim Taymans  <wim@fluendo.com>
24256
24257         * gst/schedulers/threadscheduler.c:
24258         (gst_thread_scheduler_task_start),
24259         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
24260         Ref the task before pushing it on the threadpool. This
24261         makes sure that we have a ref when the threadfunction is
24262         actually called.
24263
24264 2005-06-23  Andy Wingo  <wingo@pobox.com>
24265
24266         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
24267         offset is greater than the file's size.
24268
24269         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
24270         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
24271         * gst/gstobject.c (gst_object_class_init): Make the class lock
24272         recursive. Wim won't let me drop deep_notify. Decodebin works
24273         again, whoopdy doo.
24274
24275         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
24276         internal pad, and hacks accordingly. Doesn't do it on the target
24277         pad because we change its caps. Probably catches all cases of
24278         interest tho.
24279         (gst_ghost_pad_set_property): Connect to notify::caps as
24280         appropritate.
24281
24282         * tests/network-clock.scm (plot-simulation): Pipe data to the
24283         elite python skript.
24284
24285         * tests/network-clock-utils.scm (define-parameter): New macro,
24286         defines a parameter that can be set via the command line.
24287         (set-parameter!, parse-parameter-arguments): Command line args
24288         parser.
24289
24290         * tests/plot-data: Simple matplotlib-based plotter, takes input on
24291         stdin.
24292
24293 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
24294
24295         * gst/elements/gsttypefindelement.c:
24296         (gst_type_find_element_handle_event):
24297           Don't restart typefinding on a discont.
24298         * gst/gstelement.c: (gst_element_set_state):
24299           Debug spelling fix.
24300         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
24301           Allow changing mode of an active pad.
24302           Debug output fixes.
24303         * gst/registries/gstlibxmlregistry.c: (load_feature):
24304           Don't cast a static pad template to a normal pad template.
24305
24306 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24307
24308         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
24309         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
24310           remove gst_strtoll completely, since it didn't actually do
24311           anything more than what g_ascii_strtoull already does.
24312           check for range errors when deserializing
24313           do a cast for the unsigned cases; but further fixing needs
24314           a decision on what the interpretation of "(int)" and
24315           deserialization should be for values that fall outside the
24316           type's boundaries (ie, refuse, or interpret as casting)
24317
24318 2005-06-23  Wim Taymans  <wim@fluendo.com>
24319
24320         * check/Makefile.am:
24321         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
24322         * docs/design/part-live-source.txt:
24323         * docs/design/part-states.txt:
24324         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24325         (gst_basesrc_set_live), (gst_basesrc_is_live),
24326         (gst_basesrc_get_range), (gst_basesrc_activate),
24327         (gst_basesrc_change_state):
24328         * gst/base/gstbasesrc.h:
24329         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24330         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24331         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
24332         * gst/gstelement.c: (gst_element_get_state_func),
24333         (gst_element_set_state):
24334         * gst/gstelement.h:
24335         * gst/gsttypes.h:
24336         * tools/gst-launch.c: (event_loop), (main):
24337         Added support for live sources and other elements that
24338         cannot do preroll.
24339         Updated design docs, added live-source design doc.
24340         Implemented live source functionality in basesrc
24341         Fix error condition in _bin_get_state()
24342         Implement live source handling in -launch.
24343         Added check for live sources.
24344         Fixed case in GstBin where elements were changed state
24345         multiple times.
24346
24347
24348 2005-06-23  Andy Wingo  <wingo@pobox.com>
24349
24350         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
24351         borken refcounting.
24352
24353         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
24354         gst_caps_replace takes care of this for us.
24355
24356         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
24357         gst_pad_set_caps on the target, not just its setcaps() function.
24358
24359         * tests/network-clock.scm: 
24360         * tests/network-clock-utils.scm: A network clock simulator.
24361         Something of an algorithmic testbed before doing something in C.
24362
24363 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24364
24365         * check/Makefile.am:
24366         * check/gst/capslist.h:
24367           copy over from 0.8, and add two with bitmasks specified with
24368           (int) 0xFF...
24369         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
24370           add test to parse everything from capslist.h
24371         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
24372         (main):
24373           add test for structure deserialization
24374         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
24375           add tests for deserialization of strings to int types
24376         * gst/gststructure.c: (gst_structure_nth_field_name):
24377         * gst/gststructure.h:
24378           add a way to get the name of a field referenced by index
24379         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
24380           instead of checking if the resulting long long lies between
24381           min and max, we check if the long long would fit into
24382           a number of bytes for the final type.
24383           This fixes cases where a string represents 2^32 - 1, which
24384           when cast to int would be the (valid) -1, but is bigger than
24385           G_MAXINT
24386
24387 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24388
24389         * gst/parse/grammar.y:
24390           add a log line for type deserialization
24391
24392 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24393
24394         * check/gst/gstvalue.c: (START_TEST):
24395         * gst/gstvalue.c: (gst_value_deserialize):
24396           return long long, not int, so gint64 deserialization actually
24397           works.  Is there any flag that makes the compiler check this ?
24398           Fixes #308559
24399
24400 2005-06-22  Wim Taymans  <wim@fluendo.com>
24401
24402         * gst/gstbuffer.h:
24403         Added convenience macros for setting buffers in GValue.
24404
24405 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24406
24407         * check/gst/.cvsignore:
24408         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
24409           add a test deserializing int64, and comment part out because
24410           it fails, yay !
24411
24412 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24413
24414         * check/Makefile.am:
24415         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
24416         * testsuite/Makefile.am:
24417         * testsuite/caps/Makefile.am:
24418         * testsuite/caps/value_serialize.c:
24419         * testsuite/test_gst_init.c:
24420           move a value_serialize test over
24421
24422 2005-06-20  Wim Taymans  <wim@fluendo.com>
24423
24424         * gst/gstpad.c:
24425         Small doc updates.
24426         
24427         * gst/gstvalue.c: (gst_value_compare_buffer),
24428         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
24429         (gst_value_compare_flags), (gst_value_serialize_flags),
24430         (gst_value_deserialize_flags), (_gst_value_initialize):
24431         Fix serialisation of buffers, they are not boxed types anymore
24432
24433 2005-06-20  Wim Taymans  <wim@fluendo.com>
24434
24435         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
24436         Testcase to show error in buffer-on-caps serialisation.
24437
24438 2005-06-20  Andy Wingo  <wingo@pobox.com>
24439
24440         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
24441         will be adding to later.
24442
24443         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
24444         if its socks fill with rocks.
24445         (gst_system_clock_obtain): Set the name on object construction.
24446         Avoid double-checked locking.
24447
24448 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
24449
24450         * gst/gsturi.c: (gst_element_make_from_uri):
24451           Fix potential endless loop.
24452
24453 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24454
24455         * check/Makefile.am:
24456           add gsttag
24457         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
24458         (main):
24459           move over from testsuite dir and clean up
24460         * configure.ac:
24461         * gst/gsttag.c:
24462         * testsuite/Makefile.am:
24463         * testsuite/tags/.cvsignore:
24464         * testsuite/tags/Makefile.am:
24465         * testsuite/tags/merge.c:
24466           remove testsuite/tags
24467
24468 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24469
24470         * docs/gst/gstreamer-sections.txt:
24471         * docs/gst/tmpl/gstenumtypes.sgml:
24472         * win32/gstenumtypes.c:
24473           clean up documentation build a little
24474
24475 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24476
24477         * check/gstcheck.h:
24478           add macros for checking refcounts on objects and caps
24479         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
24480           add some more unit tests
24481         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
24482         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
24483           fix leaked refcounts (I hope :)) so unittest works
24484         * gst/gstpad.h:
24485           whitespace removal
24486
24487 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24488
24489         * configure.ac: back to HEAD
24490
24491 === release 0.9.1 ===
24492
24493 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24494
24495         * NEWS:
24496         * RELEASE:
24497           updated
24498
24499 2005-06-17  Andy Wingo  <wingo@pobox.com>
24500
24501         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
24502         assert; it's always possible that the pad gets deactivated in
24503         between the checks in gstpad.c and the implementation. Rely on
24504         finish_preroll() to return a FLUSHING or similar instead of on the
24505         assert.
24506         
24507         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
24508         clock and post an EOS message if we come out of finish_preroll in
24509         the playing state.
24510
24511 2005-06-16  David Schleef  <ds@schleef.org>
24512
24513         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24514         (gst_capsfilter_set_property): Allow NULL as possible value
24515         for filter_caps property, indicating GST_CAPS_ANY.
24516
24517 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24518
24519         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
24520           fix debug output
24521         * gst/schedulers/Makefile.am:
24522           use libgst prefix
24523         * gstreamer.spec.in:
24524           fix spec for it
24525
24526 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24527
24528         * gstreamer.spec.in:
24529           clean up
24530
24531 2005-06-08  Andy Wingo  <wingo@pobox.com>
24532
24533         * gst/gstutils.c: RPAD fixes all around.
24534         (gst_element_link_pads): Refcounting fixes.
24535
24536         * tools/gst-inspect.c:
24537         * tools/gst-xmlinspect.c:
24538         * parse/grammar.y:
24539         * gst/base/gsttypefindhelper.c:
24540         * gst/base/gstbasesink.c:
24541         * gst/gstqueue.c: RPAD fixes.
24542
24543         * gst/gstghostpad.h:
24544         * gst/gstghostpad.c: New ghost pad implementation as full proxy
24545         pads. The tricky thing is they provide both source and sink
24546         interfaces, since they proxy the internal pad for the external
24547         pad, and vice versa. Implement with lower-level ProxyPad objects,
24548         with the interior proxy pad as a child of the exterior ghost pad.
24549         Should write a doc on this.
24550         
24551         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
24552         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
24553         gst_object API.
24554         
24555         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
24556         pads are real pads. No ghost pads in this file. Not documenting
24557         the myriad s/RPAD/PAD/ and REALIZE fixes.
24558         (gst_pad_class_init): Add properties for "direction" and
24559         "template". Both are construct-only, so they can't change during
24560         the life of the pad. Fixes properly deriving from GstPad.
24561         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
24562         derived objects, just set properties when creating the objects via
24563         g_object_new.
24564         (gst_pad_get_parent): Implement as a function, return NULL if the
24565         parent is not an element.
24566         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
24567         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
24568         
24569         * gst/gstobject.c (gst_object_class_init): Make name a construct
24570         property. Don't set it in the object init.
24571
24572         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
24573         with UNKNOWN direction.
24574         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
24575         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
24576         (gst_element_remove_pad): Remove ghost-pad special cases.
24577         (gst_element_pads_activate): Remove rpad cruft.
24578
24579         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
24580         catch the pad's-parent-not-an-element case.
24581
24582         * gst/gst.h: Include gstghostpad.h.
24583
24584         * gst/gst.c (init_post): No more real, ghost pads.
24585
24586         * gst/Makefile.am: Add gstghostpad.[ch].
24587
24588         * check/Makefile.am:
24589         * check/gst/gstbin.c:
24590         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
24591         into a bin creates ghost pads, and that the refcounts are right.
24592         Partly moved from gstbin.c.
24593
24594 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24595
24596         * check/gst-libs/.cvsignore:
24597         * check/gst/.cvsignore:
24598         * check/pipelines/.cvsignore:
24599           ignore more
24600         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
24601         (START_TEST), (cleanup_suite), (main):
24602           add some tests related to cleanup after running pipelines
24603
24604 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24605
24606         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
24607           add a testsuite for GstBuffer
24608
24609 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24610
24611         * gst/gstminiobject.h:
24612           add defines for accessing the refcount
24613
24614 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
24615
24616         * Makefile.am: added support for html unit test coverage reports
24617
24618 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
24619
24620         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24621           Free existing caps if the capsfilter changes. Add a FIXME about
24622           setting those caps on the pads.
24623
24624         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
24625           Before adding a ghost pad to a parent bin, check that there isn't
24626           already one for the element on the bin. Prevents infinite recursion
24627           when using decodebin in parse pipelines. Andy says he'll rewrite the
24628           way this works anyway, so ignore the hack.
24629
24630 2005-06-02  Andy Wingo  <wingo@pobox.com>
24631
24632         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
24633         file size, pass it on to the type find helper.
24634
24635         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
24636         segment_start and segment_end properly according to the seek
24637         method. Segment_end is still a bit flaky because offset can be
24638         negative for CUR and END cases, but it takes -1 as an "unset"
24639         value.
24640
24641 2005-06-02  Wim Taymans  <wim@fluendo.com>
24642
24643         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
24644         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
24645         (gst_basesink_activate):
24646         * gst/base/gstbasesink.h:
24647         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24648         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24649         (gst_pad_query), (gst_pad_start_task):
24650         * gst/gstpad.h:
24651         * gst/gstqueue.c: (gst_queue_bufferalloc),
24652         (gst_queue_handle_sink_event), (gst_queue_chain):
24653         Bufferalloc: return GstFlowReturn to more accuratly report
24654         why allocation failed.
24655
24656 2005-06-02  Wim Taymans  <wim@fluendo.com>
24657
24658         * gst/gstpipeline.c: (gst_pipeline_send_event):
24659         Take snapshot of state without blocking.
24660
24661 2005-06-02  Wim Taymans  <wim@fluendo.com>
24662
24663         * docs/design/part-TODO.txt:
24664         * docs/design/part-caps.txt:
24665         * docs/design/part-clocks.txt:
24666         * docs/design/part-negotiation.txt:
24667         * docs/design/part-preroll.txt:
24668         Small doc updates 
24669
24670 2005-05-30  Wim Taymans  <wim@fluendo.com>
24671
24672         * gst/elements/gstidentity.c: (gst_identity_event),
24673         (gst_identity_transform), (gst_identity_get_property):
24674         Protect last_message property as it is accessed from
24675         multiple threads.
24676
24677 2005-05-30  Wim Taymans  <wim@fluendo.com>
24678
24679         * gst/gstelement.c: (gst_element_init),
24680         (gst_element_pads_activate), (gst_element_change_state):
24681         Slicker pad activation code.
24682
24683 2005-05-30  Wim Taymans  <wim@fluendo.com>
24684
24685         * gst/Makefile.am:
24686         * gst/gstelement.h:
24687         * gst/gstelementfactory.h:
24688         * gst/gsttypes.h:
24689         Move elementfactory methods to separate .h file.
24690
24691 2005-05-30  Wim Taymans  <wim@fluendo.com>
24692
24693         * docs/design/part-overview.txt:
24694         * gst/gstsystemclock.h:
24695         Small typo fixes, doc updates.
24696
24697 2005-05-30  Wim Taymans  <wim@fluendo.com>
24698
24699         * gst/gst.c: (gst_init_get_popt_table), (init_post),
24700         (init_popt_callback):
24701         Remove cpu-opt flag.
24702
24703 2005-05-30  Wim Taymans  <wim@fluendo.com>
24704
24705         * gst/gstbuffer.c: (gst_subbuffer_finalize),
24706         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
24707         * gst/gstbuffer.h:
24708         Avoid typechecking in places where not needed.
24709         Added accessor for malloc_data.
24710
24711 2005-05-30  Wim Taymans  <wim@fluendo.com>
24712
24713         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
24714         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
24715         (gst_pad_configure_sink), (gst_pad_configure_src),
24716         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
24717         (gst_pad_start_task):
24718         Propagate errors from _set_caps() in configure_src/sink
24719         functions instead of returning TRUE.
24720         FLUSH events can travel up and downstream
24721
24722
24723 2005-05-30  Wim Taymans  <wim@fluendo.com>
24724
24725         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24726         (gst_basesink_activate):
24727         Handle EOS in preroll.
24728
24729 2005-05-30  Wim Taymans  <wim@fluendo.com>
24730
24731         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24732         (gst_queue_loop), (gst_queue_handle_src_event):
24733         Remove old pieces of code
24734         Flushing the queue in an upstream event is a very bad idea.
24735
24736 2005-05-26  Andy Wingo  <wingo@pobox.com>
24737
24738         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
24739         gst_value_set_mini_object so as to add a ref on the object (which
24740         will be removed when the value is unset).
24741
24742         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
24743         arg type in ::handoff.
24744
24745         * gst/gstelement.c (gst_element_change_state): Also deactivate
24746         pads in READY->NULL, just in case the element didn't make it to
24747         PAUSED. Wingo tested, Wim approved.
24748
24749 2005-05-26  Wim Taymans  <wim@fluendo.com>
24750
24751         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24752         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24753         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
24754         A flushing pad cannot be used to alloc_buffer from.
24755
24756 2005-05-26  Wim Taymans  <wim@fluendo.com>
24757
24758         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
24759         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
24760         (gst_bus_source_dispatch), (gst_bus_source_finalize),
24761         (gst_bus_create_watch), (gst_bus_add_watch_full):
24762         * gst/gstbus.h:
24763         Implement a real GSource and use g_main_context_wakeup() to
24764         signal new messages instead of the socketpair.
24765
24766 2005-05-25  Wim Taymans  <wim@fluendo.com>
24767
24768         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
24769         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
24770         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24771         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24772         (gst_pad_send_event), (gst_pad_start_task):
24773         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
24774         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24775         (gst_queue_sink_activate), (gst_queue_src_activate),
24776         (gst_queue_change_state):
24777         * gst/gstqueue.h:
24778         Fix state changes for non sinks. We now change sinks, then elements
24779         with unconnected srcpads, then the rest.
24780         More efficient queue unlocking in flush and state changes.
24781         Set the pad activate mode even if it does not have an activate
24782         function.
24783
24784 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24785
24786         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
24787           Don't go in pull mode for non-seekable sources.
24788         * gst/elements/gsttypefindelement.h:
24789         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24790         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
24791         (free_entry), (stop_typefinding),
24792         (gst_type_find_element_handle_event), (find_peek),
24793         (gst_type_find_element_chain), (do_pull_typefind),
24794         (gst_type_find_element_change_state):
24795           Allow typefinding (w/o seeking) in push-mode, simplified version
24796           of what was in 0.8.
24797         * gst/gstutils.c: (gst_buffer_join):
24798         * gst/gstutils.h:
24799           gst_buffer_join() from 0.8.
24800
24801 2005-05-25  Wim Taymans  <wim@fluendo.com>
24802
24803         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24804         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24805         (gst_pad_send_event), (gst_pad_start_task):
24806         Disable attempt at mode switching until it is figured out.
24807
24808 2005-05-25  Wim Taymans  <wim@fluendo.com>
24809
24810         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
24811         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24812         (gst_basesink_finish_preroll), (gst_basesink_chain),
24813         (gst_basesink_loop), (gst_basesink_activate),
24814         (gst_basesink_change_state):
24815         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
24816         (gst_basesrc_get_range), (gst_basesrc_loop),
24817         (gst_basesrc_activate):
24818         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24819         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24820         (gst_real_pad_init), (gst_real_pad_set_property),
24821         (gst_real_pad_get_property), (gst_pad_set_active),
24822         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
24823         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
24824         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
24825         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
24826         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24827         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
24828         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
24829         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24830         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
24831         (gst_pad_stop_task):
24832         * gst/gstpad.h:
24833         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24834         (gst_queue_loop), (gst_queue_src_activate):
24835         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
24836         (gst_task_get_state):
24837         * gst/gsttask.h:
24838         * gst/schedulers/threadscheduler.c:
24839         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
24840         Implement gst_pad_pause/start/stop_task(), take STREAM lock
24841         in task function.
24842         Remove ACTIVE pad flag, use FLUSHING everywhere
24843         Added _pad_chain(), _pad_get_range() to call chain/getrange 
24844         functions.
24845         Add locks around IS_FLUSHING when reading.
24846         Take STREAM lock in chain(), get_range() functions so plugins
24847         don't need to take it anymore.
24848         
24849
24850
24851 2005-05-25  Wim Taymans  <wim@fluendo.com>
24852
24853         * tools/gst-launch.c: (event_loop):
24854         Unref message after using its contents instead of
24855         before.
24856
24857 2005-05-24  Wim Taymans  <wim@fluendo.com>
24858
24859         * docs/design/draft-ghostpads.txt:
24860         * docs/design/draft-push-pull.txt:
24861         * docs/design/draft-query.txt:
24862         * docs/design/part-overview.txt:
24863         Docs updates, added general overview doc.
24864
24865 2005-05-21  David Schleef  <ds@schleef.org>
24866
24867         * docs/gst/tmpl/old/GstBin.sgml:
24868         * docs/gst/tmpl/old/GstBuffer.sgml:
24869         * docs/gst/tmpl/old/GstCaps.sgml:
24870         * docs/gst/tmpl/old/GstClock.sgml:
24871         * docs/gst/tmpl/old/GstCompat.sgml:
24872         * docs/gst/tmpl/old/GstData.sgml:
24873         * docs/gst/tmpl/old/GstElement.sgml:
24874         * docs/gst/tmpl/old/GstEvent.sgml:
24875         * docs/gst/tmpl/old/GstIndex.sgml:
24876         * docs/gst/tmpl/old/GstStructure.sgml:
24877         * docs/gst/tmpl/old/GstTag.sgml:
24878         * docs/gst/tmpl/old/cothreads.sgml:
24879         * docs/gst/tmpl/old/cothreads_compat.sgml:
24880         * docs/gst/tmpl/old/gettext.sgml:
24881         * docs/gst/tmpl/old/gobject2gtk.sgml:
24882         * docs/gst/tmpl/old/grammar.tab.sgml:
24883         * docs/gst/tmpl/old/gst-i18n-app.sgml:
24884         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
24885         * docs/gst/tmpl/old/gst_private.sgml:
24886         * docs/gst/tmpl/old/gstaggregator.sgml:
24887         * docs/gst/tmpl/old/gstarch.sgml:
24888         * docs/gst/tmpl/old/gstatomic_impl.sgml:
24889         * docs/gst/tmpl/old/gstbufferstore.sgml:
24890         * docs/gst/tmpl/old/gstdata_private.sgml:
24891         * docs/gst/tmpl/old/gstdisksink.sgml:
24892         * docs/gst/tmpl/old/gstdisksrc.sgml:
24893         * docs/gst/tmpl/old/gstelementfactory.sgml:
24894         * docs/gst/tmpl/old/gstextratypes.sgml:
24895         * docs/gst/tmpl/old/gstfakesink.sgml:
24896         * docs/gst/tmpl/old/gstfakesrc.sgml:
24897         * docs/gst/tmpl/old/gstfdsink.sgml:
24898         * docs/gst/tmpl/old/gstfdsrc.sgml:
24899         * docs/gst/tmpl/old/gstfilesink.sgml:
24900         * docs/gst/tmpl/old/gstfilesrc.sgml:
24901         * docs/gst/tmpl/old/gsthttpsrc.sgml:
24902         * docs/gst/tmpl/old/gstidentity.sgml:
24903         * docs/gst/tmpl/old/gstindexfactory.sgml:
24904         * docs/gst/tmpl/old/gstmarshal.sgml:
24905         * docs/gst/tmpl/old/gstmd5sink.sgml:
24906         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
24907         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
24908         * docs/gst/tmpl/old/gstpadtemplate.sgml:
24909         * docs/gst/tmpl/old/gstpipefilter.sgml:
24910         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
24911         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
24912         * docs/gst/tmpl/old/gstshaper.sgml:
24913         * docs/gst/tmpl/old/gstspider.sgml:
24914         * docs/gst/tmpl/old/gstspideridentity.sgml:
24915         * docs/gst/tmpl/old/gststatistics.sgml:
24916         * docs/gst/tmpl/old/gsttee.sgml:
24917         * docs/gst/tmpl/old/gsttimecache.sgml:
24918         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
24919         * docs/gst/tmpl/old/gstxmlregistry.sgml:
24920         * docs/gst/tmpl/old/gthread-cothreads.sgml:
24921         * docs/gst/tmpl/old/types.sgml:
24922           I didn't intend to add these or check them in.
24923
24924 2005-05-19  David Schleef  <ds@schleef.org>
24925
24926         * configure.ac: Use -no-common everywhere.  In a sane world, it
24927           would be the default in libtool, because without it, you can't
24928           build DLLs on Windows.
24929         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
24930         * docs/gst/gstreamer-sections.txt:
24931         * docs/gst/tmpl/gstcpu.sgml:
24932         * docs/gst/tmpl/gstdata.sgml:
24933         * docs/gst/tmpl/gstthread.sgml:
24934
24935 2005-05-19  David Schleef  <ds@schleef.org>
24936
24937         * gst/gstminiobject.c: (gst_value_set_mini_object),
24938         (gst_value_take_mini_object), (gst_value_get_mini_object):
24939         * gst/gstminiobject.h: Add GValue set/get functions.
24940
24941 2005-05-19  Wim Taymans  <wim@fluendo.com>
24942
24943         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
24944         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
24945         (gst_subbuffer_init), (gst_buffer_is_span_fast):
24946         * gst/gstbuffer.h:
24947         * gst/gstbus.c: (gst_bus_post):
24948         * gst/gstelement.c: (gst_element_get_random_pad):
24949         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
24950         Make subbufer unref the parent in finalize.
24951         some more debugging info.
24952
24953
24954 2005-05-19  Wim Taymans  <wim@fluendo.com>
24955
24956         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24957         (gst_basesink_init), (gst_basesink_finalize),
24958         (gst_basesink_activate), (gst_basesink_change_state):
24959         Don't free preroll queue too early.
24960
24961 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24962
24963         * gst/Makefile.am:
24964         * gst/ROADMAP:
24965           Hi, I'm outdated. Please shoot me.
24966
24967 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24968
24969         * gst/gstpipeline.c: (gst_pipeline_send_event):
24970           Do not access variables after they have been deleted.
24971
24972 2005-05-19  Wim Taymans  <wim@fluendo.com>
24973
24974         * tools/gst-inspect.c: (print_plugin_features):
24975         A plugin feature does unfortunatly not use the
24976         object name yet...
24977
24978 2005-05-18  Wim Taymans  <wim@fluendo.com>
24979
24980         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
24981         Port _span() functions to new subbuffers.
24982
24983 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24984
24985         * gst/gstbin.c: (gst_bin_add_func):
24986           Fix clock settery in bins when adding kids after the clock has
24987           been selected.
24988
24989 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24990
24991         * gst/elements/gstidentity.c: (gst_identity_class_init):
24992           Workaround until signals support GstMiniObject.
24993
24994 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
24995
24996         * gst/gstbuffer.c:
24997         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24998
24999 2005-05-18  Wim Taymans  <wim@fluendo.com>
25000
25001         * gst/base/Makefile.am:
25002         * gst/base/gstadapter.c: (gst_adapter_base_init),
25003         (gst_adapter_class_init), (gst_adapter_init),
25004         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
25005         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
25006         (gst_adapter_flush), (gst_adapter_available),
25007         (gst_adapter_available_fast):
25008         * gst/base/gstadapter.h:
25009         Ported and added adapter to the base classes.
25010
25011 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25012
25013         * gst/gst.c:
25014         * gst/gstmessage.c:
25015           Make sure the class is reffed/unreffed once before threads can be
25016           used.  Fixes #304551.
25017
25018 2005-05-17  Wim Taymans  <wim@fluendo.com>
25019
25020         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
25021         (gst_basesink_chain_unlocked), (gst_basesink_activate):
25022         * gst/gstminiobject.c: (gst_mini_object_get_type),
25023         (gst_mini_object_free):
25024         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
25025         (gst_pad_push), (gst_pad_push_event):
25026         * gst/gstqueue.c: (gst_queue_change_state):
25027         Don't queue buffers in basesink when we are flushing.
25028         Unref buffer when flushing in basesink.
25029         Flush queue when going to READY
25030         Unref buffer when _push() returns an error.
25031         Don't free MiniObject instance when refcount is incremented
25032         in _finalize() so that we can recover objects.
25033
25034 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25035
25036         * docs/manual/advanced-schedulers.xml:
25037         * docs/manual/appendix-checklist.xml:
25038         * docs/pwg/advanced-clock.xml:
25039         * docs/pwg/advanced-interfaces.xml:
25040         * docs/pwg/advanced-request.xml:
25041         * docs/pwg/advanced-types.xml:
25042         * docs/pwg/intro-preface.xml:
25043         * examples/plugins/example.c: (gst_example_get_type),
25044         (gst_example_class_init), (gst_example_chain),
25045         (gst_example_set_property), (gst_example_get_property),
25046         (gst_example_change_state), (plugin_init):
25047         * examples/plugins/example.h:
25048           small doc fixes
25049
25050 2005-05-17  Wim Taymans  <wim@fluendo.com>
25051
25052         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
25053         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
25054         * gst/gstqueue.c: (gst_queue_change_state):
25055         Clear queue when going to READY.
25056         Remove IN_SETCAPS flag too.
25057
25058 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
25059
25060         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
25061           Remove implicit cast from gboolean to GstElementStateReturn;
25062           make sure we still return failure in paused => ready case if
25063           the parent class fails to change state and our own stop 
25064           vfunc succeeds.
25065
25066 2005-05-17  Wim Taymans  <wim@fluendo.com>
25067
25068         * tools/gst-launch.c: (event_loop):
25069         Message was unreffed too soon.
25070
25071 2005-05-16  Andy Wingo  <wingo@pobox.com>
25072
25073         * gst/gstbin.c (sink_iterator_filter): Err... um...
25074
25075         * check/gst/gstbin.c (test_ghost_pads): New test for the
25076         ghosting-if-elements-not-in-same-bin behavior.
25077
25078 2005-05-16  David Schleef  <ds@schleef.org>
25079
25080         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
25081         accessing refcount directly.
25082
25083 2005-05-15  David Schleef  <ds@schleef.org>
25084
25085         * check/Makefile.am: remove GstData checks
25086         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
25087         * gst/Makefile.am: add miniobject, remove data
25088         * gst/gst.h: add miniobject, remove data
25089         * gst/gstdata.c: remove
25090         * gst/gstdata.h: remove
25091         * gst/gstdata_private.h: remove
25092         * gst/gsttypes.h: remove GstEvent and GstMessage
25093         * gst/gstelement.c: (gst_element_post_message): fix for API changes
25094         * gst/gstmarshal.list: change BOXED -> OBJECT
25095
25096         Implement GstMiniObject.
25097         * gst/gstminiobject.c:
25098         * gst/gstminiobject.h:
25099
25100         Modify to be subclasses of GstMiniObject.
25101         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
25102         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
25103         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
25104         (gst_subbuffer_get_type), (gst_subbuffer_init),
25105         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
25106         (gst_buffer_span):
25107         * gst/gstbuffer.h:
25108         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
25109         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
25110         (_gst_event_copy), (gst_event_new):
25111         * gst/gstevent.h:
25112         * gst/gstmessage.c: (_gst_message_initialize),
25113         (gst_message_get_type), (gst_message_class_init),
25114         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
25115         (gst_message_new), (gst_message_new_error),
25116         (gst_message_new_warning), (gst_message_new_tag),
25117         (gst_message_new_state_changed), (gst_message_new_application):
25118         * gst/gstmessage.h:
25119         * gst/gstprobe.c: (gst_probe_perform),
25120         (gst_probe_dispatcher_dispatch):
25121         * gst/gstprobe.h:
25122         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
25123         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
25124         (_gst_query_copy), (gst_query_new):
25125
25126         Update elements for GstData -> GstMiniObject changes
25127         * gst/gstquery.h:
25128         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
25129         (gst_queue_chain), (gst_queue_loop):
25130         * gst/elements/gstbufferstore.c:
25131         (gst_buffer_store_add_buffer_func),
25132         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
25133         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25134         (gst_fakesink_render):
25135         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
25136         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
25137         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
25138         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
25139         (gst_filesrc_create_read):
25140         * gst/elements/gstidentity.c: (gst_identity_class_init):
25141         * gst/elements/gsttypefindelement.c:
25142         (gst_type_find_element_src_event), (free_entry_buffers),
25143         (gst_type_find_element_handle_event):
25144         * libs/gst/dataprotocol/dataprotocol.c:
25145         (gst_dp_header_from_buffer):
25146         * libs/gst/dataprotocol/dataprotocol.h:
25147         * libs/gst/dataprotocol/dp-private.h:
25148
25149 2005-05-15  David Schleef  <ds@schleef.org>
25150
25151         * gst/elements/gstelements.c: Don't include headers that were
25152         just removed.
25153
25154 2005-05-15  David Schleef  <ds@schleef.org>
25155
25156         * gst/elements/Makefile.am: Remove some elements that don't
25157         need to be in the core (or even exist at all).
25158         * gst/elements/gstaggregator.c:
25159         * gst/elements/gstaggregator.h:
25160         * gst/elements/gstmd5sink.c:
25161         * gst/elements/gstmd5sink.h:
25162         * gst/elements/gstmultifilesrc.c:
25163         * gst/elements/gstmultifilesrc.h:
25164         * gst/elements/gstpipefilter.c:
25165         * gst/elements/gstpipefilter.h:
25166         * gst/elements/gstshaper.c:
25167         * gst/elements/gstshaper.h:
25168         * gst/elements/gststatistics.c:
25169         * gst/elements/gststatistics.h:
25170         * po/POTFILES.in: Remove above files.
25171
25172 2005-05-14  Andy Wingo  <wingo@pobox.com>
25173
25174         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
25175         so as to get the refs right.
25176         (sink_iterator_filter): New function, wraps bin_element_is_sink,
25177         unreffing objects that don't pass the filter.
25178
25179         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
25180         gst_element_set_bus.
25181         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
25182         normal cases, this will destroy the bus.
25183
25184         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
25185         object.
25186
25187         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
25188         has no sinks.
25189
25190 2005-05-13  Andy Wingo  <wingo@pobox.com>
25191
25192         * gst/gstutils.c (gst_element_link_pads): Instead of calling
25193         gst_pad_link, call pad_link_maybe_ghosting,
25194         (pad_link_maybe_ghosting): Links pads, making sure that the
25195         elements being linked are in the same bin.
25196         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
25197         Helpers for pad_link_maybe_ghosting.
25198
25199 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
25200
25201         * configure.ac:
25202           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
25203
25204 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
25205
25206         * docs/design/part-element-source.txt:
25207           Mention GstPushSrc
25208
25209 2005-05-12  Wim Taymans  <wim@fluendo.com>
25210
25211         * gst/base/gstbasesink.c: (gst_basesink_init),
25212         (gst_basesink_activate):
25213         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
25214         (gst_basesrc_is_seekable):
25215         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
25216         (bin_element_is_sink), (gst_bin_change_state):
25217         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
25218         * gst/gstelement.h:
25219         Identify sinks by their flag to avoid overly complicated
25220         checks (fow now).
25221         Do state changes even for elements not reachable from the
25222         sinks.
25223         BaseSink is a sink now :)
25224         Some more debugging info in the basesrc.
25225
25226
25227 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25228
25229         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
25230           Implement _query on a bin, similar to _send_event.
25231
25232 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
25233
25234         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
25235           Discont event offset format should be GST_FORMAT_BYTES,
25236           not GST_FORMAT_TIME.
25237
25238 2005-05-12  Wim Taymans  <wim@fluendo.com>
25239
25240         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
25241         Same fix as Ronald's but without the signal. 
25242
25243 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25244
25245         * gst/gstutils.c: (gst_element_query_position):
25246           No, an element is not a pad.
25247
25248 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25249
25250         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
25251         (gst_bin_get_state):
25252           If a child is removed from a bin while we remove the child from
25253           the bin and while we're retrieving its state, signal this to the
25254           get_state function so we abort the wait (instead of waiting for
25255           a timeout) and can immediately re-iterate over all other elements.
25256
25257 2005-05-12  Wim Taymans  <wim@fluendo.com>
25258
25259         * gst/base/Makefile.am:
25260         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
25261         (gst_basesrc_start):
25262         * gst/base/gstbasesrc.h:
25263         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
25264         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
25265         (gst_pushsrc_init), (gst_pushsrc_create):
25266         * gst/base/gstpushsrc.h:
25267         Added is_seekable to BaseSrc
25268         Added simple PushSrc.
25269
25270 2005-05-11  Wim Taymans  <wim@fluendo.com>
25271
25272         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
25273         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25274         (gst_element_link_pads), (gst_element_query_position),
25275         (gst_element_query_convert), (intersect_caps_func),
25276         (gst_pad_query_position), (gst_pad_query_convert):
25277         Fix refcounting in utils function.
25278         No point in trying to activate a pad when it's added, it could
25279         be added from the state change function and then we deadlock, the
25280         element has to decide what to do.
25281
25282 2005-05-10  Andy Wingo  <wingo@pobox.com>
25283
25284         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
25285         *all* the arguments.
25286
25287         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
25288         stream lock if it's a FLUSH_DONE; normal flushes don't get the
25289         lock (according to the docs -- if this is wrong change the docs).
25290
25291         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
25292         flush messages in the NULL state.
25293
25294         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
25295         message immediately and return.
25296         (gst_bus_set_flushing): New function. If a bus is flushing, it
25297         flushes out any queued messages and immediately unrefs new
25298         messages. This is so when an element goes to NULL, all of the
25299         unhandled messages coming from it can be freed, and their
25300         references to the element dropped. In other words: message source
25301         ref considered harmful :P
25302
25303         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
25304         we're finished with it.
25305
25306         * gst/gstmessage.c (gst_message_new_state_changed): 
25307
25308 2005-05-10  Wim Taymans  <wim@fluendo.com>
25309
25310         * gst/gstvalue.c: (gst_value_compare_flags),
25311         (gst_value_serialize_flags), (gst_value_deserialize_flags),
25312         (_gst_value_initialize):
25313         Added flags serialize/deserialize/compare code.
25314
25315 2005-05-09  Andy Wingo  <wingo@pobox.com>
25316
25317         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
25318         Intersect the peer's caps with our caps.
25319
25320 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25321
25322         * gst/base/gsttypefindhelper.c: (helper_find_peek):
25323         * gst/elements/gsttypefindelement.c: (find_peek):
25324           Handle negative offsets better. Fixes decodebin.
25325
25326 2005-05-09  Wim Taymans  <wim@fluendo.com>
25327
25328         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
25329         (gst_base_transform_event):
25330         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
25331         Implement accept_caps.
25332         Fix silly lock/unlock mismatch in base class.
25333
25334 2005-05-09  Wim Taymans  <wim@fluendo.com>
25335
25336         * docs/design/draft-push-pull.txt:
25337         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
25338         * gst/elements/gstfilesink.c: (gst_filesink_init),
25339         (gst_filesink_query):
25340         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
25341         (gst_type_find_handle_src_query), (find_element_get_length):
25342         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
25343         * gst/gstelement.h:
25344         * gst/gstmessage.c:
25345         * gst/gstmessage.h:
25346         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
25347         (gst_real_pad_get_caps_unlocked),
25348         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
25349         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25350         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
25351         (gst_real_pad_dispose), (gst_real_pad_finalize),
25352         (gst_pad_load_and_link), (gst_pad_save_thyself),
25353         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
25354         (gst_pad_check_pull_range), (gst_pad_pull_range),
25355         (gst_pad_template_get_type), (gst_pad_template_class_init),
25356         (gst_pad_template_init), (gst_pad_template_dispose),
25357         (name_is_valid), (gst_static_pad_template_get),
25358         (gst_pad_template_new), (gst_static_pad_template_get_caps),
25359         (gst_pad_template_get_caps), (gst_pad_set_element_private),
25360         (gst_pad_get_element_private), (gst_pad_start_task),
25361         (gst_pad_pause_task), (gst_pad_stop_task),
25362         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
25363         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
25364         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
25365         (gst_ghost_pad_new):
25366         * gst/gstpad.h:
25367         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
25368         (gst_query_new_position), (gst_query_set_position),
25369         (gst_query_parse_position), (gst_query_new_convert),
25370         (gst_query_set_convert), (gst_query_parse_convert):
25371         * gst/gstquery.h:
25372         * gst/gstqueryutils.c:
25373         * gst/gstqueryutils.h:
25374         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
25375         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
25376         (gst_queue_handle_src_query):
25377         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25378         (gst_element_query_position), (gst_element_query_convert),
25379         (intersect_caps_func), (gst_pad_query_position),
25380         (gst_pad_query_convert):
25381         * gst/gstutils.h:
25382         * tools/gst-inspect.c: (print_pad_info):
25383         * tools/gst-xmlinspect.c: (print_element_info):
25384         Remove old query functions. Ported old code.
25385         Added position/convert helper functions to gstutils.
25386         Reordered gstpad.c code, grouping relevant things.
25387         Remove gst_message_new(), always need to speficy a specific
25388         message.
25389
25390
25391 2005-05-09  Andy Wingo  <wingo@pobox.com>
25392
25393         * gst/gstiterator.h: Add some includes.
25394
25395         * gst/gstqueryutils.h: Include more headers.
25396
25397         * gst/gstpad.h:
25398         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
25399         some uses of gst_pad_query.
25400
25401         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
25402         NULL out parameters.
25403         (gst_query_new_position): New proc, allocates a new position
25404         query.
25405
25406         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
25407         gstqueryutils.c to the build.
25408
25409         * gst/gststructure.c (gst_structure_set_valist): Implement with
25410         the generic G_VALUE_COLLECT.
25411         
25412 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
25413
25414         * gst/Makefile.am: (gst_headers):
25415         Added gstqueryutils.h to the list of headers to install, that was
25416         a 'nachty' move wingo :)
25417
25418 2005-05-06  Andy Wingo  <wingo@pobox.com>
25419
25420         * gst/gstquery.h
25421         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
25422         GstData, init a memchunk.
25423         (standard_definitions): Add a few query types, deprecate a few.
25424         (gst_query_get_type): New proc.
25425         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
25426         implementation.
25427         (gst_query_new_application, gst_query_get_structure): New public
25428         procs.
25429
25430         * docs/design/draft-query.txt: Removed LINKS from the query types,
25431         because all the rest can be dispatched to other pads -- seemed
25432         ugly to have a query that couldn't be dispatched. internal_links
25433         is fine as a pad method.
25434
25435         * gst/gstpad.h: Add query2 as a pad method, add the new functions
25436         in gstpad.c, but maintain binary compatibility for the moment.
25437         Will fix before 0.9 is out.
25438
25439         * gst/gstqueryutils.c: 
25440         * gst/gstqueryutils.h: New files, implement 3 methods for each
25441         query type: parse_query, parse_response, and set. Probably need an
25442         allocator as well.
25443
25444         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
25445
25446         * gst/elements/gstfilesink.c (gst_filesink_query2):
25447         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
25448         query_types, and formats methods.
25449
25450         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
25451         (gst_pad_set_query2_function): New functions.
25452         (gst_real_pad_init): Set query2_default as the default query2
25453         function. Basically just dispatches to internally linked pads.
25454
25455         Needs review!
25456         
25457         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
25458         without using the atomic operations. Only one thread can possibly
25459         be accessing the data at this point. Changed so as to avoid
25460         gst_atomic operations.
25461
25462 2005-05-06  Wim Taymans  <wim@fluendo.com>
25463
25464         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
25465         Also set caps if we use the fallback buffer alloc.
25466
25467 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
25468
25469         * docs/gst/Makefile.am:
25470         * docs/gst/gstreamer-docs.sgml:
25471         * docs/gst/gstreamer-sections.txt:
25472         * docs/gst/tmpl/gstatomic.sgml:
25473         * docs/gst/tmpl/gstmemchunk.sgml:
25474         * testsuite/elements/struct_i386.h:
25475         * win32/GStreamer.vcproj:
25476         * win32/Makefile:
25477           Purge GstAtomic stuff from docs and win32 makefiles as well
25478
25479 2005-05-06  Wim Taymans  <wim@fluendo.com>
25480
25481         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
25482         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
25483         * gst/gstpad.c: (gst_pad_peer_get_caps):
25484         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
25485         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
25486         (gst_queue_src_activate), (gst_queue_change_state):
25487         * gst/gstqueue.h:
25488         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25489         (intersect_caps_func):
25490         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
25491         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
25492         Some fixes for the peer_get_caps() change.
25493
25494 2005-05-06  Wim Taymans  <wim@fluendo.com>
25495
25496         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25497         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
25498         (gst_basesink_activate):
25499         Actually do something with error codes returned from the push
25500         functions.
25501
25502 2005-05-06  Wim Taymans  <wim@fluendo.com>
25503
25504         * docs/design/part-element-sink.txt:
25505         * docs/design/part-element-source.txt:
25506         * gst/base/gstbasesink.c: (gst_basesink_class_init),
25507         (gst_basesink_event), (gst_basesink_activate):
25508         * gst/base/gstbasesink.h:
25509         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
25510         (gst_basesrc_activate):
25511         * gst/base/gstbasesrc.h:
25512         * gst/gstelement.c: (gst_element_pads_activate):
25513         Some more documentation.
25514         Fixed scheduling decision in _pads_activate().
25515
25516 2005-05-05  Andy Wingo  <wingo@pobox.com>
25517
25518         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
25519         the test suite.
25520
25521 2005-05-05  Wim Taymans  <wim@fluendo.com>
25522
25523         * gst/base/Makefile.am:
25524         * gst/base/gstbasesink.h:
25525         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25526         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
25527         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
25528         (gst_collectpads_class_init), (gst_collectpads_init),
25529         (gst_collectpads_finalize), (gst_collectpads_new),
25530         (gst_collectpads_set_function), (gst_collectpads_add_pad),
25531         (find_pad), (gst_collectpads_remove_pad),
25532         (gst_collectpads_is_active), (gst_collectpads_collect),
25533         (gst_collectpads_collect_range), (gst_collectpads_start),
25534         (gst_collectpads_stop), (gst_collectpads_peek),
25535         (gst_collectpads_pop), (gst_collectpads_available),
25536         (gst_collectpads_read), (gst_collectpads_flush),
25537         (gst_collectpads_chain):
25538         * gst/base/gstcollectpads.h:
25539         * gst/elements/Makefile.am:
25540         * gst/elements/gstelements.c:
25541         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25542         (gst_fakesink_get_times), (gst_fakesink_event),
25543         (gst_fakesink_preroll), (gst_fakesink_render):
25544         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25545         (gst_filesink_init), (gst_filesink_set_location),
25546         (gst_filesink_open_file), (gst_filesink_close_file),
25547         (gst_filesink_pad_query), (gst_filesink_event),
25548         (gst_filesink_render), (gst_filesink_change_state):
25549         * gst/elements/gstfilesink.h:
25550         Added object to help in making collect pad based elements.
25551         Ported filesink.
25552         Make event function in sink baseclass return gboolean.
25553
25554 2005-05-05  Wim Taymans  <wim@fluendo.com>
25555
25556         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
25557         (gst_bin_get_by_name):
25558         * gst/gstbuffer.h:
25559         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
25560         (gst_clock_finalize):
25561         * gst/gstdata.c: (gst_data_replace):
25562         * gst/gstdata.h:
25563         * gst/gstelement.c: (gst_element_request_pad),
25564         (gst_element_pads_activate):
25565         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
25566         (gst_object_unref):
25567         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25568         (gst_pad_set_checkgetrange_function),
25569         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
25570         (gst_pad_check_pull_range), (gst_pad_pull_range),
25571         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25572         (gst_pad_pause_task), (gst_pad_stop_task):
25573         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25574         (gst_element_request_pad), (gst_pad_proxy_getcaps):
25575         Fix name lookup in GstBin.
25576         Added _data_replace() function and _buffer_replace()
25577         Use finalize method to clean up clock.
25578         Fix refcounting on request pads.
25579         Fix pad schedule mode error.
25580         Some more object refcounting debug info,
25581
25582
25583 2005-05-04  Andy Wingo <wingo@pobox.com>
25584
25585         * check/Makefile.am:
25586         * docs/gst/tmpl/gstatomic.sgml:
25587         * docs/gst/tmpl/gstplugin.sgml:
25588         * gst/base/gstbasesink.c: (gst_basesink_activate):
25589         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
25590         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
25591         (gst_basesrc_query), (gst_basesrc_set_property),
25592         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
25593         (gst_basesrc_activate):
25594         * gst/base/gstbasesrc.h:
25595         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
25596         (gst_base_transform_src_activate):
25597         * gst/elements/gstelements.c:
25598         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25599         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25600         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25601         * gst/elements/gsttypefindelement.c: (find_element_get_length),
25602         (gst_type_find_element_checkgetrange),
25603         (gst_type_find_element_activate):
25604         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
25605         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
25606         (gst_caps_load_thyself):
25607         * gst/gstelement.c: (gst_element_pads_activate),
25608         (gst_element_save_thyself), (gst_element_restore_thyself):
25609         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
25610         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
25611         * gst/gstpad.h:
25612         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
25613         (gst_xml_parse_file), (gst_xml_parse_memory),
25614         (gst_xml_get_element), (gst_xml_make_element):
25615         * gst/indexers/gstfileindex.c: (gst_file_index_load),
25616         (_file_index_id_save_xml), (gst_file_index_commit):
25617         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
25618         (read_enum), (load_pad_template), (load_feature), (load_plugin),
25619         (load_paths):
25620         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
25621         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
25622         * tools/gst-complete.c: (main):
25623         * tools/gst-compprep.c: (main):
25624         * tools/gst-inspect.c: (print_element_properties_info):
25625         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
25626         * tools/gst-xmlinspect.c: (print_element_properties):
25627         GCC 4 fixen.
25628         
25629 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25630
25631         * gst/gstplugin.c: (gst_plugin_check_module),
25632         (gst_plugin_check_file), (gst_plugin_load_file):
25633             apply patch from #172526 to make register work on MacOSX
25634
25635 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25636
25637         * docs/gst/tmpl/gstconfig.sgml:
25638         * gst/gstconfig.h.in:
25639           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
25640         * testsuite/debug/printf_extension.c: (main):
25641           Do not use GST_PTR_FORMAT on pointers to types with
25642           sizeof < sizeof(gpointer).  Fixes test on 64-bit
25643         * testsuite/elements/property.h:
25644           use correct printf format
25645
25646 2005-05-02  Wim Taymans  <wim@fluendo.com>
25647
25648         * docs/design/draft-push-pull.txt:
25649         * docs/design/draft-query.txt:
25650         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
25651         (gst_basesrc_start):
25652         Added draft for new query API.
25653         Added draft for better selecting scheduling methods.
25654         Make basesrc ignore length if the subclass does not support
25655         it.
25656
25657 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25658
25659         * gst/Makefile.am:
25660           possible fixes for automake-1.5 - _LIBADD is reserved
25661
25662 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25663
25664         * docs/faq/Makefile.am:
25665         * docs/manual/Makefile.am:
25666         * docs/manuals.mak:
25667         * docs/pwg/Makefile.am:
25668         * gst/Makefile.am:
25669           possible fixes for automake-1.5
25670
25671 2005-04-28  Wim Taymans  <wim@fluendo.com>
25672
25673         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25674         (gst_basesink_pad_getcaps), (gst_basesink_init),
25675         (gst_basesink_do_sync):
25676         * gst/gstclock.c: (gst_clock_entry_new):
25677         * gst/gstevent.c: (gst_event_discont_get_value):
25678         * gst/gstpipeline.c: (pipeline_bus_handler),
25679         (gst_pipeline_change_state):
25680         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
25681         Better debugging of clocking info.
25682         Allow NULL values when getting discont values.
25683
25684 2005-04-27  Wim Taymans  <wim@fluendo.com>
25685
25686         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25687         * check/gst/gstpad.c: (gst_pad_suite):
25688         Increase timeout for checks.
25689
25690 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25691
25692         * check/Makefile.am:
25693           fix the broken rule for cleanup.  Apparently this rule is
25694           only needed on FC2, so maybe this warrants further autotool
25695           inspection.
25696
25697 2005-04-26  Wim Taymans  <wim@fluendo.com>
25698
25699         * gst/gsttrashstack.h:
25700         Ooohh. a nasty one! After having a failed pop() from the stack,
25701         it's possible that the stack is empty. In that case, don't
25702         follow the NULL pointer.
25703
25704 2005-04-25  Wim Taymans  <wim@fluendo.com>
25705
25706         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25707         (gst_pad_set_checkgetrange_function),
25708         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
25709         (gst_pad_check_pull_range), (gst_pad_pull_range),
25710         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25711         (gst_pad_pause_task), (gst_pad_stop_task):
25712         * gst/gstplugin.c: (gst_plugin_load):
25713         * gst/gstplugin.h:
25714         Remove gst_library_load as it does more harm than good with
25715         the new g_module flags.
25716         Revert bogus caps template check in pad linking, pad caps
25717         are important when linking not the template, which is more
25718         general than the current caps.
25719
25720 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25721
25722         * gst/autoplug/.cvsignore:
25723         * gst/autoplug/Makefile.am:
25724         * gst/autoplug/gstsearchfuncs.c:
25725         * gst/autoplug/gstsearchfuncs.h:
25726         * gst/autoplug/gstspider.c:
25727         * gst/autoplug/gstspider.h:
25728         * gst/autoplug/gstspideridentity.c:
25729         * gst/autoplug/gstspideridentity.h:
25730         * gst/autoplug/spidertest.c:
25731           Die, spider, die.
25732
25733 2005-04-25  Wim Taymans  <wim@fluendo.com>
25734
25735         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25736         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25737         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
25738         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
25739         * gst/gstpad.h:
25740         Added stubs for unimplemented functions. 
25741
25742 2005-04-24  David Schleef  <ds@schleef.org>
25743
25744         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
25745         please fix.
25746
25747 2005-04-24  David Schleef  <ds@schleef.org>
25748
25749         Convert everything from GstAtomicInt to g_atomic_int_*, and
25750         remove gstatomic.
25751         * gst/Makefile.am:
25752         * gst/gstatomic.c:
25753         * gst/gstatomic.h:
25754         * gst/gstatomic_impl.h:
25755         * gst/gstbuffer.c:
25756         * gst/gstcaps.c:
25757         * gst/gstcaps.h:
25758         * gst/gstclock.c:
25759         * gst/gstclock.h:
25760         * gst/gstdata.c:
25761         * gst/gstdata.h:
25762         * gst/gstdata_private.h:
25763         * gst/gstevent.c:
25764         * gst/gstinfo.c:
25765         * gst/gstinfo.h:
25766         * gst/gstmessage.c:
25767         * gst/gstobject.c:
25768         * gst/gstobject.h:
25769         * gst/gststructure.c:
25770         * gst/gststructure.h:
25771         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
25772         * gst/gstutils.h:
25773
25774 2005-04-24  David Schleef  <ds@schleef.org>
25775
25776         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
25777         make the regressions tests work.  Remove some code that is no
25778         longer true.
25779         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
25780         Disable warning for pads without templates.
25781
25782 2005-04-24  David Schleef  <ds@schleef.org>
25783
25784         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
25785         functions that handle filtered links.
25786         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
25787         removed functions.
25788         * gst/gstutils.c: Fix/remove utility functions that handle
25789         filtered caps.
25790         * gst/gstutils.h:
25791         * gst/gstvalue.c: Add serialization/deserialization of caps
25792         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
25793         requires fixing so that the filter caps notation creates
25794         a capsfilter element and sets the filter_caps property.  I
25795         think everyone probably wants to keep the shorthand notation.
25796         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
25797         * docs/gst/tmpl/gstpad.sgml:
25798
25799         * gst/elements/gstelements.c: Register capsfilter element.
25800         * gst/Makefile.am: fix spacing
25801         * docs/random/ds/0.9-suggested-changes: random
25802
25803 2005-04-23  David Schleef  <ds@schleef.org>
25804
25805         * gst/elements/Makefile.am:
25806         * gst/elements/gstcapsfilter.c: New element that acts like an
25807         identity, but filters caps.  Will eventually replace filtered
25808         caps in pad linking.
25809         * gst/gstutils.c: (gst_element_create_all_pads): New function
25810         to create all the ALWAYS pads that are registered with an
25811         element class.  This functionality should eventually be
25812         merged in with GstElement initialization.
25813         * gst/gstutils.h:
25814         * testsuite/trigger/README: part of trigger test code that should
25815         have been checked in a long time ago.
25816
25817 2005-04-23  David Schleef  <ds@schleef.org>
25818
25819         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
25820         needed with new versions of libtool (nobody will confirm this),
25821         and hard to carry around.
25822         * gst/autoplug/Makefile.am:
25823         * gst/base/Makefile.am:
25824         * gst/elements/Makefile.am:
25825         * gst/indexers/Makefile.am:
25826         * gst/schedulers/Makefile.am:
25827         * libs/gst/bytestream/Makefile.am:
25828         * libs/gst/control/Makefile.am:
25829         * libs/gst/dataprotocol/Makefile.am:
25830         * libs/gst/getbits/Makefile.am:
25831
25832 2005-04-21  Wim Taymans  <wim@fluendo.com>
25833
25834         * docs/design/draft-push-pull.txt:
25835         * docs/design/part-MT-refcounting.txt:
25836         * docs/design/part-TODO.txt:
25837         * docs/design/part-caps.txt:
25838         * docs/design/part-events.txt:
25839         * docs/design/part-gstbus.txt:
25840         * docs/design/part-gstpipeline.txt:
25841         * docs/design/part-messages.txt:
25842         * docs/design/part-push-pull.txt:
25843         * docs/design/part-query.txt:
25844         Some more docs.
25845
25846 2005-04-21  Wim Taymans  <wim@fluendo.com>
25847
25848         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
25849         (gst_message_new), (gst_message_new_error),
25850         (gst_message_new_warning), (gst_message_new_tag),
25851         (gst_message_new_state_changed), (gst_message_new_application),
25852         (gst_message_get_structure):
25853         * gst/gstmessage.h:
25854         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25855         (gst_structure_copy_conditional):
25856         Use parent refcount in GstMessage to ensure GstStructure
25857         consistency.
25858         Cleaned up headers a bit.
25859         
25860
25861 2005-04-20  Wim Taymans  <wim@fluendo.com>
25862
25863         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25864         (gst_basesink_pad_getcaps), (gst_basesink_init),
25865         (gst_basesink_chain_unlocked):
25866         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
25867         (gst_type_find_helper):
25868         * gst/elements/gsttypefindelement.c:
25869         (gst_type_find_element_have_type), (gst_type_find_element_init),
25870         (stop_typefinding), (gst_type_find_element_handle_event),
25871         (find_suggest), (gst_type_find_element_chain),
25872         (gst_type_find_element_checkgetrange),
25873         (gst_type_find_element_getrange), (do_typefind),
25874         (gst_type_find_element_activate):
25875         * gst/gstbuffer.c: (_gst_buffer_sub_free),
25876         (gst_buffer_default_free), (gst_buffer_default_copy),
25877         (gst_buffer_set_caps):
25878         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
25879         (gst_caps_replace):
25880         * gst/gstmessage.c: (gst_message_new),
25881         (gst_message_new_state_changed):
25882         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25883         (gst_pad_set_checkgetrange_function),
25884         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
25885         (gst_pad_set_caps), (gst_pad_check_pull_range),
25886         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
25887         * gst/gstpad.h:
25888         * gst/gsttypefind.c: (gst_type_find_register):
25889         Make gst_caps_replace() work like other _replace() functions.
25890         Use _caps_replace() where possible.
25891         Make sure _message_new() initialises its field.
25892         Add gst_static_pad_template_get_caps()
25893
25894
25895 2005-04-18  Andy Wingo  <wingo@pobox.com>
25896
25897         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
25898         on the peer, not the pad. I think that was a typo. Pass an extra
25899         arg to see if random access is possible. Activate the pads as
25900         PULL_RANGE if possible.
25901
25902         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
25903
25904         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
25905         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
25906         to PROP_....
25907
25908 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25909
25910         * docs/faq/using.xml:
25911           Add note on gstreamer-properties (#154996).
25912
25913 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25914
25915         * docs/random/bbb/optional-properties:
25916           Some analysis on optional properties.
25917
25918 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25919
25920         * docs/gst/tmpl/gstelementfactory.sgml:
25921         * gst/gstelement.h:
25922         * gst/gstelementfactory.c: (gst_element_factory_init),
25923         (gst_element_factory_cleanup), (gst_element_register),
25924         (__gst_element_factory_add_static_pad_template),
25925         (gst_element_factory_get_static_pad_templates),
25926         (gst_element_factory_can_src_caps),
25927         (gst_element_factory_can_sink_caps):
25928         * gst/registries/Makefile.am:
25929         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
25930         (gst_xml_registry_class_init), (gst_xml_registry_init),
25931         (gst_xml_registry_new), (gst_xml_registry_set_property),
25932         (gst_xml_registry_get_property), (get_time), (make_dir),
25933         (gst_xml_registry_get_perms_func),
25934         (plugin_times_older_than_recurse), (plugin_times_older_than),
25935         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
25936         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
25937         (add_to_char_array), (read_string), (read_uint), (read_enum),
25938         (load_pad_template), (load_feature), (load_plugin), (load_paths),
25939         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
25940         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
25941         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
25942         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
25943         (gst_xml_registry_rebuild):
25944         * gst/registries/gstlibxmlregistry.h:
25945         * tools/gst-compprep.c: (main):
25946         * tools/gst-inspect.c: (print_pad_templates_info):
25947         * tools/gst-xmlinspect.c: (print_element_info):
25948           Use libxml2 for registry parsing, use staticpadtemplates in
25949           elementfactories. Makes gst_init() +/- 10x faster.
25950
25951 2005-04-12  Wim Taymans  <wim@fluendo.com>
25952
25953         * gst/base/Makefile.am:
25954         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25955         (gst_basesink_pad_getcaps), (gst_basesink_init),
25956         (gst_basesink_event), (gst_basesink_change_state):
25957         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25958         (gst_basesrc_init), (gst_basesrc_query),
25959         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25960         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25961         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25962         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25963         (gst_basesrc_stop), (gst_basesrc_activate),
25964         (gst_basesrc_change_state):
25965         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25966         (helper_find_suggest), (gst_type_find_helper):
25967         * gst/base/gsttypefindhelper.h:
25968         * gst/elements/Makefile.am:
25969         * gst/elements/gstelements.c:
25970         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25971         (gst_fakesink_get_times), (gst_fakesink_event),
25972         (gst_fakesink_preroll), (gst_fakesink_render):
25973         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25974         (gst_fakesrc_init), (gst_fakesrc_event_handler),
25975         (gst_fakesrc_get_property), (gst_fakesrc_create),
25976         (gst_fakesrc_start), (gst_fakesrc_stop):
25977         * gst/elements/gstfakesrc.h:
25978         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
25979         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25980         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25981         (gst_filesrc_create_read), (gst_filesrc_create),
25982         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
25983         (gst_filesrc_start):
25984         * gst/elements/gsttypefindelement.c:
25985         (gst_type_find_element_have_type), (gst_type_find_element_init),
25986         (start_typefinding), (stop_typefinding), (push_buffer_store),
25987         (gst_type_find_element_handle_event),
25988         (gst_type_find_element_chain),
25989         (gst_type_find_element_checkgetrange),
25990         (gst_type_find_element_getrange), (do_typefind),
25991         (gst_type_find_element_activate),
25992         (gst_type_find_element_change_state):
25993         * gst/elements/gsttypefindelement.h:
25994         * gst/gstpipeline.c: (pipeline_bus_handler):
25995         Added typefind helper.
25996         Small preroll fix in the base sink.
25997         Disable typefind code in basesrc.
25998         Crude port of typefindelement.
25999         Fakesrc cleanups.
26000
26001
26002 2005-04-11  Wim Taymans  <wim@fluendo.com>
26003
26004         * check/gst/gstbus.c: (gstbus_suite):
26005         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
26006         * check/gstcheck.h:
26007           Fix up the timeout so that the test does not fail.
26008
26009 2005-04-06  Wim Taymans  <wim@fluendo.com>
26010
26011         * gst/base/README:
26012         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26013         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
26014         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
26015         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
26016         (gst_basesrc_check_get_range), (gst_basesrc_loop),
26017         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
26018         (gst_basesrc_stop), (gst_basesrc_activate),
26019         (gst_basesrc_change_state), (basesrc_find_peek),
26020         (basesrc_find_suggest), (gst_basesrc_type_find):
26021         * gst/base/gstbasesrc.h:
26022         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
26023         (gst_filesrc_class_init), (gst_filesrc_init),
26024         (gst_filesrc_finalize), (gst_filesrc_set_location),
26025         (gst_filesrc_set_property), (gst_filesrc_get_property),
26026         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
26027         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
26028         (gst_filesrc_create_read), (gst_filesrc_create),
26029         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
26030         * gst/elements/gstfilesrc.h:
26031         * gst/gstelement.c: (gst_element_get_state_func),
26032         (gst_element_lost_state), (gst_element_pads_activate):
26033         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26034         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26035         (gst_pad_pull_range):
26036         * gst/gstpad.h:
26037         More work on the generic source base class, implement seeking,
26038         query.
26039         Make filesrc extend the base source class.
26040         Added gst_pad_set_checkgetrange_function to GstPad.
26041
26042 2005-04-06  Andy Wingo  <wingo@pobox.com>
26043
26044         * pkgconfig/gstreamer-base.pc.in:
26045         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
26046
26047         * pkgconfig/Makefile.am:
26048         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
26049
26050 2005-04-04  Wim Taymans  <wim@fluendo.com>
26051
26052         * gst/base/Makefile.am:
26053         * gst/base/README:
26054         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26055         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
26056         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
26057         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
26058         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
26059         (gst_basesrc_base_init), (gst_basesrc_class_init),
26060         (gst_basesrc_init), (gst_basesrc_get_formats),
26061         (gst_basesrc_get_query_types), (gst_basesrc_query),
26062         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
26063         (gst_basesrc_set_property), (gst_basesrc_get_property),
26064         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
26065         (gst_basesrc_loop), (gst_basesrc_activate),
26066         (gst_basesrc_change_state):
26067         * gst/base/gstbasesrc.h:
26068         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
26069         (gst_fakesrc_class_init), (gst_fakesrc_init),
26070         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
26071         (gst_fakesrc_get_property), (gst_fakesrc_create):
26072         * gst/elements/gstfakesrc.h:
26073         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
26074         (gst_filesrc_open_file), (gst_filesrc_loop),
26075         (gst_filesrc_activate), (filesrc_find_peek),
26076         (gst_filesrc_type_find):
26077         Made base source class, make fakesrc extend it.
26078         Add comments to basesink class.
26079         Some filesrc cleanup.
26080
26081 2005-03-31  David Schleef  <ds@schleef.org>
26082
26083         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
26084         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
26085         expected to link against libgstreamer.
26086         * gst/base/Makefile.am: link against libgstreamer
26087         * gst/elements/Makefile.am: same
26088
26089 2005-03-31  Andy Wingo  <wingo@pobox.com>
26090
26091         * tests/instantiate/Makefile.am:
26092         * tests/instantiate/caps.c: Add test to test speed of caps copy
26093         and free.
26094
26095         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
26096         GMemChunk to be fair.
26097
26098         * gst/gsttrashstack.h: Remove warning about using the fallback
26099         trash stack implementation, it's still faster than malloc.
26100
26101 2005-03-30  Andy Wingo  <wingo@pobox.com>
26102
26103         * tests/complexity.c: Add a copyright.
26104
26105 2005-03-31  Wim Taymans  <wim@fluendo.com>
26106
26107         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
26108         (gst_base_transform_class_init), (gst_base_transform_init),
26109         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26110         (gst_base_transform_get_property),
26111         (gst_base_transform_sink_activate),
26112         (gst_base_transform_src_activate),
26113         (gst_base_transform_change_state):
26114         * gst/base/gstbasetransform.h:
26115         * gst/elements/gstidentity.c: (gst_identity_class_init),
26116         (gst_identity_event), (gst_identity_check_perfect),
26117         (gst_identity_transform), (gst_identity_start),
26118         (gst_identity_stop):
26119         Added start/stop methods to transform base class so subclasses 
26120         don't need to deal with state changes even.
26121
26122 2005-03-31  Wim Taymans  <wim@fluendo.com>
26123
26124         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
26125         (gst_event_new_discontinuous), (gst_event_discont_get_value):
26126         * gst/gstevent.h:
26127         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26128         (gst_pad_pull_range):
26129         Added rate to the discont event to prepare for variable speed
26130         and reverse playback.
26131
26132 2005-03-29  David Schleef  <ds@schleef.org>
26133
26134         * configure.ac:
26135         * testsuite/trigger/Makefile.am:
26136         * testsuite/trigger/trigger.c: A little example program to show
26137         how trigger-based elements can work.
26138
26139 2005-03-29  Wim Taymans  <wim@fluendo.com>
26140
26141         * gst/base/Makefile.am:
26142         * gst/base/README:
26143         * gst/base/gstbasesink.c: (gst_basesink_get_type),
26144         (gst_basesink_base_init), (gst_basesink_class_init),
26145         (gst_basesink_pad_getcaps), (gst_basesink_init),
26146         (gst_basesink_activate), (gst_basesink_change_state):
26147         * gst/base/gstbasesink.h:
26148         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
26149         (gst_base_transform_base_init), (gst_base_transform_finalize),
26150         (gst_base_transform_class_init), (gst_base_transform_init),
26151         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
26152         (gst_base_transform_event), (gst_base_transform_getrange),
26153         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
26154         (gst_base_transform_set_property),
26155         (gst_base_transform_get_property),
26156         (gst_base_transform_sink_activate),
26157         (gst_base_transform_src_activate),
26158         (gst_base_transform_change_state):
26159         * gst/base/gstbasetransform.h:
26160         * gst/elements/gstidentity.c: (gst_identity_finalize),
26161         (gst_identity_class_init), (gst_identity_init),
26162         (gst_identity_event), (gst_identity_check_perfect),
26163         (gst_identity_transform), (gst_identity_set_property),
26164         (gst_identity_get_property), (gst_identity_change_state):
26165         * gst/elements/gstidentity.h:
26166         * gst/gstelement.c: (gst_element_get_state_func),
26167         (gst_element_lost_state), (gst_element_pads_activate):
26168         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26169         (gst_pad_check_pull_range), (gst_pad_pull_range):
26170         * gst/gstpad.h:
26171         Simplify pad activation.
26172         Added function to check if pull_range can be performed.
26173         Error out when pulling inactive or flushing pads.
26174         Removed const from refcounted types as it does not make sense.
26175         Simplify pad templates in basesink
26176         Added base class for simple 1-to-1 transforms.
26177         Make identity subclass the base transform.
26178
26179 2005-03-29  Andy Wingo  <wingo@pobox.com>
26180
26181         * docs/libs/gstreamer-libs-overrides.txt: 
26182         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
26183         really don't understand what's going on, but like whatever. I want
26184         green buildbot!
26185
26186         * docs/gst/Makefile.am:
26187         * docs/libs/Makefile.am: Dist the overrides files.
26188
26189         * check/Makefile.am (clean-local): Remove .libs directories.
26190
26191         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
26192         elements to EXTRA_DIST, so po/ files are happy.
26193
26194         * po/POTFILES.in: Er, remove it here.
26195
26196         * po/POTFILES: Remove gstspider.c.
26197
26198         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
26199
26200         * docs/libs/gstreamer-libs-docs.sgml: 
26201         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
26202         bytestream.
26203
26204         * tests/complexity.c (main): Set the length of the preroll queue
26205         on the sinks to prevent a lockup.
26206
26207         * libs/gst/dataprotocol/Makefile.am: 
26208         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
26209         the same as the one in check/gst-libs/gdp.c.
26210
26211         * po/, docs/gst/: Commit automatic changes to docs and po files.
26212
26213         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
26214         the versioned libgstbase.
26215
26216         * check/Makefile.am: Depend on an unversioned gst-register, seems
26217         to make autoconf happier.
26218
26219         * gst/base/Makefile.am: Make libgstbase a versioned lib.
26220
26221 2005-03-28  Wim Taymans  <wim@fluendo.com>
26222
26223         * configure.ac:
26224         * docs/design/part-gstelement.txt:
26225         * docs/design/part-negotiation.txt:
26226         * docs/design/part-preroll.txt:
26227         * docs/design/part-scheduling.txt:
26228         * docs/design/part-states.txt:
26229         * gst/Makefile.am:
26230         * gst/base/Makefile.am:
26231         * gst/base/README:
26232         * gst/base/gstbasesink.c: (gst_basesink_get_template),
26233         (gst_basesink_base_init), (gst_basesink_class_init),
26234         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
26235         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
26236         (gst_basesink_set_pad_functions),
26237         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
26238         (gst_basesink_set_property), (gst_basesink_get_property),
26239         (gst_base_sink_get_template), (gst_base_sink_get_caps),
26240         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
26241         (gst_basesink_preroll_queue_push),
26242         (gst_basesink_preroll_queue_empty),
26243         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
26244         (gst_basesink_event), (gst_basesink_get_times),
26245         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
26246         (gst_basesink_chain_unlocked), (gst_basesink_chain),
26247         (gst_basesink_loop), (gst_basesink_activate),
26248         (gst_basesink_change_state):
26249         * gst/base/gstbasesink.h:
26250         * gst/elements/Makefile.am:
26251         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
26252         (gst_fakesink_class_init), (gst_fakesink_init),
26253         (gst_fakesink_set_property), (gst_fakesink_get_property),
26254         (gst_fakesink_get_times), (gst_fakesink_event),
26255         (gst_fakesink_preroll), (gst_fakesink_render),
26256         (gst_fakesink_change_state):
26257         * gst/elements/gstfakesink.h:
26258         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
26259         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
26260         * gst/gstelement.c: (gst_element_add_pad),
26261         (gst_element_get_state_func), (gst_element_abort_state),
26262         (gst_element_commit_state), (gst_element_lost_state),
26263         (gst_element_set_state), (gst_element_pads_activate):
26264         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
26265         * gst/gstpipeline.c: (gst_pipeline_send_event),
26266         (gst_pipeline_change_state):
26267         Added state change code.
26268         Added/updated docs.
26269         Added sink base class, make fakesink extend the base class.
26270         Small cleanups in GstPipeline.
26271
26272 2005-03-26  David Schleef  <ds@schleef.org>
26273
26274         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
26275         is broken and should be implemented in a different library.
26276         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
26277         * gst/gst.h: remove gstcpu.h
26278         * gst/gstcpu.c: remove
26279         * gst/gstcpu.h: remove
26280         * gst/Makefile.am.future: Remove this file.  It's ancient.
26281
26282 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26283
26284         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
26285         (gst_bin_send_event):
26286           Add default event/set_manager handlers. The set_manager handler
26287           takes care that the manager is distributed over kids that were
26288           already in the bin before the manager was set. The event handler
26289           is a utility virtual function that sends the event over all sinks,
26290           so that gst_element_send_event (bin, event); has the expected
26291           behaviour.
26292         * gst/gstpad.c: (gst_pad_event_default):
26293           Re-install default event handling for discontinuities, so that
26294           seeking works without requiring hacks in applications or extra
26295           code in sinks.
26296         * gst/gstpipeline.c: (gst_pipeline_class_init),
26297         (gst_pipeline_send_event):
26298           Half hack, half utility: set a pipeline to PAUSED for seek events,
26299           since that is the only way we can guarantee a/v sync. Means that
26300           you can do gst_element_seek (pipeline, method, pos); on a pipeline
26301           and it "just works".
26302
26303 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26304
26305         * gst/gstpipeline.c: (gst_pipeline_use_clock):
26306           Lock/unlock mismatch.
26307
26308 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26309
26310         * docs/faq/gst-uninstalled:
26311           add gst-plugins-base
26312         * docs/gst/Makefile.am:
26313           don't error out until docs are fixed
26314         * docs/gst/gstreamer.types:
26315           remove thread
26316
26317 2005-03-22  Wim Taymans  <wim@fluendo.com>
26318
26319         * check/Makefile.am:
26320         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
26321         * gst/gststructure.c: (gst_structure_set_valist),
26322         (gst_structure_copy_conditional):
26323         Activated more tests.
26324         Added message test.
26325         Added G_TYPE_POINTER to GstStructure.
26326         
26327
26328 2005-03-22  Wim Taymans  <wim@fluendo.com>
26329
26330         * docs/design/part-TODO.txt:
26331         * docs/design/part-events.txt:
26332         * docs/design/part-gstbin.txt:
26333         * docs/design/part-gstbus.txt:
26334         * docs/design/part-gstpipeline.txt:
26335         * docs/design/part-messages.txt:
26336         * gst/gstbus.c:
26337         * gst/gstmessage.c:
26338         Docs updates
26339
26340 2005-03-21  Wim Taymans  <wim@fluendo.com>
26341
26342         * gst/gstbus.c: (gst_bus_post):
26343         Fix copy-and-paste error.
26344
26345 2005-03-21  Wim Taymans  <wim@fluendo.com>
26346
26347         * check/Makefile.am:
26348         * gst/Makefile.am:
26349         * gst/elements/Makefile.am:
26350         * gst/elements/gstelements.c:
26351         * gst/elements/gstfakesink.c: (gst_fakesink_init),
26352         (gst_fakesink_event), (gst_fakesink_chain):
26353         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26354         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
26355         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
26356         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
26357         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26358         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
26359         (gst_fakesrc_loop), (gst_fakesrc_activate),
26360         (gst_fakesrc_change_state):
26361         * gst/elements/gstfakesrc.h:
26362         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
26363         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
26364         (gst_filesrc_open_file), (gst_filesrc_loop),
26365         (gst_filesrc_activate), (gst_filesrc_change_state),
26366         (filesrc_find_peek), (filesrc_find_suggest),
26367         (gst_filesrc_type_find):
26368         * gst/elements/gstidentity.c: (gst_identity_finalize),
26369         (gst_identity_class_init), (gst_identity_init),
26370         (gst_identity_proxy_getcaps), (identity_queue_push),
26371         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
26372         (gst_identity_getrange), (gst_identity_chain),
26373         (gst_identity_sink_loop), (gst_identity_src_loop),
26374         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
26375         (gst_identity_set_property), (gst_identity_get_property),
26376         (gst_identity_change_state):
26377         * gst/elements/gstidentity.h:
26378         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
26379         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
26380         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
26381         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
26382         (gst_tee_sink_activate):
26383         * gst/elements/gsttee.h:
26384         * gst/gst.c: (gst_register_core_elements), (init_post):
26385         * gst/gst.h:
26386         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
26387         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
26388         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
26389         (gst_bin_change_state):
26390         * gst/gstbin.h:
26391         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
26392         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
26393         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
26394         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
26395         (gst_bus_set_sync_handler), (gst_bus_create_watch),
26396         (bus_watch_callback), (bus_watch_destroy),
26397         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
26398         (poll_timeout), (gst_bus_poll):
26399         * gst/gstbus.h:
26400         * gst/gstcaps.h:
26401         * gst/gstdata.h:
26402         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
26403         (gst_element_post_message), (gst_element_message_full),
26404         (gst_element_get_state_func), (gst_element_get_state),
26405         (gst_element_abort_state), (gst_element_commit_state),
26406         (gst_element_lost_state), (gst_element_set_state),
26407         (gst_element_pads_activate), (gst_element_change_state),
26408         (gst_element_dispose), (gst_element_set_manager_func),
26409         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
26410         (gst_element_set_manager), (gst_element_get_manager),
26411         (gst_element_set_bus), (gst_element_get_bus),
26412         (gst_element_set_scheduler), (gst_element_get_scheduler):
26413         * gst/gstelement.h:
26414         * gst/gstevent.c: (gst_event_new_segment_seek),
26415         (gst_event_new_flush):
26416         * gst/gstevent.h:
26417         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
26418         (_gst_message_free), (gst_message_get_type), (gst_message_new),
26419         (gst_message_new_eos), (gst_message_new_error),
26420         (gst_message_new_warning), (gst_message_new_tag),
26421         (gst_message_new_state_changed), (gst_message_new_application),
26422         (gst_message_get_structure), (gst_message_parse_tag),
26423         (gst_message_parse_state_changed), (gst_message_parse_error),
26424         (gst_message_parse_warning):
26425         * gst/gstmessage.h:
26426         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
26427         (gst_real_pad_set_property), (gst_pad_set_active),
26428         (gst_pad_is_active), (gst_pad_set_blocked_async),
26429         (gst_pad_set_blocked), (gst_pad_is_blocked),
26430         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
26431         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
26432         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
26433         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
26434         (gst_pad_link_filtered), (gst_pad_relink_filtered),
26435         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
26436         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
26437         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
26438         (gst_pad_set_caps), (gst_pad_configure_sink),
26439         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
26440         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
26441         (gst_real_pad_dispose), (gst_real_pad_finalize),
26442         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
26443         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26444         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
26445         * gst/gstpad.h:
26446         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
26447         (pipeline_bus_handler), (gst_pipeline_change_state),
26448         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
26449         * gst/gstpipeline.h:
26450         * gst/gstprobe.h:
26451         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
26452         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
26453         (gst_queue_link_src), (gst_queue_bufferalloc),
26454         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
26455         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
26456         (gst_queue_loop), (gst_queue_handle_src_event),
26457         (gst_queue_handle_src_query), (gst_queue_src_activate),
26458         (gst_queue_change_state):
26459         * gst/gstqueue.h:
26460         * gst/gstscheduler.c: (gst_scheduler_init),
26461         (gst_scheduler_dispose), (gst_scheduler_create_task),
26462         (gst_scheduler_factory_create):
26463         * gst/gstscheduler.h:
26464         * gst/gststructure.c: (gst_structure_get_type),
26465         (gst_structure_copy_conditional):
26466         * gst/gststructure.h:
26467         * gst/gsttaginterface.h:
26468         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26469         (gst_task_init), (gst_task_dispose), (gst_task_create),
26470         (gst_task_get_state), (gst_task_start), (gst_task_stop),
26471         (gst_task_pause):
26472         * gst/gsttask.h:
26473         * gst/gstthread.c:
26474         * gst/gstthread.h:
26475         * gst/gsttypes.h:
26476         * gst/schedulers/Makefile.am:
26477         * gst/schedulers/cothreads_compat.h:
26478         * gst/schedulers/entryscheduler.c:
26479         * gst/schedulers/faircothreads.c:
26480         * gst/schedulers/faircothreads.h:
26481         * gst/schedulers/fairscheduler.c:
26482         * gst/schedulers/gstbasicscheduler.c:
26483         * gst/schedulers/gstoptimalscheduler.c:
26484         * gst/schedulers/gthread-cothreads.h:
26485         * gst/schedulers/threadscheduler.c:
26486         (gst_thread_scheduler_task_get_type),
26487         (gst_thread_scheduler_task_class_init),
26488         (gst_thread_scheduler_task_init),
26489         (gst_thread_scheduler_task_start),
26490         (gst_thread_scheduler_task_stop),
26491         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
26492         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26493         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
26494         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
26495         (plugin_init):
26496         * libs/gst/Makefile.am:
26497         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
26498         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
26499         (gst_file_pad_parent_set):
26500         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26501         (gst_dp_event_from_packet):
26502         * tests/complexity.c: (main):
26503         * tests/mass_elements.c: (main):
26504         * testsuite/states/locked.c: (message_received), (main):
26505         * testsuite/states/parent.c: (main):
26506         * tools/gst-inspect.c: (print_element_flag_info),
26507         (print_implementation_info), (print_pad_info):
26508         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
26509         (main):
26510         * tools/gst-md5sum.c: (event_loop), (main):
26511         * tools/gst-typefind.c: (main):
26512         * tools/gst-xmlinspect.c: (print_element_info):
26513         Next big merge.
26514         Added GstBus for mainloop integration.
26515         Added GstMessage for sending notifications on the bus.
26516         Added GstTask as an abstraction for pipeline entry points.
26517         Removed GstThread.
26518         Removed Schedulers.
26519         Simplified GstQueue for multithreaded core.
26520         Made _link threadsafe, removed old capsnego.
26521         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
26522         Added pad blocking functions.
26523         Reworked scheduling functions in GstPad to prepare for
26524         scheduling updates soon.
26525         Moved events out of data stream.
26526         Simplified GstEvent types.
26527         Added return values to push/pull.
26528         Removed clocking from GstElement.
26529         Added prototypes for state change function for next merge.
26530         Removed iterate from bins and state change management.
26531         Fixed some elements, disabled others for now.
26532         Fixed -inspect and -launch.
26533         Added check for GstBus.
26534
26535 2005-03-10  Wim Taymans  <wim@fluendo.com>
26536
26537         * docs/design/part-MT-refcounting.txt:
26538         * docs/design/part-clocks.txt:
26539         * docs/design/part-gstelement.txt:
26540         * docs/design/part-gstobject.txt:
26541         * docs/design/part-standards.txt:
26542         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26543         (gst_bin_remove_func), (gst_bin_remove):
26544         * gst/gstbin.h:
26545         * gst/gstbuffer.c:
26546         * gst/gstcaps.h:
26547         * testsuite/clock/clock1.c: (main):
26548         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
26549         (main):
26550         * testsuite/dlopen/loadgst.c: (do_test):
26551         * testsuite/refcounting/bin.c: (add_remove_test1),
26552         (add_remove_test2), (main):
26553         * testsuite/refcounting/element.c: (main):
26554         * testsuite/refcounting/element_pad.c: (main):
26555         * testsuite/refcounting/pad.c: (main):
26556         * tools/gst-launch.c: (sigint_handler_sighandler):
26557         * tools/gst-typefind.c: (main):
26558         Doc updates.
26559         Added doc about clock.
26560         removed gst_bin_iterate_recurse_up(), marked methods
26561         for removal.
26562         Fix more testsuites.
26563
26564 2005-03-09  Wim Taymans  <wim@fluendo.com>
26565
26566         * gst/gstpad.c: (gst_pad_get_direction),
26567         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
26568         (gst_pad_collect_valist):
26569         * testsuite/bins/interface.c: (main):
26570         * testsuite/caps/audioscale.c: (test_caps):
26571         * testsuite/caps/caps.c: (test1), (test2), (test3):
26572         * testsuite/caps/deserialize.c: (main):
26573         * testsuite/caps/enumcaps.c: (main):
26574         * testsuite/caps/filtercaps.c: (main):
26575         * testsuite/caps/intersect2.c: (main):
26576         * testsuite/caps/random.c: (main):
26577         * testsuite/caps/renegotiate.c: (my_fixate), (main):
26578         * testsuite/caps/sets.c: (check_caps):
26579         * testsuite/caps/simplify.c: (check_caps), (main):
26580         * testsuite/caps/subtract.c: (check_caps):
26581         Fix _pad_get_direction wrt ghostpads.
26582         Fix caps testsuite.
26583
26584 2005-03-09  Wim Taymans  <wim@fluendo.com>
26585
26586         * check/Makefile.am:
26587         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
26588         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
26589         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
26590         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
26591         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
26592         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
26593         (gst_bin_remove), (gst_bin_iterate_recurse_up),
26594         (bin_element_is_sink), (gst_bin_iterate_sinks),
26595         (gst_bin_iterate_all_by_interface):
26596         * gst/gstbin.h:
26597         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
26598         (gst_element_change_state), (gst_element_dispose),
26599         (gst_element_finalize), (gst_element_set_loop_function):
26600         * gst/gstelement.h:
26601         * gst/gstiterator.c: (find_custom_fold_func):
26602         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26603         (gst_pad_collectv), (gst_pad_collect_valist),
26604         (gst_pad_template_new):
26605         * gst/gstpipeline.c: (gst_pipeline_class_init),
26606         (gst_pipeline_dispose), (gst_pipeline_set_property),
26607         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
26608         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
26609         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
26610         * gst/gstutils.h:
26611         * gst/schedulers/entryscheduler.c:
26612         * gst/schedulers/gstbasicscheduler.c:
26613         (gst_basic_scheduler_cothreaded_chain),
26614         (gst_basic_scheduler_chain_add_element):
26615         * testsuite/bins/interface.c: (main):
26616         Added GstBin test.
26617         Added GstSystemClock test.
26618         Implemented clock distribution code in GstBin.
26619         Implemented iterate sinks method for future use.
26620         Rearranged gstelement.h
26621         Fix GstIterator comparison bug.
26622         Moved some code to GstPipeline, mostly clocking related.
26623
26624 2005-03-09  Wim Taymans  <wim@fluendo.com>
26625
26626         * configure.ac:
26627         * gst/gst_private.h:
26628         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26629         (gst_bin_remove_func), (gst_bin_remove),
26630         (gst_bin_get_by_name_recurse_up):
26631         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
26632         (gst_clock_id_compare_func), (gst_clock_id_wait),
26633         (gst_clock_id_wait_async), (gst_clock_init),
26634         (gst_clock_adjust_unlocked), (gst_clock_get_time):
26635         * gst/gstelement.h:
26636         * gst/gstinfo.c: (_gst_debug_init):
26637         * gst/gstobject.h:
26638         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26639         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
26640         * gst/gstpad.h:
26641         Bump version number, we're now 0.9.0
26642         Add future debugging category.
26643         Fix NULL _unref() in _get_by_name_recurse_up
26644         Rearrange gstpad.h.
26645         Update some docs.
26646
26647 2005-03-08  Wim Taymans  <wim@fluendo.com>
26648
26649         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
26650         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
26651         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26652         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
26653         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
26654         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
26655         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
26656         * gst/elements/gstidentity.c: (gst_identity_class_init):
26657         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
26658         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
26659         * gst/elements/gstshaper.c: (gst_shaper_class_init):
26660         * gst/elements/gststatistics.c: (gst_statistics_class_init):
26661         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
26662         (gst_tee_link):
26663         * gst/gstelement.c: (gst_element_class_init),
26664         (gst_element_base_class_init), (gst_element_init),
26665         (gst_element_get_random_pad), (gst_element_wait_state_change),
26666         (gst_element_change_state), (gst_element_dispose),
26667         (gst_element_finalize), (gst_element_set_loop_function):
26668         * gst/gstelement.h:
26669         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
26670         * gst/gstthread.c: (gst_thread_class_init),
26671         (gst_thread_release_children_locks), (gst_thread_change_state):
26672         * gst/schedulers/gstbasicscheduler.c:
26673         (gst_basic_scheduler_loopfunc_wrapper),
26674         (gst_basic_scheduler_chain_wrapper),
26675         (gst_basic_scheduler_src_wrapper),
26676         (gst_basic_scheduler_remove_element):
26677         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
26678         Remove threadsafe properties. Fix elements because GObject
26679         complains when installing a property before declaring a
26680         set/get_property handler.
26681         Rearrange gstelement.h file, use STATE macros for state locks.
26682         Free mutexes in the finalize method instead of dispose.
26683
26684 2005-03-08  Wim Taymans  <wim@fluendo.com>
26685
26686         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26687         * gst/gstthread.c: (gst_thread_release_children_locks):
26688         Added parentage check.
26689         Fix build og GstThread again.
26690
26691 2005-03-08  Wim Taymans  <wim@fluendo.com>
26692
26693         * docs/design/part-MT-refcounting.txt:
26694         * docs/design/part-conventions.txt:
26695         * docs/design/part-gstobject.txt:
26696         * docs/design/part-relations.txt:
26697         * docs/design/part-standards.txt:
26698         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26699         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
26700         (gst_bin_get_by_name), (gst_bin_get_by_interface),
26701         (gst_bin_iterate_all_by_interface):
26702         * gst/gstbuffer.h:
26703         * gst/gstclock.h:
26704         * gst/gstelement.c: (gst_element_class_init),
26705         (gst_element_change_state), (gst_element_set_loop_function):
26706         * gst/gstelement.h:
26707         * gst/gstiterator.c:
26708         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
26709         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
26710         (gst_object_dispatch_properties_changed), (gst_object_set_name),
26711         (gst_object_set_parent), (gst_object_unparent),
26712         (gst_object_check_uniqueness):
26713         * gst/gstobject.h:
26714         Docs updates, clean up some headers.
26715
26716 2005-03-07  Wim Taymans  <wim@fluendo.com>
26717
26718         * check/.cvsignore:
26719         * check/Makefile.am:
26720         * check/gst-libs/.cvsignore:
26721         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
26722         * check/gst/.cvsignore:
26723         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
26724         (START_TEST), (gstbus_suite), (main):
26725         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
26726         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
26727         (gst_data_suite), (main):
26728         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
26729         (add_fold_func), (gstiterator_suite), (main):
26730         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
26731         (thread_name_object), (thread_name_object_default),
26732         (gst_object_name_compare), (gst_object_suite), (main):
26733         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
26734         (gst_pad_suite), (main):
26735         * check/gstcheck.c: (gst_check_log_message_func),
26736         (gst_check_log_critical_func), (gst_check_init):
26737         * check/gstcheck.h:
26738         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
26739         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
26740         Added checks.
26741
26742 2005-03-07  Wim Taymans  <wim@fluendo.com>
26743
26744         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
26745         (gst_list_iterator_next), (gst_list_iterator_resync),
26746         (gst_list_iterator_free), (gst_iterator_new_list),
26747         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
26748         (gst_iterator_free), (gst_iterator_push), (filter_next),
26749         (filter_resync), (filter_uninit), (filter_free),
26750         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
26751         (gst_iterator_foreach), (find_custom_fold_func),
26752         (gst_iterator_find_custom):
26753         * gst/gstiterator.h:
26754         Added missing files.
26755
26756 2005-03-07  Wim Taymans  <wim@fluendo.com>
26757
26758         * Makefile.am:
26759         * configure.ac:
26760         * docs/design/part-MT-refcounting.txt:
26761         * docs/design/part-conventions.txt:
26762         * docs/design/part-gstobject.txt:
26763         * docs/design/part-relations.txt:
26764         * examples/mixer/mixer.c: (main):
26765         * examples/thread/thread.c: (eos), (main):
26766         * gst/Makefile.am:
26767         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
26768         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
26769         (gst_spider_plug_from_srcpad):
26770         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
26771         (gst_spider_identity_change_state),
26772         (gst_spider_identity_sink_loop_type_finding):
26773         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
26774         * gst/elements/gstidentity.c: (gst_identity_init):
26775         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
26776         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
26777         * gst/elements/gsttypefindelement.c: (free_entry):
26778         * gst/gst.c:
26779         * gst/gst.h:
26780         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
26781         (gst_bin_set_clock_func), (gst_bin_auto_clock),
26782         (gst_bin_set_index), (gst_bin_set_element_sched),
26783         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
26784         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
26785         (gst_bin_iterate_elements), (iterate_child_recurse),
26786         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
26787         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
26788         (compare_interface), (gst_bin_get_by_interface),
26789         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
26790         * gst/gstbin.h:
26791         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
26792         (gst_buffer_default_free), (gst_buffer_default_copy),
26793         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
26794         (gst_buffer_create_sub):
26795         * gst/gstbuffer.h:
26796         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
26797         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
26798         (gst_caps_unref), (gst_static_caps_get),
26799         (gst_caps_remove_and_get_structure), (gst_caps_append),
26800         (gst_caps_append_structure), (gst_caps_remove_structure),
26801         (gst_caps_copy_nth), (gst_caps_set_simple),
26802         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
26803         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
26804         (gst_caps_structure_intersect_field), (gst_caps_intersect),
26805         (gst_caps_structure_subtract_field), (gst_caps_subtract),
26806         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
26807         (gst_caps_structure_figure_out_union),
26808         (gst_caps_switch_structures), (gst_caps_do_simplify),
26809         (gst_caps_replace), (gst_caps_from_string),
26810         (gst_caps_copy_conditional):
26811         * gst/gstcaps.h:
26812         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
26813         (_gst_clock_id_free), (gst_clock_id_unref),
26814         (gst_clock_id_compare_func), (gst_clock_id_wait),
26815         (gst_clock_id_wait_async), (gst_clock_class_init),
26816         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
26817         (gst_clock_get_time), (gst_clock_set_time_adjust),
26818         (gst_clock_set_property), (gst_clock_get_property):
26819         * gst/gstclock.h:
26820         * gst/gstcompat.h:
26821         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
26822         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
26823         * gst/gstdata.h:
26824         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
26825         (gst_element_requires_clock), (gst_element_provides_clock),
26826         (gst_element_set_clock), (gst_element_clock_wait),
26827         (gst_element_wait), (gst_element_set_time_delay),
26828         (gst_element_is_indexable), (gst_element_add_pad),
26829         (gst_element_add_ghost_pad), (gst_element_remove_pad),
26830         (pad_compare_name), (gst_element_get_static_pad),
26831         (gst_element_request_pad), (gst_element_get_request_pad),
26832         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
26833         (gst_element_class_get_pad_template_list),
26834         (gst_element_class_get_pad_template), (gst_element_error_func),
26835         (gst_element_get_random_pad), (gst_element_get_event_masks),
26836         (gst_element_send_event), (gst_element_seek),
26837         (gst_element_get_query_types), (gst_element_query),
26838         (gst_element_get_formats), (gst_element_convert),
26839         (gst_element_is_locked_state), (gst_element_set_locked_state),
26840         (gst_element_sync_state_with_parent), (gst_element_change_state),
26841         (gst_element_finalize), (gst_element_yield),
26842         (gst_element_interrupt), (gst_element_set_scheduler),
26843         (gst_element_get_scheduler), (gst_element_set_loop_function):
26844         * gst/gstelement.h:
26845         * gst/gstevent.h:
26846         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
26847         (gst_format_get_by_nick), (gst_format_get_details),
26848         (gst_format_iterate_definitions):
26849         * gst/gstformat.h:
26850         * gst/gstindex.c: (gst_index_gtype_resolver):
26851         * gst/gstinfo.c:
26852         * gst/gstinfo.h:
26853         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
26854         (gst_mem_chunk_free):
26855         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
26856         (gst_object_ref), (gst_object_unref), (gst_object_sink),
26857         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
26858         (gst_object_dispatch_properties_changed),
26859         (gst_object_set_name_default), (gst_object_set_name),
26860         (gst_object_get_name), (gst_object_set_name_prefix),
26861         (gst_object_get_name_prefix), (gst_object_set_parent),
26862         (gst_object_get_parent), (gst_object_unparent),
26863         (gst_object_check_uniqueness), (gst_object_save_thyself),
26864         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
26865         (gst_object_set_property), (gst_object_get_property),
26866         (gst_object_get_path_string):
26867         * gst/gstobject.h:
26868         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26869         (gst_real_pad_init), (gst_real_pad_get_property),
26870         (gst_pad_custom_new), (gst_pad_get_direction),
26871         (gst_pad_set_active), (gst_pad_is_active),
26872         (gst_pad_set_event_function), (gst_pad_is_linked),
26873         (gst_pad_link_free), (gst_pad_link_intersect),
26874         (gst_pad_link_fixate), (gst_pad_set_caps),
26875         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
26876         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
26877         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
26878         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
26879         (gst_pad_get_caps), (gst_pad_peer_get_caps),
26880         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
26881         (gst_pad_realize), (gst_pad_get_allowed_caps),
26882         (gst_real_pad_dispose), (gst_real_pad_finalize),
26883         (gst_pad_collectv), (gst_pad_collect_valist),
26884         (gst_pad_template_dispose), (gst_pad_template_new),
26885         (gst_pad_get_internal_links):
26886         * gst/gstpad.h:
26887         * gst/gstpipeline.c: (gst_pipeline_dispose),
26888         (gst_pipeline_change_state):
26889         * gst/gstpipeline.h:
26890         * gst/gstplugin.c:
26891         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
26892         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
26893         * gst/gstpluginfeature.h:
26894         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
26895         * gst/gstquery.c: (_gst_query_type_initialize),
26896         (gst_query_type_register), (gst_query_type_get_by_nick),
26897         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
26898         * gst/gstquery.h:
26899         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
26900         * gst/gstscheduler.c: (gst_scheduler_add_element),
26901         (gst_scheduler_factory_create):
26902         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26903         (gst_structure_free), (gst_structure_set_name),
26904         (gst_structure_id_set_value), (gst_structure_set_value),
26905         (gst_structure_set_valist), (gst_structure_remove_field),
26906         (gst_structure_remove_fields),
26907         (gst_structure_remove_fields_valist),
26908         (gst_structure_remove_all_fields), (gst_structure_foreach),
26909         (gst_structure_map_in_place),
26910         (gst_caps_structure_fixate_field_nearest_int),
26911         (gst_caps_structure_fixate_field_nearest_double):
26912         * gst/gststructure.h:
26913         * gst/gstsystemclock.c: (gst_system_clock_class_init),
26914         (gst_system_clock_init), (gst_system_clock_dispose),
26915         (gst_system_clock_async_thread),
26916         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
26917         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
26918         * gst/gstsystemclock.h:
26919         * gst/gsttag.c: (gst_tag_list_add_value_internal),
26920         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
26921         * gst/gsttaginterface.c:
26922         * gst/gstthread.c: (gst_thread_dispose),
26923         (gst_thread_release_children_locks), (gst_thread_change_state),
26924         (gst_thread_main_loop):
26925         * gst/gsttrashstack.h:
26926         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
26927         * gst/gsttypes.h:
26928         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26929         (gst_element_request_pad), (gst_element_get_pad_from_template),
26930         (gst_element_request_compatible_pad),
26931         (gst_element_get_compatible_pad_filtered),
26932         (gst_element_get_compatible_pad), (gst_element_state_get_name),
26933         (gst_element_link_pads_filtered), (gst_element_link_filtered),
26934         (gst_element_link_many), (gst_element_link),
26935         (gst_element_link_pads), (gst_element_unlink_pads),
26936         (gst_element_unlink_many), (gst_element_unlink),
26937         (gst_pad_can_link_filtered), (gst_pad_can_link),
26938         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
26939         (gst_object_default_error), (gst_bin_add_many),
26940         (gst_bin_remove_many), (gst_element_populate_std_props),
26941         (gst_element_class_install_std_props), (gst_buffer_merge),
26942         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
26943         (link_fold_func), (gst_pad_proxy_setcaps):
26944         * gst/gstutils.h:
26945         * gst/gstvalue.c: (gst_value_deserialize_string):
26946         * gst/parse/grammar.y:
26947         * gst/schedulers/gstbasicscheduler.c:
26948         (gst_basic_scheduler_cothreaded_chain),
26949         (gst_basic_scheduler_chain_recursive_add),
26950         (gst_basic_scheduler_pad_link):
26951         * gst/schedulers/gstoptimalscheduler.c:
26952         (get_group_schedule_function),
26953         (gst_opt_scheduler_state_transition),
26954         (gst_opt_scheduler_add_element), (element_get_reachables_func):
26955         * libs/gst/bytestream/bytestream.c:
26956         * libs/gst/dataprotocol/dataprotocol.c:
26957         (gst_dp_header_from_buffer):
26958         * po/nb.po:
26959         * po/ru.po:
26960         * tests/threadstate/threadstate2.c: (eos):
26961         * tools/gst-compprep.c: (main):
26962         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
26963         (print_pad_info), (print_children_info):
26964         * tools/gst-launch.c: (idle_func), (main):
26965         * tools/gst-md5sum.c: (idle_func), (main):
26966         * tools/gst-xmlinspect.c: (print_element_info):
26967         First THREADED backport attempt, focusing on adding locks and
26968         making sure the API is threadsafe. Needs more work. More docs
26969         follow this week.
26970
26971 2005-02-24  Andy Wingo  <wingo@pobox.com>
26972
26973         * tests/bench-complexity.scm:
26974         * tests/complexity.gnuplot: New files, good for running complexity
26975         benchmarks.
26976
26977         * tests/Makefile.am:
26978         * tests/complexity.c: New test, sets up N elements, at each level
26979         teeing into M streams per element. Eeeenteresting.
26980
26981         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
26982         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
26983         running bench-mass_elements.scm.
26984
26985         * tests/bench-mass_elements.scm: New script, runs mass_elements
26986         for various numbers of identities, outputting the results to a
26987         file. Requires guile 1.6. Just for testing.
26988
26989 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26990
26991         * gst/schedulers/fairscheduler.c:
26992           compile with debug disabled
26993
26994 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26995
26996         * configure.ac:
26997           hunting season on 0.9 is now OPEN