tests/check/generic/sinks.c: Fix leak in unit test (bus sync handler must unref the...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * tests/check/generic/sinks.c: (async_done_func),
4           (async_done_eos_func):
5           Fix leak in unit test (bus sync handler must unref the message
6           if it returns GST_BUS_DROP). Don't fiddle with the default test
7           timeout, this is smaller than the current preconfigured value
8           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
9           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
10
11 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
12
13         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
14
15         * configure.ac:
16         Check for stdio_ext.h for the filesink changes.
17
18         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
19         (gst_file_sink_class_init), (gst_file_sink_init),
20         (gst_file_sink_dispose), (gst_file_sink_set_property),
21         (gst_file_sink_get_property), (gst_file_sink_open_file),
22         (gst_file_sink_close_file):
23         * plugins/elements/gstfilesink.h:
24         Add two properties to control the buffering mode and size.
25         API: GstFileSink::buffer-mode
26         API: GstFileSink::buffer-size
27         Fixes #500150.
28
29 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
30
31         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
32         Add some more docs to explain why a FIXME was wrongly added. 
33
34 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
35
36         * gst/gstobject.c:
37           Fix typo in the gst_object_{ref,unref} documentation.
38
39 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * tests/check/libs/controller.c:
42         * tests/check/libs/typefindhelper.c:
43         * tests/check/pipelines/parse-launch.c:
44           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
45           going to be deprecated (see #498924).
46
47 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
48
49         * gst/gsttypefind.c: (gst_type_find_register):
50           Make gst_type_find_register work for static typefind functions,
51           ie. allow passing plugin == NULL (prerequisite for #498924).
52
53         * gst/gstelementfactory.c: (gst_element_register):
54           Small docs addition.
55
56 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
57
58         * gst/gstpad.c: (gst_pad_dispose):
59         Really unlink the peer pad instead of setting the peer pointer to NULL
60         when we dispose the pad.
61         This correctly calls the unlink functions and makes sure that the peer
62         does not have a handle to invalid memory. See #504671.
63
64         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
65         Add testsuite for above case.
66
67 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
68
69         Patch by: Peter Kjellerstedt <pkj axis com>
70
71         * libs/gst/check/gstcheck.h:
72           Fix detection of the check version we're compiling against (would
73           otherwise break if check goes v0.10.0); correctly report the
74           name of the failed test again in case of failure, instead of
75           just 'tf' (fixes #504499).
76
77 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
78
79         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
80         (gst_base_src_get_range), (gst_base_src_pad_get_range),
81         (gst_base_src_loop), (gst_base_src_set_flushing),
82         (gst_base_src_change_state):
83         Allow sending EOS to the source to make it send out an EOS event from
84         the streaming thread.
85         Update docs and deprecate the old NULL/READY shutdown method.
86
87         * tests/check/libs/basesrc.c: (GST_START_TEST),
88         (gst_basesrc_suite):
89         Add unit test for controlled shutdown.
90
91 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
92
93         * docs/design/part-synchronisation.txt:
94         Small updates.
95
96         * gst/gstsegment.c: (gst_segment_set_seek),
97         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
98         (gst_segment_to_running_time):
99         The seek format can be different from the segment format when the start
100         and stop values are not to be updated, when we only do a rate change for
101         example.
102
103         * tests/check/gst/gstsegment.c: (GST_START_TEST),
104         (gst_segment_suite):
105         Add a testcase for the rate-only seeks, checking that the format is
106         correctly ignored when start and stop are not updated.
107
108 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
109
110         Patch by: Matthias Bolte <photon at mail dot upb dot de>
111
112         * win32/vs8/grammar.vcproj:
113         * win32/vs8/libgstcontroller.vcproj:
114         * win32/vs8/libgstreamer.vcproj:
115         Fix compilation with VS8 and include some missing files.
116
117 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
118
119         * gst/gsttaglist.c:
120           Small docs addition: mention that the strings returned by
121           gst_tag_list_get_string*() are in UTF-8 encoding.
122
123 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
124
125         * Makefile.am:
126           The check-exports stuff moved to common/win32.mak, so include that.
127
128 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
129
130         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
131         (gst_base_src_perform_seek), (gst_base_src_get_range),
132         (gst_base_src_set_playing), (gst_base_src_change_state):
133         Make _wait_playing() not check any variables so that we can call this
134         function from subclasses. Move the checks elsewhere similar to
135         _wait_preroll() in basesink.
136         Add some debugging.
137         Only signal the LIVE cond when we are going back to PLAYING.
138
139 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
140
141         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
142           Use g_remove() and g_rename(). Check result of g_rename(), and
143           don't leak the open file descriptor if we error out when writing.
144
145         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
146           Must check the return value of close() after writing out the new
147           registry file.  Sometimes write problems such as out-of-diskspace
148           are only reported when the file is closed and not already during
149           the write.  This may have caused partial/broken registry files in
150           some rare circumstances. Should fix #503675.
151
152 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
153
154         * docs/gst/.cvsignore:
155         * docs/libs/.cvsignore:
156         * docs/plugins/.cvsignore:
157         Ignore files generated by new common/* modifications
158
159 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
160
161         * win32/common/libgstbase.def:
162           Yes, you can also have a <TAB> if you want.
163
164 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
165
166         * win32/common/libgstbase.def:
167           Add new basetransform API to win export file.
168
169 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
170
171         * tests/check/gst/gstbin.c:
172           Adjust the test to the refcount change two days ago.
173
174 2007-12-14  David Schleef  <ds@schleef.org>
175
176         * docs/faq/getting.xml: Fix typo.
177
178 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
179
180         * docs/libs/gstreamer-libs-sections.txt:
181         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
182           (gst_base_transform_prepare_output_buffer),
183           (gst_base_transform_set_gap_aware):
184         * libs/gst/base/gstbasetransform.h:
185           API: Add gst_base_transform_set_gap_aware() to control whether
186           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
187           get buffers with this flag at all. Fixes #503231.
188
189 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
190
191         * libs/gst/base/gstbasesink.c:
192         * libs/gst/base/gstbasesrc.c:
193         * libs/gst/base/gstbasetransform.c:
194           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
195           thread. Correct log message in gstbasesrc.c.
196
197 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
198
199         * gst/gstutils.c: (element_find_unconnected_pad):
200           Fix possible compiler warning (#503417).
201
202 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
205           Don't use GST_CAT_EVENT here for logging, it makes no sense.
206
207 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
208
209         * tools/gst-inspect.c: (print_element_properties_info):
210           Add support for GstFraction properties.
211
212 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
213
214         * Makefile.am:
215           Add check-exports target and run it as part of 'make check'
216           (see #499140 and #493983).
217
218         * gst/gst_private.h:
219         * gst/gstelementfactory.h:
220         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
221         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
222           (_priv_gst_in_valgrind):
223         * gst/gstinfo.h: (GstLogFunction):
224         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
225           (gst_type_find_register):
226         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
227           (gst_type_find_factory_get_type):
228         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
229           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
230           (gst_controller_new_valist), (gst_controller_new_list),
231           (_gst_controller_dispose), (_gst_controller_class_init):
232         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
233         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
234           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
235           (gst_object_get_controller), (gst_object_set_controller),
236           (gst_object_suggest_next_sync), (gst_object_sync_values),
237           (gst_object_set_control_source), (gst_object_get_control_source),
238           (gst_object_get_value_arrays), (gst_object_get_value_array),
239           (gst_object_get_control_rate), (gst_object_set_control_rate):
240         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
241         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
242           Make some functions that should be static static; rename some
243           private symbols so that they don't get exported; add some FIXME
244           comments so we can move accidentally exported functions into
245           our private section in 0.11.
246
247         * win32/common/libgstreamer.def:
248           Add gst_utils_get_timestamp().
249
250 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
251
252         * gst/gstvalue.c:
253         * gst/gstvalue.h:
254           Add more missing "Since:" tags to docs.
255
256 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
257
258         * gst/gstutils.c:
259           Add mising "Since:" to docs.
260
261 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
262
263         * gst/gstplugin.c:
264           Include "glib-compat-private.h" to fix the build on system with
265           glib < 2.10. Fixes #503131.
266
267 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
268
269         * gst/gstutils.c:
270         * gst/gstutils.h:
271           Actually its not PURE as it gets the time from elsewhere.
272
273 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
274
275         * docs/gst/gstreamer-sections.txt:
276         * gst/gstclock.h:
277         * gst/gstdebugutils.c:
278         * gst/gstinfo.c:
279         * gst/gstutils.c:
280         * gst/gstutils.h:
281         * libs/gst/base/gstbasesink.c:
282         * tools/gst-launch.c:
283           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
284           uses as we don't have HAVE_POSIX_TIMERS in public headers.
285           Thanks Tim for spotting.
286
287 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
288
289         * configure.ac:
290           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
291
292 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
293
294         * gst/gststructure.c: (gst_structure_validate_name),
295           (gst_structure_new_valist), (gst_structure_parse_value),
296           (gst_structure_from_string):
297           Don't crash in _from_string() if the structure name is not valid
298           (fixes #501560).  Allow structure names to start with a number
299           again (this apparently broke the ubuntu codec installer).
300
301         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
302           (GST_START_TEST):
303           Add unit test for the crash; update unit tests for new behaviour.
304
305 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
306
307         * gst/gstutils.c:
308         Clarify gst_element_get_compatible_pad() documentation.
309         Fixes #500919.
310
311 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
312
313         * tests/check/Makefile.am:
314           Don't forget to dist {gst,libs}/struct_hppa.h.
315
316 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
317
318         * libs/gst/base/gstbasesink.c:
319           Use new API to get elapsed time.
320
321 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
322
323         * gst/gstdebugutils.c:
324         * gst/gstinfo.c:
325           Fix wrong order of args in GST_CLOCK_DIFF() usage.
326
327         * tools/gst-launch.c:
328           Use new API to get elapsed time.
329
330 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
331
332         * docs/gst/gstreamer-sections.txt:
333         * gst/gstclock.h:
334         * gst/gstdebugutils.c:
335         * gst/gstinfo.c:
336           Rename new API + ChangeLog surgery to remove old name from last entry..
337           API: GST_GET_TIMESTAMP
338
339 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
340
341         * docs/gst/gstreamer-sections.txt:
342         * gst/gstclock.h:
343         * gst/gstdebugutils.c:
344         * gst/gstinfo.c:
345           Now hide the different clock stuff behind a macro.
346
347 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
348
349         * configure.ac:
350         * gst/gstdebugutils.c:
351         * gst/gstinfo.c:
352           Apply the posix-timer check from #361155. Conditionally use the posix
353           timer for logging. This gives better timestamp precission, less
354           overhead and no ntp jitter.
355
356 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
357
358         * gst/gstminiobject.c: (gst_mini_object_get_type),
359         (gst_mini_object_class_init), (gst_mini_object_copy_default),
360         (gst_mini_object_finalize), (gst_mini_object_copy),
361         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
362         (gst_mini_object_replace), (param_mini_object_validate),
363         (gst_param_spec_mini_object_get_type):
364         Some cleanup and checking against invalid function parameters.
365
366 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
367
368         * docs/gst/gstreamer-sections.txt:
369         * gst/gstclock.h:
370         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
371         (gst_systemclock_suite):
372         Start merging in the easy bits of #361155, the monotonic clock patch.
373         This one adds a few handy macros with docs and a testsuite.
374
375 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
376
377         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
378         Be a bit smarter when seeking, like, don't try to do a seek when it's
379         not needed. This avoids errors when the file is not seekable.
380         Fixes #499771.
381
382 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
383
384         * docs/gst/gstreamer-docs.sgml:
385         * docs/gst/gstreamer-sections.txt:
386         * docs/gst/gstreamer.types.in:
387         * gst/Makefile.am:
388         * gst/gst.h:
389         * gst/gstpreset.c:
390         * gst/gstpreset.h:
391         * plugins/elements/gstqueue.c:
392           Due to popular request remove preset interface again. :-(.
393
394 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
395
396         * tools/gst-inspect.c:
397           Print 'default value' for enums and flags too.
398
399 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
400
401         * docs/random/ensonic/profiling.txt:
402           More ideas.
403
404         * gst/gstbin.c:
405           Fix typo and give better log output.
406
407         * gst/gstdebugutils.c:
408         * gst/gstdebugutils.h:
409           More ideas, make graphs a bit smaller and fix param name in macro.
410
411 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
412
413         * gst/gstpreset.c:
414           Try harder to use the return value from fgets().
415
416 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
417
418         * gst/gstpreset.c:
419           For theses two fgets we handle the error below.
420
421 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
422
423         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
424         Only send upstream events upstream. Fixes #498746.
425
426 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
427
428         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
429
430         * plugins/elements/gstidentity.c: (gst_identity_class_init),
431         (gst_identity_init), (gst_identity_transform_ip),
432         (gst_identity_set_property), (gst_identity_get_property):
433         * plugins/elements/gstidentity.h:
434         Add property to disable handoff signal emission. Fixes #498694.
435         API: GstIdentity::signal-handoffs
436
437 2007-11-21  Julien Moutte  <julien@fluendo.com>
438
439         * docs/faq/gst-uninstalled: Yet another missing library for the
440         uninstalled script (fft)
441
442 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
443
444         * docs/faq/developing.xml:
445         Add a question about how to submit new translations.
446
447         * docs/random/release:
448         Update the contact email address for the Translation Project
449
450         * plugins/elements/gstfdsrc.c:
451         The parent_class for fdsrc is pushsrc, not GstElement.
452
453 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
454
455         * gst/gstpreset.c:
456           Plug a leak and fix saving.
457
458 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
459
460         * docs/gst/gstreamer-sections.txt:
461         Add new gst_preset__get_property_names() function to the docs
462         to fix the build.
463
464 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
465
466         * gst/gstpreset.c:
467         * gst/gstpreset.h:
468           Change _get_preset_names API to return a strv with copies. Add
469           _get_property_names to allow implementations to filter and provide
470           good default implementation.
471
472 2007-11-20  Julien MOUTTE  <julien@moutte.net>
473
474         * docs/faq/gst-uninstalled: Add another library to the uninstalled
475         script (sdp).
476
477 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
478
479         * gst/gstpreset.c:
480           More cleanups, docs, and TODOs from comments that now slowly come in.
481
482 2007-11-19  Julien MOUTTE  <julien@moutte.net>
483
484         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
485         search path.
486
487 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
488
489         * gst/gstpreset.c:
490           Fix bogus warning and make the property type specific code more
491           similar.
492
493 2007-11-19  Julien MOUTTE  <julien@moutte.net>
494
495         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
496         it build on OS X.
497
498 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
499
500         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
501         (gst_bin_add_func), (gst_bin_remove_func),
502         (gst_bin_change_state_func), (gst_bin_continue_func):
503         Change email, cleanups add some more debug and comments.
504         Also set bus and clock on new elements when the pipeline was in error.
505
506 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
507
508         * gst/gstbin.c:
509         * gst/gstdebugutils.c:
510           Fix build with --disable-gst-debug. Fixes #497859.
511           Spotted by Sameer Naik.
512
513 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
514
515         * gst/gstevent.c:
516           Little documentation improvment.
517
518         * gst/gstpreset.c:
519           More TODO cleanups. Remove c++ comments.
520
521         * libs/gst/controller/gstcontroller.c:
522           Add TODO and use quark from static string.
523
524         * tests/check/gst/gstmessage.c:
525         * tests/check/gst/gststructure.c:
526           Use quark from static string.
527
528 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
529
530         * gst/gstpreset.c:
531           Add some comments and TODOs.
532
533         * gst/gstpreset.h:
534           Add padding for future changes.
535
536         * plugins/elements/gstqueue.c:
537           Implement the iface.    
538
539 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
540
541         * docs/gst/gstreamer-docs.sgml:
542         * docs/gst/gstreamer-sections.txt:
543         * docs/gst/gstreamer.types.in:
544         * gst/Makefile.am:
545         * gst/gst.h:
546         * gst/gstpreset.c:
547         * gst/gstpreset.h:
548           Add the preset interface (Fixes #396779). Do some doc cleanups along.
549
550 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
551
552         * configure.ac:
553
554         Back to CVS
555
556 === release 0.10.15 ===
557
558 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
559
560         * configure.ac:
561           releasing 0.10.15, "October"
562
563 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
564
565         * win32/vs6/libgstreamer.dsp:
566         Convert line endings back to DOS.
567
568 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
569
570         * docs/design/draft-tagreading.txt:
571         * docs/random/ensonic/profiling.txt:
572         Update fast tagreading draft and performance profiling ideas.
573
574 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
575
576         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
577         Don't hold the object lock when unreffing a buffer because it could
578         cause a deadlock when the finalize function wants to grab the object
579         lock too. Fixes #495133.
580
581 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
582
583         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
584         (gst_segment_to_stream_time), (gst_segment_to_running_time):
585         Also accumulate time correctly when doing reverse playback. Fixes
586         #488201,
587         When converting to running and stream time, use default values for
588         start/stop/time/accum when comparing different formats. Fixes #494245.
589
590         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
591         Do running/stream time in TIME format.
592
593         * tests/check/gst/gstsegment.c: (GST_START_TEST),
594         (gst_segment_suite):
595         2 new unit tests for segment accumulation.
596
597 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
598
599         * gst/gst.c: (init_pre):
600         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
601           (_gst_debug_bin_to_dot_file):
602           Move getenv() back into gst_init, so everyone can live happily
603           ever after. Make sure the symbol isn't exported though.
604
605 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
606
607         Patch by: Sebastien Moutte  <sebastien moutte net>
608
609         * win32/common/gstenumtypes.c:
610         * win32/common/gstenumtypes.h:
611           Update enum types.
612
613         * win32/vs6/libgstreamer.dsp:
614           Update vs6 project files (#494343).
615
616 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
617
618         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
619         (gst_base_src_perform_seek), (gst_base_src_default_event),
620         (gst_base_src_set_flushing), (gst_base_src_activate_push),
621         (gst_base_src_activate_pull):
622         Unify flushing code, remove some old unlock code that is no longer used.
623         Take the streaming lock when seeking to avoid races. Fixes #492729.
624         Added some more comments.
625
626 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
627
628         * gst/gst.c: (_gst_disable_segtrap):
629           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
630           we can use gst_segtrap_is_enabled() there now that we have that API.
631           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
632           to do the getenv here (and export the variable).
633
634         * gst/gstdebugutils.c: (debug_dump_element),
635           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
636           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
637
638         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
639           (gst_debug_log_default):
640           Rename _gst_info_start_time to priv_gst_info_start_time so it
641           doesn't get exported (was never in any header).
642
643         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
644           (gst_plugin_loading_mutex):
645           Make static mutex gst_plugin_loading_mutex really static (was never
646           in any header), and use gst_segtrap_is_enabled() instead of
647           _gst_disable_segtrap.
648
649         * gst/gsttrace.c: (_gst_trace_default):
650           Make local _gst_trace_default static (was never in any header).
651
652 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
653
654         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
655
656         * win32/common/libgstbase.def:
657         * win32/common/libgstcontroller.def:
658         * win32/common/libgstdataprotocol.def:
659         * win32/common/libgstnet.def:
660         * win32/common/libgstreamer.def:
661           Add more missing symbols, remove some duplicates, and sort
662           as the 'sort' command sorts it (partially fixes #493983).
663
664 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
665
666         * gst/gstelement.c: (gst_element_set_state_func):
667         Only change the state cookie if a different state was set on the
668         element. See #492729.
669
670 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
671
672         * gst/gstvalue.c:
673           Remove unused and uninitialised type variables that were still
674           exported for some reason (they were never in any header files
675           though).
676
677 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
678
679         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
680         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
681         (gst_base_sink_event), (gst_base_sink_get_position_last),
682         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
683         (gst_base_sink_change_state):
684         Don't try to report a 0 position when we don't know, return -1 and FALSE
685         instead. This mostly happens when we are prerolling.
686         Make sure we can report the right position before we post the ASYNC_DONE
687         message so that a message handler can query position without races.
688
689         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
690         (async_done_handoff), (async_done_func), (send_buffer),
691         (async_done_eos_func), (gst_sinks_suite):
692         Add two tests for the above.
693
694 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
695
696         * MAINTAINERS:
697         Update with new email address.
698
699         * docs/design/part-TODO.txt:
700         Add some more info about future pad-block and negotiation changes.
701
702         * docs/design/part-buffering.txt:
703         Add some ideas about buffering reporting.
704
705 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
706
707         * tests/check/gst/gstobject.c:
708         Disable silly racy test that always fails on this combination of CPU
709         and kernel.
710
711 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
712
713         Patch by: Murray Cumming  <murrayc@murrayc.com>
714
715         * gst/gstobject.c:
716           Corrected the registration of the parent-set and parent-unset
717           signals: The parameter is a GstObject, not a GObject (#493134).
718
719 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
720
721         * gst/gst_private.h:
722         * gst/gstbuffer.h:
723         * gst/gstevent.h:
724         * gst/gstformat.h:
725         * gst/gstmessage.h:
726         * gst/gstplugin.h:
727         * gst/gstquery.h:
728         * gst/gsttaglist.h:
729         * gst/gstvalue.h:
730           Move declaration of private _gst_foo_initialize() functions into
731           our private header file where they should have been all along.
732
733 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
734
735         * docs/plugins/gstreamer-plugins-sections.txt:
736         * gst/gstdebugutils.h:
737         * gst/gstxml.h:
738         * plugins/elements/gstqueue.c:
739           gtk-doc fixes; trailing-comma-in-enum fix.
740
741 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
742
743         * gst/gst.c: (gst_deinit):
744           Clean up on deinit (not the external ones though, doesn't seem to be
745           needed for some reason).
746
747 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
748
749         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
750           Remove __declspec(dllimport) for MSVC that was copied over into core
751           from a plugin, obviously without ever having been tested (note the
752           single underscore in _declspec in the initial commit), and that doesn't
753           really make sense.  See #492077.
754
755 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
756
757         * gst/gst.c: (init_post):
758         * gst/gstevent.c: (_gst_event_initialize):
759         * gst/gstquery.c: (_gst_query_initialize):
760         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
761           g_type_class_ref() other types as well, see #349410 and #64764.
762
763         * gst/gstbuffer.c: (_gst_buffer_initialize):
764         * gst/gstmessage.c: (_gst_message_initialize):
765           Simplify existing g_type_class_ref().
766
767 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
768
769         * gst/gstformat.c: (_gst_format_initialize):
770           g_type_class_ref() our GstFormat type to make sure we avoid the
771           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
772           bug #64764. Should fix intermittent tee unit test failures (#474823).
773
774 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
775
776         * tests/check/elements/tee.c: (test_num_buffers):
777           Simplify, simplify, simplify - or not.  Rewrite unit test
778           not to use gst_parse_launch(); allow N sub-streams. Increasing
779           the number of sub-streams seems to reproduce #474823 more easily.
780
781 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
782
783         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
784
785         * gst/gsttrace.c:
786         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
787         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
788         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
789           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
790           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
791           so use _pipe() directly (#492077).
792
793         * win32/common/dirent.c: (_treaddir):
794           Add a couple of casts to make it build without warnings with MSVC.
795
796         * win32/common/libgstreamer.def:
797           Add some more symbols that need to be exported.
798
799 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
800
801         * tests/examples/metadata/read-metadata.c: (message_loop):
802           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
803           arriving in a second or third tag message are added to
804           the tag list as well.
805
806 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
807
808         * libs/gst/base/gstbasesrc.c:
809           Its "Since:" and not "@Since:". And remove an superflous cast.
810
811 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
812
813         * docs/libs/gstreamer-libs-sections.txt:
814         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
815         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
816         (gst_base_sink_get_property), (gst_base_sink_render_object),
817         (gst_base_sink_preroll_object),
818         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
819         (gst_base_sink_change_state):
820         * libs/gst/base/gstbasesink.h:
821         Add a new last-buffer property that contains the last buffer used in
822         basesink for preroll or rendering. useful for making snapshots.
823         API: gst_base_sink_get_last_buffer()
824         API: GstBaseSink::last-buffer
825
826 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
827
828         * docs/gst/running.xml:
829         * gst/gst.c:
830         * gst/gstdebugutils.c:
831         * gst/gstdebugutils.h:
832         * tools/gst-launch.c:
833           Improve bin graph dumping, by using the envvar to specify a path.
834           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
835
836 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
837
838         * plugins/elements/gsttypefindelement.c:
839           (gst_type_find_element_handle_event),
840           (gst_type_find_element_activate):
841           Post special error message if we can't determine the type of a stream
842           because it's empty.
843
844 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
845
846         * docs/gst/running.xml:
847         * gst/gstdebugutils.c:
848           Document new env-var. Add one log-line after dumpng a graph.
849
850 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
851
852         * configure.ac:
853           Ugly hack to put the (recently removed and non-portable, apparently)
854           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
855           GNU ld, because without that 'make check' fails miserably on my debian
856           stable box.  Someone with more knowledge of linker intricacies and
857           portability issues than me fix this properly please.
858
859 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
860
861         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
862         Reset last seen position after flushing so that we don't report the old
863         position anymore.
864
865 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
866
867         * gst/gstelementfactory.c: (gst_element_register):
868         * gst/gsturi.h:
869         Patch from Alessandro Decina adding get_type_full and
870         get_protocols_full private vfuncs to the URIHandler interface
871         to allow bindings to support creating URI handlers. 
872         Partially fixes: #339279
873         API: GstURIHandlerInterface::get_type_full
874         API: GstURIHandlerInterface::get_protocols_full
875
876 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
877
878         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
879         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
880         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
881         Make it so that pads are considered linked until a buffer is pushed
882         and discovered otherwise. This avoids problems with decodebin2 hanging
883         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
884         case.
885
886         Make sure we lock the multiqueue when updating the max-size properties.
887         
888         Fix a crash on Solaris in a debug statement in get_request_pad that
889         passes a NULL string to GST_DEBUG. 
890
891         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
892         (run_output_order_test):
893         Fix the test to allow the first buffer on not-linked pads to come out
894         of sequence while multiqueue discovers that they are not-linked.
895
896 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
897
898         * configure.ac:
899         * libs/gst/check/Makefile.am:
900         Use a custom export symbol regex for libgstcheck, as it needs
901         to export symbols that don't match the standard GStreamer gst_*
902         pattern, and  --export-dynamic is not portable (only works on 
903         GNU ld)
904
905         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
906         (gst_check_setup_sink_pad):
907         Make sure to pass a message parameter to the fail_* macros.
908
909         * tests/check/gst/gstinfo.c: (GST_START_TEST):
910         Fix some compiler warnings.
911
912 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
913
914         * tests/check/gst/gststructure.c: (test_to_string):
915           Disable test that checks that white spaces are not allowed
916           in structure names or field names, since we need to
917           support that for now for backwards compatibility reasons.
918
919 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * docs/gst/gstreamer-sections.txt:
922         * gst/gsttaglist.c:
923         * gst/gsttaglist.h:
924           API: add GST_TAG_ARTIST_SORTNAME
925           API: add GST_TAG_ALBUM_SORTNAME
926           API: add GST_TAG_TITLE_SORTNAME
927           Add tag variants for sorting (#414539).
928
929 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * gst/gststructure.c:
932           Also allow white space for names so we don't break
933           backwards compatibility.
934
935 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
936
937         * docs/design/part-TODO.txt:
938         * docs/design/part-segments.txt:
939         * docs/design/part-streams.txt:
940         Small updates.
941
942 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
943
944         * docs/gst/gstreamer-sections.txt:
945          Fixed documentation from my previous commit (added new API add
946          gst_value_set_structure(), add gst_value_get_structure() and
947          GST_VALUE_HOLDS_STRUCTURE).
948
949 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
950
951         * gst/gstdebugutils.c:
952           Reflow code to fix uninitialized variable warning.
953
954 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
955
956         * gst/gstcaps.c: (gst_caps_to_string),
957         (gst_caps_from_string_inplace):
958         * gst/gststructure.c: (gst_structure_get_abbrs),
959         (gst_structure_to_string), (gst_structure_from_string):
960         * gst/gstvalue.c: (gst_value_set_structure),
961         (gst_value_get_structure), (gst_value_serialize_structure),
962         (gst_value_deserialize_structure), (_gst_value_initialize):
963         * gst/gstvalue.h:
964         * tests/check/gst/gststructure.c: (GST_START_TEST),
965         (gst_structure_suite):
966         * tests/check/gst/gstvalue.c: (GST_START_TEST):
967          Added GstStructure to gst_value_table and its related functions.
968          Changed gst_structure_to_string to print ';' in the end.
969          Changed gst_caps_to_string to not print ';' beteween its
970          fields (structures) anymore and remove the lastes ';' from latest
971          structure. Now it is possible to have nested structures.
972          In addition, backward compatibilty is assured by accepting '\0' as
973          end delimiter. Fixes: #487969.
974          API: add gst_value_set_structure()
975          API: add gst_value_get_structure()
976          API: add GST_VALUE_HOLDS_STRUCTURE
977
978 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
979
980         * gst/gstbus.c:
981           When no GSource callback has been set up, tell developer
982           to use a function that actually exists.
983
984 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
985
986         * docs/gst/gstreamer-sections.txt:
987         * gst/Makefile.am:
988         * gst/gst.c:
989         * gst/gst.h:
990         * gst/gstdebugutils.c:
991         * gst/gstdebugutils.h:
992         * gst/gstinfo.c:
993         * gst/gstinfo.h:
994         * tools/gst-launch.c:
995           Allow dumping pipelines as dot graphs. Fixes #456573.
996
997 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
998
999         * gst/gststructure.c:
1000           Allow '+' as well, it can be part of media or mime types
1001           such as image/svg+xml.
1002
1003 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1004
1005         * docs/gst/gstreamer-sections.txt:
1006         * gst/gstbus.c:
1007         * gst/gstbus.h:
1008           API: add gst_bus_pop_filtered
1009           API: add gst_bus_timed_pop_filtered
1010           Two new functions for waiting for specific message types on the
1011           bus for a specified amount of time without iterating any main
1012           loops or main contexts.
1013
1014         * tests/check/gst/gstbus.c:
1015           Some tests for the new functions.
1016
1017 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1018
1019         * docs/libs/gstreamer-libs-sections.txt:
1020           Make gtk-doc ignore stuff it should ignore.
1021
1022 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
1023
1024         * libs/gst/check/gstcheck.c:
1025         * libs/gst/check/gstcheck.h:
1026           Allow runtime selection of unit tests to run via the GST_CHECKS
1027           environment variable (test case function names, comma-separated).
1028
1029 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
1030
1031         * gst/gststructure.c:
1032         * tests/check/gst/gststructure.c:
1033           Revert serialisation change and constrain structure-names after
1034           consensus on irc. Update api documentation to reflect the change.
1035
1036 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
1037
1038         * gst/gststructure.c:
1039           Improve serialization and fix tests.
1040
1041         * tests/check/gst/gststructure.c:
1042           Add another test that covers why I actually did the previous structure
1043           change.
1044
1045 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
1046
1047         * tools/gst-inspect.c: (print_element_info):
1048         Don't crash when inspecting an element.
1049
1050 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
1051
1052         * tests/check/gst/gststructure.c:
1053           Add unit test for escaping of structure name when serialising
1054           and deserialising to/from strings.
1055
1056 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
1057
1058         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
1059         (gst_single_queue_new):
1060         * plugins/elements/gstqueue.c: (gst_queue_init),
1061         (gst_queue_push_one):
1062         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
1063         upstream is tricked into thinking it can suggest a format downstream
1064         while downstream does not support that format. The real problem is that
1065         core calls acceptcaps when pushing a buffer with new caps, for which we
1066         do a little workaround by setting the caps on the srcpad ourselves
1067         before pushing the buffer (until this is figured out). Fixes #486758.
1068
1069 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1070
1071         * gst/gststructure.c:
1072         * gst/gstvalue.c:
1073           Add some more comments and debug output. Quote structure name to fix
1074           deserialisation of some strings.
1075
1076 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1077
1078         * gst/gstbuffer.h:
1079           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
1080           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
1081
1082 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1083
1084         * tools/gst-inspect.c:
1085           Save approx. 400 1 byte allocs when printing. Use API to acces element
1086           details.
1087
1088         * tools/gst-run.c:
1089           Avoid a strdup.
1090
1091         * tools/gst-xmlinspect.c:
1092           Use API to acces element details.
1093
1094 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * gst/gstinfo.c:
1097           Fix some spelling errors.
1098
1099 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
1100
1101         * gst/gstbin.c: (bin_handle_async_done):
1102         Correctly set the next state if all of our async children commited their
1103         state. This makes sure we can actually cancel the state change in
1104         progress. Fixes a regression in Rhythmbox when seeking.
1105
1106 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * gst/gstbin.c:
1109           Don't shadow local variable.
1110
1111         * gst/gstinfo.c:
1112           Don't shadow global function name.
1113
1114 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1115
1116         * gst/gstelementfactory.c:
1117         * gst/gstpluginfeature.c:
1118         * gst/gstpluginfeature.h:
1119         * gst/gstregistrybinary.c:
1120         * gst/gstregistryxml.c:
1121         * gst/gsttypefind.c:
1122           Use already-interned string for the private GstPluginFeature
1123           plugin_name field.
1124
1125 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1126
1127         * docs/libs/gstreamer-libs-sections.txt:
1128           Add new API to docs; fixes the build.
1129
1130 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
1131         
1132         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
1133
1134         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
1135         (gst_base_sink_event):
1136         * libs/gst/base/gstbasesink.h:
1137         Add function to wait for EOS, subclasses can use this to correctly wait
1138         for devices to drain before performing the EOS logic. Fixes #485343.
1139         API: gst_base_sink_wait_eos()
1140
1141 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1142
1143         * gst/gstplugin.h:
1144           Cast description string constants in GST_PLUGIN_DEFINE macros
1145           to a (gchar*) to make C++ code using these macros compile
1146           without warning with g++-4.2 (see #462737).  Even if slightly
1147           ugly, this seems preferable to putting the description strings
1148           into the GLib quark table or making the structure member a
1149           const gchar * and doing casts in core code that allocs and
1150           frees these strings, or requiring a cast in the C++ code.
1151
1152 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1153
1154         * gst/gstinfo.h:
1155           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
1156           to print the entire class/function signature into the log
1157           file for C++ code.  This only affects C++ code, for C code
1158           everything remains the same.
1159
1160 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
1161
1162         * gst/gstbin.c: (remove_from_queue):
1163         Work around a problem with pipelines containing (semi)loops until a
1164         proper, more complicated solution is ready. See #475455.
1165
1166 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1167
1168         * gst/gstplugin.c:
1169         * gst/gstplugin.h:
1170         * gst/gstregistrybinary.c:
1171         * gst/gstregistryxml.c:
1172           Put more strings into the GLib quark table. No need to keep
1173           a hundred-something copies of identical version strings,
1174           license strings, package name strings and package origin
1175           strings around. 
1176
1177 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1178
1179         * docs/manual/advanced-dataaccess.xml:
1180           Don't imply that it's okay to unconditionally change
1181           buffer data or buffer metadata in a pad probe callback,
1182           and a bunch of other comments. Fixes #430031.
1183
1184 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1185
1186         * win32/common/gstenumtypes.c:
1187         * win32/common/gstenumtypes.h:
1188         * win32/common/gstversion.h:
1189           Update generated files.
1190
1191 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1192
1193         * docs/manual/advanced-autoplugging.xml:
1194           Prefix section with broken code with a warning (see #342432).
1195
1196 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1197
1198         * docs/manual/appendix-integration.xml:
1199         * docs/manual/basics-init.xml:
1200           Call g_thread_init() before g_option_context_new() to
1201           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
1202
1203 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
1204
1205         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1206         (gst_base_sink_queue_object_unlocked),
1207         (gst_base_sink_queue_object), (gst_base_sink_event),
1208         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
1209         When we received EOS and are waiting for when to post the EOS message,
1210         our state is prerolled and we should not return ASYNC.
1211         Reorganize some code paths to implement this behavior.
1212
1213         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
1214         (gst_sinks_suite):
1215         Add unit test to verify above EOS fix.
1216
1217 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
1218
1219         * plugins/elements/gsttypefindelement.c:
1220         (gst_type_find_element_have_type), (gst_type_find_element_init),
1221         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
1222         Move detecting the input caps of the sinkpad to the setcaps function.
1223         This allows us to update the output caps when we receive new input caps
1224         instead of always using the first detected caps.
1225
1226 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
1227
1228         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
1229         (gst_base_sink_get_position):
1230         Don't try to preroll non-async elements after a flush.
1231         Subtract latency form clock times when reporting position.
1232
1233 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1234
1235         * gst/gstpad.c: (gst_pad_pause_task):
1236         * gst/gstutils.c:
1237         Small comment and documentation update.
1238
1239 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1240
1241         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1242         (gst_base_src_set_live), (gst_base_src_is_live),
1243         (gst_base_src_query_latency), (gst_base_src_perform_seek),
1244         (gst_base_src_default_event), (gst_base_src_wait),
1245         (gst_base_src_do_sync), (gst_base_src_get_range),
1246         (gst_base_src_pad_get_range), (gst_base_src_loop),
1247         (gst_base_src_unlock), (gst_base_src_unlock_stop),
1248         (gst_base_src_set_flushing), (gst_base_src_set_playing),
1249         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1250         (gst_base_src_change_state):
1251         Rework the locking of basesrc in a similar fashion to basesink. We
1252         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
1253         us to handle live sources and semi live ones much better.
1254         Simplify flushing.
1255         Fix unlocking when seeking, shutting down and pausing in live sources.
1256
1257 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
1258
1259         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
1260         Fix compilation again.
1261
1262 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1263
1264         * gst/gstelement.c:
1265           Use meaningful categories for the logs to clean the default one.
1266
1267 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1268
1269         * tests/check/pipelines/cleanup.c:
1270           Print message name and not just number.
1271
1272 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1273
1274         * docs/design/draft-tagreading.txt:
1275           Add some more thoughts.
1276
1277 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1278
1279         * tests/check/pipelines/simple-launch-lines.c:
1280           Print message name and not just number.
1281
1282 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1283
1284         * libs/gst/base/gsttypefindhelper.c:
1285           Speedup typefinding. This is work in progress (see #459862).
1286
1287 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
1288
1289         * gst/gstplugin.c:
1290           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
1291           Spotted by Josep Torra Valles <josep@fluendo.com>.
1292
1293 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
1294
1295         * gst/gstclock.h:
1296           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
1297           field has moved to GstObject.
1298
1299 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
1300
1301         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
1302         (gst_base_src_get_range), (gst_base_src_change_state):
1303         Call unlock for live sources so that they can't get stuck in _create and
1304         produce a buffer before they are set back to PLAYING.
1305
1306 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
1307
1308         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1309         (gst_queue_locked_dequeue):
1310         Comment the segment-related code... in the PROPER function.
1311         See #482147 and my commit from yesterday.
1312
1313 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
1314
1315         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1316         Also initialize the counter that calculates the first timestamp on a
1317         buffer correctly for non-live sources.
1318
1319 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
1320
1321         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
1322         Disable code that's breaking the current-time-level reporting.
1323         See #482147
1324
1325 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
1326
1327         * docs/gst/gstreamer-sections.txt:
1328         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
1329         as they shouldn't show up. Fixes the docs build.
1330
1331 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
1332         
1333         * gst/gstinfo.h:
1334         Add an explicit variable importation needed on VS6 (only for MSC_VER)
1335         Define M_PI which is used in files which are including gstinfo.h. 
1336         VS6 includes doesn't define it.
1337         * win32/common/libgstbase.def:
1338         * win32/common/libgstcontroller.def:
1339         * win32/common/libgstreamer.def:
1340         Add new exported functions and variables.
1341         * win32/vs6/libgstcontroller.dsp:
1342         * win32/vs6/libgstreamer.dsp:
1343         Update the list of files to build.
1344         
1345 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
1346
1347         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
1348
1349         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
1350         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
1351         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
1352         Improve debugging. Fixes #480858.
1353
1354 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
1355
1356         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
1357
1358         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
1359         First patch of code cleanups, use the macros and right arguments in the
1360         macros to signal and lock the queue. See #480858.
1361
1362 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
1363
1364         * gst/gstbus.c: (poll_func):
1365         Improve debugging when dealing with _poll().
1366
1367 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
1368
1369         * gst/gstregistryxml.c:
1370           Fix memory leak I introduced a few days ago.
1371
1372 2007-09-26  Michael Smith <msmith@fluendo.com>
1373
1374         * gst/gstbuffer.c: (gst_buffer_finalize):
1375           Make it once again possible to free GstBuffers in the default
1376           build.
1377           The poisoning scribbles on parts of the miniobject we need in
1378           order to free it.
1379           Fixes #480341
1380
1381 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
1382
1383         * docs/gst/gstreamer-sections.txt:
1384         * gst/gsttaglist.c:
1385         * gst/gsttaglist.h:
1386         API: add GST_TAG_COMPOSER, fixes #459809.
1387
1388 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
1389
1390         * gst/gstplugin.c:
1391         * gst/gstplugin.h:
1392         Add the 3-clause BSD license and the MIT/X11 license to the license
1393         list. Fixes #479784.
1394
1395 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
1396
1397         * docs/faq/getting.xml:
1398           Add Q+A about different GStreamer versions (#364056).
1399
1400 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1401
1402         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1403         (gst_base_sink_event), (gst_base_sink_change_state):
1404         Return correct gboolean from query function.
1405
1406 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1407
1408         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1409         (gst_base_sink_event), (gst_base_sink_query),
1410         (gst_base_sink_change_state):
1411         Simplify latency query.
1412         When not synchronizing, we can report latency without querying the peer
1413         element.
1414
1415 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1416
1417         * gst/gstobject.h:
1418         * gst/gstvalue.c:
1419         Fix small typos in the docs.
1420
1421 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
1422
1423         * docs/design/draft-latency.txt:
1424         * docs/design/draft-push-pull.txt:
1425         * docs/design/draft-tagreading.txt:
1426         * docs/design/part-MT-refcounting.txt:
1427         * docs/design/part-activation.txt:
1428         * docs/design/part-block.txt:
1429         * docs/design/part-element-source.txt:
1430         * docs/design/part-events.txt:
1431         * docs/design/part-gstbin.txt:
1432         * docs/design/part-gstelement.txt:
1433         * docs/design/part-gstobject.txt:
1434         * docs/design/part-gstpipeline.txt:
1435         * docs/design/part-messages.txt:
1436         * docs/design/part-preroll.txt:
1437         * docs/design/part-push-pull.txt:
1438         * docs/design/part-qos.txt:
1439         * docs/design/part-query.txt:
1440         * docs/design/part-scheduling.txt:
1441         * docs/design/part-seeking.txt:
1442         * docs/design/part-segments.txt:
1443         * docs/design/part-states.txt:
1444         Documentation updates and typo fixes.
1445
1446 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
1447
1448         * plugins/elements/gstfakesink.c:
1449           Add some debug text to error message to indicate that
1450           we errored out on request.
1451
1452         * tools/gst-launch.c:
1453           When the state change to PLAYING fails, check for an
1454           error message on the bus and print it.
1455
1456 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1457
1458         translated by: Jorge González González <aloriel@gmail.com>
1459
1460         * po/LINGUAS:
1461         * po/es.po:
1462           Added Spanish translation.
1463
1464 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
1465
1466         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1467         Fix printf arguments.
1468
1469 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1470
1471         * tests/check/generic/states.c:
1472           Improved state change unit test.
1473
1474 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
1475
1476         * gst/gstbin.h:
1477           Move priv to the right place.
1478
1479         * gst/gstsystemclock.c:
1480           Add FIXME: and improve log.
1481
1482         * tests/check/Makefile.am:
1483         * tests/examples/manual/Makefile.am:
1484           Work with all types of registries.
1485
1486 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
1487
1488         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1489         Don't unref the event after pushing it. Fixes #478401.
1490
1491 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1492
1493         * .cvsignore:
1494         * tests/examples/manual/.cvsignore:
1495           Ignore registries in any format.
1496
1497 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1498
1499         * gst/glib-compat-private.h:
1500           Add compatibility macro for g_intern_string() for
1501           GLib-2.8 (any reason we can't just bump the
1502           requirement to at least 2.10?)
1503
1504         * gst/gstpadtemplate.h:
1505         * gst/gstelementfactory.c:
1506         * gst/gstregistryxml.c:
1507         * gst/gstregistrybinary.c:
1508           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
1509           up the internal code accordingly.  This shouldn't be a problem, since
1510           there is no reason external code could ever assume the string in such
1511           a structure is dynamically allocated unless it did that itself;  the
1512           use of g_strdup() is private to element factories.  The new code also
1513           saves some memory by putting pad template name strings into the GLib
1514           quark table instead of allocating them dynamically.
1515           Declaring this field constant fixes warnings with g++-4.2 when using
1516           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
1517
1518 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
1519
1520         * gst/gstelementfactory.c:
1521           Release static caps. Fixes #475723.
1522
1523 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
1524
1525         * gst/gstinfo.c:
1526         * gst/gstinfo.h:
1527           Make some internal API take const gchar * instead of just
1528           gchar * to avoid compiler warnings with g++-4.2.2 when
1529           passing string constants (partially fixes #478092).
1530
1531 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1532
1533         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
1534         A latency query fails when one of the sinks fail.
1535
1536         * gst/gstelement.c: (gst_element_set_base_time):
1537         Improve debugging.
1538
1539 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1540
1541         * gst/gstbin.c: (gst_bin_continue_func):
1542         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1543         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
1544         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
1545
1546         Fix minor compilation warnings shown with Forte.
1547
1548 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
1549
1550         * plugins/elements/gstqueue.c: (apply_buffer),
1551         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
1552         Measure queue level based on the diff between head and tail timestamps
1553         even when pushing the first buffer.
1554
1555 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1556
1557         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1558         (gst_base_sink_event), (gst_base_sink_change_state):
1559         Sinks that don't preroll can always be queried for the latency.
1560         Don't post ASYNC start when we are not async.
1561
1562 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1563
1564         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
1565         (gst_queue_handle_sink_event), (gst_queue_chain),
1566         (gst_queue_push_one), (gst_queue_handle_src_query),
1567         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
1568         * plugins/elements/gstqueue.h:
1569         When downstream returns UNEXPECTED from pushing a buffer, don't try to
1570         push more buffers but allow pushing of EOS and NEWSEGMENT.
1571         Add some more debug info here and there. Fixes #476514.
1572
1573 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
1574
1575         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1576         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
1577         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1578         (gst_base_sink_set_flushing), (gst_base_sink_query),
1579         (gst_base_sink_change_state):
1580         Latency query is allowed after we are prerolled. Introduce a new flag
1581         for this and stop abusing other variables.
1582
1583 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1584
1585         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
1586         Push OOB events downstream when we get them in send_event. This allows
1587         the application to insert events in the pipeline.
1588         Add some more comments.
1589
1590 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1591
1592         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
1593         (do_bin_latency), (gst_bin_change_state_func):
1594         * gst/gstpipeline.c: (gst_pipeline_change_state):
1595         Move latency query from GstPipeline to GstBin so that we can also
1596         use it when async-handling is enabled on bins.
1597
1598 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1599
1600         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1601         (gst_base_src_do_sync), (gst_base_src_change_state):
1602         Update docs.
1603         Clean up the timestamping and syncing code for pseudo live sources.
1604
1605 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
1606
1607         Patch by: Steve Fink  <sphink gmail com>
1608
1609         * docs/manual/appendix-checklist.xml:
1610           Mention less -R switch in the section about debug output (#474055).
1611
1612 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
1613
1614         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1615         Queue can latency to the pipeline up to the configured max size in time.
1616         Report this fact in the latency query.
1617
1618 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1619
1620         Patch by: Sebastien Moutte <sebastien at moutte dot net>
1621
1622         * libs/gst/controller/gstinterpolation.c:
1623         * libs/gst/controller/gstlfocontrolsource.c:
1624         Use gst_guint64_to_gdouble() when converting from a uint64 or
1625         GstClockTime to double to fix the build on win32. Fixes #474371.
1626
1627 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1628
1629         * gst/gstbuffer.c: (gst_buffer_finalize):
1630         Implement poisoning for GstBuffer if --enable-poisoning is specified.
1631         When finalizing a buffer the complete struct is filled with 0xff,
1632         thus making a use of the buffer after the final unref impossible.
1633
1634 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
1635
1636         * tests/check/libs/controller.c: (GST_START_TEST):
1637         Use fail_unless_equals_int(a, b) instead of
1638         fail_unless_equals (a == b) to get better output on failures.
1639
1640 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * tests/check/gst/gsturi.c:
1643           Also check for the other file URI variant on win32.
1644
1645 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
1646
1647         * gst/gsturi.c: (gst_uri_get_location):
1648           If there's no hostname, we want to return 'c:/foo/bar.txt'
1649           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
1650
1651         * tests/check/gst/gsturi.c:
1652           Unit test for the above and a few more things.
1653
1654 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1655
1656         * docs/design/part-live-source.txt:
1657         Add docs on how live sources should timestamp.
1658
1659         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
1660         Add some more debug info.
1661         For subclasses that are live and like to sync, add aditional startup
1662         latency to sync time and timestamps so that we timstamp according to the
1663         design doc.
1664
1665 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1666
1667         * gst/gstbuffer.c:
1668           Also do a g_type_class_ref() for the subbuffer type in
1669           the init function.
1670
1671 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
1672
1673         * docs/gst/gstreamer-sections.txt:
1674         * gst/gstpad.c: (gst_pad_peer_query):
1675         * gst/gstpad.h:
1676         Add function to perform a query on the peer of a pad.
1677         API: gst_pad_peer_query()
1678
1679 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
1680
1681         * tests/check/gst/gstsystemclock.c:
1682           Cleanup the test a little (use gst-logging and not g_message). Improve
1683           test to check if a wait reached the target.
1684
1685 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
1686
1687         * docs/libs/gstreamer-libs-sections.txt:
1688           Add new API to docs and fix the build.
1689
1690 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
1691
1692         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1693         (gst_base_src_init), (gst_base_src_set_do_timestamp),
1694         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
1695         (gst_base_src_get_property), (gst_base_src_do_sync):
1696         * libs/gst/base/gstbasesrc.h:
1697         Add property to make the basesrc timestamp buffers based on the current
1698         running time.
1699         API: GstBaseSrc::do-timestamp
1700         API: gst_base_src_set_do_timestamp()
1701         API: gst_base_src_get_do_timestamp()
1702
1703 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
1704
1705         * docs/random/release:
1706           Really make sure translations are up-to-date before
1707           a release (#465010).
1708
1709 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
1710
1711         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1712         Always destroy the timer, also in error cases.
1713
1714 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1715
1716         * docs/manual/highlevel-xml.xml:
1717         Fix XML example code. Fixes #472714.
1718
1719 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
1720
1721         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1722         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
1723         (gst_base_sink_query):
1724         Protect eos and have_preroll with the OBJECT lock so we don't need to
1725         take the PREROLL lock when querying the latency. Fixes #473846.
1726
1727 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
1728
1729         * gst/gstelement.c:
1730           Give some log-messages a category.
1731
1732 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
1733
1734         * gst/gststructure.c:
1735         (gst_structure_fixate_field_nearest_fraction):
1736         Fix fraction list fixation code. Take the fraction with the smallest
1737         difference with the target instead of the first one in the list.
1738
1739         * tests/check/gst/gststructure.c: (GST_START_TEST),
1740         (gst_structure_suite):
1741         Added test to verify correct fraction list fixation behaviour.
1742
1743 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
1744
1745         * win32/common/libgstreamer.def:
1746           Export gst_bus_add_signal_watch too.
1747
1748 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
1749
1750         * docs/libs/gstreamer-libs-sections.txt:
1751         Add new methods to docs.
1752
1753         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1754         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
1755         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
1756         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
1757         * libs/gst/base/gstbasesink.h:
1758         Add ts-offset property to fine-tune the synchronisation.
1759         API: GstBaseSink::ts-offset property
1760         API: gst_base_sink_set_ts_offset()
1761         API: gst_base_sink_get_ts_offset()
1762
1763 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
1764
1765         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1766         (gst_base_sink_init), (gst_base_sink_set_sync),
1767         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
1768         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
1769         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
1770         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
1771         (gst_base_sink_get_property), (gst_base_sink_change_state):
1772         * libs/gst/base/gstbasesink.h:
1773         Add async property to instruct the sink never to inform the parent about
1774         ASYNC state changes, update docs.
1775         Check argument with g_return_* for the public functions.
1776         API: GstBaseSink::async property
1777         API: gst_base_sink_set_async_enabled()
1778         API: gst_base_sink_is_async_enabled()
1779
1780 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
1781
1782         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
1783         Improve debugging.
1784
1785         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
1786         (gst_base_src_default_query), (gst_base_src_wait),
1787         (gst_base_src_do_sync), (gst_base_src_change_state):
1788         Rearrange some code so that we can add support for measuring the 
1789         startup latency.
1790
1791 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
1792
1793         * docs/random/ensonic/dynlink.txt:
1794           More thoughs on this.
1795
1796         * plugins/elements/gstcapsfilter.c:
1797           Add bugzilla ticket number to FIXME comment.
1798
1799 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
1800
1801         * docs/design/part-TODO.txt:
1802         * docs/design/part-block.txt:
1803         Update some docs.
1804
1805 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1806
1807         * gst/Makefile.am:
1808           Revert patch which uses $(gst_headers) instead of $^ because it
1809           breaks make dist.
1810
1811 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
1812
1813         * tests/check/gst/gstbin.c: (GST_START_TEST):
1814           Fix leaks in the new unit test.
1815
1816 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
1817
1818         * gst/gst.c:
1819           Don't use GST_INFO before the debug system is actually initialised
1820           (shouldn't do any harm, but won't print anything either, so we can
1821           just as well remove it).
1822
1823         * gst/gstinfo.h:
1824           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
1825           compilers that don't support variadic macros (such as MSVC), should
1826           check for debug_level <= __gst_debug_min as well, since that's the
1827           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
1828           inline helper functions. Should improve performance a bit, but also
1829           makes sure uses of GST_INFO et.al are ignored if the debugging
1830           system isn't initialised yet (instead of printing an assertion
1831           failure).
1832
1833 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
1834
1835         patch by: David Nečas <yeti@physics.muni.cz>
1836
1837         * gst/Makefile.am:
1838           Replace some non portable makefile constructs.
1839
1840 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
1841
1842         * common/gtk-doc-plugins.mak:
1843           Grrrrr. Don't remove the types file on make clean.
1844
1845 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
1846
1847         * tools/gst-launch.1.in:
1848         Add colorspace to example pipeline. Fixes #458274.
1849
1850 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
1851
1852         * docs/random/release:
1853           The release manager should run 'make download-po' before making a
1854           release to make sure translations are up-to-date.
1855
1856         * po/LINGUAS:
1857         * po/be.po:
1858         * po/pl.po:
1859         * po/rw.po:
1860           Add some new translations.
1861
1862 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
1863
1864         * tools/gst-launch.c: (event_loop), (main):
1865         Don´t try to do any state management when a live pipeline posts
1866         buffering messages.
1867         Also make the buffering string translatable.
1868
1869 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1870
1871         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
1872         (bin_handle_async_start), (gst_bin_handle_message_func):
1873         Improve debugging.
1874         When adding elements, insert messages into the bus of the newly added
1875         element and make sure the element is the source of the message. This
1876         allows the parent bin to intercept the message and do the
1877         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
1878         messages to the app (which is not allowed).
1879         Update some docs.
1880
1881         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1882         Fix testsuite so that is does not work around messages that should not
1883         have been posted in the first place.
1884
1885 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1886
1887         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
1888         (update_degree), (gst_bin_sort_iterator_next):
1889         Fix annoying bug in the sorted iterator where a sink that is not really
1890         a sink (when it has downstream links) screwed up the iterator.
1891
1892         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1893         Unit test to verify the fix.
1894
1895 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
1896
1897         * gst/gstmessage.h:
1898         Add some more docs for the messages.
1899
1900         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1901         (gst_base_sink_query):
1902         Add some more debugging.
1903
1904         * tools/gst-launch.c: (event_loop):
1905         When interrupting, don't try to set pipeline to PAUSED twice.
1906
1907 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1908
1909         
1910         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
1911         (bin_handle_async_start), (gst_bin_handle_message_func):
1912         Move ASYNC_START message posting to where it belongs, similar to
1913         async_done. 
1914         Don't post ASYNC_START when we are in error. 
1915         Post ASYNC_START when we added an async element to a bin.
1916
1917 2007-08-14  Julien MOUTTE  <julien@moutte.net>
1918
1919         * gst/gstindex.c: (gst_index_add_association): Fix index entry
1920         generation from vargs. Fixes #466595.
1921
1922 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
1923
1924         * gst/gstbin.c: (gst_bin_element_set_state):
1925         Always change the state of a NO_PREROLL element even if it has ASYNC
1926         elements inside (in case of a bin).
1927
1928         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
1929         Unit test for this case.
1930
1931 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
1932
1933         * libs/gst/check/gstbufferstraw.c:
1934         * libs/gst/check/gstcheck.h:
1935         * libs/gst/controller/gstcontroller.c:
1936         * libs/gst/controller/gstcontrolsource.h:
1937         * libs/gst/controller/gstlfocontrolsource.h:
1938         * plugins/elements/gstcapsfilter.h:
1939         * plugins/elements/gstfdsink.h:
1940         * plugins/elements/gstfdsrc.h:
1941           Add more missing docs.
1942
1943 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1944
1945         * gst/gststructure.c:
1946         Add Since tag to docs.
1947
1948 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1949
1950         * docs/gst/gstreamer-sections.txt:
1951         * gst/gststructure.c: (gst_structure_get_uint):
1952         * gst/gststructure.h:
1953         Add function to get uint from a structure.
1954         API: gst_structure_get_uint()
1955
1956 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
1957
1958         * gst/gstcaps.c: (gst_caps_set_simple_valist),
1959         (gst_caps_intersect):
1960         Fix proper check for simple caps.
1961
1962 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
1963
1964         * docs/gst/Makefile.am:
1965         * docs/libs/Makefile.am:
1966           Remove cruft and do some cleanups.
1967
1968         * docs/gst/gstreamer-docs.sgml:
1969         * docs/libs/gstreamer-libs-docs.sgml:
1970           Prepare for comming gtkdoc features (rebase against online docs).
1971
1972 2007-08-10  Michael Smith <msmith@fluendo.com>
1973
1974         * docs/gst/gstreamer-sections.txt:
1975           Add gst_registry_add_path to docs.
1976
1977 2007-08-10  Michael Smith <msmith@fluendo.com>
1978
1979         * gst/gstregistry.h:
1980           Add gst_registry_add_path, which was missing from this header.
1981
1982 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
1983
1984         * libs/gst/controller/gstlfocontrolsource.c:
1985           Printf format fix.
1986
1987 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
1988
1989         * libs/gst/base/gstbasesink.c:
1990           Don't send an async_start message during downwards state change if 
1991           target state is less than READY
1992
1993 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         translated by: Gabor Kelemen <kelemeng@gnome.hu>
1996
1997         * po/LINGUAS:
1998         * po/hu.po:
1999           Added Hungarian translation.
2000
2001 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2002
2003         * po/fi.po:
2004         * po/it.po:
2005         * po/nl.po:
2006         * po/sv.po:
2007         * po/uk.po:
2008           Updated translations.
2009
2010 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
2011
2012         * libs/gst/controller/Makefile.am:
2013         Dist gstlfocontrolsourceprivate.h
2014
2015 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
2016
2017         * docs/libs/gstreamer-libs.types:
2018         Don't register the enum type gst_lfo_waveform_get_type() in the
2019         .types file - only GObject derived types belong.
2020
2021 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
2022
2023         Patch by: <arenevier at fdn dot fr>
2024
2025         * gst/gstbuffer.h:
2026         Remove comma from last element in enum to avoid compile errors when
2027         using -pendantic. Fixes #464366.
2028
2029 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
2030
2031         * docs/design/part-TODO.txt:
2032         Add some more TODO items
2033
2034         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
2035         Improve debugging.
2036
2037         * gst/gstcaps.c: (gst_caps_intersect):
2038         Optimize trivial intersection case between identical caps pointers.
2039
2040         * gst/gstelement.c: (gst_element_continue_state),
2041         (gst_element_set_state_func):
2042         * gst/gstpad.c:
2043         Fix spelling and grammar mistakes.
2044
2045 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
2046
2047         * po/POTFILES.in:
2048         * po/POTFILES.skip:
2049           Update POTFILES. Fixes #461599.
2050
2051 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
2052
2053         * gst/gst.c:
2054         Fix confusing typo in debug output.
2055
2056 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
2057
2058         reviewed by: Stefan Kost <ensonic@users.sf.net>
2059
2060         * libs/gst/controller/Makefile.am:
2061         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
2062         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
2063         (gst_lfo_control_source_new),
2064         (gst_lfo_control_source_set_waveform),
2065         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
2066         (gst_lfo_control_source_finalize),
2067         (gst_lfo_control_source_dispose),
2068         (gst_lfo_control_source_set_property),
2069         (gst_lfo_control_source_get_property),
2070         (gst_lfo_control_source_class_init):
2071         * libs/gst/controller/gstlfocontrolsource.h:
2072         * libs/gst/controller/gstlfocontrolsourceprivate.h:
2073         API: Add GstLFOControlSource, a control source that gives values
2074         for specific timestamps based on several periodic waveforms.
2075         Fixes #459717.
2076
2077         * tests/check/libs/controller.c: (GST_START_TEST),
2078         (gst_controller_suite):
2079         * docs/libs/gstreamer-libs-docs.sgml:
2080         * docs/libs/gstreamer-libs-sections.txt:
2081         * docs/libs/gstreamer-libs.types:
2082         Add documentation and unit tests for GstLFOControlSource.
2083
2084 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
2085
2086         * configure.ac:
2087         Back to CVS
2088
2089 === release 0.10.14 ===
2090
2091 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
2092
2093         * configure.ac:
2094           releasing 0.10.14, "Breathing Vacuum"
2095
2096 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
2097
2098         * gst/gstelement.c: (gst_element_class_set_details_simple):
2099         * gst/gstelement.h:
2100           Make strings passed to gst_element_class_set_details_simple()
2101           constant, as they should be (#462752).
2102
2103 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
2104
2105         * gst/gstbin.c: (gst_bin_change_state_func),
2106         (bin_handle_async_done), (gst_bin_handle_message_func):
2107         Don't forget about the fact that some element went ASYNC even after a
2108         resync. This makes us post the ASYNC_DONE message correctly.
2109         Fixes #462558.
2110
2111 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
2112
2113         * gst/gstregistry.c: (gst_registry_add_feature):
2114         When replacing an existing feature in the registry, make sure to
2115         continue holding a reference until we've replaced the name string
2116         within our feature hash table. Make sure to use g_hash_table_replace
2117         instead of g_hash_table_insert to ensure the new name string is used
2118         as a key instead of the old one that we're about to free.
2119         Fixes: #462085
2120
2121 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
2122
2123         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2124         (gst_plugin_feature_set_name):
2125         Revert patch from #459466 until after the release and we can work
2126         out exactly what the problem is (if any).
2127
2128 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
2129
2130         * docs/gst/gstreamer-sections.txt:
2131         * gst/gsttaglist.c:
2132         * gst/gsttaglist.h:
2133           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
2134
2135 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
2136
2137         * docs/libs/Makefile.am:
2138         Include our build-prefix libs and includes before the generic ones to
2139         avoid linking against the installed libs when we want the build-tree
2140         ones.
2141
2142 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
2143
2144         Patch by: Steve Fink  <sphink gmail com>
2145
2146         * docs/pwg/building-testapp.xml:
2147           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
2148           if people try to build or install the example from the plugin
2149           template against a GStreamer from package using the configure
2150           defaults.
2151
2152 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
2153
2154         Patch by: Steve Fink  <sphink gmail com>
2155
2156         * tools/gst-inspect.1.in:
2157           Document --print-all and --print-plugin-auto-install-info command
2158           line options in man page.
2159
2160 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
2161
2162         * docs/gst/gstreamer-sections.txt:
2163         Add docs for new api function.
2164
2165 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
2166
2167         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
2168         * gst/gstelementfactory.h:
2169         API: gst_element_factory_has_interface()
2170         Added method to check if an element factory implements a named
2171         interface.
2172
2173 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
2174
2175         * configure.ac:
2176         * docs/gst/gstreamer.types.in:
2177           Another conditional doc check.
2178
2179         * gst/gstmessage.c:
2180         * gst/gstparamspecs.h:
2181         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
2182         * gst/gstvalue.c:
2183         * gst/gstxml.h:
2184           API-doc fixes.
2185
2186 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
2187
2188         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
2189         (gst_registry_binary_load_feature),
2190         (gst_registry_binary_load_plugin),
2191         (gst_registry_binary_read_cache):
2192           Print error just once and with additional info.
2193
2194 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
2195
2196         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2197         (helper_find_suggest), (helper_find_get_length),
2198         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
2199         (gst_type_find_helper_for_buffer):
2200           Cleanup the typefindhelper code and add private doc comments.
2201
2202 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
2203
2204         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2205         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
2206         Fix capsfilter for cases where the caps set on capsfilter will provide
2207         additional information.
2208         Fixes #449197
2209
2210 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
2211
2212         * gst/gsttypefindfactory.c:
2213           Fix docs that recommened wrong function to use.
2214
2215 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
2216
2217         * tools/gst-inspect.c: (print_plugin_features):
2218           Also give media-type for typefinders in element output.
2219
2220 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
2221
2222         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
2223         (gst_registry_remove_features_for_plugin_unlocked),
2224         (gst_registry_add_feature), (gst_registry_remove_feature),
2225         (gst_registry_lookup_feature_locked):
2226         * gst/gstregistry.h:
2227           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
2228           Fixes #459501.
2229
2230 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
2231
2232         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2233         (gst_plugin_feature_set_name):
2234           Avoid double memory usage for pluginfeature names. Fixes #459466.
2235
2236 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         * gst/gstpad.h:
2239           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
2240           driving the pipeline may need to explicitly check for NOT_LINKED as
2241           well, since IS_FATAL doesn't cover that.
2242
2243 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
2244
2245         * docs/pwg/advanced-types.xml:
2246           Fix typo and duplicate entry in video formats list.
2247
2248 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
2249
2250         * libs/gst/controller/gstinterpolation.c:
2251         Also round to the nearest int when using cubic interpolation.
2252
2253 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
2254
2255         * libs/gst/controller/gstinterpolation.c:
2256         When linearly interpolating integer types, round to the nearest int
2257         by adding 0.5. Don't do it for float/double types.
2258         Fixes the failing controller test on my machine, which is somehow
2259         rounding differently than on the buildbots.
2260
2261 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2262
2263         * tools/gst-plot-timeline.py:
2264           Better log parsing (categories can have -). Adjust text vs. lines, so
2265           that they span the same y-range.        
2266
2267 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2268
2269         * docs/random/ensonic/audiobaseclasses.txt:
2270         * docs/random/ensonic/dynlink.txt:
2271         * docs/random/ensonic/profiling.txt:
2272           Save my thoughts.
2273
2274         * docs/random/moving-plugins:
2275           Add note to use g_assert type macros.
2276
2277 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
2278
2279         * configure.ac:
2280         * libs/gst/check/Makefile.am:
2281           Add libm check as we use in for plugins.
2282
2283 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
2284
2285         * gst/gstbin.c: (gst_bin_continue_func):
2286         Check that the state_cookie hasn't changed since the continue_func
2287         was scheduled. Avoids problems where the state changes back to
2288         something it shouldn't be because it was changed in the meantime.
2289
2290 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
2291
2292         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
2293         (gst_registry_binary_save_string),
2294         (gst_registry_binary_save_pad_template),
2295         (gst_registry_binary_save_feature),
2296         (gst_registry_binary_save_plugin),
2297         (gst_registry_binary_load_feature),
2298         (gst_registry_binary_load_plugin),
2299         (gst_registry_binary_read_cache):
2300           Fix memory leak. Be less verbose in the log.
2301
2302 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2303
2304         * tests/check/elements/.cvsignore:
2305         Add file to cvsignore as commanded.
2306
2307 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2308
2309         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2310         (mq_dummypad_event), (run_output_order_test):
2311         Use a GStaticMutex to protect all cases where libcheck
2312         fail_if/fail_unless macros might be called from multiple threads
2313         simultaneously to avoid errors like:
2314           "check_pack.c:107: :-1081725400:Bad message type arg"
2315
2316 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2317
2318         * tests/check/pipelines/stress.c: (GST_START_TEST):
2319         Make sure we set the pipeline back to the NULL state before
2320         dropping our final reference.
2321
2322 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
2323
2324         * tests/check/elements/tee.c: (GST_START_TEST):
2325         Make the tee stress-test a little less stressful so it doesn't just
2326         time out on slow-machines, and remove a small race when it's starting 
2327         up by adding a get_state() call.
2328
2329 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
2330
2331         * gst/gst.c:
2332           Avoid reading registry twice on startup. Fixes #457322.
2333
2334 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
2335
2336         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2337         * pkgconfig/gstreamer-check.pc.in:
2338         Substitute the CFLAGS for libcheck into our .pc file too so that
2339         dependent modules will pick it up properly if libcheck is installed
2340         into some other prefix.
2341
2342 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
2343
2344         * configure.ac:
2345         Revert the pkg-config check for libcheck, since it pulls in the
2346         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
2347         a proper solution, either from the check project, or something else.
2348
2349 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * configure.ac:
2352           Use pkg-config to locate check.
2353
2354 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
2355
2356         * gst/gsttaglist.c:
2357           Fix doc syntax.
2358
2359         * gst/gstutils.c:
2360         * gst/gstutils.h:
2361           Add deprecation guards.
2362
2363         * libs/gst/base/gstcollectpads.h:
2364           Don't document object (this is implicitly private).
2365
2366 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
2367
2368         * gst/gststructure.c: (gst_structure_parse_value):
2369           When deserialising foo=bar without a type cast, check if it's a
2370           boolean before falling back to a string type, otherwise things like
2371           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
2372           because the filtercaps end up having a signed=(string)true field,
2373           which causes problems later when intersection caps.
2374
2375         * tests/check/gst/gststructure.c: (GST_START_TEST):
2376           Add a unit test for this.
2377
2378 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
2379
2380         Reviewed by: Stefan Kost <ensonic@users.sf.net>
2381
2382         * libs/gst/controller/Makefile.am:
2383         * libs/gst/controller/gstcontroller.c:
2384         (gst_controlled_property_add_interpolation_control_source),
2385         (gst_controlled_property_new), (gst_controlled_property_free),
2386         (gst_controller_find_controlled_property),
2387         (gst_controller_new_valist), (gst_controller_new_list),
2388         (gst_controller_new), (gst_controller_remove_properties_valist),
2389         (gst_controller_remove_properties_list),
2390         (gst_controller_remove_properties),
2391         (gst_controller_set_property_disabled),
2392         (gst_controller_set_disabled), (gst_controller_set_control_source),
2393         (gst_controller_get_control_source), (gst_controller_get),
2394         (gst_controller_sync_values), (gst_controller_get_value_array),
2395         (_gst_controller_dispose), (gst_controller_get_type),
2396         (gst_controlled_property_set_interpolation_mode),
2397         (gst_controller_set), (gst_controller_set_from_list),
2398         (gst_controller_unset), (gst_controller_unset_all),
2399         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
2400         * libs/gst/controller/gstcontroller.h:
2401         * libs/gst/controller/gstcontrollerprivate.h:
2402         * libs/gst/controller/gstcontrolsource.c:
2403         (gst_control_source_class_init), (gst_control_source_init),
2404         (gst_control_source_get_value),
2405         (gst_control_source_get_value_array), (gst_control_source_bind):
2406         * libs/gst/controller/gstcontrolsource.h:
2407         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
2408         (gst_object_get_control_source):
2409         * libs/gst/controller/gstinterpolation.c:
2410         (gst_interpolation_control_source_find_control_point_node),
2411         (gst_interpolation_control_source_get_first_value),
2412         (_interpolate_none_get), (interpolate_none_get),
2413         (interpolate_none_get_boolean_value_array),
2414         (interpolate_none_get_enum_value_array),
2415         (interpolate_none_get_string_value_array),
2416         (_interpolate_trigger_get), (interpolate_trigger_get),
2417         (interpolate_trigger_get_boolean_value_array),
2418         (interpolate_trigger_get_enum_value_array),
2419         (interpolate_trigger_get_string_value_array):
2420         * libs/gst/controller/gstinterpolationcontrolsource.c:
2421         (gst_control_point_free), (gst_interpolation_control_source_reset),
2422         (gst_interpolation_control_source_new),
2423         (gst_interpolation_control_source_set_interpolation_mode),
2424         (gst_interpolation_control_source_bind),
2425         (gst_control_point_compare), (gst_control_point_find),
2426         (gst_interpolation_control_source_set_internal),
2427         (gst_interpolation_control_source_set),
2428         (gst_interpolation_control_source_set_from_list),
2429         (gst_interpolation_control_source_unset),
2430         (gst_interpolation_control_source_unset_all),
2431         (gst_interpolation_control_source_get_all),
2432         (gst_interpolation_control_source_get_count),
2433         (gst_interpolation_control_source_init),
2434         (gst_interpolation_control_source_finalize),
2435         (gst_interpolation_control_source_dispose),
2436         (gst_interpolation_control_source_class_init):
2437         * libs/gst/controller/gstinterpolationcontrolsource.h:
2438         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2439         API: Refactor GstController into the core controller which can take
2440         a GstControlSource for providing actual values for timestamps.
2441         Implement a interpolation control source and use this for backward
2442         compatibility, deprecate a bunch of functions that are now handled
2443         by GstControlSource or GstInterpolationControlSource.
2444         Make it possible to disable the controller completely or only for
2445         specific properties. Fixes #450711.
2446         * docs/libs/gstreamer-libs-docs.sgml:
2447         * docs/libs/gstreamer-libs-sections.txt:
2448         * docs/libs/gstreamer-libs.types:
2449         Add new functions and classes to the docs.
2450         * tests/check/libs/controller.c: (GST_START_TEST),
2451         (gst_controller_suite):
2452         * tests/examples/controller/audio-example.c: (main):
2453         Port unit test and example to the new API and add some new
2454         unit tests.
2455
2456 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
2457
2458         Patch by: Mark Nauwelaerts <manauw at skynet be>
2459
2460         * plugins/elements/gstmultiqueue.c:
2461         (gst_multi_queue_get_internal_links), (apply_buffer),
2462         (single_queue_overrun_cb), (gst_single_queue_new):
2463         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
2464         the pipeline layout can be tracked correctly. Fixes #453732.
2465
2466 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
2467
2468         * docs/gst/Makefile.am:
2469         * docs/libs/Makefile.am:
2470         * docs/plugins/Makefile.am:
2471           Simplify --extra-dir as gtkdoc scans recursively.
2472
2473 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2474
2475         * tools/gst-launch.c: (main):
2476         When we got an error, there is no point in waiting for preroll when
2477         shutting down.
2478
2479 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
2480
2481         * plugins/elements/gsttee.c: (gst_tee_base_init),
2482         (gst_tee_request_new_pad), (gst_tee_release_pad),
2483         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
2484         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
2485         (gst_tee_chain):
2486         Be a lot smarter when deciding what srcpad to use for proxying
2487         the buffer_alloc. Also handle pad added/removed when doing so.
2488         Fixes #357959.
2489         Keep track of what pads we already pushed on in case we have pads
2490         added/removed while pushing. Fixes #374639 
2491
2492         * tests/check/Makefile.am:
2493         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
2494         (tee_suite):
2495         Added unit test for pad resync.
2496
2497 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2498
2499         * po/nl.po:
2500         * po/sv.po:
2501           Updated translations.
2502
2503 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2504
2505         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
2506
2507         * po/LINGUAS:
2508         * po/fi.po:
2509           Added new Finnish translation.
2510
2511 2007-06-28  Wim Taymans  <wim@fluendo.com>
2512
2513         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2514         (single_queue_overrun_cb):
2515         When figuring out when a queue is filled, use our internal time estimate
2516         based on segments, just like check_full does.
2517
2518 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2519
2520         * gst/gstminiobject.c: (gst_mini_object_get_type):
2521           Remove 3 do-nothing methods.
2522
2523 2007-06-27  Wim Taymans  <wim@fluendo.com>
2524
2525         Patch by: Tim Angus <tim at ngus dot net>
2526
2527         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2528         (gst_capsfilter_set_property):
2529         Take a reference instead of a copy when setting "caps".
2530         Fix documentation to clarify this behaviour. Fixes #449414.
2531
2532 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
2533
2534         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2535         * gst/gstplugin.c: (gst_plugin_init):
2536         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
2537         * gst/gstquery.c: (gst_query_get_type):
2538         * gst/gstregistry.c: (gst_registry_init):
2539         * gst/gsturi.c: (gst_uri_handler_base_init):
2540           Remove empty instance_init() functions to save relocs and lessen the
2541           noise. Remove some of the function prototypes that are doubled by
2542           G_DEFINE_TYPE.
2543           
2544 2007-06-27  Wim Taymans  <wim@fluendo.com>
2545
2546         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
2547
2548         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
2549         Add peer and direction in the XML serialisation of ghostpads.
2550         Fixes #449226.
2551
2552 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2553
2554         * configure.ac:
2555           Preserve useful information, thanks Tim.
2556
2557 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
2558
2559         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2560         (gst_single_queue_flush), (apply_segment), (apply_buffer),
2561         (gst_single_queue_push_one), (gst_multi_queue_loop),
2562         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2563         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
2564         (compute_high_id), (gst_single_queue_new):
2565         * plugins/elements/gstmultiqueue.h:
2566         Take the multiqueue lock when updating the fill level so we don't get
2567         confused. 
2568
2569         After applying a buffer or event on the src pad segment, make sure to
2570         call gst_data_queue_limits_changed() to get the data queue to unblock
2571         and check the filled state again.
2572         
2573         Rework the not-linked pad handling so the logic is that not-linked 
2574         pads can push as fast as they like, but only so they never get 
2575         ahead of any linked pads.
2576
2577         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
2578         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
2579         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
2580
2581         Add a test to check that not-linked pads always stay behind
2582         linked pads.
2583
2584         Fixes: #430682
2585
2586 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
2587
2588         * docs/random/release:
2589           Some updates to the release procedure.
2590
2591 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
2592
2593         * gst/gstelementfactory.c: (__gst_element_details_clear):
2594           Microoptimization that saves stunning 80 bytes.
2595
2596 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
2597
2598         * docs/plugins/gstreamer-plugins.args:
2599         * docs/plugins/inspect/plugin-coreelements.xml:
2600         * docs/plugins/inspect/plugin-coreindexers.xml:
2601           Update docs with caps info.
2602
2603 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * po/it.po:
2606           Updated Italian translation.
2607
2608 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2609
2610         * ChangeLog:
2611         * po/vi.po:
2612           Update Vietnamese translations.
2613
2614 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2615
2616         * libs/gst/base/gstbasesink.c:
2617           Remove unused signal enum.
2618
2619 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2620
2621         * docs/gst/gstreamer-sections.txt:
2622         * gst/gstelement.c:
2623         * gst/gstutils.c: (gst_type_register_static_full):
2624         Beef up and include the docs for gst_type_register_static_full and
2625         gst_element_class_set_details_simple and add the API keyword
2626         in the ChangeLog.
2627
2628 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
2629
2630         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2631         (update_time_level), (gst_single_queue_push_one),
2632         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
2633         (single_queue_overrun_cb), (single_queue_underrun_cb),
2634         (single_queue_check_full):
2635         Fix setting max-* properties after adding queues.
2636         Use IS_FILLED for checking visible items.
2637         Signal overrun if multiple queues overrun.
2638         Add extra debug output.
2639         Patch by: Wim Taymans <wim@fluendo.com>
2640
2641 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
2642
2643         * gst/gstelement.c: (gst_element_class_set_details_simple):
2644         * gst/gstelement.h:
2645         * gst/gstutils.c: (gst_type_register_static_full):
2646         * gst/gstutils.h:
2647         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
2648         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
2649         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
2650         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
2651         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
2652         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
2653         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
2654         * plugins/elements/gstidentity.c: (gst_identity_base_init):
2655         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
2656         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2657         (apply_buffer), (gst_queue_chain):
2658         * plugins/elements/gsttee.c: (gst_tee_base_init):
2659         * plugins/elements/gsttypefindelement.c:
2660         (gst_type_find_element_base_init),
2661         (gst_type_find_element_class_init):
2662           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
2663           API: add gst_type_register_static_full
2664           API: add gst_element_class_set_details_simple
2665
2666 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * docs/pwg/advanced-types.xml:
2669           Fix typo in iana.org URI.
2670
2671 2007-06-19  Andy Wingo  <wingo@pobox.com>
2672
2673         * tests/check/pipelines/simple-launch-lines.c
2674         (test_state_change_returns): Enable pull-mode tests now that
2675         basesink has been fixed.
2676
2677         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
2678         Changed from gst_base_sink_is_prerolled, reversing the sense of
2679         the return value. Returns FALSE also if the sink is in pull mode,
2680         in which case it needs no preroll.
2681         (gst_base_sink_query, gst_base_sink_change_state): Update for
2682         needs_preroll change.
2683         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
2684         chaining up, in which we return SUCCESS directly if we activated
2685         in pull mode instead of ASYNC. Involves countering an async_start
2686         message sent before chaining up; not sure if this is correct, in
2687         an ideal world we only send async-start when activating in push
2688         mode.
2689
2690         * tests/check/pipelines/simple-launch-lines.c
2691         (test_state_change_returns): New test, partially disabled until
2692         basesink is fixed.
2693
2694 2007-06-19  Wim Taymans  <wim@fluendo.com>
2695
2696         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2697         (gst_multi_queue_sink_event):
2698         Fix event leak.
2699
2700 2007-06-19  Wim Taymans  <wim@fluendo.com>
2701
2702         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2703         (gst_bin_change_state_func), (bin_push_state_continue),
2704         (bin_handle_async_start), (bin_handle_async_done),
2705         (gst_bin_handle_message_func):
2706         Move the common code for posting state-change messages into
2707         one function.
2708         Broadcast the state signal after we posted the messages.
2709         Mark the bin as busy when it's doing a state-change.
2710         Make sure async-start/done messages don't interfere with the bin's
2711         state when it's busy.
2712         After the state change, let the bin check which elements completed the
2713         state change while it was busy so that it can update its state.
2714
2715 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
2716
2717         * docs/random/release:
2718         Add a note about updating the doap file to the release checklist
2719
2720 2007-06-18  Wim Taymans  <wim@fluendo.com>
2721
2722         * plugins/elements/gstmultiqueue.c: (apply_buffer),
2723         (gst_single_queue_push_one), (gst_multi_queue_chain),
2724         (gst_multi_queue_sink_event):
2725         Make sure we don't reference the buffer/event after we have given away
2726         ownership in the queue.
2727
2728 2007-06-18  Wim Taymans  <wim@fluendo.com>
2729
2730         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2731         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
2732         Update queue state _after_ adding the item in the queue because else we
2733         could end up being full without the element added yet.
2734
2735 2007-06-18  Wim Taymans  <wim@fluendo.com>
2736
2737         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
2738         (gst_bin_remove_func), (gst_bin_get_state_func),
2739         (gst_bin_element_set_state), (gst_bin_continue_func),
2740         (bin_push_state_continue), (bin_handle_async_start),
2741         (bin_handle_async_done), (gst_bin_handle_message_func):
2742         * gst/gstbin.h:
2743         Immediatly commit the toplevel bin state when receiving an async-done
2744         message. This enables us to avoid spawning a thread to commit the state
2745         in some common cases and it also avoids some races.
2746         Avoid spawning a state thread when adding/removing async elements to a
2747         toplevel bin. Instead we immediatly update the bin state.
2748         Get rid of iterating all the children when getting the state in the bin
2749         because it is now always up-to-date.
2750         Fix bug where locked elements would always return _SUCCESS even it they
2751         returned NO_PREROLL before being locked.
2752         Fix the order of the state_change, async-start/done messages that was
2753         sometimes incorrect.
2754         Mark the state_dirty field as deprecated, we don't need it anymore as we
2755         are always up-to-date.
2756
2757         * gst/gstelement.c: (gst_element_get_state_func),
2758         (gst_element_continue_state):
2759         Small debug inprovements.
2760         Return the previous element state return when nothing is pending instead
2761         of blindly returning SUCCESS.
2762
2763         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
2764         (gst_sinks_suite):
2765         Add a whole bunch of new testcases.
2766
2767 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2768
2769         * po/uk.po:
2770         * po/vi.po:
2771           Update translations.
2772
2773 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
2774
2775         * gst/gstpad.c:
2776         Fix typo in the docs.
2777
2778 2007-06-15  Wim Taymans  <wim@fluendo.com>
2779
2780         * docs/libs/gstreamer-libs-sections.txt:
2781         Add docs for new methods.
2782
2783 2007-06-15  Wim Taymans  <wim@fluendo.com>
2784
2785         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
2786         (gst_multi_queue_item_new):
2787         Don't use GSlice because we don't depend on >= 2.10 yet.
2788
2789 2007-06-15  Wim Taymans  <wim@fluendo.com>
2790
2791         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
2792         (update_time_level), (apply_segment), (apply_buffer),
2793         (gst_single_queue_push_one), (gst_multi_queue_item_new),
2794         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
2795         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
2796         (single_queue_underrun_cb), (single_queue_check_full):
2797         Remove debug printf.
2798
2799 2007-06-15  Wim Taymans  <wim@fluendo.com>
2800
2801         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
2802         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
2803         (gst_data_queue_set_flushing), (gst_data_queue_push),
2804         (gst_data_queue_pop), (gst_data_queue_drop_head),
2805         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
2806         * libs/gst/base/gstdataqueue.h:
2807         Various cleanups.
2808         Added methods to get the current levels and to inform the queue that the
2809         'full' limits changed.
2810
2811         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
2812         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2813         (gst_single_queue_flush), (update_time_level), (apply_segment),
2814         (apply_buffer), (gst_single_queue_push_one),
2815         (gst_multi_queue_item_steal_object),
2816         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2817         (gst_multi_queue_loop), (gst_multi_queue_chain),
2818         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2819         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
2820         (gst_multi_queue_src_query), (single_queue_overrun_cb),
2821         (single_queue_underrun_cb), (single_queue_check_full),
2822         (gst_single_queue_new):
2823         Keep track of time in the queue by measuring the difference between
2824         running_time on input and output. This gives more accurate results and
2825         can compensate for segments correctly.
2826         Make a queue by default only 5 buffers deep. We will now increase the
2827         buffer size depending on the filledness of the other queues.
2828         Factor out commong flush code.
2829         Make sure we don't add additional refcounts to buffers when we can avoid
2830         it.
2831         Propagate GstFlowReturn differently.
2832         Use GSlice for intermediate GstMultiQueueItems.
2833         Keep track of EOS.
2834         Resize queues on over and underruns based on filled level of other
2835         queues.
2836         When checking if the queue is filled, prefer to measure in time if we
2837         can and fall back to bytes when no time is known.
2838
2839         * plugins/elements/gstqueue.c:
2840         Fix return value.
2841
2842 2007-06-15  Wim Taymans  <wim@fluendo.com>
2843
2844         * libs/gst/base/gstbasetransform.c:
2845         (gst_base_transform_sink_event):
2846         Work around the brokenness of the event vmethod in basetransform. Prefer
2847         to return TRUE when the subclass returned FALSE (meaning don't forward
2848         the event). 
2849
2850         * libs/gst/base/gstbasetransform.h:
2851         Clarify the docs.
2852
2853 2007-06-15  Wim Taymans  <wim@fluendo.com>
2854
2855         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
2856         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
2857         (gst_base_src_default_query), (gst_base_src_get_range),
2858         (gst_base_src_start):
2859         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
2860         Improve debugging.
2861
2862 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2863
2864         * docs/pwg/advanced-types.xml:
2865           Added more formats to caps table.
2866
2867 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * tools/gst-launch.c: (main):
2870           Remove crufy code. GOption does not need this workaround.
2871
2872 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2873
2874         * libs/gst/controller/gstcontroller.c:
2875         (gst_controlled_property_set_interpolation_mode):
2876           Fix wrong getter for enums in controller.
2877
2878 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2879
2880         * libs/gst/check/gstcheck.c: (gst_check_init):
2881           Intercept criticals and warnings in the Gst-Phonon log domain, so
2882           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
2883           well.
2884         
2885 2007-06-14  Edward Hervey  <edward@fluendo.com>
2886
2887         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
2888         Since this file doesn't include "gst.h" it will not go through the
2889         macros that disable GST_LOG if debugging was disabled.
2890
2891 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2892
2893         * libs/gst/check/Makefile.am:
2894         * libs/gst/check/gstcheck.h:
2895         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2896         * pkgconfig/gstreamer-check.pc.in:
2897           Ugly 'fix' for the controller unit test on the p5 bot: in
2898           fail_unless_equals_float() check whether the values are 'almost
2899           equal' by allowing a small absolute error, which should be good
2900           enough for our use cases (normal numbers and values close to 0).
2901           Proper fixage left to floating point arithmetic aficionados.
2902
2903 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2904
2905         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
2906         (gst_base_sink_render_object), (gst_base_sink_get_position):
2907           Add two breaks thats where missing.
2908
2909 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2910
2911         * docs/libs/gstreamer-libs-sections.txt:
2912         * libs/gst/check/gstcheck.h:
2913           API: add fail_unless_equals_float() and assert_equals_float().
2914           Add documentation for some of the macros.
2915
2916         * tests/check/libs/controller.c: (GST_START_TEST):
2917           Use newly-added asserts.
2918
2919 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
2920
2921         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
2922           Show the caps change in the log to help spotting the case of not
2923           exactly matching caps.
2924
2925 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2926
2927         * docs/pwg/building-boiler.xml:
2928           Fix typos, spotted by Thijs Vermeir (#447190).
2929
2930 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2931
2932         * docs/plugins/tmpl/.cvsignore:
2933         Ignore file to keep the buildbots happy
2934
2935 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
2936
2937         * docs/plugins/Makefile.am:
2938         * docs/plugins/gstreamer-plugins-docs.sgml:
2939         * docs/plugins/gstreamer-plugins-sections.txt:
2940         Pull fdsink into the docs too.
2941
2942 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
2943
2944         * libs/gst/controller/gstinterpolation.c:
2945         Actually use the new functions with min/max checks for the trigger and
2946         none interpolation modes for get() and get_value_array() instead of
2947         just the latter.
2948
2949 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
2950
2951         * libs/gst/controller/gstcontroller.c:
2952         (gst_controlled_property_free):
2953         Unset the minimum and maximum GValues when freeing the corresponding
2954         GstControllerProperty struct.
2955
2956 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
2957
2958         * libs/gst/controller/gstcontroller.c:
2959         (gst_controlled_property_new):
2960         * libs/gst/controller/gstcontrollerprivate.h:
2961         * libs/gst/controller/gstinterpolation.c:
2962         (gst_controlled_property_find_control_point_node),
2963         (interpolate_none_get), (interpolate_none_get_enum_value_array),
2964         (interpolate_none_get_string_value_array),
2965         (interpolate_trigger_get),
2966         (interpolate_trigger_get_enum_value_array),
2967         (interpolate_trigger_get_string_value_array):
2968         Protect against values larger or smaller than the minimum or maximum
2969         allowed value for the property when using values that can be compared.
2970
2971         Optimize trigger interpolator a bit by taking the last requested value
2972         into account instead of always looping through the complete list.
2973
2974         Fix coding style a bit, everywhere else we use "return foo" instead
2975         of "return (foo)".
2976         
2977         * tests/check/libs/controller.c: (GST_START_TEST),
2978         (gst_controller_suite):
2979         Add unit test for the protection against too large or too small
2980         values.
2981
2982 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
2983
2984         * docs/random/slomo/controller.txt:
2985         Add some thoughts about the future of the controller.
2986
2987 2007-06-08  Wim Taymans  <wim@fluendo.com>
2988
2989         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2990         Don't overflow in retimestamping code.
2991
2992 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
2993
2994         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
2995         Use gst_util_guint64_to_gdouble for conversions.
2996         * win32/common/libgstreamer.def:
2997         Add new exported functions.
2998
2999 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * gst/gstutils.c:
3002           Small docs addition.
3003
3004 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * README:
3007           Remove that test line again.
3008
3009 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3010
3011         * README:
3012           Test commit mail sending.
3013
3014 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3015
3016         * configure.ac:
3017           Fix typo and test commit mail sending.
3018
3019 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
3020
3021         * tests/examples/controller/audio-example.c:
3022           Improve comment and test commit mail sending.
3023
3024 2007-06-07  Wim Taymans  <wim@fluendo.com>
3025
3026         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
3027         (gst_bin_remove_func), (gst_bin_element_set_state),
3028         (bin_handle_async_start), (bin_handle_async_done),
3029         (gst_bin_handle_message_func):
3030         Add helper function to find messages.
3031         Generate the async-done messages together with the state change
3032         messages.
3033         Small cleanups in handling toplevel bins.
3034
3035 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * libs/gst/base/gstdataqueue.c:
3038         * libs/gst/base/gstdataqueue.h:
3039         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
3040         (gst_multi_queue_item_new), (gst_multi_queue_chain),
3041         (gst_multi_queue_sink_event):
3042         * tests/check/elements/multiqueue.c: (multiqueue_suite):
3043           Fix multiqueue leaking buffers and events when downstream or the
3044           queue are flushing. Make refcounting assumptions explicit and
3045           document them (shouldn't break existing code that uses it other than
3046           maybe leak miniobjects, but that already happens anyway). Add unit
3047           test for the most common flushing case. Fixes #423700.
3048           
3049 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
3050
3051         * libs/gst/controller/gstcontroller.c:
3052         Clarify docs: The get_all, get_value_array(s) functions
3053         don't modify the GObject properties.
3054
3055 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
3056
3057         * libs/gst/controller/gstcontroller.c:
3058         (gst_controlled_property_set_interpolation_mode),
3059         (gst_controlled_property_prepend_default),
3060         (gst_controlled_property_new), (gst_controller_set_unlocked),
3061         (gst_controller_set), (gst_controller_set_from_list),
3062         (gst_controller_unset), (gst_controller_unset_all):
3063         * libs/gst/controller/gstcontrollerprivate.h:
3064         * libs/gst/controller/gstinterpolation.c:
3065         Factor out the 'set' logic into gst_controller_set_unlocked for the
3066         gst_controller_set and gst_controller_set_from_list functions.
3067
3068         To make life of the interpolators easier always add a control point
3069         at timestamp zero with the default value.
3070
3071         In the linear interpolator make things more obvious by better variable
3072         naming (slope).
3073
3074         Implement cubic interpolation mode (by using a natural cubic spline)
3075         and map the quadratic interpolation mode to this too (as quadratic
3076         doesn't make much sense, see discussion on the list).
3077
3078         * tests/check/libs/controller.c: (GST_START_TEST),
3079         (gst_controller_suite):
3080         Add unit test for the cubic interpolation mode and check everywhere
3081         if the interpolation mode could be set as expected.
3082
3083 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3084
3085         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
3086           Don't use GLib-2.10 functions, we still depend on
3087           GLib-how-old-is-it-again-2.8.
3088
3089 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
3090
3091         * docs/gst/gstreamer-sections.txt:
3092         * gst/Makefile.am:
3093         * gst/gst.c:
3094         * gst/gst.h:
3095         * gst/gstparamspecs.c: (_gst_param_fraction_init),
3096         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
3097         (_gst_param_fraction_values_cmp),
3098         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
3099         * gst/gstparamspecs.h:
3100         * gst/gstvalue.c:
3101         * tests/check/Makefile.am:
3102         * tests/check/gst/.cvsignore:
3103         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
3104         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
3105         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
3106         (GST_START_TEST), (gst_param_spec_suite):
3107           API: add GstParamSpecFraction, so elements can have fraction
3108           properties without lots of painful string parsing (#444648).
3109
3110 2007-06-05  Wim Taymans  <wim@fluendo.com>
3111
3112         * gst/gstobject.c: (gst_object_class_init):
3113         Fix signal signature.
3114
3115         * gst/gstsegment.c:
3116         Add small clarification in the api docs.
3117
3118         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
3119         States are protected with object lock.
3120
3121 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
3122
3123         * AUTHORS:
3124         I should probably be listed as an author by now.
3125
3126         * docs/random/release:
3127         Update the release doc
3128
3129 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
3130
3131         * gst/gstvalue.c:
3132           Make docs for gst_value_compare() mention return enums that
3133           actually exist.
3134
3135 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
3136
3137         * configure.ac:
3138           Back to CVS
3139
3140 === release 0.10.13 ===
3141
3142 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
3143
3144         * configure.ac:
3145           releasing 0.10.13, "With or without you"
3146
3147 2007-05-25  Wim Taymans  <wim@fluendo.com>
3148
3149         * gst/gstbin.c: (bin_handle_async_done):
3150         Make sure that the child bin stops after completing the async state
3151         change so that the parent can continue the state change to PLAYING.
3152         Fixes #441159.
3153
3154 2007-05-25  Wim Taymans  <wim@fluendo.com>
3155
3156         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3157         (unref_data), (gst_collect_pads_remove_pad),
3158         (gst_collect_pads_check_pads):
3159         Use additional refcounting to avoid crashes when dynamically adding and
3160         removing pads. Fixes #420206.
3161
3162 2007-05-24  Wim Taymans  <wim@fluendo.com>
3163
3164         * tools/gst-launch.c: (event_loop):
3165         When buffering goes from a two digit to a single digit number, make sure
3166         to remove the old second digit by writing a blank over it.
3167
3168 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * libs/gst/base/gstdataqueue.c:
3171           Eliminate tabs and trailing comma in enum list; fix some typos.
3172
3173 2007-05-24  Wim Taymans  <wim@fluendo.com>
3174
3175         * tests/check/gst/gstbin.c: (GST_START_TEST):
3176         Allow refcount of 3 and 4 because some state thread might still be busy
3177         with it.
3178
3179 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3180
3181         * plugins/elements/Makefile.am:
3182         * plugins/elements/gstmultiqueue.h:
3183         * plugins/elements/gstqueue.h:
3184           These are not installed headers, no need for padding.
3185
3186 2007-05-24  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
3189         (gst_bin_continue_func):
3190         Enable latency for next release.
3191         Restore STATE_LOCK around recalc_state that was left out during the
3192         rewrite and could result in racy behaviour when _get_state and
3193         recalc_state are run concurrently. See #440463.
3194
3195 2007-05-23  Wim Taymans  <wim@fluendo.com>
3196
3197         * tests/check/gst/gstsystemclock.c: (store_callback),
3198         (GST_START_TEST):
3199         Improve test_async_order to also work when both timers are already
3200         expired when we get scheduled to check it.
3201
3202 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
3203
3204         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
3205         (gst_bin_set_property), (gst_bin_get_property),
3206         (gst_bin_remove_func), (gst_bin_handle_message_func):
3207         * gst/gstbin.h:
3208           'private' is a c++ keyword, let's not use that in header files,
3209           otherwise c++ compilers will throw a tantrum.
3210
3211 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
3212
3213         * plugins/elements/gstelements.c:
3214         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
3215         (gst_file_sink_get_current_offset):
3216         * plugins/indexers/gstindexers.c: (plugin_init):
3217           Use #ifdef for HAVE_XYZ for consistency.
3218
3219         * tests/check/Makefile.am:
3220         * tests/check/elements/.cvsignore:
3221         * tests/check/elements/filesink.c: (setup_filesink),
3222         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
3223           Add some unit tests for filesink.
3224
3225 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
3226
3227         Patch by: Mark Nauwelaerts <manauw at skynet be>
3228
3229         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3230         (gst_file_sink_query), (gst_file_sink_do_seek),
3231         (gst_file_sink_get_current_offset), (gst_file_sink_render):
3232         * plugins/elements/gstfilesink.h:
3233           Fix position reporting; rename data_written member to current_pos to
3234           reflect its real meaning (fixes #412648).
3235
3236 2007-05-22  Edward Hervey  <edward@fluendo.com>
3237
3238         * docs/gst/gstreamer-sections.txt:
3239         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3240         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
3241         (gst_bin_remove_func), (gst_bin_handle_message_func):
3242         * gst/gstbin.h:
3243         Add a property for bins that handle the state change of their childs.
3244         Fixes #435880
3245
3246 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
3247
3248         * libs/gst/controller/gstinterpolation.c:
3249         Use an array of the correct type when using _get_value_array with
3250         linear interpolation.
3251
3252 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
3253
3254         * gst/gstelement.c (gst_element_requires_clock,
3255           gst_element_provides_clock, gst_element_request_pad,
3256           gst_element_class_set_details, gst_element_class_set_details_simple,
3257           gst_element_default_send_event, gst_element_abort_state,
3258           gst_element_continue_state, gst_element_set_state,
3259           gst_element_set_state_func, iterator_activate_fold_with_resync):
3260         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
3261           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
3262           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
3263           gst_pad_get_range, gst_pad_pull_range):
3264         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
3265           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
3266           GstPadActivateModeFunction, GstPadChainFunction,
3267           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
3268           GstPadFixateCapsFunction, GstPadTemplate):
3269         * gst/gstpipeline.c (gst_pipeline_change_state,
3270           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
3271           gst_pipeline_set_clock, gst_pipeline_auto_clock,
3272           gst_pipeline_get_delay):
3273           Whitespace and docs fixes.
3274
3275 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3276
3277         * libs/gst/controller/gstinterpolation.c:
3278         (interpolate_trigger_get_enum_value_array),
3279         (interpolate_trigger_get_string_value_array):
3280         Add support for retrieving value arrays when using the trigger
3281         interpolation mode. 
3282
3283 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3284
3285         * libs/gst/controller/gstcontroller.c:
3286         (gst_controller_get_value_array):
3287         * libs/gst/controller/gstcontroller.h:
3288         Clarify the docs of gst_controller_get_value_array(): The array where
3289         the values should be written to must be allocated as there seems to be
3290         no way to get the size of a random GType. This doesn't change any
3291         behaviour. Also fix some typos all over the place and remove an unused,
3292         commented function that is not necessary as g_object_set() could be
3293         used instead.
3294         * tests/check/libs/controller.c: (GST_START_TEST),
3295         (gst_controller_suite):
3296         Add unit test for gst_controller_get_value_array().
3297
3298 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
3299
3300         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3301
3302         Disable part of the gst_buffer_try_new_and_alloc test, because
3303         it can happily succeed on 64-bit systems where there's more address
3304         space available.
3305
3306 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
3307
3308         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3309         Add unit test for the improved caps checking from bug #421543.
3310
3311 2007-05-21  Wim Taymans  <wim@fluendo.com>
3312
3313         * docs/design/part-synchronisation.txt:
3314         Small addition.
3315
3316         * gst/gstbin.c: (gst_bin_query):
3317         * plugins/elements/gstqueue.c: (apply_segment):
3318         Improve debugging.
3319
3320         * gst/gstmessage.h:
3321         Improve docs.
3322
3323 2007-05-21  Wim Taymans  <wim@fluendo.com>
3324
3325         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3326         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
3327         (gst_pad_configure_src):
3328         Added simple version of improved caps checking. It was previously
3329         assumed that a setcaps function would check the validity of the caps but
3330         people prefer us to check caps against the template automatically. 
3331         Fixes #421543.
3332
3333 2007-05-21  Wim Taymans  <wim@fluendo.com>
3334
3335         * libs/gst/base/gstbasetransform.h:
3336         Fix macro for locking/unlocking the transform lock.
3337
3338 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         * docs/plugins/tmpl/.cvsignore:
3341           Ignore more.
3342
3343 2007-05-18  Edward Hervey  <edward@fluendo.com>
3344
3345         * plugins/elements/gstqueue.c: (gst_queue_loop):
3346         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
3347         for the subtle art of warning a potentially blocking thread that it
3348         should check the source pad return value, and relay the information
3349         upstream.
3350
3351 2007-05-18  Edward Hervey  <edward@fluendo.com>
3352
3353         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3354         Release the queue lock !
3355
3356 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3357
3358         * docs/libs/gstreamer-libs-sections.txt:
3359         Add the two new controller functions to the appropiate places.
3360
3361 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3362
3363         reviewed by: Stefan Kost <ensonic@users.sf.net>
3364
3365         * libs/gst/controller/gstcontroller.c:
3366         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
3367         (_gst_controller_get_property), (_gst_controller_set_property),
3368         (_gst_controller_init), (_gst_controller_class_init):
3369         * libs/gst/controller/gstcontroller.h:
3370         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
3371         (gst_object_get_control_rate), (gst_object_set_control_rate):
3372         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
3373         Add API that provides sync suggestion timestamps for elements that
3374         call gst_object_sync_values() from which those elements can subdivide
3375         their processing loop to get the best results for the controlled
3376         properties. For now it just suggests last_sync + control_rate as
3377         new timestamp but this will be improved in the future.
3378
3379         While doing that change the control-rate property to a GstClockTime
3380         from guint and change it's meaning from samples to nanoseconds as
3381         the GstController doesn't know anything about sampling rate. Strictly
3382         speaking this breaks ABI but as the control-rate property didn't do
3383         anything in the past and as such couldn't be used this should be no
3384         problem.        
3385
3386 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3387
3388         reviewed by: Stefan Kost <ensonic@users.sf.net>
3389
3390         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3391         (gst_controller_unset_all):
3392         * libs/gst/controller/gstcontrollerprivate.h:
3393         * libs/gst/controller/gstinterpolation.c:
3394         (gst_controlled_property_find_control_point_node):
3395         Save last synced value from the list to continue searching from there
3396         in future syncs. This speeds everything up a bit.
3397         
3398 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3399
3400         reviewed by: Stefan Kost <ensonic@users.sf.net>
3401
3402         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
3403         (gst_control_point_find), (gst_controlled_property_new),
3404         (gst_control_point_free), (gst_controlled_property_free),
3405         (gst_controller_set), (gst_controller_set_from_list),
3406         (gst_controller_unset), (gst_controller_unset_all),
3407         (gst_controller_sync_values):
3408         * libs/gst/controller/gstcontroller.h:
3409         * libs/gst/controller/gstcontrollerprivate.h:
3410         * libs/gst/controller/gstinterpolation.c:
3411         (gst_controlled_property_find_control_point_node),
3412         (interpolate_none_get), (interpolate_trigger_get):
3413         Add a new private GstControlPoint struct which "inherits" from
3414         GstTimedValue to allow different interpolators to store internal
3415         values next to each control point. From the outside everything is
3416         still a GstControlPoint so we don't loose binary compatibility.
3417         Also fixup all the GValue handling to not leak GValues or list nodes.
3418         * tests/check/libs/controller.c: (GST_START_TEST):
3419         Free the list nodes and GValues in the controller_misc test.
3420
3421 2007-05-17  Edward Hervey  <edward@fluendo.com>
3422
3423         * gst/gstsegment.c:
3424         Small doc fix.
3425
3426 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3427
3428         * gst/gstplugin.c: (gst_plugin_load_file):
3429           If we fail to load a plugin because of unresolved symbols or missing
3430           libraries and spew a warning to stderr, we may just as well mention
3431           which plugin it was that failed to load.
3432
3433 2007-05-13  David Schleef  <ds@schleef.org>
3434
3435         * docs/Makefile.am: the gtk-doc makefile snippet correctly
3436           handles the case when ENABLE_GTK_DOC is false, and installs
3437           the prebuilt documentation.  So gtk-doc subdirs are 
3438           unconditionally enabled.  Fixes: #349099.
3439
3440 2007-05-13  David Schleef  <ds@schleef.org>
3441
3442         * gst/gstutils.h: Reword some documentation.
3443
3444 2007-05-12  David Schleef  <ds@schleef.org>
3445
3446         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
3447           do anything with the passed "module" parameter, so remove it.
3448           Allows removal of additional vestigal code.
3449
3450 2007-05-12  David Schleef  <ds@schleef.org>
3451
3452         * gst/gstplugin.c:
3453           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
3454           Switch to using g_stat() because it's more portable.
3455
3456 2007-05-12  David Schleef  <ds@schleef.org>
3457
3458         * gst/gst.c:
3459           Add GST_DISABLE_OPTION_PARSING, in order to disable option
3460           parsing for embedded systems.
3461         * gst/gstelementfactory.c:
3462           Allow gst_element_register() to be called with plugin==NULL.
3463           Did nobody notice that static elements were broken?
3464
3465 2007-05-12  Wim Taymans  <wim@fluendo.com>
3466
3467         * tools/gst-launch.c: (event_loop):
3468         Give more interesting info when buffering starts and stops.
3469         Fix case where buffering starts but we fail to update the buffering flag
3470         because the target state is not PLAYING.
3471
3472 2007-05-12  Wim Taymans  <wim@fluendo.com>
3473
3474         * plugins/elements/gstqueue.c: (gst_queue_init),
3475         (gst_queue_finalize), (update_time_level), (apply_segment),
3476         (apply_buffer), (gst_queue_locked_flush),
3477         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
3478         (gst_queue_handle_sink_event), (gst_queue_chain),
3479         (gst_queue_push_one), (gst_queue_loop):
3480         * plugins/elements/gstqueue.h:
3481         Refactor an cleanup queue a bit.
3482         Do better time level calculations that also work when the srcpad is not
3483         yet running.
3484         Remove some unneeded debug lines.
3485
3486         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
3487         Added testcase for time level measurement.
3488         Try to make some stuff more racefree.
3489
3490 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3491
3492         * gst/gsturi.c: (gst_element_make_from_uri):
3493           Don't leak plugin feature.
3494
3495         * tests/check/Makefile.am:
3496         * tests/check/gst/.cvsignore:
3497         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
3498           Add brain-dead unit test.
3499
3500 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
3501
3502         Patch by: Jeroen Wouters <woutersj at gmail com>
3503
3504         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
3505           Treat protocol strings in a case-insensitive way (#437563).
3506
3507 2007-05-11  Michael Smith <msmith@fluendo.com>
3508
3509         * gst/gstplugin.c: (gst_plugin_load_file):
3510         * gst/gstregistry.c: (gst_registry_scan_path_level):
3511           Don't print a g_warning for any failure to load a shared object.
3512           Instead, push this down into gstplugin.c, and warn _only_ if we
3513           failed to open the module (i.e. failure to link).
3514           Avoids warnings on normal, working, non-plugin .so files.
3515
3516 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * gst/gstplugin.c (gst_plugin_load_file):
3519         * gst/gstregistry.c (GST_CAT_DEFAULT,
3520           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
3521           Print a g_warning if there was an error when loading a plugins during
3522           registry scan. The shuld help beginners starting with gst-plugin
3523           template.
3524
3525 2007-05-10  Wim Taymans  <wim@fluendo.com>
3526
3527         * plugins/elements/gstqueue.c: (gst_queue_class_init),
3528         (update_time_level), (gst_queue_locked_flush),
3529         (gst_queue_handle_sink_event), (gst_queue_chain),
3530         (gst_queue_push_one), (gst_queue_loop):
3531         * plugins/elements/gstqueue.h:
3532         Be smarter when calculating the current amount of data in the queue by
3533         measuring the difference between start and end timestamps (in running
3534         time) inside the queue. Fixes #432876.
3535         API: GstQueue::pushing to notify elements that we are pushing data again
3536         since the running signal is rather broken for this purpose.
3537
3538 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
3539
3540         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
3541           gst_queue_base_init, gst_queue_init):
3542           use GST_BOILERPLATE
3543
3544 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
3545
3546         * win32/common/libgstreamer.def:
3547         Add new exported functions.
3548         * win32/vs6/grammar.dsp:
3549         Use grammar pre-generated files.
3550
3551 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
3554
3555         * gst/Makefile.am:
3556         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
3557         * gst/gstparse.h:
3558         * gst/gstutils.c: (gst_parse_bin_from_description):
3559         * gst/gstutils.h:
3560           Maintain API and ABI when --disable-parse is used. Now that
3561           we have an appropriate error code, we can just return NULL and the
3562           appropriate error when gst_parse_launch() is used despite it having
3563           been disabled (#342564).
3564
3565         * tests/check/Makefile.am:
3566         * tests/check/pipelines/.cvsignore:
3567         * tests/check/pipelines/parse-disabled.c:
3568           Make sure these functions exist and return NULL plus a GError when
3569           --disable-parse is used.
3570
3571 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * tests/benchmarks/complexity.c: (main):
3574         * tests/benchmarks/mass-elements.c: (main):
3575           Set a good example and don't leak messages.
3576
3577 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
3578
3579         * docs/gst/Makefile.am:
3580         * docs/libs/Makefile.am:
3581           Correct fixxrefs options.
3582
3583         * docs/plugins/Makefile.am:
3584         * docs/plugins/gstreamer-plugins-docs.sgml:
3585         * docs/plugins/gstreamer-plugins-sections.txt:
3586         * plugins/elements/Makefile.am:
3587         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
3588         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
3589           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
3590           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
3591           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
3592           _GstCapsFilterClass, trans_class):
3593         * plugins/elements/gstelements.c (name, rank, type, _elements):
3594         * plugins/elements/gstidentity.c
3595           (gst_identity_check_imperfect_timestamp,
3596           gst_identity_check_imperfect_offset):
3597           Document capsfilter and add doc-blurb to identity.
3598
3599 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3600
3601         * libs/gst/controller/gstcontroller.c:
3602         (gst_controlled_property_set_interpolation_mode):
3603         * libs/gst/controller/gstinterpolation.c:
3604           Don't crash if someone tries to set an interpolation mode that
3605           is invalid or that isn't supported yet. Fixes #422295.
3606
3607         * tests/check/libs/controller.c: (GST_START_TEST),
3608         (gst_controller_suite):
3609           Add a test case for the above.
3610
3611 2007-05-03  Edward Hervey  <edward@fluendo.com>
3612
3613         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
3614         Properly set the last_stop position on GstSegment. This will only happen
3615         if there is a buffer to push out.
3616
3617 2007-05-03  Wim Taymans  <wim@fluendo.com>
3618
3619         * libs/gst/base/gstbasetransform.c:
3620         (gst_base_transform_buffer_alloc):
3621         always_in_place does not mean that the sink and source caps are the
3622         same! Make sure we don't blindly proxy the buffer_alloc in this case.
3623
3624 2007-05-03  Wim Taymans  <wim@fluendo.com>
3625
3626         * docs/libs/gstreamer-libs-sections.txt:
3627         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3628         (gst_base_src_default_query), (gst_base_src_get_range):
3629         * libs/gst/base/gstbasesrc.h:
3630         API: gst_base_src_query_latency(). Added method so that subclasses can
3631         easily get the latency values of the base source class.
3632
3633 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
3634
3635         * tools/gst-inspect.c (print_implementation_info):
3636         Remove 0.8 cruft.
3637
3638 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
3639
3640         * tools/Makefile.am:
3641         * tools/gst-launch.1.in:
3642           Don't create a customised man page based on the host architecture,
3643           describe the default registry path generically. That way the man
3644           page is the same for all architectures and packagers have one
3645           multilib issue less to deal with. Fixes #434926.
3646
3647 2007-05-02  Wim Taymans  <wim@fluendo.com>
3648
3649         * gst/gstpad.c:
3650         Fix documentation as spotted by rg on IRC. 
3651
3652 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
3653
3654         * gst/gstutils.c:
3655           Improve docs for gst_element_{link,unlink}.
3656
3657 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
3658
3659         * docs/design/part-events.txt:
3660         * docs/design/part-overview.txt:
3661         * gst/gstevent.c:
3662         * gst/gsturi.c:
3663         * gst/gsturi.h:
3664         * libs/gst/base/gstbasesink.c:
3665           Typo fixes; minor docs addition.
3666
3667 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3668
3669         * docs/gst/gstreamer-sections.txt:
3670         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
3671         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
3672         * gst/gsturi.h:
3673         API: Add gst_uri_protocol_is_supported(), which checks if a sink
3674         or src that supports a given URI protocol exists.
3675
3676 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3677
3678         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3679         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3680         Set the location to NULL if "file://" is set as URI. Otherwise
3681         some random previous URI would still be set if "file://" is
3682         set on an already used filesink/filesrc.
3683
3684 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
3685
3686         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
3687         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
3688         Special case the "file://" URI as as this is used by some
3689         applications to test with gst_element_make_from_uri if there's
3690         an element that supports the URI protocol.
3691         Also move the g_path_is_absolute() check for the location part
3692         of the URI to also check this for "file://localhost/bla" URIs.
3693
3694 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
3695
3696         * docs/gst/gstreamer-sections.txt:
3697         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
3698         * gst/gstbuffer.h:
3699         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
3700         (gst_buffer_suite):
3701           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
3702
3703 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
3704
3705         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3706         (gst_registry_binary_load_pad_template),
3707         (gst_registry_binary_load_plugin),
3708         (gst_registry_binary_read_cache):
3709         * gst/gstregistrybinary.h:
3710           Implement no-mmap alternative for registry reading. Do code cleanups.
3711           Add more comments about avoiding strdups for all text data. Comments
3712           welcome.
3713
3714 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3715
3716         * gst/gstregistrybinary.h (GstBinaryPluginElement,
3717           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
3718           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
3719           Comment structs and reformat to fix the build (that stuff should go
3720           into a priv. header).
3721
3722 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
3723
3724         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3725         (gst_registry_binary_load_feature):
3726         * gst/gstregistrybinary.h:
3727           Refactor so that we can implement multiple features. Add support for
3728           TypeFindFactory features.
3729
3730 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
3731
3732         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
3733
3734         * configure.ac:
3735           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
3736
3737 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
3738
3739         * gst/gstbin.c: (gst_bin_element_set_state),
3740         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
3741         (bin_handle_async_done), (gst_bin_handle_message_func):
3742           Fix build with --gst-disable-gst-debug
3743
3744 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3745
3746         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
3747           Make sure streaming has finished before calling the ::stop() vfunc,
3748           since that vfunc might clear state which is being used in the
3749           streaming thread. This fixes a race that caused crashes in
3750           audioresample when shutting down a pipeline (#420106).
3751
3752 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3753
3754         * docs/gst/gstreamer-sections.txt:
3755           That was one byte missing.
3756
3757 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3758
3759         * configure.ac:
3760         * docs/gst/gstreamer-sections.txt:
3761         * gst/Makefile.am:
3762         * gst/gstconfig.h.in:
3763         * gst/gstobject.c: (gst_object_class_init),
3764         (gst_signal_object_class_init):
3765         * gst/gstobject.h:
3766           2nd attempt to have a xml-less build as a joined effort of #413123
3767           and #421480.
3768
3769 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
3770
3771         * docs/design/draft-tagreading.txt:
3772           Added open issues/thoughts to draft.
3773
3774 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3775
3776         * gst/parse/grammar.tab.pre.c:
3777         * gst/parse/grammar.tab.pre.h:
3778         * gst/parse/lex._gst_parse_yy.pre.c:
3779         Update the prebuild parser sources.
3780
3781 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3782
3783         * gst/parse/Makefile.am:
3784         And now fix the building of the flex sources. Now everything should
3785         work as expected.
3786
3787 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3788
3789         * gst/parse/Makefile.am:
3790         Now hopefully fix the build failures by setting proper rule
3791         dependencies and moving instead of copying.
3792
3793 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3794
3795         * tests/benchmarks/complexity.gnuplot:
3796         * tests/benchmarks/complexity.scm:
3797         * tests/benchmarks/mass-elements.gnuplot:
3798         * tests/benchmarks/mass-elements.scm:
3799           Total licensification.
3800
3801 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3802
3803         * gst/parse/Makefile.am:
3804           Fix the build by correcting the rule that gave wrong files to flex.
3805
3806 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
3807
3808         * tests/benchmarks/complexity.c:
3809         * tests/benchmarks/mass-elements.c:
3810           Change licence to LGPL as granted by Benjamin and Andy.
3811
3812 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3813
3814         * gst/parse/Makefile.am:
3815         Add correct grammar.tab.h dependency if compiling without new enough
3816         flex. Fixes #431150.
3817
3818 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3819
3820         * gst/parse/Makefile.am:
3821         Fix typo and use outdated sources if the flex/bison sources are newer
3822         than the pregenerated ones but flex is too old. Print a warning in
3823         that case. This should fix the build on the build bot.
3824
3825 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
3826
3827         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
3828         * gst/parse/Makefile.am:
3829         * gst/parse/grammar.y:
3830         * gst/parse/parse.l:
3831         Make the parser reentrant and recursively callable. This requires flex
3832         >= 2.5.31, for older versions pregenerated sources are used as we
3833         can't bump the build dependency. Finally fixes #349180.
3834
3835         * gst/gstparse.c: (gst_parse_launch):
3836         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
3837         now anyway.
3838
3839         * docs/gst/Makefile.am:
3840         * docs/gst/Makefile.am:
3841         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
3842         (__gst_parse_strfree), (__gst_parse_link_new),
3843         (__gst_parse_link_free), (__gst_parse_chain_new),
3844         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
3845         (gst_parse_element_set), (gst_parse_free_link),
3846         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
3847         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
3848         (_gst_parse_launch):
3849         * gst/parse/grammar.tab.pre.h:
3850         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
3851         (yy_get_previous_state), (yy_try_NUL_trans), (input),
3852         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
3853         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
3854         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
3855         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
3856         (_gst_parse_yypop_buffer_state),
3857         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
3858         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
3859         (yy_fatal_error), (_gst_parse_yyget_extra),
3860         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
3861         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
3862         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
3863         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
3864         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
3865         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
3866         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
3867         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
3868         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
3869         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
3870         (_gst_parse_yyfree):
3871         If the installed flex version is too old use pre-generated parser
3872         sources. These pre-generated parser sources are always updated when
3873         the actual flex/bison sources change but require everybody who wants
3874         to change something in the parser to have flex >= 2.5.31 installed.
3875
3876 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
3877
3878         * common/m4/gst-gettext.m4:
3879         * gst/gst-i18n-lib.h:
3880           Make --disable-nls to work
3881
3882 2007-04-17  Wim Taymans  <wim@fluendo.com>
3883
3884         * gst/gstconfig.h.in:
3885         Revert previous change that broke the build.
3886
3887 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
3888
3889         * configure.ac:
3890         * gst/Makefile.am:
3891         * gst/gstconfig.h.in:
3892           Drop libxml2 dependency when building with 
3893           --enable-binary-registry --disable-loadsave
3894
3895 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
3896
3897         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
3898         (gst_registry_binary_read_cache):
3899         * gst/gstregistrybinary.h:
3900           Remove unnecessary <sys/mman.h> include which broke the win32 build
3901           with MingW; move includes from header file to .c file, even if the
3902           header file isn't installed; use g_strerror() where UTF-8 strings
3903           are expected, such as in GST_DEBUG messages.
3904
3905 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3906
3907         * docs/libs/gstreamer-libs-sections.txt:
3908         Remove bogus addition for API I didn't end up keeping.
3909
3910         * libs/gst/base/gstbasesrc.h:
3911         Mention Since: 0.10.13 in the documentation.
3912
3913         Add the API keyword to the previous ChangeLog entry.
3914
3915 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3916
3917         * docs/libs/gstreamer-libs-sections.txt:
3918         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3919         (gst_base_src_default_prepare_seek_segment),
3920         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
3921         * libs/gst/base/gstbasesrc.h:
3922         Allow basesrc derived classes to execute seeks in other formats
3923         by providing a prepare_seek_segment vmethod. Sub-classes can choose
3924         to prepare the GstSegment in any format that their perform_seek method
3925         will be able to understand. The default implementation provides the
3926         old behaviour of attempting to convert the seek offsets to the 
3927         configured native format.
3928
3929         API: basesrc::prepare_seek_segment vmethod.
3930
3931 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3932
3933         * gst/gstelement.c: (gst_element_get_state_func):
3934         Don't output the same debug statement twice.
3935
3936         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
3937         (gst_adapter_peek), (gst_adapter_take_buffer):
3938         Optimise the case where we have buffers at the head of the queue that
3939         can be joined quickly (because they're contiguous sub-buffers) by
3940         merging them together rather than copying data out into new memory.
3941
3942         * gst/parse/grammar.y:
3943         * tests/check/pipelines/parse-launch.c:
3944         Fix a leak in an error path for parse_launch, and add a check 
3945         for it to the testsuite.
3946
3947 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
3948
3949         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
3950           Don't deadlock when releasing a pad - gst_pad_set_active may try
3951           and take the multiqueue lock too.
3952
3953 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3954
3955         * gst/gsterror.c: (_gst_core_errors_init):
3956         * gst/gsterror.h:
3957           API: add GST_CORE_ERROR_DISABLED (#392804).
3958
3959 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3960
3961         * docs/faq/gst-uninstalled:
3962           don't get empty paths on the PATH variables
3963         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
3964           Don't format for the uncommon terminal width of 84 characters.
3965
3966 2007-04-06  Wim Taymans  <wim@fluendo.com>
3967
3968         * gst/gstpipeline.c: (reset_stream_time),
3969         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
3970         Only try to select a different pipeline clock when we went back to
3971         PAUSED and not when we merely got flushed.
3972
3973 2007-04-05  Michael Smith  <msmith@fluendo.com>
3974
3975         * tools/gst-launch.1.in:
3976           fractions are better supported in gstreamer than ractions, so
3977           suggest using those.
3978
3979 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3980
3981         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
3982
3983         * po/LINGUAS:
3984         * po/da.po:
3985           Added Danish translation.
3986
3987 2007-04-05  Wim Taymans  <wim@fluendo.com>
3988
3989         * libs/gst/base/gstbasesink.c:
3990         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
3991         Fix leak caused when refusing newsegment after EOS.
3992
3993         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3994         (gst_fake_sink_init), (gst_fake_sink_set_property),
3995         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
3996         (gst_fake_sink_render), (gst_fake_sink_change_state):
3997         * plugins/elements/gstfakesink.h:
3998         Add num-buffers property to make the element generate EOS after a
3999         configurable amount of buffers.
4000         API: fakesink::num-buffers property.
4001
4002         * tests/check/elements/fakesink.c: (GST_START_TEST),
4003         (fakesink_suite):
4004         Fix GstBus leak in test.
4005         Test for fakesink num-buffers.
4006
4007 2007-04-05  Wim Taymans  <wim@fluendo.com>
4008
4009         * libs/gst/base/gstbasesink.c:
4010         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4011         (gst_base_sink_change_state):
4012         Don't accept anything after an EOS, return UNEXPECTED instead.
4013
4014         * tests/check/elements/fakesink.c: (GST_START_TEST),
4015         (fakesink_suite):
4016         Unit test for new EOS behaviour.
4017
4018 2007-04-05  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/gstelement.c: (gst_element_get_request_pad):
4021         Make padtemplates also work when they don't contain %s or %d.
4022
4023 2007-04-05  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/gst/gstreamer-sections.txt:
4026         * gst/gstclock.c: (gst_clock_adjust_unlocked),
4027         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
4028         * gst/gstclock.h:
4029         Improve _adjust_unlocked() so that it overflows less.
4030         Add gst_clock_unadjust_unlocked to convert from external time to
4031         internal time based on calibration.
4032         Add some more debug.
4033         API: GstClock::gst_clock_unadjust_unlocked()
4034
4035 2007-04-03  Wim Taymans  <wim@fluendo.com>
4036
4037         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4038
4039         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
4040         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
4041         when releasing sink pad. Fixes #425400.
4042
4043 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
4044
4045         * docs/random/ensonic/dynlink.txt:
4046           More work on proposal for new core api.
4047
4048         * docs/libs/gstreamer-libs-sections.txt:
4049         * libs/gst/base/gstbasetransform.h:
4050           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
4051           
4052         * libs/gst/controller/gstcontroller.c:
4053         (on_object_controlled_property_changed),
4054         (gst_controller_sync_values),
4055         (gst_controller_set_interpolation_mode):
4056         * libs/gst/controller/gstcontroller.h:
4057           Less verbose logging add docs for unimplemented parts and correctly
4058           return when using unavailable parts.
4059
4060 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
4061
4062         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
4063         Move all the debug to the CLOCK category, and associate it with
4064         the clock object.
4065
4066 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
4067
4068         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
4069         Make take_buffer a bit quicker by removing redundant checks
4070         caused by calling gst_adapter_take.
4071
4072 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
4073
4074         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
4075           Don't leak GCond.
4076
4077         * tests/check/Makefile.am:
4078         * tests/check/elements/.cvsignore:
4079         * tests/check/elements/multiqueue.c: (setup_multiqueue),
4080         (GST_START_TEST), (multiqueue_suite):
4081           Add some dead simple unit tests for the 'multiqueue' element
4082           (some bits don't work yet and are disabled for now).
4083
4084 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
4085
4086         * gst/gstelement.c: (gst_element_get_request_pad),
4087         (gst_element_class_get_request_pad_template):
4088           Make gst_element_get_request_pad() create request pads only for
4089           request pad templates and not for, say, sometimes pad templates.
4090
4091 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
4092
4093         * docs/design/draft-klass.txt:
4094           Add example that needs more thinking.
4095         
4096         * docs/design/draft-missing-plugins.txt:
4097           More thoughts about wrapper plugins.
4098         
4099         * docs/random/ensonic/embedded.txt:
4100         * docs/random/ensonic/profiling.txt:
4101           More design work.
4102
4103 2007-03-25  Wim Taymans  <wim@fluendo.com>
4104
4105         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
4106         (gst_base_src_loop):
4107         Only push the segment events in the PLAYING state for live sources.
4108
4109 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
4110
4111         * gst/gstpipeline.c: (gst_pipeline_change_state):
4112         Modify the clock distribution path in PAUSED->PLAYING so that we 
4113         never attempt to choose a new clock unless we're actually leaving
4114         the PAUSED state for the first time. This prevents choosing a
4115         different clock when the state_change gets called for a 2nd time due
4116         to some element doing an async state change.
4117
4118 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4119
4120         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
4121         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
4122         (gst_pad_chain_unchecked), (gst_pad_push):
4123         Revert last commit. This needs some more thoughts.
4124
4125 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4126
4127         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
4128         (gst_pad_chain_unchecked), (gst_pad_push):
4129         Check in set_caps if the caps are compatible with the pad and remove
4130         two functions that are redundant now. Fixes #421543.
4131
4132 2007-03-22  Wim Taymans  <wim@fluendo.com>
4133
4134         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4135         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
4136         Unref some more to make valgrind happy.
4137
4138 2007-03-22  Wim Taymans  <wim@fluendo.com>
4139
4140         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
4141         (gst_system_clock_id_wait_jitter),
4142         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4143         Fix anoying regression that survived a few releases. When adding an
4144         async entry while blocking on a sync entry, the sync entry will unblock
4145         but still be busy, so it should continue to wait instead of returning
4146         _BUSY to the app.
4147         Add some comments here and there.
4148
4149         * tests/check/gst/gstsystemclock.c: (mixed_thread),
4150         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
4151         Add testcase for this.
4152
4153 2007-03-22  Wim Taymans  <wim@fluendo.com>
4154
4155         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4156         Handle errors from the clock sync better, only UNSCHEDULED indicates a
4157         WRONG_STATE and can silently pause the task. All other cases should
4158         error out.
4159
4160 2007-03-22  Wim Taymans  <wim@fluendo.com>
4161
4162         Patch by: Ville Syrjala <syrjala at sci dot fi>
4163
4164         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
4165         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
4166         Improve debugging.
4167
4168 2007-03-21  Michael Smith  <msmith@fluendo.com>
4169
4170         * docs/pwg/advanced-types.xml:
4171           Fix some errors in the typefinding docs pointed out on irc.
4172
4173 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
4174
4175         * libs/gst/base/gstbasesrc.c:
4176         Clarify FIXME comment in the face of having added unlock_stop()
4177
4178 2007-03-21  Wim Taymans  <wim@fluendo.com>
4179
4180         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
4181         Prepare for release where we warn against possible app breakage in the
4182         case of live pipelines along with an env var to enable/disable live
4183         preroll mode (GST_COMPAT=[no-]live-preroll).
4184
4185 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4186
4187         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
4188         So we should use correct constants for checking for None offset.
4189
4190 2007-03-20  Wim Taymans  <wim@fluendo.com>
4191
4192         * docs/design/part-block.txt:
4193         Mention the fact that the newly switched element should be set to at
4194         least PAUSED.
4195
4196 2007-03-20  Wim Taymans  <wim@fluendo.com>
4197
4198         * gst/gst.c:
4199         Fix compilation with registry disabled as spotted by Saur.
4200
4201 2007-03-20  Wim Taymans  <wim@fluendo.com>
4202
4203         Patch by: Olivier Crete <tester at tester dot ca>
4204
4205         * gst/gstelement.c: (gst_element_sync_state_with_parent):
4206         Look at the pending state too when syncing the element state to the
4207         parent. Fixes #420133.
4208
4209 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
4210
4211         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
4212         (gst_base_sink_change_state):
4213         * libs/gst/base/gstbasesink.h:
4214         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4215         (gst_base_src_default_event), (gst_base_src_unlock_stop),
4216         (gst_base_src_deactivate):
4217         * libs/gst/base/gstbasesrc.h:
4218         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
4219         for sub-classes to correctly clear any state they set trying to
4220         unlock, such as clearing out unlock commands from a command fd.
4221         API: basesrc::unlock_stop
4222         API: basesink::unlock_stop
4223
4224         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
4225         (gst_fd_sink_render), (gst_fd_sink_unlock),
4226         (gst_fd_sink_unlock_stop):
4227         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
4228         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
4229         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
4230
4231         Implement unlock_stop in fdsrc and fdsink.
4232         Implement seeking in fdsrc when a seekable fd is passed, as in
4233         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
4234
4235 2007-03-19  Wim Taymans  <wim@fluendo.com>
4236
4237         Patch by: Evan Nemerson <evan at coeus dash group dot com>
4238
4239         * gst/gstelement.c: (gst_element_class_init):
4240         Fix pad-added and pad-removed signal signatures so that the pad type is
4241         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
4242
4243 2007-03-19  Wim Taymans  <wim@fluendo.com>
4244
4245         * docs/gst/gstreamer-sections.txt:
4246         Add new element field and method.
4247
4248         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4249         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
4250         (gst_bin_recalc_state), (gst_bin_get_state_func),
4251         (gst_bin_element_set_state), (gst_bin_change_state_func),
4252         (gst_bin_continue_func), (bin_bus_handler),
4253         (bin_push_state_continue), (bin_handle_async_start),
4254         (bin_handle_async_done), (gst_bin_handle_message_func):
4255         Make async state changes a bit smarter by using new ASYNC_START and
4256         ASYNC_DONE messages. This reduces the number of times we run the state
4257         recalculation thread.
4258         Don't change state of element with a pending ASYNC_START message.
4259         Deprecate STATE_DIRTY messages.
4260         
4261         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
4262         (gst_element_get_state_func), (gst_element_continue_state),
4263         (gst_element_lost_state), (gst_element_set_state_func),
4264         (gst_element_change_state):
4265         * gst/gstelement.h:
4266         Keep the state that was last set by the app in a new element field.
4267         Don't allow state changes when handling an element event.
4268         Post ASYNC_START and ASYNC_DONE messages.
4269         Change lost_state so that we go to PAUSED and wait for the parent to set
4270         us to PLAYING again (so latency calculation can be performed)
4271         Export gst_element_change_state() method so that subclasses can use it.
4272         API: gst_element_change_state()
4273         API: GST_STATE_TARGET
4274
4275         * gst/gstpipeline.c: (gst_pipeline_class_init),
4276         (reset_stream_time), (gst_pipeline_change_state),
4277         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
4278         Using the new ASYNC_START message we can reset the base_time when
4279         needed. This can then be used to implement base_time redistribution in
4280         flushing seeks so that we can remove the explicit seek handling.
4281         Perform latency query and configuration when going to PLAYING.
4282
4283         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4284         (gst_base_sink_query), (gst_base_sink_change_state):
4285         Post new ASYNC_START/ASYNC_DONE messages.
4286
4287         * tests/check/generic/sinks.c: (GST_START_TEST):
4288         Fix test because the bin will not set the async element to PLAYING right
4289         away.
4290
4291         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
4292         Make the message check a little stronger.
4293         Handle ASYNC messages.
4294
4295         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
4296         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
4297         Expect ASYNC_DONE messages.
4298
4299 2007-03-19  Wim Taymans  <wim@fluendo.com>
4300
4301         * docs/gst/gstreamer-sections.txt:
4302         * gst/gstmessage.c: (gst_message_new_async_start),
4303         (gst_message_new_async_done), (gst_message_parse_info),
4304         (gst_message_parse_async_start):
4305         * gst/gstmessage.h:
4306         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
4307         support.
4308
4309 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4310
4311         * tools/gst-inspect.c:
4312         (print_plugin_automatic_install_info_codecs):
4313           Now that we don't check for the 'Codec' keyword any longer in the
4314           klass, we shouldn't spew a warning if the klass isn't a decoder or
4315           encoder (since it might be a Source/Network, for example).
4316
4317 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4318
4319         * tools/gst-inspect.c:
4320         (print_plugin_automatic_install_info_codecs):
4321           Don't require decoder/demuxer/depayloader elements or
4322           encoder/muxer/paylader elements to have 'Codec' as part of their
4323           factory class string when introspecting a plugin's capabilities.
4324           draft-klass.txt mentions that it might be removed in future, and
4325           flump3dec doesn't have it as part of its class string, so chances
4326           are others might also not have it.
4327
4328 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4329
4330         * po/af.po:
4331         * po/az.po:
4332         * po/bg.po:
4333         * po/ca.po:
4334         * po/cs.po:
4335         * po/de.po:
4336         * po/en_GB.po:
4337         * po/fr.po:
4338         * po/it.po:
4339         * po/nb.po:
4340         * po/nl.po:
4341         * po/ru.po:
4342         * po/sq.po:
4343         * po/sr.po:
4344         * po/sv.po:
4345         * po/tr.po:
4346         * po/uk.po:
4347         * po/vi.po:
4348         * po/zh_CN.po:
4349         * po/zh_TW.po:
4350           Update translations from translation project
4351
4352 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
4355         (gst_child_proxy_set_property):
4356           Invert precondition check to be alike the ones in the mimiced gobject
4357           api.
4358
4359 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
4360
4361         * docs/design/draft-tagreading.txt:
4362         * docs/random/ensonic/audiobaseclasses.txt:
4363           Do some Architect work.
4364
4365         * gst/gstobject.c: (gst_object_set_name):
4366           Add a WARNING.
4367
4368         * gst/gstpad.c:
4369           Add docs that point from gst_pad_get_range to gst_pad_pull_range
4370
4371 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
4372
4373         * gst/gstsystemclock.c: (gst_system_clock_init),
4374         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
4375         Defer starting the async system clock thread until the first async
4376         wait is scheduled. Fixes #414986.
4377
4378 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4379
4380         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
4381         (gst_single_queue_free):
4382           Fix small leak (free GstSingleQueue structure too, not only contents).
4383
4384 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
4385
4386         * gst/gstbin.c:(gst_bin_add):
4387         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
4388         * win32/common/libgstbase.def:
4389         * win32/common/libgstreamer.def:
4390         Add new exported functions.
4391
4392 2007-03-09  Wim Taymans  <wim@fluendo.com>
4393
4394         * docs/plugins/gstreamer-plugins-sections.txt:
4395         Fix GstTee docs.
4396
4397 2007-03-09  Wim Taymans  <wim@fluendo.com>
4398
4399         * docs/gst/gstreamer-sections.txt:
4400         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
4401         * gst/gstbuffer.h:
4402         Add metadata copy functions. Fixes #393099.
4403         API: gst_buffer_copy_metadata()
4404
4405         * gst/gstutils.c: (gst_buffer_stamp):
4406         * libs/gst/base/gstbasetransform.c:
4407         (gst_base_transform_prepare_output_buffer):
4408         Use new metadata copy functions.
4409
4410 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4411
4412         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4413         (gst_identity_init), (gst_identity_check_perfect),
4414         (gst_identity_check_imperfect_timestamp),
4415         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
4416         (gst_identity_set_property), (gst_identity_get_property):
4417         * plugins/elements/gstidentity.h:
4418         Separate out check-imperfect-timestamp and check-imperfect-offset.
4419         Put back check-perfect as it was to keep compatibility.
4420
4421 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
4422
4423         * gst/gstelement.c: (gst_element_dispose):
4424         There's no need to warn if VOID_PENDING is not NONE here, as
4425         long as the state is NULL it's ok, and that's checked immediately
4426         above.
4427
4428 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4429
4430         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4431         Fix check for perfect stream to ignore buffers with -1 
4432         offsets/offset ends when checking data contiguity.
4433
4434 2007-03-08  Wim Taymans  <wim@fluendo.com>
4435
4436         * tools/gst-launch.c: (event_loop):
4437         Print INFO messages.
4438
4439 2007-03-08  Wim Taymans  <wim@fluendo.com>
4440
4441         * libs/gst/base/gstbasetransform.c:
4442         (gst_base_transform_sink_eventfunc),
4443         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4444         (gst_base_transform_activate):
4445         * libs/gst/base/gstbasetransform.h:
4446         Add support for dropping buffers with custom GstFlowReturn.
4447         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
4448         buffers or dropped buffers.
4449
4450         * docs/libs/gstreamer-libs-sections.txt:
4451         docs for new custom return code.
4452
4453         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4454         Use drop support in base class to implement drop-probability.
4455
4456 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4457
4458         * gst/gst.c: (load_plugin_func):
4459         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
4460         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
4461         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
4462           Remove newlines at end of debug log strings.
4463
4464 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4465
4466         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4467         Only post bus message at max, once per buffer received.
4468
4469 2007-03-07  Wim Taymans  <wim@fluendo.com>
4470
4471         * docs/design/Makefile.am:
4472         * docs/design/part-synchronisation.txt:
4473         Add doc about synchronisation
4474
4475         * docs/design/draft-latency.txt:
4476         * docs/design/part-TODO.txt:
4477         * docs/design/part-clocks.txt:
4478         * docs/design/part-events.txt:
4479         * docs/design/part-gstbus.txt:
4480         * docs/design/part-gstpipeline.txt:
4481         * docs/design/part-live-source.txt:
4482         * docs/design/part-messages.txt:
4483         * docs/design/part-overview.txt:
4484         * docs/design/part-streams.txt:
4485         * docs/design/part-trickmodes.txt:
4486         Documentation updates.
4487
4488 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4489
4490         * gstreamer.doap:
4491         Update the doap file.
4492
4493 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4494
4495         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
4496         Rename non-perfect to imperfect for Mike and for the sanctity of the
4497         language.
4498         Also make sure bus message gets emitted for data-incontiguities.
4499
4500 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4501
4502         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
4503         (gst_identity_start):
4504         * plugins/elements/gstidentity.h:
4505         Emit bus message if check-perfect is true and we encounter a
4506         non-perfect stream between 2 consecutive buffers.
4507         Fixes #415394.
4508
4509 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
4510
4511         * configure.ac:
4512         Back to CVS
4513
4514 === release 0.10.12 ===
4515
4516 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
4517
4518         * configure.ac:
4519           releasing 0.10.12, "Inevitable Demise"
4520
4521 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
4522
4523         * configure.ac:
4524          Version 0.10.11.2 (0.10.12 pre-release)
4525          Bump libtool versioning.
4526
4527 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
4528
4529         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4530           Log flow-names and not numbers.
4531
4532 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4533
4534         * configure.ac:
4535           Convert to new AG_GST style.
4536
4537 2007-02-28  Wim Taymans  <wim@fluendo.com>
4538
4539         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
4540         Don't unref query twice.
4541
4542 2007-02-28  Wim Taymans  <wim@fluendo.com>
4543
4544         * gst/gstvalue.c: (gst_value_transform_object_string),
4545         (_gst_value_initialize):
4546         Implement GstObject -> string transform so we print object names
4547         when serializing GValues containing GstObjects.
4548
4549 2007-02-28  Wim Taymans  <wim@fluendo.com>
4550
4551         * docs/gst/gstreamer-sections.txt:
4552         Add new stuff to docs.
4553
4554 2007-02-28  Wim Taymans  <wim@fluendo.com>
4555
4556         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4557         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
4558         (gst_base_sink_change_state):
4559         Improve latency query code.
4560         Don't leak latency events.
4561
4562         * tests/check/gst/gstbin.c: (GST_START_TEST):
4563         Improve debugging.
4564
4565 2007-02-28  Wim Taymans  <wim@fluendo.com>
4566
4567         * gst/gstelement.c: (gst_element_message_full),
4568         (gst_element_get_state_func):
4569         * gst/gstelement.h:
4570         Improve docs a little. Added Since: for new macro.
4571
4572         * gst/gstobject.c: (gst_object_sink):
4573         * gst/gstpipeline.c: (gst_pipeline_change_state),
4574         (gst_pipeline_set_new_stream_time):
4575         * gst/gstpipeline.h:
4576         Improve debugging and docs.
4577
4578         * gst/gstutils.c: (gst_element_state_change_return_get_name):
4579         Improve debugging.
4580
4581 2007-02-28  Wim Taymans  <wim@fluendo.com>
4582
4583         * gst/gstelement.c: (gst_element_message_full),
4584         (gst_element_set_locked_state), (gst_element_get_state_func),
4585         (gst_element_change_state):
4586         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
4587         Documentation updates.
4588         Small code cleanups.
4589
4590         * gst/gstmessage.c: (gst_message_new_info),
4591         (gst_message_parse_info):
4592         * gst/gstmessage.h:
4593         API: gst_message_new_info()
4594         API: gst_message_parse_info()
4595         Add INFO message create and parse code.
4596
4597 2007-02-28  Wim Taymans  <wim@fluendo.com>
4598
4599         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
4600         (bin_query_latency_done):
4601         Also report the live parameter of a latency query.
4602
4603 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4604
4605         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
4606           Copy the current generic/states example from -base and adapt so
4607           we can use the exact same code everywhere.
4608           Check a STATES_IGNORE_ELEMENTS env var which can be used
4609           to ignore certain element factories for this test, which is
4610           what is being done in -base
4611         * tests/check/Makefile.am:
4612           Mention this environment variable.
4613
4614 2007-02-27  Wim Taymans  <wim@fluendo.com>
4615
4616         * docs/gst/gstreamer-sections.txt:
4617         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
4618         (gst_bus_timed_pop), (gst_bus_pop):
4619         * gst/gstbus.h:
4620         API: gst_bus_timed_pop()
4621         Implement gst_bus_timed_pop() to do a blocking timed wait for a
4622         message to arrive on the bus.
4623
4624         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
4625         (gst_bus_suite):
4626         Two unit tests for new _timed_pop() function.
4627
4628 2007-02-23  Wim Taymans  <wim@fluendo.com>
4629
4630         * gst/gstpipeline.c: (gst_pipeline_change_state),
4631         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
4632         Don't ref a NULL clock in _provide_clock_func().
4633         Don't allow an INVALID delay.
4634         Don't try to calculate base_time with an invalid start_time.
4635         Also distribute and notify a NULL clock when it was selected.
4636
4637         * tools/gst-launch.c: (event_loop):
4638         Don't crash when a NULL clock was selected in the pipeline.
4639
4640 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4641
4642         * docs/design/Makefile.am:
4643         * docs/design/draft-missing-plugins.txt:
4644         * docs/random/draft-missing-plugins.txt:
4645           Some small updates: update plugin system identifier prefix
4646           ('gstreamer.net' to 'gstreamer'), mention our new install
4647           API in libgstbaseutils rather than libgimme-codec, add
4648           reference to the online docs.
4649
4650 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4651
4652         * win32/common/config.h:
4653           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
4654           use moap cl ci to only check in what is mentioned in the ChangeLog.
4655
4656 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4657
4658         * docs/gst/gstreamer-sections.txt:
4659         * gst/gstelement.h:
4660           Fix up documentation to link to the correct GstGError section.
4661           Add GST_ELEMENT_INFO macro since someone else added a Info message.
4662
4663 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4664
4665         * tools/gst-launch.c: (event_loop):
4666           Make sure that we actually show the important message part of a
4667           warning message.
4668           No need to check if the gerror is not NULL to free; first of all
4669           g_free accepts NULL; and second the default error handler would
4670           segfault if gerror was NULL.
4671
4672 2007-02-21  Wim Taymans  <wim@fluendo.com>
4673
4674         * docs/gst/gstreamer-sections.txt:
4675         Removed docs as well.
4676
4677 2007-02-21  Wim Taymans  <wim@fluendo.com>
4678
4679         * gst/gstmessage.c: (gst_message_parse_duration):
4680         * gst/gstmessage.h:
4681         Remove new messages for release.
4682
4683 2007-02-20  Wim Taymans  <wim@fluendo.com>
4684
4685         * docs/design/part-gstghostpad.txt:
4686         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
4687         (gst_ghost_pad_new_full):
4688         Make the ghostpad a parent of the internal pad again for better backward
4689         compatibility. Don't write code that relies on this however.
4690
4691         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4692         (gst_pad_link_check_hierarchy):
4693         Require that parents should be GstElements in the hierarchy check.
4694
4695 2007-02-20  Wim Taymans  <wim@fluendo.com>
4696
4697         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
4698         (gst_bin_change_state_func), (bin_query_min_max_init),
4699         (bin_query_latency_fold), (bin_query_latency_done),
4700         (gst_bin_query):
4701         Improve debug info.
4702         Implement latency query.
4703
4704 2007-02-20  Wim Taymans  <wim@fluendo.com>
4705
4706         * docs/design/part-gstghostpad.txt:
4707         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
4708         (gst_ghost_pad_internal_do_activate_push),
4709         (gst_ghost_pad_internal_do_activate_pull),
4710         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4711         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
4712         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
4713         Do not set the internal pad as a parent anymore so we can avoid
4714         hierarchy linking errors when the ghostpad has no parent yet. This also
4715         fixes failed activation because of unlinked internal pads, which in
4716         turn fixes the impossible case where you have to activate a pad before
4717         you can add it to a running element.
4718         Also fix the docs.
4719
4720         * gst/gstpad.c: (pre_activate), (post_activate),
4721         (gst_pad_set_active), (gst_pad_activate_pull),
4722         (gst_pad_activate_push), (gst_pad_check_pull_range):
4723         Add some more debug info.
4724         Mark activation mode in pre_activate so that we don't try to activate in
4725         endless loops. Fixes #385084.
4726
4727 2007-02-19  Wim Taymans  <wim@fluendo.com>
4728
4729         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4730         (gst_base_transform_check_get_range):
4731         Implement a checkgetrange function instead of relying on the default
4732         core behaviour that assumes we can operate in pull mode if we have a
4733         getrange function. First step at fixing #385084.
4734
4735 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
4736
4737         * gst/gstchildproxy.h:
4738         * libs/gst/base/gstbasesink.h:
4739         * libs/gst/base/gstbasesrc.h:
4740         * libs/gst/base/gstbasetransform.h:
4741         More docs coverage and some ChangeLog surgery (add missing names)
4742
4743 2007-02-15  Wim Taymans  <wim@fluendo.com>
4744
4745         * docs/design/part-TODO.txt:
4746         * docs/design/part-activation.txt:
4747         * docs/design/part-block.txt:
4748         * docs/design/part-buffering.txt:
4749         * docs/design/part-clocks.txt:
4750         * docs/design/part-element-source.txt:
4751         * docs/design/part-events.txt:
4752         * docs/design/part-gstbin.txt:
4753         * docs/design/part-gstbus.txt:
4754         * docs/design/part-gstpipeline.txt:
4755         * docs/design/part-live-source.txt:
4756         * docs/design/part-messages.txt:
4757         * docs/design/part-overview.txt:
4758         * docs/design/part-qos.txt:
4759         * docs/design/part-query.txt:
4760         * docs/design/part-states.txt:
4761         * docs/design/part-trickmodes.txt:
4762         Some doc updates. Start renaming from stream_time to running_time where
4763         it was used wrongly.
4764
4765 2007-02-15  Wim Taymans  <wim@fluendo.com>
4766
4767         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
4768         Answer LATENCY query.
4769
4770 2007-02-15  Wim Taymans  <wim@fluendo.com>
4771
4772         * tests/check/gst/gstevent.c: (event_probe), (test_event),
4773         (GST_START_TEST):
4774         Improve debugging.
4775
4776 2007-02-15  Wim Taymans  <wim@fluendo.com>
4777
4778         * gst/gstpad.c: (gst_pad_get_internal_links_default),
4779         (gst_pad_dispatcher):
4780         Improve debugging of default pad dispatcher and query functions.
4781
4782 2007-02-15  Wim Taymans  <wim@fluendo.com>
4783
4784         * docs/gst/gstreamer-sections.txt:
4785         Remove old unused method.
4786
4787 2007-02-13  Wim Taymans  <wim@fluendo.com>
4788
4789         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4790         Fix check
4791
4792 2007-02-13  Wim Taymans  <wim@fluendo.com>
4793
4794         * docs/design/part-seeking.txt:
4795         Some small update.
4796
4797         * gst/gstsegment.c: (gst_segment_set_seek):
4798         Revert old bogus change that should make seeking work again.
4799
4800 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4801
4802         * docs/random/ensonic/dynlink.txt:
4803         * docs/random/ensonic/interfaces.txt:
4804         * docs/random/ensonic/receipies.txt:
4805           Possible dynamic reconnection api, plus some type fixes the other two
4806           docs.
4807
4808 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
4809
4810         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
4811         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
4812         Also check for an absolute path following file:// in the filesrc
4813         element. Remove redundant check and call g_path_is_absolute() on the
4814         unescaped location.
4815
4816 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
4817
4818         * docs/design/draft-klass.txt:
4819           Add existing category analysis.
4820           
4821         * gst/gstcaps.c:
4822           Fix doc example, framerate is a fraction.
4823
4824 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4825
4826         * configure.ac:
4827         * docs/gst/Makefile.am:
4828         * docs/gst/gstreamer-sections.txt:
4829         * docs/libs/Makefile.am:
4830           Erm, forgot a bunch of --extra-dir.
4831
4832 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
4833
4834         * configure.ac:
4835         * docs/gst/Makefile.am:
4836         * docs/libs/Makefile.am:
4837         * docs/plugins/Makefile.am:
4838           Add crossreferences to glib/gobject docs.
4839
4840 2007-02-12  Wim Taymans  <wim@fluendo.com>
4841
4842         * docs/design/draft-latency.txt:
4843         Small update.
4844
4845         * docs/libs/gstreamer-libs-sections.txt:
4846         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4847         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
4848         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
4849         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
4850         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
4851         (gst_base_sink_get_position), (gst_base_sink_query),
4852         (gst_base_sink_change_state):
4853         * libs/gst/base/gstbasesink.h:
4854         API: gst_base_sink_query_latency() to let subclasses query the upstream
4855         latency.
4856         API: gst_base_sink_get_latency() to let subclasses query the configured
4857         latency in the sink.
4858         Implement query and set latency.
4859         Update some docs.
4860         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
4861         don't continue preroll when we are flushing. Fixes #405284.
4862
4863         * tests/check/pipelines/stress.c: (change_state_timeout),
4864         (quit_timeout), (GST_START_TEST), (stress_suite):
4865         Test for #405284.
4866
4867 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         Patch by: René Stadler <mail at renestadler de>
4870
4871         * docs/gst/gstreamer-sections.txt:
4872         * gst/gsttaglist.c: (_gst_tag_initialize):
4873         * gst/gsttaglist.h:
4874           API: add GST_TAG_REFERENCE_LEVEL (#403597).
4875
4876 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
4877
4878         * docs/libs/Makefile.am:
4879           Fix path to core docs.
4880
4881         * gst/gstbin.c: (gst_bin_get_by_interface),
4882         (gst_bin_iterate_all_by_interface):
4883           Refix docs by also renaming 'interface' to 'iface' in implementation.
4884
4885         * docs/gst/gstreamer-sections.txt:
4886         * gst/gstcaps.c:
4887         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
4888         * gst/gstchildproxy.h:
4889         * gst/gstelementfactory.c:
4890         * gst/gstpadtemplate.h:
4891         * libs/gst/controller/gstcontroller.c:
4892         (gst_controlled_property_new):
4893           Document more.
4894
4895 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
4896
4897         * gst/gstbin.h:(gst_bin_get_by_interface),
4898         (gst_bin_iterate_all_by_interface):
4899         Replace interface parameter name by iface as interface is 
4900         a reserved keyword in Visual Studio for C++ projects so it removes
4901         a build error for application developpers using VS.
4902         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
4903         Fix a bug on Windows in uri format check. Now the prefix checked
4904         is file:// and next we check if the path after file:// is absolute.
4905         * win32/common/libgstbase.def:
4906         * win32/common/libgstdataprotocol.def:
4907         * win32/common/libgstgstreamer.def:
4908         Add new exported functions.
4909
4910 2007-02-09  Andy Wingo  <wingo@pobox.com>
4911
4912         * tests/check/pipelines/simple-launch-lines.c
4913         (simple_launch_lines_suite, test_tee): Disable tee test until I
4914         have time to fix it :-(
4915
4916         * tests/check/Makefile.am (noinst_HEADERS): 
4917         * tests/check/libs/libsabi.c: 
4918         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
4919         * tests/check/gst/gstabi.c: 
4920         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
4921
4922         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
4923         tests for push and pull tee behavior.
4924
4925         * plugins/elements/gsttee.h: 
4926         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
4927         mark as deprecated as well as unimplemented. It was a crack idea.
4928         Add support for tee operating in pull mode, off by default.
4929
4930         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
4931         normal-case logs down to LOG, raise errors to WARNING.
4932         (gst_registry_xml_read_cache): Don't log before calling a function
4933         that logs.
4934
4935         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
4936         exit (registry finalize).
4937         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
4938         DEBUG log when we emit signals that people don't even have the
4939         chance to connect to.
4940         (gst_registry_scan_path_level): Less logging in the normal case.
4941
4942 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4943
4944         Patch by: Michal Benes <michal dot benes at itonis dot tv>
4945
4946         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4947         Correctly generate EOS for non-seekable files. We don't have a total
4948         length for them and would get an unexpected end of file if we only
4949         special-cased for regular files. (Fixes: #404569)
4950
4951 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4952
4953         * tests/check/elements/filesrc.c: (GST_START_TEST),
4954         (filesrc_suite):
4955         Add unit test for the GstURIHandler interface in filesrc. This also
4956         tests the newly added file://localhost/foo/bar support.
4957
4958 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
4959
4960         * gst/gstelementfactory.h:
4961           The klass string is not a hierarchy. Add reference to the design doc
4962           for more information and common types.
4963
4964 2007-02-02  Wim Taymans  <wim@fluendo.com>
4965
4966         * gst/gstquery.c: (gst_query_new_latency):
4967         Remove old structure field.
4968
4969 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
4970
4971         * tools/gst-launch.1.in:
4972           Give example for network streaming (#351998)
4973
4974 2007-02-02  Wim Taymans  <wim@fluendo.com>
4975
4976         * docs/gst/gstreamer-sections.txt:
4977         Add docs for new methods.
4978
4979         * gst/gstevent.c: (gst_event_new_latency),
4980         (gst_event_parse_latency):
4981         * gst/gstevent.h:
4982         Add new LATENCY event to configure latency in a pipeline.
4983         API: gst_event_new_latency
4984         API: gst_event_parse_latency
4985
4986         * gst/gstmessage.c: (gst_message_new_buffering),
4987         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
4988         (gst_message_new_latency), (gst_message_parse_buffering),
4989         (gst_message_parse_lost_preroll):
4990         * gst/gstmessage.h:
4991         Added messages used in draft-latency.
4992         API: gst_message_new_lost_preroll
4993         API: gst_message_parse_lost_preroll
4994         API: gst_message_new_prerolled
4995         API: gst_message_new_latency
4996
4997         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
4998         (gst_query_parse_latency):
4999         * gst/gstquery.h:
5000         Implemented new latency query as in design doc.
5001         API: gst_query_new_latency
5002         API: gst_query_set_latency
5003         API: gst_query_parse_latency
5004
5005 2007-02-02  Wim Taymans  <wim@fluendo.com>
5006
5007         * docs/design/draft-latency.txt:
5008         Slight redesign to allow for dynamic latency adjustments.
5009
5010         * docs/design/part-negotiation.txt:
5011         Fix some typos.
5012
5013 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5014
5015         reviewed by: Wim Taymans <wim@fluendo.com>
5016
5017         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5018         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5019         Allow file://localhost/foo/bar URLs and correctly fail for every other
5020         hostname that one sets. This was gnomevfssrc is linked for those if
5021         installed as it can handle it (#403172)
5022
5023 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
5024
5025         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
5026
5027         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5028         (unref_data), (gst_collect_pads_add_pad_full):
5029         * libs/gst/base/gstcollectpads.h:
5030         Don't put the previously added destroy notify in the GstCollectData
5031         struct as all it's padding is already used and we don't want to break
5032         ABI. Instead put in the pad's GObject data for now. This should be
5033         cleaned up for 0.11 (#402393).
5034
5035 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
5036
5037         reviewed by: Wim Taymans <wim@fluendo.com>
5038
5039         * docs/libs/gstreamer-libs-sections.txt:
5040         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5041         (unref_data), (gst_collect_pads_add_pad),
5042         (gst_collect_pads_add_pad_full):
5043         * libs/gst/base/gstcollectpads.h:
5044         API: Add function to specify a destroy notification for custom
5045         GstCollectData when adding new pads in GstCollectPads (#402393).
5046
5047 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
5048
5049         * po/sv.po:
5050           Update Swedish translation (#378255).
5051
5052 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
5053
5054         * docs/design/draft-klass.txt:
5055           Fix the previous change, this is a list of categories and not a hierarchy.
5056
5057 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
5058
5059         * docs/design/draft-klass.txt:
5060           Add info about how to get a list of used classes.
5061
5062 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
5063
5064         * plugins/elements/gsttypefindelement.c:
5065         (gst_type_find_element_chain_do_typefinding),
5066         (gst_type_find_element_change_state):
5067           Don't leak found caps in chain function (no idea why that never
5068           showed up as a leak anywhere).
5069
5070 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
5071
5072         * gst/gstplugin.h:
5073           Fix and expand GstPluginDesc API docs.
5074
5075 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
5076
5077         * gst/gstcaps.c:
5078         * gst/gstelementfactory.c:
5079         * gst/gstpadtemplate.h:
5080           api doc fixes
5081
5082         * libs/gst/controller/gstcontroller.c:
5083         (gst_controlled_property_new):
5084         * tests/examples/controller/audio-example.c:
5085           comment fixes
5086
5087 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
5088
5089         * configure.ac:
5090           comment about refining the xml deps
5091
5092         * docs/manuals.mak:
5093           comments about moving away from jade for docs
5094         
5095         * gst/gst.c:
5096           recommit the ifdefs to use the binary registry
5097         
5098         * gst/gstbin.c: (gst_bin_change_state_func):
5099           this break is obsolete
5100
5101         * gst/gstelementfactory.h:
5102           better GST_ELEMENT_DETAILS docs, add comment about translation
5103
5104         * gst/gstinfo.h:
5105           remove eol slash
5106
5107         * gst/gstobject.c: (gst_signal_object_get_type):
5108           add G_UNLIKELY as usual
5109
5110         * gst/gstpad.c: (gst_pad_event_default):
5111           add fall trhu comment
5112
5113         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5114         (gst_registry_binary_initialize_magic),
5115         (gst_registry_binary_save_string),
5116         (gst_registry_binary_save_pad_template),
5117         (gst_registry_binary_save_feature),
5118         (gst_registry_binary_save_plugin),
5119         (gst_registry_binary_write_cache),
5120         (gst_registry_binary_check_magic),
5121         (gst_registry_binary_load_pad_template),
5122         (gst_registry_binary_load_feature),
5123         (gst_registry_binary_load_plugin),
5124         (gst_registry_binary_read_cache):
5125           comment typo and formatting
5126
5127         * gst/gstutils.c: (gst_element_state_get_name),
5128         (gst_element_state_change_return_get_name):
5129           remove obsolete breaks
5130
5131         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5132           add FIXME 0.11 and remove cpp comment
5133
5134 2007-01-29  Edward Hervey  <edward@fluendo.com>
5135
5136         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5137         Fix print statement in an even more portable way.
5138
5139 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * docs/gst/gstreamer-sections.txt:
5142         * gst/gstutils.h:
5143           API: add GST_ROUND_DOWN_* macros (#401781).
5144
5145 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * docs/gst/gstreamer.types.in:
5148         * gst/gstregistry.c: (gst_registry_class_init):
5149           Document registry signals and make gtk-doc pick them up (#401381).
5150
5151 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * docs/pwg/building-testapp.xml:
5154           Add some audioconverts and audioresample to the pipeline, and some
5155           more comments and error handling.
5156
5157 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * docs/manual/manual.xml:
5160         * docs/pwg/pwg.xml:
5161           Fix typo (#400987).
5162
5163 2007-01-26  Wim Taymans  <wim@fluendo.com>
5164
5165         * gst/gstcaps.c: (gst_static_caps_get):
5166         Init caps flags too.
5167
5168 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
5169
5170         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
5171
5172         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5173         If not using mmap'ed files try to seek to the end instead of the
5174         start to determine whether we can seek at all. This fixes the case
5175         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
5176         seeks for everything afterwards fail. Fixes #400656
5177
5178 2007-01-25  Wim Taymans  <wim@fluendo.com>
5179
5180         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
5181         Add some refcount debugging.
5182         Make gst_static_caps_get threadsafe, which is needed when autoplugging
5183         in multiple streaming threads.
5184
5185 2007-01-25  Wim Taymans  <wim@fluendo.com>
5186
5187         Patch by: David Schleef <ds at schleef dot org>
5188
5189         * docs/libs/gstreamer-libs-sections.txt:
5190         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
5191         * libs/gst/base/gstadapter.h:
5192         API: gst_adapter_copy() that can reduce the amount of memcpy when
5193         getting data from the adapter. Fixes #388201.
5194
5195 2007-01-25  Edward Hervey  <edward@fluendo.com>
5196
5197         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5198         In print statements, "%x" is for guint. Fixes build on macosx.
5199
5200 2007-01-24  Edward Hervey  <edward@fluendo.com>
5201
5202         * plugins/elements/gstmultiqueue.c:
5203         (gst_multi_queue_loop):
5204         Small fix.
5205         (single_queue_overrun_cb), (single_queue_underrun_cb),
5206         (single_queue_check_full), (gst_single_queue_new):
5207         Implement single queue growth system.
5208         This uses the extra-size properties, and will grow single queues by
5209         that much if one goes full whereas there are others empty. This is
5210         called extra-mode in the code.
5211         When a single queue's levels go back below the initial max-size
5212         limits, it is no longer in extra-mode. This is to ensure we don't
5213         consume too much memory.
5214         Fixes #399875
5215
5216 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
5217
5218         * gst/gst.c: (gst_init_get_option_group):
5219           Make warning about late g_thread_init() calls a bit more explicit,
5220           so that it's more obvious to application developers what they need
5221           to do if a user files a bug against their application.
5222
5223 2007-01-22  Edward Hervey  <edward@fluendo.com>
5224
5225         * plugins/elements/gstmultiqueue.c:
5226         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
5227         Remove previous hack of unsetting the flushing flag for the source pad
5228         instead of activating it. Instead, fix the source pad activate function
5229         so that it no longer depends on having a parent set or not.
5230
5231 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
5234
5235         * docs/manual/basics-bus.xml:
5236           Fix example code, gst_element_unref() doesn't exist any longer.
5237
5238 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
5239
5240         Patch by: Mark Nauwelaerts <manauw at skynet be>
5241
5242         * gst/gstpad.c:
5243           Fix two docs typoes (#399094).
5244
5245 2007-01-19  Edward Hervey  <edward@fluendo.com>
5246
5247         * docs/faq/gst-uninstalled:
5248         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
5249         depending on libgstbaseutils can work in uninstalled environment.
5250
5251 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
5252
5253         * gst/gsttaglist.h:
5254         * gst/gsttagsetter.c:
5255         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
5256         statement for new tag.
5257
5258 2007-01-17  Edward Hervey  <edward@fluendo.com>
5259
5260         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
5261         When dynamically creating single queues, activate sinkpad before adding
5262         it.
5263         We should be doing the same thing for the source pad, but we can't
5264         since it would call a method which needs the parent to be set in order
5265         to work propertly. Instead of activating the source pad, we just unset
5266         the flushing flag, which is the minimal requirement for adding a pad
5267         to an element in a state greater than READY.
5268
5269 2007-01-17  Edward Hervey  <edward@fluendo.com>
5270
5271         * docs/faq/gst-uninstalled:
5272         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
5273         Mac OS X.
5274
5275 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5276
5277         * tests/check/gst/gstabi.c:
5278         * tests/check/gst/struct_hppa.h:
5279         * tests/check/libs/libsabi.c:
5280         * tests/check/libs/struct_hppa.h:
5281           Add ABI structs for HPPA (see #393796).
5282
5283 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
5284
5285         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5286           Actually write ABI structs to the file specified in the GST_ABI
5287           environment variable, as the message we print claims we would.
5288
5289 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5290
5291         * tests/check/gst/gsttask.c:
5292           Fix header comment.
5293
5294 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5295
5296         * gst/gsttaglist.c: (_gst_tag_initialize):
5297           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
5298           previous two entries.
5299
5300 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5301
5302         * docs/gst/gstreamer-sections.txt:
5303         * gst/gsttaglist.c: (_gst_tag_initialize):
5304         * gst/gsttaglist.h:
5305           Add tag support for beat-per-minute.
5306
5307 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
5308
5309         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5310         (gst_registry_binary_initialize_magic),
5311         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
5312         (gst_registry_binary_save_pad_template),
5313         (gst_registry_binary_save_feature),
5314         (gst_registry_binary_save_plugin),
5315         (gst_registry_binary_write_cache),
5316         (gst_registry_binary_check_magic),
5317         (gst_registry_binary_load_pad_template),
5318         (gst_registry_binary_load_feature),
5319         (gst_registry_binary_load_plugin),
5320         (gst_registry_binary_read_cache):
5321         * gst/gstregistrybinary.h:
5322           Use glib types, cleanup comments, impement interfaces and uri-types.
5323
5324 2007-01-13  Andy Wingo  <wingo@pobox.com>
5325
5326         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
5327         getrange() to return buffers with other caps, while we fix
5328         demuxers and typefind, or otherwise change part-negotiation.txt.
5329
5330 2007-01-12  Andy Wingo  <wingo@pobox.com>
5331
5332         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
5333         Factor start/stop into this private function instead of partially
5334         in activate functions and partially in the change_state function.
5335         Fixes setup before the element has changed from READY->PAUSED, as
5336         is the case in pull-mode pipelines.
5337         (gst_base_transform_sink_activate_push)
5338         (gst_base_transform_src_activate_pull): Refactor to use
5339         gst_base_transform_activate().
5340         (gst_base_transform_change_state): Removed, not needed any more.
5341
5342         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
5343         Truncate before fixating.
5344         
5345         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
5346         Don't set_caps() if the result of fixating is ANY, as it's not
5347         supported, and not necessary in the case of a link with no
5348         template caps on either side. Fixes tests/check/libs/basesrc in
5349         some pull-mode tests.
5350
5351         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
5352         (gst_base_transform_init, gst_base_transform_sink_activate_push)
5353         (gst_base_transform_src_activate_pull): 
5354         Track the activation mode.
5355         (gst_base_transform_setcaps): In pull mode, when activating the
5356         src pad, after activating the sink pad, activate the sink pad's
5357         peer, as discussed in part-negotiation.txt.
5358
5359         * libs/gst/base/gstbasesrc.h: 
5360         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
5361         vmethod, as in basesink.
5362
5363         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
5364
5365         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
5366         mode, first proxy the setcaps to the peer pad.
5367         (gst_base_sink_pad_fixate): Add a fixate function that calls the
5368         new fixate vmethod.
5369         (gst_base_sink_default_activate_pull): Rename from
5370         gst_base_sink_activate_pull.
5371         (gst_base_sink_negotiate_pull): New function, performs negotiation
5372         in pull mode before calling ::activate_pull().
5373         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
5374         vmethod instead of the default implementation. I have no idea how
5375         this worked before. Negotiate before calling activate_pull.
5376
5377         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
5378         sink pads in pull mode. In addition to being correct, fixes
5379         filesrc ! decodebin ! identity ! fakesink.
5380         (gst_pad_get_range, gst_pad_pull_range): Don't call
5381         gst_pad_set_caps() if the caps changes; instead error out with
5382         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
5383
5384 2007-01-12  Andy Wingo  <wingo@pobox.com>
5385
5386         * docs/design/part-negotiation.txt: Update with more policy.
5387
5388 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5389
5390         * libs/gst/check/gstbufferstraw.h:
5391         * libs/gst/check/gstcheck.h:
5392           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
5393           belongs.
5394
5395 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5396
5397         * tests/check/Makefile.am:
5398         * tests/check/gst/.cvsignore:
5399         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
5400         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
5401         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
5402         (GST_START_TEST), (gst_tag_setter_suite):
5403           Add minimal unit test for beforementioned GstTagSetter bug.
5404
5405 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
5406
5407         Patch by: René Stadler <mail at renestadler dot de>
5408
5409         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
5410           gst_tag_list_merge() returns a new list, so it's not the best idea
5411           to ingore its return value. Effectively meant that tags could only
5412           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
5413           Also add function guard to require a non-NULL taglist as input (has
5414           always been so due to gst_tag_list_copy(), just making it explicit).
5415
5416 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5417
5418         * docs/random/draft-missing-plugins.txt:
5419           Some additions: mention new API that is supposed to be used at the
5420           various stages; short blob about new gst-inspect introspection
5421           option; mention potential future problem with plugins that have
5422           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
5423
5424 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * tools/gst-inspect.c:
5427         (print_plugin_automatic_install_info_codecs),
5428         (print_plugin_automatic_install_info_protocols),
5429         (print_plugin_automatic_install_info), (main):
5430         Add --print-plugin-auto-install-info option to gst-inspect, so we can
5431         introspect plugin files and get machine-parsable output that corresponds
5432         to the last bit of the missing-plugin installer string (small gotcha:
5433         doesn't take into account ranks).
5434
5435 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
5436
5437         * configure.ac:
5438         * docs/gst/gstreamer-sections.txt:
5439         * gst/Makefile.am:
5440         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
5441         (gst_registry_lookup_locked):
5442         * gst/gstregistry.h:
5443         * gst/gstregistrybinary.c: (gst_registry_binary_write),
5444         (gst_registry_binary_initialize_magic),
5445         (gst_registry_binary_save_string),
5446         (gst_registry_binary_save_pad_template),
5447         (gst_registry_binary_save_feature),
5448         (gst_registry_binary_save_plugin),
5449         (gst_registry_binary_write_cache),
5450         (gst_registry_binary_check_magic),
5451         (gst_registry_binary_load_pad_template),
5452         (gst_registry_binary_load_feature),
5453         (gst_registry_binary_load_plugin),
5454         (gst_registry_binary_read_cache):
5455         * gst/gstregistrybinary.h:
5456         * gst/gstregistryxml.c: (load_feature),
5457         (gst_registry_xml_read_cache):
5458           commit binary registry (disabled by default, see #359653)
5459
5460 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
5461
5462         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
5463           Fix 'make check' too.
5464
5465 2007-01-10  Andy Wingo  <wingo@pobox.com>
5466
5467         * docs/design/part-negotiation.txt: Fix a typo, add a couple
5468         notes.
5469         
5470         * docs/design/part-negotiation.txt: Update with, um, one way that
5471         pull-mode negotiation might work?
5472
5473         * gst/gstpad.h: 
5474         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
5475         that the pad must be a src pad; makes sense to call it the other
5476         way in pull mode, and the logic is symmetric anyway.
5477
5478 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5479
5480         * plugins/elements/gstfilesink.c:
5481           Include <stdio.h> for fseeko().
5482
5483 2007-01-10  Wim Taymans  <wim@fluendo.com>
5484
5485         * gst/gstevent.c:
5486         * gst/gstevent.h:
5487         Reserve LATENCY event.
5488
5489 2007-01-09  Wim Taymans  <wim@fluendo.com>
5490
5491         * docs/design/draft-latency.txt:
5492         Updates.
5493
5494 2007-01-09  Wim Taymans  <wim@fluendo.com>
5495
5496         * docs/design/draft-latency.txt:
5497         Updates.
5498
5499         * gst/gstelement.h:
5500         * gst/gststructure.c:
5501         * gst/gsttrace.c:
5502         Small typo fixes.
5503
5504 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * tests/check/.cvsignore:
5507           Ignore test-registry.xml as well.
5508
5509 2007-01-09  Wim Taymans  <wim@fluendo.com>
5510
5511         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5512         unref data at the end when we are done with the pad.
5513
5514 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5515
5516         * docs/gst/gstreamer-sections.txt:
5517         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
5518         (init_post), (gst_deinit), (gst_update_registry):
5519         * gst/gst.h:
5520           API: add gst_update_registry() (#391296).
5521
5522         * tests/check/Makefile.am:
5523         * tests/check/gst/gstregistry.c:
5524         * tests/check/gst/.cvsignore:
5525           Simple unit test for the above.
5526
5527 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5528
5529         * gst/gstregistry.c: (gst_registry_scan_path_level):
5530           Plugin extension on HP-UX is .sl, add that to the list of approved
5531           plugin extensions (see #393796).
5532
5533         * tests/check/gst/gstpad.c: (GST_START_TEST):
5534           ulong => gulong. Fixes compilation with HP-UX compiler.
5535
5536         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5537           Fix compilation if valgrind headers are not available.
5538
5539 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
5540
5541         * win32/common/libgstreamer.def: 
5542           Add new exported function.
5543         * win32/vs6/libgstbase.dsp: 
5544           Add gstdataqueue.c to the build.
5545         * win32/vs6/libgstcoreelements.dsp:
5546           Add gstmultiqueue.c to the build.
5547         
5548 2007-01-06  Andy Wingo  <wingo@pobox.com>
5549
5550         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
5551         activate_pull(), providing for a way to specialize the process of
5552         spawning a thread to pull on the sink pad. There is a default
5553         implementation.
5554
5555         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
5556         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
5557         (gst_base_sink_init): Renamed pad activation functions (inserting
5558         "_pad" in their names). Refactor to use the new activate_pull
5559         vmethod, as appropriate.
5560         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
5561         default activate_pull function to start a task pulling from the
5562         sink pad, as before.
5563
5564         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
5565         on the pads if necessary, as in push()/chain(). Update docs.
5566         Shouldn't affect existing pull() usage as it is currently only
5567         being used on buffers without caps.
5568
5569 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5570
5571         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5572         (init_pre):
5573           Call g_thread_init() first thing in gst_init() / gst_check_init().
5574           When initialisation is done via gst_init_get_option_group() and
5575           GOption parsing, issue a warning if the GLib thread system has not
5576           been initialised yet by the time gst_init_get_option_group() is
5577           called, as it's quite likely other GLib functions such as
5578           g_option_context_new() have been called already then, and
5579           g_thread_init() must be called before any other GLib function. The
5580           application in question must be fixed in that case, since memory
5581           corruption might happen otherwise.
5582           We issue the warning because even if the GLib folks decide to work
5583           around the problem on their end in future, this is still an issue
5584           with all GLib versions >= 2.10.0, so we should warn until we depend
5585           on a GLib version we know to be safe.
5586           Update documentation as well.
5587           Closes bug #391278.
5588
5589 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5590
5591         * tools/gst-inspect.c: (main):
5592         * tools/gst-launch.c: (main):
5593         * tools/gst-typefind.c: (main):
5594         * tools/gst-xmlinspect.c: (main):
5595           Call g_thread_init() really really early, before any other GLib
5596           function (see #342564 and recent discussion on gtk-devel-list).
5597
5598 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5599
5600         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
5601
5602         * gst/gst_private.h:
5603         * gst/gstconfig.h.in:
5604         * gst/gstinfo.h:
5605           On win32, all the __declspec stuff for symbol exporting is
5606           apparently only needed with MSVC, but doesn't work with MingW.
5607           Fixes compilation with MingW and #391909.
5608
5609 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5610
5611         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
5612           Change some GST_ERROR_OBJECT that aren't really errors to
5613           GST_WARNING_OBJECT in order to reduce terminal spam.
5614
5615 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5616
5617         * tests/check/Makefile.am:
5618           disable test again, as there seem to be still race problems
5619
5620 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
5621
5622         * tests/check/Makefile.am:
5623         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5624         (GST_START_TEST), (queue_suite):
5625           enable queue test again, add tests for the leaky behaviour
5626
5627 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
5628
5629         * configure.ac:
5630         * tests/examples/Makefile.am:
5631           Compile adapter test/example only if the required headers are
5632           available (fixes #391915).
5633
5634 2007-01-01  David Schleef  <ds@schleef.org>
5635
5636         * gst/gstplugin.c:
5637           Restore the previous signal handler for SIGSEGV instead of
5638           setting to default, since we may have stolen it away from
5639           someone.  (i.e., Mono)
5640
5641 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5642
5643         * docs/random/draft-missing-plugins.txt:
5644           Some small additions and clarifications.
5645
5646 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
5647
5648         * gst/gstregistryxml.c: (gst_registry_save_escaped):
5649           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
5650           since that can lead to random memory corruptions and crashes
5651           (may or may not be related to #383244, #386711, and #386711).
5652
5653 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5654
5655         * tests/check/.cvsignore:
5656         * tests/check/Makefile.am:
5657           sync .cvsignome and CLEANFILES
5658
5659 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5660
5661         * tests/check/Makefile.am:
5662           fix distcheck
5663
5664 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5665
5666         * docs/design/part-states.txt:
5667           two tiny additional comments
5668         
5669         * gst/gststructure.c:
5670           doc fixing
5671
5672         * tests/check/Makefile.am:
5673         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5674         (GST_START_TEST):
5675           disable test for now, unless it gets fixed
5676
5677 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5678
5679         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5680         (GST_START_TEST):
5681           fix race in underrun test
5682
5683 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5684
5685         * tests/check/elements/.cvsignore:
5686           ignore more
5687
5688         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5689         (GST_START_TEST):
5690           try to narrow test failure
5691
5692 2006-12-21  David Schleef  <ds@schleef.org>
5693
5694         * plugins/elements/gstfakesrc.c:
5695           Use g_random_int_range(), since it produces better random
5696           numbers in a range than almost-correct floating point code.
5697
5698 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
5699
5700         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5701         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5702         (gst_check_teardown_sink_pad):
5703           do not automatically (de)activate pads
5704
5705         * tests/check/Makefile.am:
5706         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
5707         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
5708           add new, yet simple tests for queue
5709
5710         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
5711         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
5712         * tests/check/elements/filesrc.c: (cleanup_filesrc),
5713         (GST_START_TEST):
5714         * tests/check/elements/identity.c: (cleanup_identity):
5715           consistent pad (de)activation
5716
5717 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5718
5719         Patch by: Sebastian Dröge  <slomo ubuntu com>
5720
5721         * libs/gst/base/gstcollectpads.c:
5722           Fix two doc typos (#387866).
5723
5724 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5725
5726         * docs/manual/advanced-dparams.xml:
5727           Fix typo (g_object_control_properties() doesn't exist).
5728
5729 2006-12-19  Edward Hervey  <edward@fluendo.com>
5730
5731         * gst/gstsegment.c: (gst_segment_set_seek):
5732         Fine tune the cases where the segment start/stop values are really
5733         updated.
5734         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5735         Add tests for the return values of gst_segment_set_seek().
5736
5737 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
5738
5739         * gst/gst.c:
5740           Docs typo fix.
5741
5742         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5743         (gst_queue_init):
5744           Fix incorrect documentation and flesh it out a bit more.
5745           Set default values for the max properties on the GParamSpec as well,
5746           so it shows up correctly in gst-inspect.
5747
5748 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
5749
5750         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
5751           Correct docs of queue, add more detail and crosslink it more.
5752
5753 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5754
5755         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5756           Print additional debug info when the stream isn't perfectly
5757           timestamped; don't try to use invalid durations.
5758
5759 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5760
5761         * docs/design/Makefile.am:
5762           Dist new design docs.
5763
5764 2006-12-16  Wim Taymans  <wim@fluendo.com>
5765
5766         Patch by: Sjoerd Simons <sjoerd at luon dot net>
5767
5768         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
5769         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5770         (gst_collect_pads_stop), (gst_collect_pads_event),
5771         (gst_collect_pads_chain):
5772         * libs/gst/base/gstcollectpads.h:
5773         Add refcounting to the collectpads data so we can track when it's safe
5774         to free the data. Fixes #383382.
5775
5776 2006-12-15  Wim Taymans  <wim@fluendo.com>
5777
5778         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5779         (gst_collect_pads_remove_pad):
5780         Automatically activate/deactivate pads when they are added to a
5781         started/stoped collectpads.
5782
5783 2006-12-15  Wim Taymans  <wim@fluendo.com>
5784
5785         * gst/gstelement.c: (gst_element_add_pad):
5786         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
5787         * gst/gstpad.c: (gst_pad_init):
5788         Set pads to FLUSHING when they are created. Check, warn and fix when a
5789         demuxer adds an inactive pad to itself when running. Fixes #339326.
5790
5791 2006-12-15  Wim Taymans  <wim@fluendo.com>
5792
5793         * gst/gstelement.c: (gst_element_class_init),
5794         (gst_element_default_send_event), (gst_element_send_event),
5795         (gst_element_default_query), (gst_element_query):
5796         Expose default element send_event and query handling as vmethods that
5797         subclasses can chain up to.
5798
5799 2006-12-15  Wim Taymans  <wim@fluendo.com>
5800
5801         * gst/gstelement.c: (gst_element_set_state_func):
5802         Small documentation fixes.
5803
5804 2006-12-15  Wim Taymans  <wim@fluendo.com>
5805
5806         * docs/design/draft-latency.txt:
5807         Checked in draft for handling latency in pipelines.
5808
5809 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5810
5811         * Makefile.am:
5812         * gstreamer.doap:
5813         * gstreamer.spec.in:
5814           adding .doap file
5815
5816 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
5817
5818         * gst/gst.c: (init_pre), (init_post):
5819           init_pre() and init_post() might be called via our GOptionGroup or
5820           from gst_init(), and we should skip both of them if we've already
5821           been initialised, otherwise we will init some things twice or add
5822           two default log functions.
5823
5824 2006-12-13  Edward Hervey  <edward@fluendo.com>
5825
5826         * docs/manual/basics-bus.xml:
5827         No, gst_main_loop does not exist. Its g_main_loop.
5828         Discovered by somebody who abused the copy-paste technique of coding :)
5829
5830 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5831
5832         * gst/gstghostpad.c:
5833           Log ghostpad debug stuff to the GST_PADS category as well rather
5834           than just to the default category.
5835
5836 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5837
5838         * configure.ac:
5839         * gst/gst.c: (init_pre):
5840           Add some basic system details such as OS and architecture
5841           to the debug output if possible, courtesy of uname().
5842
5843 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5844
5845         * docs/gst/running.xml:
5846           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
5847           environment variables.
5848
5849 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5850
5851         * tests/check/gst/gstbin.c: (GST_START_TEST):
5852         It is acceptable to have a refcount of 2 or 3 at this point in the
5853         test, because the pipeline might be just posting its state_change
5854         message. The next line then waits for that message to appear using
5855         bus_poll, so that should be fine too.
5856
5857 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
5858
5859         * gst/gst.c: (ensure_current_registry_forking):
5860         Ignore EINTR when reading from the child registry pipe.
5861         Explicitly ignore the return value from close, since it makes no
5862         difference.
5863
5864         * gst/gstminiobject.c: (gst_mini_object_ref),
5865         (gst_mini_object_unref):
5866         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
5867
5868         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
5869         When removing cached plugins, remove their features too, so they're
5870         not visible after they've disappeared.
5871
5872         * gst/gstutils.c: (prepare_link_maybe_ghosting):
5873         In the unlikely case that we are linking pads with no parents, don't
5874         crash trying to get the non-existent parent bin.
5875
5876         * gst/parse/grammar.y:
5877         Output debug in the PIPELINE category
5878
5879 2005-03-08  Wim Taymans  <wim@fluendo.com>
5880
5881         Patch by: René Stadler <mail at renestadler dot de>
5882
5883         * gst/gstclock.c: (gst_clock_new_periodic_id):
5884         Reject invalid clock times for interval of periodic ids.
5885         Fixes ##383506.
5886
5887 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5888
5889         * gst/gstelementfactory.c: (gst_element_factory_create):
5890         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5891         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
5892         * tools/gst-inspect.c: (print_element_info):
5893         Fix refcounting of gst_plugin_feature_load to match the docs. 
5894         Fixes: #380129
5895
5896 2006-12-07  Wim Taymans  <wim@fluendo.com>
5897
5898         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5899         (gst_base_sink_get_position):
5900         Improve debugging of events.
5901
5902 2006-12-07  Wim Taymans  <wim@fluendo.com>
5903
5904         Patch by: René Stadler <mail at renestadler dot de>
5905
5906         * gst/gstclock.c: (gst_clock_id_wait):
5907         Make period ids add the interval to the origial requested time instead
5908         of the possibly updated time which can be wrong when there are multiple
5909         waiters for the same id. Fixes #382592.
5910
5911         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
5912         (gst_system_clock_id_wait_jitter_unlocked),
5913         (gst_system_clock_id_wait_jitter):
5914         Fix restart in the async notify thread when an async entry is added to
5915         the front of the list. Fixes #381492. 
5916
5917         * tests/check/gst/gstsystemclock.c: (store_callback),
5918         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
5919         Added test for multiple async waits.
5920         Added test for async wait order.
5921
5922 2006-12-07  Wim Taymans  <wim@fluendo.com>
5923
5924         * gst/gstbin.c: (gst_bin_query):
5925         Add some more docs about the POSITION query.
5926
5927 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
5928
5929         * configure.ac:
5930         Bump version nano - back to CVS.
5931
5932 === release 0.10.11 ===
5933
5934 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
5935
5936         * configure.ac:
5937           releasing 0.10.11, "Love never runs on time"
5938
5939 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
5940
5941         * win32/common/libgstbase.def:
5942         * win32/common/libgstreamer.def:
5943         * win32/vs8/libgstbase.vcproj:
5944         * win32/vs8/libgstcoreelements.vcproj:
5945         * win32/vs8/libgstreamer.vcproj:
5946         Fix compilation on win32 under VS8
5947         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
5948         Partially fixes #381175
5949
5950 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5951
5952         * gst/gstvalue.c: (gst_value_compare_fraction):
5953         If someone is foolish enough to compare 2 fractions with denominator =
5954         0, return UNORDERED rather than aborting.
5955
5956 2006-11-28  Edward Hervey  <edward@fluendo.com>
5957
5958         * libs/gst/base/Makefile.am:
5959         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
5960         (gst_data_queue_base_init), (gst_data_queue_class_init),
5961         (gst_data_queue_init), (gst_data_queue_new),
5962         (gst_data_queue_cleanup), (gst_data_queue_finalize),
5963         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
5964         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
5965         (gst_data_queue_is_empty), (gst_data_queue_is_full),
5966         (gst_data_queue_set_flushing), (gst_data_queue_push),
5967         (gst_data_queue_pop), (gst_data_queue_drop_head),
5968         (gst_data_queue_set_property), (gst_data_queue_get_property):
5969         * libs/gst/base/gstdataqueue.h:
5970         New GstDataQueue object for threadsafe queueing. Most useful for
5971         elements that need some queueing functionnality.
5972         * docs/libs/gstreamer-libs-docs.sgml:
5973         * docs/libs/gstreamer-libs-sections.txt:
5974         Insert documentation for GstDataQueue
5975         * plugins/elements/Makefile.am:
5976         * plugins/elements/gstelements.c:
5977         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
5978         (gst_multi_queue_class_init), (gst_multi_queue_init),
5979         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
5980         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
5981         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
5982         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
5983         (gst_multi_queue_loop), (gst_multi_queue_chain),
5984         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5985         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
5986         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
5987         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
5988         (wake_up_next_non_linked), (compute_next_non_linked),
5989         (single_queue_overrun_cb), (single_queue_underrun_cb),
5990         (single_queue_check_full), (gst_single_queue_new):
5991         * plugins/elements/gstmultiqueue.h:
5992         New multiqueue element, using GstDataQueue. Used for queuing multiple
5993         streams.
5994         Closes #344639 and #347785
5995
5996 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
5997
5998         * docs/pwg/advanced-types.xml:
5999           add more missing type details
6000
6001         * tools/gst-run.c: (main):
6002           remove unused variable
6003
6004 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
6005
6006         * docs/libs/Makefile.am:
6007         * docs/libs/gstreamer-libs.types:
6008           add types of base classes to enable gobject specific stuff in the docs
6009
6010         * docs/random/ensonic/embedded.txt:
6011           more ideas about isolating platform specific things
6012
6013 2006-11-20  Wim Taymans  <wim@fluendo.com>
6014
6015         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
6016
6017         * libs/gst/check/gstcheck.h:
6018         Fix compilation and running against 0.9.4. Fixes #377332.
6019
6020 2006-11-20  Wim Taymans  <wim@fluendo.com>
6021
6022         * gst/gstsegment.c: (gst_segment_set_seek),
6023         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
6024         (gst_segment_to_running_time):
6025         Fix boundary checking in to_running_time() and to_stream_time().
6026         Fixes #377183.
6027
6028         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6029         stream and running time can now be calculated for the complete
6030         clipped segment.
6031
6032 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
6033
6034         * gst/gstpad.c: (gst_pad_push_event):
6035           Can't access event structure after giving away ownership of
6036           the event.
6037
6038 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
6039
6040         * docs/random/ensonic/embedded.txt:
6041         * docs/random/ensonic/profiling.txt:
6042         * docs/random/ensonic/receipies.txt:
6043           more thinking
6044
6045 2006-11-13  Wim Taymans  <wim@fluendo.com>
6046
6047         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6048
6049         * gst/gstpad.c:
6050         Fix documentation for gst_pad_dispatcher. Fixes #374475.
6051
6052 2006-11-13  Wim Taymans  <wim@fluendo.com>
6053
6054         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
6055
6056         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
6057         Store new length in segment duration so we don't keep on calling the
6058         potentially expensize get_size() call. Fixes #370865.
6059
6060 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
6061
6062         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
6063
6064         * win32/common/libgstreamer.def:
6065           Add two missing symbols (#366492).
6066
6067 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
6068
6069         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
6070         (gst_adapter_take_buffer):
6071         Fix format string to use all its arguments.
6072         Remove useless >= check on a guint
6073
6074 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
6075
6076         * tests/examples/adapter/.cvsignore:
6077         Ignore build file as commanded by the build-bot
6078
6079 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
6080
6081         * tests/examples/adapter/Makefile.am:
6082         * tests/examples/adapter/adapter_test.c: (run_test_take),
6083         (run_test_take_buffer), (run_tests), (main):
6084
6085         Add new files from the previous commit
6086
6087 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
6088
6089         * Makefile.am:
6090         * configure.ac:
6091         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
6092         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
6093         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
6094         * libs/gst/base/gstadapter.h:
6095         * tests/check/libs/adapter.c: (create_and_fill_adapter),
6096         (GST_START_TEST), (gst_adapter_suite):
6097         * tests/examples/Makefile.am:
6098         Do some optimisation work in GstAdapter to avoid copies in more cases.
6099         It could still do slightly better by merging buffers when
6100         gst_buffer_is_span_fast is true, but is already faster. 
6101
6102         Also, avoid traversing a single-linked list to append each incoming 
6103         buffer inside the adapter.
6104
6105         Add simple test app that times the adapter behaviour in different
6106         situations, and extend the unit test to check that bytes enter and
6107         exit the adapter in their original order.
6108
6109 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
6110
6111         * docs/random/draft-missing-plugins.txt:
6112           Update: use element message instead of adding a new message
6113           type to the core; don't provide GStreamer API to initiate the
6114           plugin download, just provide API to compose the strings needed
6115           and let an external libgimmestuff handle the rest.
6116
6117 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
6118
6119         * tools/gst-inspect.c: (print_element_properties_info):
6120         Print a string instead of 'unknown type' for GValueArray properties
6121
6122 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
6123
6124         * docs/random/draft-missing-plugins.txt:
6125         More small fixes.
6126
6127 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6128
6129         * tests/examples/typefind/typefind.c: (type_found), (main):
6130           Make typefind element example work again (#371894); add a
6131           license header.
6132
6133 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6134
6135         * docs/random/draft-missing-plugins.txt:
6136           Commit initial draft about how to deal with missing plugins,
6137           needs work (API too).
6138
6139 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
6140
6141         * docs/pwg/advanced-types.xml:
6142           documents the new caps elements (see #363118)
6143
6144 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6145
6146         * gst/gstplugin.c: (gst_plugin_load_file):
6147         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
6148         (gst_file_src_map_region), (gst_file_src_start):
6149         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
6150         (gst_file_index_commit):
6151           Use g_strerror() instead of strerror() - we want UTF-8.
6152
6153 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6154
6155         Patch by: Peter Kjellerstedt <pkj at axis com>
6156
6157         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6158           Another printf fix (#371493).
6159
6160 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6161
6162         * tests/check/gst/gsttag.c:
6163           relicence (okay with author=company)
6164
6165 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6166
6167         * gst/gstpad.c: (gst_pad_event_default_dispatch),
6168         (gst_pad_push_event):
6169           Enhance debug and improve docs
6170         
6171         * gst/gsturi.c:
6172           Fix docs
6173
6174 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6175
6176         * docs/random/ensonic/distributed.txt:
6177         * docs/random/ensonic/profiling.txt:
6178           more ideas
6179
6180 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
6181
6182         * docs/gst/gstreamer-sections.txt:
6183           add new API and fix the build
6184           
6185         * gst/gstbin.c: (gst_bin_recalc_state):
6186         * gst/gstelement.c: (gst_element_message_full),
6187         (gst_element_get_state_func), (gst_element_set_state_func):
6188           use new API and improve logging
6189         
6190         * gst/gstutils.c: (gst_element_state_change_return_get_name):
6191         * gst/gstutils.h:
6192           API: add function to get StateChangereturn names to improve logs 
6193
6194 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6195
6196         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6197           I'm considering shooting the next person to put strerror stuff
6198           in the translateable part of the message.
6199
6200 2006-11-03  Wim Taymans  <wim@fluendo.com>
6201
6202         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6203         Get the type and printf conversion specifiers right.
6204
6205 2006-11-03  Wim Taymans  <wim@fluendo.com>
6206
6207         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6208
6209         * gst/gstpad.c: (gst_pad_init), (pre_activate),
6210         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
6211         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
6212         Some small cleanups. Improve debugging.
6213         * gst/gstpad.h:
6214         Signal all waiting threads with a broadcast instead of just one.
6215         Fixes #369942.
6216
6217 2006-11-03  Wim Taymans  <wim@fluendo.com>
6218
6219         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
6220         (gst_fd_src_create):
6221         Add some debugging. 
6222         Only update fd when it's different from the old.
6223
6224 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6225
6226         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
6227           Printf fixes for PPC/OSX, take two (#369366).
6228
6229 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
6232
6233         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6234         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6235         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
6236           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
6237           don't cast to long long for portability reasons, but use
6238           GLib's types instead.
6239
6240 2006-10-30  Michael Smith  <msmith@fluendo.com>
6241
6242         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
6243           Get the arguments to lseek() the right way around.
6244           Fixes 367677.
6245
6246 2006-10-30  Wim Taymans  <wim@fluendo.com>
6247
6248         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
6249
6250         * gst/gstinfo.h:
6251         _declspec should be __declspec (two underscores, not one). Fixes 366572.
6252
6253 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
6254
6255         Patch by: Kjartan Maraas  <kmaraas at gnome org>
6256
6257         * docs/design/part-MT-refcounting.txt:
6258         * docs/random/wtay/capsnego2-docs:
6259         * gst/gstclock.c:
6260         * gst/gstxml.c:
6261           Typo fixes (#366212).
6262
6263 2006-10-28  Wim Taymans  <wim@fluendo.com>
6264
6265         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6266
6267         * gst/gst.c:
6268         * win32/common/libgstbase.def:
6269         * win32/common/libgstreamer.def:
6270         * win32/vs8/libgstbase.vcproj:
6271         * win32/vs8/libgstcontroller.vcproj:
6272         Add needed entries in .def files.
6273         Use HAVE_UNISTD_H.
6274         Rearrange def files in vs8 solutions. Fixes #366286.
6275
6276 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
6277
6278         * win32/common/gstconfig.h:
6279           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
6280           hand-made win32 gstconfig.h. Fixes #366321.
6281
6282 2006-10-27  Wim Taymans  <wim@fluendo.com>
6283
6284         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
6285         (gst_ghost_pad_new_full):
6286         Make acceptcaps return TRUE when we don't have a target, just like
6287         setcaps does.
6288
6289 2006-10-27  Wim Taymans  <wim@fluendo.com>
6290
6291         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6292         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
6293
6294 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6295
6296         * gst/gststructure.c: (gst_structure_id_set_value):
6297           If someone tries to set a non-UTF8 string field on a structure,
6298           don't just print a warning, but also ignore the request and do
6299           not change/add that field to the structure.
6300
6301         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6302           Test for the above.
6303
6304 2006-10-25  David Schleef  <ds@schleef.org>
6305
6306         * gst/gstinfo.c:
6307           g_hash_table_insert() needs a cast to a non-const pointer duh.
6308
6309 2006-10-25  David Schleef  <ds@schleef.org>
6310
6311         * gst/gstinfo.c:
6312         * gst/gstinfo.h:
6313           Change name parameter of _gst_debug_register_funcptr to const
6314           to reflect the constness of its use in the function as well
6315           as to quiet a gcc warning.
6316
6317 2006-10-25  Edward Hervey  <edward@fluendo.com>
6318
6319         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6320         Don't push the buffer if it's empty.
6321         Closes #363095
6322
6323 2006-10-24  Wim Taymans  <wim@fluendo.com>
6324
6325         * gst/gstevent.h:
6326         Add small comment.
6327
6328         * libs/gst/base/gstbasetransform.c:
6329         (gst_base_transform_sink_eventfunc):
6330         Debug segment values *after* updating them as this is more
6331         interesting.
6332
6333 2006-10-23  Wim Taymans  <wim@fluendo.com>
6334
6335         * docs/design/part-events.txt:
6336         Update some docs.
6337
6338         * docs/design/part-block.txt:
6339         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6340         (gst_pad_push_event):
6341         Revert BLOCKING patch, it tries to be smart without really having a
6342         clear idea what or how. So, now we discard all FLUSHING events again on
6343         a blocking pad. Should fix gnonlin again.
6344
6345 2006-10-23  Wim Taymans  <wim@fluendo.com>
6346
6347         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
6348
6349         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6350         (gst_base_src_start), (gst_base_src_activate_push):
6351         Make sure size is always initialized. Fixes #364388.
6352
6353 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
6354
6355         * docs/random/ensonic/distributed.txt:
6356           add some ideas about doing distributed processing
6357
6358         * docs/random/ensonic/profiling.txt:
6359           get_rusage look promising
6360
6361 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
6362
6363         * docs/manual/basics-helloworld.xml:
6364           Add a cast in example to fix compile warning
6365
6366 2006-10-18  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/gstsegment.c: (gst_segment_set_last_stop),
6369         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
6370         Relax arg checking again, -1 is allowed.
6371
6372 2006-10-18  Wim Taymans  <wim@fluendo.com>
6373
6374         * gst/gstsegment.c: (gst_segment_set_last_stop),
6375         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
6376         _set_last_stop() must be with a value != -1
6377         A _TYPE_SET to -1 means seek to 0.
6378         Calc last_stop correctly for negative rates.
6379         Make sure we work with positive durations when updating a segment.
6380
6381 2006-10-18  Wim Taymans  <wim@fluendo.com>
6382
6383         * docs/design/part-live-source.txt:
6384         * gst/gstclock.h:
6385         Small docs fixes.
6386
6387 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
6388
6389         * gst/gstbuffer.h:
6390           Add an explicit cast to GstBuffer** to keep old code that added an
6391           explicit cast to GstMiniObject** for gst_mini_object_replace()
6392           compiling without warning.
6393
6394 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
6395
6396         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
6397           check for validity of dates
6398
6399 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6400
6401         * docs/gst/gstreamer-sections.txt:
6402           Forgot this one, makes gtk-doc shut up.
6403
6404 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6405
6406         Patch by: Peter Kjellerstedt <pkj at axis com>
6407
6408         * gst/gstobject.h:
6409           Don't define xmlNodePtr to gpointer if the core was built with
6410           --disable-loadsave and --disable-registry, this will break
6411           applications that want to use libxml2 but are buildling against a
6412           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
6413           instead so we don't have to mess with the libxml2 namespace
6414           (#361675).
6415
6416 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
6417
6418         * gst/gstbuffer.h:
6419           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
6420           type-punned pointer warnings.
6421
6422 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6423
6424         * gst/gstelement.h:
6425           Add casts to the correct return type to state <=> state transition
6426           macros.
6427
6428 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
6429
6430         * docs/design/part-live-source.txt:
6431           describe howto handle latency
6432         
6433         * docs/random/ensonic/profiling.txt:
6434           more ideas
6435
6436         * tools/gst-plot-timeline.py:
6437           fix log parsing for solaris, remove unused function
6438
6439 2006-10-16  Wim Taymans  <wim@fluendo.com>
6440
6441         * docs/design/part-trickmodes.txt:
6442         * gst/gstevent.c:
6443         Update some docs regarding reverse playback.
6444
6445 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6446
6447         Patch by: Marcus Granado  <mrc dot gran at gmail com>
6448
6449         * win32/vs8/grammar.vcproj:
6450           Error out with a warning if glib-genmarshal.exe is not in path,
6451           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
6452
6453 2006-10-13  Wim Taymans  <wim@fluendo.com>
6454
6455         * gst/gstsegment.c: (gst_segment_set_seek):
6456         When seeking to stop -1, set last_stop (current position) to the
6457         duration of the segment.
6458
6459 2006-10-13  Wim Taymans  <wim@fluendo.com>
6460
6461         * gst/gstelement.h:
6462         Clarify _NO_PREROLL a bit more.
6463
6464         * gst/gstevent.c:
6465         Fix docs.
6466
6467         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
6468         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
6469         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
6470         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
6471         due to wrong locking order. Fixes #361769.
6472         Remove some redundant/misplaced checks in pad_block.
6473
6474         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6475         For negative rates, count backwards from the duration.
6476
6477 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6478
6479         * gst/gsterror.c: (_gst_library_errors_init):
6480           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
6481           up with something better).
6482
6483 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6484
6485         * win32/vs6/libgstreamer.dsp:
6486         * win32/vs7/libgstreamer.vcproj:
6487         * win32/vs8/libgstreamer.vcproj:
6488           Don't reference glib-compat.c which is currently not used and not
6489           disted; add gstquark.c which was recently added. Fixes #361730.
6490
6491 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
6492
6493         * win32/common/libgstbase.def:
6494         * win32/common/libgstcontroller.def:
6495         * win32/common/libgstreamer.def:
6496           Add gst_caps_merge() and a bunch of other recently-added functions.
6497           Fixes #361732.
6498
6499 2006-10-11  Wim Taymans  <wim@fluendo.com>
6500
6501         * docs/plugins/gstreamer-plugins.args:
6502         * docs/plugins/inspect/plugin-coreelements.xml:
6503         * docs/plugins/inspect/plugin-coreindexers.xml:
6504         Update element args.
6505
6506         * gst/gstsystemclock.c:
6507         Small comment update.
6508
6509         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
6510         (gst_tee_request_new_pad), (gst_tee_release_pad),
6511         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
6512         (gst_tee_sink_activate_pull):
6513         * plugins/elements/gsttee.h:
6514         Some tee loving:
6515         Add default property defines.
6516         Implement release pad function.
6517         Give properties better blubs etc.
6518         Activate pads before adding them to a running tee.
6519         Do simple buffer_alloc on the first requested pad.
6520         Post error when activation fails.
6521
6522 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6523
6524         * gst/gst.c: (ensure_current_registry_forking):
6525           Check return value of write() to make compiler happy.
6526
6527 2006-10-11  Wim Taymans  <wim@fluendo.com>
6528
6529         Patch by: Sjoerd Simons <sjoerd at luon dot net>
6530
6531         * plugins/elements/gstqueue.c: (gst_queue_chain):
6532         Recheck queue filledness after signalling the overrun when we're about
6533         to leak downstream because we released the lock when emitting the signal
6534         and the queue could be empty again. Fixes #352345.
6535
6536 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
6537
6538         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
6539           Fix refcounting here too, just like we did for _new_valist() a few
6540           days ago (#357180) (thanks to René Stadler). Also remove all those
6541           'Since: 0.9' from the gtk-doc blobs.
6542
6543         * tests/check/libs/controller.c: (controller_refcount_new_list),
6544         (gst_controller_suite):
6545           Unit test for the above.
6546
6547 2006-10-10  Wim Taymans  <wim@fluendo.com>
6548
6549         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
6550
6551         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6552         (gst_pad_save_thyself):
6553         Update some docs.
6554         Write pad direction in XML output. Fixes #345496.
6555
6556 2006-10-10  Wim Taymans  <wim@fluendo.com>
6557
6558         Patch by: René Stadler <mail at renestadler dot de>
6559
6560         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6561         (gst_controller_new_list), (_gst_controller_dispose),
6562         (_gst_controller_finalize), (_gst_controller_class_init):
6563         Take ref to controlled object so that it cannot disappear. 
6564         Fixes #357432.
6565
6566 2006-10-10  Wim Taymans  <wim@fluendo.com>
6567
6568         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6569         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
6570         (gst_check_teardown_sink_pad):
6571         Activate/deactivate pads in setup/teardown respectively.
6572
6573 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6574
6575         Patch by: Josep Torre Valles <josep@fluendo.com>
6576
6577         * gst/Makefile.am:
6578         Cast values when making gstenumtypes.h.  This pacifies Forte
6579         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
6580         in the enumeration.
6581
6582 2006-10-09  Wim Taymans  <wim@fluendo.com>
6583
6584         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
6585         Rename some more @cur to @start to fix docs. 
6586
6587         * gst/gstsegment.c: (gst_segment_set_seek):
6588         Fix typo.
6589         time and start must always stay in sync as defined in design doc.
6590
6591         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6592         Rename param to fix docs.
6593
6594         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6595         Check that start and time are in sync.
6596
6597         * tests/check/pipelines/parse-launch.c:
6598         (gst_parse_test_element_change_state):
6599         Activate pad before adding to the element.
6600
6601 2006-10-09  Wim Taymans  <wim@fluendo.com>
6602
6603         * docs/design/part-qos.txt:
6604         Fix typo.
6605
6606         * gst/gstevent.c:
6607         * gst/gstevent.h:
6608         Update seek event docs regarding negative rates.
6609         Rename @cur to @start. 
6610
6611         * gst/gstsegment.c: (gst_segment_set_seek):
6612         * gst/gstsegment.h:
6613         Update set_seek docs regarding negative rates.
6614         Correctly update last_stop to @stop when dealing with negative
6615         rates.
6616         Rename @cur to @start. 
6617
6618         * tests/check/gst/gstpad.c: (GST_START_TEST):
6619         Activate pads before trying to use them.
6620
6621         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6622         (gst_segment_suite):
6623         Add simple check for segments and negative rates.
6624
6625 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6626
6627         * gst/gsttaglist.c: (gst_tag_list_is_empty):
6628         * gst/gsttaglist.h:
6629         * docs/gst/gstreamer-sections.txt:
6630           API: add gst_tag_list_is_empty() (#360467).
6631
6632         * tests/check/gst/gsttag.c: (GST_START_TEST):
6633           And a test case.
6634
6635 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6636
6637         * gst/gstmessage.h:
6638         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
6639         a value that doesn't fit on enumeration.
6640
6641 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6642
6643         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6644         Remove local debugging system and use Gstreamer's instead.
6645
6646 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6647
6648         Patch by: Josep Torre Valles <josep@fluendo.com>
6649
6650         * common/m4/gst-error.m4:
6651         Disable warning of statement not reached on Forte.
6652         * gst/gstmessage.h:
6653         Fix warning on Forte (value doesn't fit on enumeration).
6654         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
6655         Fix warning on Forte (value doesn't fit on enumeration).
6656         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6657         DEBUG macro says it takes minimum of 2 args and so Forte
6658         complains about the use with just 1 arg.
6659         * plugins/elements/gstfdsink.c:
6660         * plugins/elements/gstfdsrc.c:
6661         * plugins/elements/gstfilesink.c:
6662         * plugins/elements/gstfilesrc.c:
6663         Use correct return type for the uri handler implementations.
6664
6665         All these fix warnings in Forte.  Fixes bug #360860.
6666
6667 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6668
6669         * gst/gstelement.h:
6670           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
6671           format string, so don't use G_GNUC_PRINTF for those versions.
6672
6673 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6674
6675         * gst/gsttaglist.c: (gst_is_tag_list):
6676         * gst/gsttaglist.h:
6677           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
6678
6679         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6680           Small test for the above.
6681
6682 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
6683
6684         * gst/gsttaglist.h:
6685           Less tabs, more spaces.
6686
6687 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
6688
6689         * gst/gstinfo.h:
6690           Those two function declarations do actually belong there, revert
6691           commit from yesterday that turned them intro macros.
6692
6693 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6694
6695         Patch by: Josep Torre Valles <josep@fluendo.com>
6696
6697         * gst/gst.c: (gst_init_get_option_group):
6698         Fix empty declaration and type mismatch.
6699         * gst/gstbin.c: (gst_bin_change_state_func):
6700         Fix type mismatch.
6701         * gst/gstelement.c: (gst_element_continue_state),
6702         (gst_element_set_state_func), (gst_element_change_state),
6703         (gst_element_change_state_func):
6704         Fix type mismatches.
6705         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
6706         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
6707         Cast as appropriate.
6708         * gst/gstobject.c: (gst_class_signal_connect):
6709         Cast as appropriate.  The function pointer parameter really
6710         has the wrong type but would break API if we change it.
6711         * gst/gstquery.c:
6712         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
6713         order of including string.h.
6714         * gst/gstutils.c: (gst_element_state_get_name):
6715         Remove unreachable line.
6716         * gst/gstxml.c: (gst_xml_parse_doc):
6717         Fix type mismatch.
6718         All these caught by Forte.
6719
6720 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6721
6722         Patch by: Josep Torre Valles <josep@fluendo.com>
6723
6724         * common/m4/gst-error.m4:
6725         Fixed bug #360151.
6726         We need to disable warnings on Forte for empty declarations
6727         due to gst-indent adding ;s to lines that just use macros
6728         where the macro actually doesn't need a ; at end to end
6729         statement.
6730
6731 2006-10-06  Wim Taymans  <wim@fluendo.com>
6732
6733         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6734         (gst_file_sink_close_file), (gst_file_sink_event),
6735         (gst_file_sink_render):
6736         Add some FIXME for the NEWSEGMENT handling.
6737
6738 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6739
6740         * gst/parse/grammar.y:
6741         Remove static function gst_parse_element_lock as all it does
6742         is return.  Looks like cruft from 0.8.
6743
6744 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6745
6746         Patch by: Josep Torre Valles <josep@fluendo.com>
6747
6748         * common/m4/gst-error.m4:
6749         * configure.ac:
6750         * libs/gst/net/Makefile.am:
6751         Fix a compilation issue with Forte on Solaris.  inet_aton is in
6752         libresolv.
6753
6754 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * gst/gstpad.c: (pre_activate):
6757         * gst/gstregistry.c: (gst_registry_scan_path_level):
6758         * gst/gstregistryxml.c: (load_plugin):
6759         * libs/gst/controller/gstcontroller.c:
6760         (gst_controlled_property_set_interpolation_mode):
6761         * libs/gst/dataprotocol/dataprotocol.c:
6762         (gst_dp_packet_from_event_1_0):
6763         * libs/gst/net/gstnetclientclock.c:
6764         (gst_net_client_clock_observe_times):
6765         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
6766           Printf fixes.
6767
6768 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
6769
6770         * configure.ac:
6771         * docs/gst/gstreamer-sections.txt:
6772         * gst/gstconfig.h.in:
6773         * gst/gstelement.h:
6774         * gst/gstinfo.h:
6775           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
6776           whether we can use G_GNUC_PRINTF in other header files and at
6777           least check the printf format/arguments of debug messages and
6778           GST_ELEMENT_ERROR messages when the printf extension is not
6779           being used.
6780           Replace more tabs with spaces in gstinfo.h and remove two spurious
6781           function declarations in GST_DISABLE_DEBUG part with macros.
6782
6783 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6784
6785         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
6786           More docs for the sync-message signal (mention that it is not
6787           emitted by default); log message structures of messages posted on
6788           the bus as well.
6789
6790 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
6791
6792         * gst/gst.c: (ensure_current_registry_forking):
6793         Use a pipe pair to receive status results from the forked child, and
6794         ignore the result from waitpid. Fixes #355499
6795
6796 2006-10-02  Wim Taymans  <wim@fluendo.com>
6797
6798         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
6799         (gst_ghost_pad_suite):
6800         Fix leak in check.
6801
6802 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6803
6804         * gst/gstpad.c:
6805           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
6806
6807 2006-10-02  Edward Hervey  <edward@fluendo.com>
6808
6809         * docs/design/part-block.txt:
6810         Further explain the use of flushing on blocked pads.
6811         * docs/gst/gstreamer-sections.txt:
6812         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
6813         (gst_pad_push_event):
6814         * gst/gstpad.h:
6815         Added new GstPadFlag : GST_PAD_BLOCKING.
6816         Adds the notion of pads really blocking, which enables to properly
6817         handle FLUSH_START/FLUSH_STOP events on blocked pads.
6818         Fixes #358999
6819         API: gst_pad_is_blocking()
6820         API: GST_PAD_IS_BLOCKING() macro
6821         API: GST_PAD_BLOCKING GstPadFlag
6822         
6823 2006-10-02  Wim Taymans  <wim@fluendo.com>
6824
6825         Patch by: mrcgran <mrc.gran at gmail dot com>
6826
6827         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
6828         Filter the proxied caps against the padtemplate if we have one.
6829
6830         * gst/gstquery.c: (gst_query_new_segment):
6831         Add include for gstinfo.h so that compilation with
6832         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
6833
6834 2006-10-02  Wim Taymans  <wim@fluendo.com>
6835
6836         Patch by: Alessandro Decina  <alessandro at nnva org>
6837
6838         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
6839         (gst_file_sink_set_location), (gst_file_sink_open_file),
6840         (gst_file_sink_close_file), (gst_file_sink_event),
6841         (gst_file_sink_render):
6842         Set file to NULL when closing filesink so that we can set a new filename
6843         in READY. Fixes #358613.
6844
6845 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6846
6847         Patch by: Alessandro Decina  <alessandro at nnva org>
6848
6849         * gst/gstevent.c: (_gst_event_copy):
6850           Fix gst_mini_object_make_writable() and gst_event_copy() for events
6851           with event structures by setting the parent refcount address of the
6852           copied structure to the address of the refcount member of the newly
6853           copied event rather than the address of the refcount member of the
6854           original event. Fixes #358737.
6855
6856         * tests/check/gst/gstevent.c: (GST_START_TEST):
6857           Unit test for the above.
6858
6859 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * docs/design/Makefile.am:
6862           Dist some more files.
6863
6864 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6865
6866         * tests/check/libs/controller.c: (GST_START_TEST),
6867         (gst_controller_suite):
6868           Add test for the previous fix; add some more tests
6869           for correct refcounting behaviour; fix a few leaks
6870           in test cases; call gst_controller_init() at start
6871           of all tests.
6872
6873 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6874
6875         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
6876         (gst_controller_set_from_list):
6877           Don't g_return_val_if_fail() on timed values with invalid timestamps
6878           inside a critical section without unlocking the mutex. Spotted by
6879           René Stadler. (#357617)
6880           Also, fix up refcounting properly: when returning an existing
6881           controller, we should increase the reference only once and not
6882           once per property and when trying to control a property again
6883           we should also increase the refcount.
6884
6885 2006-09-29  Wim Taymans  <wim@fluendo.com>
6886
6887         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6888         * libs/gst/net/gstnettimeprovider.c:
6889         (gst_net_time_provider_thread):
6890         Stop reading commands when EOF as well.
6891
6892         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6893         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6894         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6895         Unify description of the dump property.
6896
6897 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6898
6899         * tests/examples/manual/.cvsignore:
6900         OK, so it's actually cvsignore that needs changing. Stop laughing.
6901
6902 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6903
6904         * tests/examples/manual/Makefile.am:
6905         Gah, declare vars *before* using them
6906
6907 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6908
6909         * gst/gst.c: (init_pre), (scan_and_update_registry),
6910         (ensure_current_registry_nonforking),
6911         (ensure_current_registry_forking), (ensure_current_registry),
6912         (init_post), (gst_debug_help), (gst_deinit):
6913         * gst/gst_private.h:
6914         * gst/gstregistry.c: (gst_registry_finalize),
6915         (gst_registry_remove_features_for_plugin_unlocked),
6916         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6917         (gst_registry_scan_path),
6918         (_priv_gst_registry_remove_cache_plugins),
6919         (_priv_gst_registry_cleanup):
6920         * gst/gstregistry.h:
6921         Re-commit the registry changes, along with an extra fix:
6922           When a cached plugin is encountered at a different file path,
6923           update the stored path in the registry cache so that the parent
6924           process knows where it actually is now when it re-reads the registry
6925           cache. Fixes the thing that broke distcheck with the previous commit.
6926
6927         * tests/check/Makefile.am:
6928         Clean up files named 'core' too when running make clean.
6929
6930         * tests/examples/manual/Makefile.am:
6931         Set up a registry path for running these tests, and clean it properly
6932         for distcheck.
6933
6934 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
6935
6936         * configure.ac:
6937         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
6938         want gmodule-no-export-2.0.pc instead so that we don't drag in
6939         --export-dynamic on every project that links to GStreamer.
6940
6941         Also, make our export regex only match the start of symbols, rather 
6942         than any symbol that contains '_gst' somewhere.
6943
6944         * libs/gst/check/Makefile.am:
6945         The libgstcheck we build does however need export-dynamic, as it
6946         produces some symbols that don't match our _gst... style regex.
6947         Fixes: #318031
6948
6949 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6950
6951         * gst/gst.c: (init_pre), (scan_and_update_registry),
6952         (ensure_current_registry_nonforking),
6953         (ensure_current_registry_forking), (ensure_current_registry),
6954         (init_post), (gst_debug_help), (gst_deinit):
6955         * gst/gst_private.h:
6956         * gst/gstregistry.c: (gst_registry_finalize),
6957         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6958         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
6959         (_gst_registry_cleanup):
6960         * gst/gstregistry.h:
6961           Revert previous change until I figure out why it breaks distcheck.
6962
6963 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
6964
6965         * gst/gst.c: (init_pre), (scan_and_update_registry),
6966         (ensure_current_registry_nonforking),
6967         (ensure_current_registry_forking), (ensure_current_registry),
6968         (init_post), (gst_debug_help), (gst_deinit):
6969
6970           Make init_pre and init_post take the full complement of GOptionFunc
6971           args so they can return useful GErrors. Make the registry updating
6972           functions do so.
6973
6974           Call _priv_gst_registry_remove_cache_plugins after scanning files to
6975           ensure that the registry we're about to write out doesn't contain
6976           stale information about old-deleted plugin files.
6977
6978           Make _priv_gst_registry_remove_cache_plugins return a boolean so
6979           that deletion of plugin files is considered a registry change.
6980
6981         * gst/gst_private.h:
6982         * gst/gstregistry.c: (gst_registry_finalize),
6983         (gst_registry_remove_features_for_plugin_unlocked),
6984         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
6985         (gst_registry_scan_path),
6986         (_priv_gst_registry_remove_cache_plugins),
6987         (_priv_gst_registry_cleanup):
6988         * gst/gstregistry.h:
6989         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
6990         by adding _priv prefix, so that they won't appear in the global
6991         symbol table. They still do atm though because of #318031. Move the
6992         prototypes to gst_private.h
6993
6994         When removing a plugin, remove all features for that plugin too. 
6995         Fixes #340878.
6996
6997 2006-09-27  Wim Taymans  <wim@fluendo.com>
6998
6999         * docs/random/moving-plugins:
7000         Make it clear that the "compiled-in descriptions" really mean
7001         the element details.
7002
7003         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7004         (gst_base_sink_wait_preroll):
7005         Update docs.
7006
7007         * docs/libs/gstreamer-libs-sections.txt:
7008         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7009         (gst_base_src_get_range), (gst_base_src_activate_push):
7010         * libs/gst/base/gstbasesrc.h:
7011         Added function to block while waiting for PLAYING, this function
7012         is used by live sources that block on the clock.
7013         API: gst_base_src_wait_playing()
7014
7015 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7016
7017         Patch by: Peter Kjellerstedt <pkj at axis com>
7018
7019         * Makefile.am:
7020           gst-element-check.m4 is generated and should therefore be
7021           copied from the build dir rather than the source dir (#357593).
7022           'make distcheck' hasn't noticed this because we were disting
7023           the file as well, so stop doing that.
7024
7025 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7026
7027         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7028           Add some tests for gst_caps_intersect().
7029
7030         * tools/gst-launch.c: (event_loop):
7031           Print all buffering percentages we get, even the 100% one.
7032
7033 2006-09-26  Wim Taymans  <wim@fluendo.com>
7034
7035         * tools/gst-inspect.c: (print_element_properties_info),
7036         (print_signal_info):
7037         Fix printing of flags to match the look of enums.
7038
7039 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         * gst/gstelementfactory.c:
7042           Fix typo in docs blurb.
7043
7044 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7045
7046         * gst/gsturi.c: (search_by_entry):
7047           Don't assert/crash here if a uri handler doesn't return any
7048           supported protocols. The list of protocols could be generated
7049           dynamically at runtime or at plugin registration, and an error
7050           in the underlying library shouldn't be fatal (#353301).
7051
7052 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
7053
7054         * gst/gstinfo.c:
7055           Fix warning if HAVE_PRINTF_EXTENSION is undefined
7056           (spotted by Peter Kjellerstedt).
7057
7058 2006-09-23  Wim Taymans  <wim@fluendo.com>
7059
7060         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
7061
7062         * libs/gst/base/gstbasesrc.c:
7063         (gst_base_src_default_check_get_range), (gst_base_src_start),
7064         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7065         (gst_base_src_change_state):
7066         Match _start/_stop calls in the activate functions. Remove redundant
7067         _stop call from the state change function. Fixes #356910.
7068         Turn failure DEBUG into ERROR. 
7069
7070 2006-09-22  Wim Taymans  <wim@fluendo.com>
7071
7072         * docs/design/part-buffering.txt:
7073         * gst/gstmessage.c: (gst_message_new_buffering),
7074         (gst_message_parse_buffering):
7075         Update docs about buffering.
7076
7077         * docs/design/part-trickmodes.txt:
7078         Fix typo.
7079
7080 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
7081
7082         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7083         (gst_controller_new_list):
7084           Ref instances when returning them again (fixes #357180)
7085
7086 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7087
7088         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
7089           Don't forget to release proxy lock when there's an error.
7090
7091 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
7092
7093         * gst/gstcaps.h:
7094           Add extra initialisers for Caps things, to fix some plugin warnings
7095           when using -Wextra
7096
7097 2006-09-18  Wim Taymans  <wim@fluendo.com>
7098
7099         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7100           Also set template on the internal pad so that a getcaps from the 
7101           target pad returns the template caps.
7102
7103 2006-09-18  Wim Taymans  <wim@fluendo.com>
7104
7105         * gst/gstelement.c: (gst_element_post_message),
7106         (gst_element_dispose):
7107         Use _DEBUG_OBJECT some more.
7108
7109         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7110         Avoid typechecks.
7111
7112         * tools/gst-launch.c: (main):
7113         If the toplevel element is not a GstPipeline, it must be put in a
7114         pipeline so that a bus and clock is selected.
7115
7116 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
7117
7118         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
7119           JITTER, RATE, and LATENCY query should be handled by the
7120           default case and not by the CONVERT query code.
7121
7122 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
7123
7124         * gst/gstformat.c: (gst_format_register):
7125           Fix locking order (must take lock before using n_values).
7126
7127         * gst/gstvalue.c: (gst_value_serialize_enum),
7128         (gst_value_deserialize_enum_iter_cmp),
7129         (gst_value_deserialize_enum):
7130           Fix serialisation/deserialisation of custom registered GstFormats.
7131
7132         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7133           Unit test for custom format serialisation/deserialisation.
7134
7135 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
7136
7137         * docs/pwg/building-boiler.xml:
7138         * plugins/elements/gstcapsfilter.c:
7139         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
7140         section.
7141
7142 2006-09-16  Edward Hervey  <edward@fluendo.com>
7143
7144         * libs/gst/base/gstbasetransform.c:
7145         (gst_base_transform_buffer_alloc):
7146         Check if requested caps are the same as the sinks caps IF
7147         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
7148         is FALSE.
7149         This fixes the renegotiation issues stated in #352827.
7150
7151 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7152
7153         * configure.ac:
7154         * docs/manual/advanced-autoplugging.xml:
7155         * tests/examples/Makefile.am:
7156         * tests/examples/manual/.cvsignore:
7157         * tests/examples/manual/Makefile.am:
7158         * tests/examples/manual/extract.pl:
7159           Extract the manual examples again like we used to do.
7160           Fix one of them.
7161
7162 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * win32/common/config.h:
7165           update for version
7166
7167 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
7168
7169         * gst/gsterror.c:
7170           Documents how to receive errors.
7171
7172 2006-09-15  Wim Taymans  <wim@fluendo.com>
7173
7174         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
7175         (event_loop), (main):
7176         Added some comments here and there.
7177         Post an application message when an interrupt is caught instead of doing
7178         an uncontrolled state change.
7179         Clean up the event loop.
7180         Handle buffering messages, pause/resume the pipeline.
7181         Make shutdown because of an interrupt more reliable.
7182
7183 2006-09-15  Wim Taymans  <wim@fluendo.com>
7184
7185         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7186         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
7187         (gst_base_sink_preroll_object):
7188         Make sure that our internal state is correct when we commit our state
7189         asynchronously. This solves a race where a state change to PLAYING
7190         could cause the sink to remain blocked in preroll in some situations.
7191
7192 2006-09-15  Wim Taymans  <wim@fluendo.com>
7193
7194         * tools/gst-inspect.c: (print_element_properties_info),
7195         (print_signal_info):
7196         List flags as hex so it's easier to deal with.
7197
7198 2006-09-15  Wim Taymans  <wim@fluendo.com>
7199
7200         * docs/libs/gstreamer-libs-sections.txt:
7201         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
7202         (gst_base_sink_do_sync):
7203         * libs/gst/base/gstbasesink.h:
7204         Expose logic to wait for preroll so that subclasses such as audiosink
7205         can also use this method.
7206         API: gst_base_sink_wait_preroll()
7207
7208 2006-09-15  Wim Taymans  <wim@fluendo.com>
7209
7210         * gst/gstobject.c: (gst_object_set_parent):
7211         * gst/gstpipeline.c: (do_pipeline_seek):
7212         Small cleanups in docs and code.
7213
7214         * gst/gstsegment.c: (gst_segment_clip):
7215         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7216         if stop == start and start is in the segment, no clipping should be
7217         done. Also add a test for this.
7218
7219 2006-09-15  Wim Taymans  <wim@fluendo.com>
7220
7221         * docs/design/part-buffering.txt:
7222         * docs/gst/gstreamer-sections.txt:
7223         * gst/gstmessage.c: (gst_message_new_buffering),
7224         (gst_message_parse_buffering):
7225         * gst/gstmessage.h:
7226         Added methods to create and parse BUFFERING messages.
7227         Added preliminary docs about buffering.
7228         API: gst_message_new_buffering
7229         API: gst_message_parse_buffering
7230
7231 2006-09-06  Wim Taymans  <wim@fluendo.com>
7232
7233         * gst/gstbin.c:
7234         Update documentation.
7235
7236         * gst/gstelement.c: (gst_element_class_init),
7237         (gst_element_release_request_pad), (gst_element_set_clock),
7238         (gst_element_get_index), (gst_element_add_pad),
7239         (gst_element_remove_pad), (gst_element_get_random_pad),
7240         (gst_element_send_event), (gst_element_get_query_types),
7241         (gst_element_query), (gst_element_post_message),
7242         (gst_element_message_full), (gst_element_continue_state),
7243         (gst_element_lost_state), (gst_element_save_thyself),
7244         (gst_element_restore_thyself):
7245         Documentation updates.
7246         Rename last bit of the new-pad -> pad-added signal rename.
7247         Fix the case where an element query would only work if the source
7248         pad was linked.
7249         Avoid some useless type checking in message handling.
7250
7251         * gst/gstevent.c:
7252         * gst/gstevent.h:
7253         * gst/gstutils.c:
7254         Documentation updates.
7255
7256 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7257
7258         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7259           add an INFO line for when we actually update the fd
7260
7261 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7262
7263         * configure.ac:
7264           back to TRUNK
7265
7266 === release 0.10.10 ===
7267
7268 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
7269
7270         * configure.ac:
7271           releasing 0.10.10, "Pais"
7272
7273 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
7274
7275         * docs/manual/advanced-position.xml:
7276           Fix typo in sample code.
7277
7278 2006-09-05  Wim Taymans  <wim@fluendo.com>
7279
7280         * libs/gst/net/gstnetclientclock.c: (inet_aton),
7281         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
7282         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
7283         * libs/gst/net/gstnetclientclock.h:
7284         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7285         * libs/gst/net/gstnettimepacket.h:
7286         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
7287         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
7288         (gst_net_time_provider_thread), (gst_net_time_provider_new):
7289         * libs/gst/net/gstnettimeprovider.h:
7290         Make stuff compile on windows. Fixes #345295.
7291
7292 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7293
7294         * gst/gst.c: (ensure_current_registry_forking):
7295           Print better details when child was terminated by signal.
7296
7297 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7298
7299         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
7300           Print a warning rather than g_assert() if a plugin feature
7301           is a URI handler but returns no protocols (#353976).
7302
7303 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
7304
7305         * docs/random/moving-plugins:
7306         Fix two typos.         
7307
7308 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7309
7310         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
7311           Fix locking order, handle NULL function values properly.
7312
7313         * gst/gstinfo.h:
7314           Fix docs.
7315
7316         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
7317           Initialise variable before using it and fix debug statement to
7318           print the address of the function rather than the address of the
7319           variable on the stack holding the address of the function.
7320
7321 2006-09-01  Wim Taymans  <wim@fluendo.com>
7322
7323         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
7324         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
7325         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
7326         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
7327         (gst_ghost_pad_parent_unset),
7328         (gst_ghost_pad_internal_do_activate_push),
7329         (gst_ghost_pad_internal_do_activate_pull),
7330         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7331         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7332         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
7333         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
7334         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
7335         (gst_ghost_pad_new_no_target_from_template),
7336         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
7337         More cleanups.
7338         Avoid needless typechecking in macros.
7339         Since the internal pad is always present and never changes, there is
7340         no need to locking or ref when retrieving it.
7341         Improve debugging a bit.
7342         Handle link errors when setting the target. Fixes #341029.
7343
7344 2006-09-01  Wim Taymans  <wim@fluendo.com>
7345
7346         * docs/libs/gstreamer-libs-sections.txt:
7347         * docs/plugins/gstreamer-plugins-sections.txt:
7348         Fix docs some more.
7349
7350         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
7351         (gst_collect_pads_event):
7352         * libs/gst/base/gstcollectpads.h:
7353         Documentation updates.
7354         Free queued buffer when removing a pad.
7355
7356 2006-08-31  Michael Smith  <msmith@fluendo.com>
7357
7358         * gst/gstutils.c: (gst_element_link_pads),
7359         (gst_element_link_pads_filtered):
7360           Ensure that we set a capsfilter to NULL if we failed to link it
7361           when doing filtered linking, to avoid criticals.
7362
7363           No need to check for unreffing srcpad, which is explicly NULLed
7364           above (a trivial code cleanup).
7365
7366 2006-08-31  Wim Taymans  <wim@fluendo.com>
7367
7368         * docs/design/part-gstghostpad.txt:
7369         Update ascii art in documentation.
7370
7371         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
7372         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
7373         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
7374         (gst_ghost_pad_internal_do_activate_push),
7375         (gst_ghost_pad_internal_do_activate_pull),
7376         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
7377         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
7378         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
7379         (gst_ghost_pad_set_target):
7380         Small cleanups and leak fixes.
7381         Remove some checks now that the internal pad is never NULL.
7382         Fix the case where linking pads without a target would create nasty
7383         criticals. Fixes #341029.
7384         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
7385         value of _set_target().
7386
7387         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7388         (gst_ghost_pad_suite):
7389         Some more tests for creating and linking untargeted ghostpads.
7390
7391 2006-08-31  Edward Hervey  <edward@fluendo.com>
7392
7393         * docs/gst/gstreamer-sections.txt:
7394         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
7395         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
7396         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
7397         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
7398         (gst_ghost_pad_new_from_template),
7399         (gst_ghost_pad_new_no_target_from_template):
7400         * gst/gstghostpad.h:
7401         Refactored *_new() functions.
7402         Templates are now used as a g_object_new() parameter.
7403         Use template in _do_getcaps() if we don't have a target.
7404         Small documentation cleanups.
7405         Added two new constructors:
7406         gst_ghost_pad_new_from_template()
7407         gst_ghost_pad_new_no_target_from_template()
7408         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
7409         (gst_ghost_pad_suite):
7410         Added tests for new ghostpad instanciation functions.
7411
7412         API additions: gst_ghost_pad_new_from_template,
7413         gst_ghost_pad_new_no_target_from_template
7414
7415 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
7416
7417         * docs/random/ensonic/profiling.txt:
7418           Ideas about qos profiling.
7419
7420 2006-08-29  Wim Taymans  <wim@fluendo.com>
7421
7422         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
7423         Code cleanups.
7424         Fix memleak.
7425
7426 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
7427
7428         * gst/gstxml.c:
7429           Improve and detypofy docs.
7430
7431         * tests/check/Makefile.am:
7432         * tests/check/gst/.cvsignore:
7433         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
7434           Add a basic test suite for GstXML.
7435
7436 2006-08-29  Wim Taymans  <wim@fluendo.com>
7437
7438         * gst/gstelement.c: (activate_pads), (clear_caps),
7439         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
7440         Clear the pad caps when the element shut down all of the pads and
7441         is not streaming data that could modify the caps. 
7442         Fixes #352958.
7443
7444 2006-08-28  Michael Smith  <msmith@fluendo.com>
7445
7446         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7447           Revert previous change; I misunderstood single-segment mode.
7448
7449 2006-08-28  Michael Smith  <msmith@fluendo.com>
7450
7451         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7452           Unset DISCONT on buffers when using single-segment mode.
7453
7454 2006-08-28  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstcaps.c: (gst_caps_merge_structure):
7457         * gst/gstcaps.h:
7458         Fix docs and indentation again.
7459
7460         * tests/check/gst/gstquery.c: (GST_START_TEST):
7461         Fix leak in tests and add some more tests.
7462
7463 2006-08-28  Edward Hervey  <edward@fluendo.com>
7464
7465         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7466         Inform GstSegment of the last stop position in order for the current
7467         segment to have a proper duration if it doesn't have a specific stop
7468         position from which a duration could be calculated.
7469         This bug was noticeable when a non-flushing, non-update new segment was
7470         followed by another segment (all buffers from the new segment were being
7471         dropped).
7472
7473 2006-08-28  Wim Taymans  <wim@fluendo.com>
7474
7475         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
7476         Small comment update.
7477
7478         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7479         (gst_identity_transform_ip):
7480         Drop-probability is broken, mention this in the code with a 
7481         FIXME and also in the property description.
7482         Make silent also be silent about the drop messages.
7483
7484 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
7485
7486         * docs/manual/appendix-win32.xml:
7487           Remove mention of popt, we don't depend on that any
7488           longer (#353136). Add some comments pointing out that
7489           this section is slightly outdated.
7490
7491 2006-08-28  Wim Taymans  <wim@fluendo.com>
7492
7493         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7494
7495         * gst/gstquery.c: (gst_query_new_segment):
7496         * tests/check/gst/gstquery.c: (GST_START_TEST):
7497         Initialize variables when creating a new segment query.
7498         Fixes #353121.
7499
7500 2006-08-28  Wim Taymans  <wim@fluendo.com>
7501
7502         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
7503
7504         * gst/gstelement.c: (gst_element_get_bus):
7505         * tests/check/gst/gstelement.c: (GST_START_TEST):
7506         Check for NULL before _reffing the bus. Fixes #353122.
7507
7508 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
7509
7510         * docs/manual/basics-bus.xml:
7511           Docs update: fix wrong callback return value explanation; add
7512           some lines about the implicit relationship between main loop
7513           and main context; remove duplicate main loop variable declaration.
7514
7515 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
7516
7517         * tests/check/gst/gstcaps.c: (GST_START_TEST):
7518           Don't leak caps in unit test; add a few more simple
7519           checks. 
7520
7521 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
7522
7523         * docs/gst/gstreamer-sections.txt:
7524         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
7525         (gst_caps_structure_is_subset), (gst_caps_merge),
7526         (gst_caps_merge_structure):
7527         * gst/gstcaps.h:
7528         * libs/gst/base/gstbasetransform.c:
7529         (gst_base_transform_transform_caps):
7530         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
7531           implement caps merging (fixes #352580)
7532
7533 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
7534
7535         * tools/Makefile.am:
7536         * tools/gst-plot-timeline.py:
7537           add debug-log plotting developer tool (#340674)
7538
7539 2006-08-23  Wim Taymans  <wim@fluendo.com>
7540
7541         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
7542         (gst_pad_stop_task):
7543         Improve debugging for task functions.
7544
7545         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
7546         (gst_task_start), (gst_task_pause), (gst_task_join):
7547         Make sure that the task function started and finished after a 
7548         join(). 
7549         Don't try to push the task function on the threadpool multiple
7550         times.
7551         Improve the g_warning message with some useful suggestions
7552         about how to fix the problem. 
7553
7554 2006-08-23  Wim Taymans  <wim@fluendo.com>
7555
7556         * gst/gstutils.c: (gst_pad_proxy_getcaps):
7557         Handle RESYNC correctly in _proxy_getcaps.
7558
7559 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
7560
7561         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
7562         (gst_xml_parse_memory), (gst_xml_get_element):
7563           Chain up to parent class in dispose function and also
7564           unref the elements in the toplevel_elements GList.
7565           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
7566           Always return a reference in gst_xml_get_element() rather
7567           than only sometimes.
7568
7569         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
7570           Don't leak GstXml object.
7571
7572 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
7573
7574         * docs/gst/gstreamer-sections.txt:
7575         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
7576         (gst_caps_merge):
7577         * gst/gstcaps.h:
7578         * libs/gst/base/gstbasetransform.c:
7579         (gst_base_transform_transform_caps):
7580           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
7581           in a better way
7582
7583 2006-08-21  Edward Hervey  <edward@fluendo.com>
7584
7585         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
7586         Implement GObject::dispose virtual method in GstXML so we can free the
7587         top_elements GList.
7588
7589 2006-08-21  Wim Taymans  <wim@fluendo.com>
7590
7591         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
7592         (gst_buffer_create_sub):
7593         Copy duration/offset_end/caps when creating a subbuffer of the
7594         complete parent.
7595         Make the subbuffer read-only when we make the metadata writable for
7596         now. Fixes #351768.
7597
7598         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7599         Added check for metadata copy when creating subbuffers.
7600
7601 2006-08-21  Edward Hervey  <edward@fluendo.com>
7602
7603         * libs/gst/base/gstbasetransform.c:
7604         (gst_base_transform_buffer_alloc):
7605         Only call downstream buffer_alloc if transform element is passthrough
7606         or always_in_place. Closes #350449.
7607
7608 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7609
7610         * ChangeLog:
7611           ChangeLog surgery to add comments to previous changes
7612
7613 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7614
7615         * gst/gst.c:
7616           Add comments
7617
7618         * gst/gstpad.c: (gst_pad_set_active):
7619           Be more verbose in the log
7620
7621         * libs/gst/base/gstbasetransform.c:
7622         (gst_base_transform_transform_caps):
7623           Simplify caps to get rid of duplicates, fixes #345444
7624
7625 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * gst/gstvalue.c:
7628         * gst/gstvalue.h:
7629           Use these optimizations only internally.
7630
7631 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
7632
7633         * gst/gstvalue.c: (gst_value_compare_list),
7634         (gst_value_compare_fraction_range),
7635         (gst_value_intersect_fraction_fraction_range),
7636         (gst_value_intersect_fraction_range_fraction_range),
7637         (gst_value_subtract_fraction_fraction_range),
7638         (gst_value_subtract_fraction_range_fraction_range),
7639         (gst_value_get_compare_func), (gst_value_compare),
7640         (gst_value_compare_with_func):
7641         * gst/gstvalue.h:
7642           Saves the expensive lookup of the compare function in many cases
7643          (#345444)
7644
7645 2006-08-18  Edward Hervey  <edward@fluendo.com>
7646
7647         * tests/check/gst/gstinfo.c: (gst_info_suite):
7648         Disable test that require gstdebug if it wasn't built in core.
7649
7650 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7651
7652         * docs/random/ensonic/logging.txt:
7653           update ideas
7654           
7655         * gst/gstinfo.c: (gst_debug_log_default):
7656           reorder fields, save some columns, add optional color codes for log
7657           levels
7658
7659 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
7660
7661         * docs/random/ensonic/logging.txt:
7662           add ideas about making the logs a bit more useful
7663
7664 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7665
7666         * docs/pwg/advanced-events.xml:
7667         * docs/pwg/titlepage.xml:
7668           Update for 0.10 API (#340627). Add myself
7669           to authors list.
7670
7671 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
7672
7673         * docs/libs/gstreamer-libs-docs.sgml:
7674         * docs/libs/gstreamer-libs-sections.txt:
7675         * libs/gst/check/gstbufferstraw.c:
7676           Make gstcheck stuff show up in docs (still needs to
7677           be documented properly though).
7678
7679 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
7680
7681         * docs/gst/gstreamer-sections.txt:
7682         * gst/Makefile.am:
7683         * gst/gst.c: (init_post):
7684         * gst/gst_private.h:
7685         * gst/gstquark.c: (_priv_gst_quarks_initialize):
7686         * gst/gstquark.h:
7687         * gst/gstquery.c: (gst_query_new_position),
7688         (gst_query_set_position), (gst_query_parse_position),
7689         (gst_query_new_duration), (gst_query_set_duration),
7690         (gst_query_parse_duration), (gst_query_new_convert),
7691         (gst_query_set_convert), (gst_query_parse_convert),
7692         (gst_query_new_segment), (gst_query_set_segment),
7693         (gst_query_parse_segment), (gst_query_new_seeking),
7694         (gst_query_set_seeking), (gst_query_parse_seeking):
7695         Add internal helpers for pre-registering quarks from static strings
7696         and using the quark values directly instead of looking them up when
7697         creating and parsing queries. Can be used for event construction too.
7698         Closes #350432.
7699
7700 2006-08-16  Wim Taymans  <wim@fluendo.com>
7701
7702         * gst/gstbin.c:
7703         Fix bogus docs.
7704
7705 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7706
7707         * gst/gstutils.c: (gst_util_set_value_from_string):
7708           Fix memleak (#351502).
7709
7710         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7711           Add unit test for most of gst_util_set_value_from_string()
7712           (not that one would want to encourage use of this function).
7713
7714 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7715
7716         * libs/gst/check/gstcheck.h:
7717           Use const gchar * variables in fail_unless_equals_string
7718           macro to avoid compiler warnings (and don't use tabs for
7719           indenting).
7720
7721 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7722
7723         * tools/gst-launch.c: (print_tag):
7724           More space on the left for the tag names, to cater
7725           for the 'extended comment' tag (not touching the
7726           string for the first line since it's translated).
7727
7728 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
7729
7730         * libs/gst/check/gstcheck.h:
7731           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
7732           print something when they fail.
7733
7734 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7735
7736         * docs/gst/gstreamer-sections.txt:
7737         * gst/gsttaglist.c: (_gst_tag_initialize):
7738         * gst/gsttaglist.h:
7739           API: add GST_TAG_EXTENDED_COMMENT (#350935).
7740           Also change merge function for GST_TAG_COMMENT to
7741           use_first.
7742
7743 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7744
7745         * gst/gstinfo.c: (gst_debug_print_object):
7746           Make GST_PTR_FORMAT print messages as well.
7747
7748         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
7749         (GST_START_TEST), (gst_info_suite):
7750           More tests.
7751
7752 2006-08-14  Edward Hervey  <edward@fluendo.com>
7753
7754         * gst/gstelementfactory.c: (gst_element_register):
7755         If the GstElementClass doesn't have a GstElementDetails with all fields
7756         filled up correctly (longname, description AND author), then error out
7757         nicely instead of crashing.
7758
7759 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
7760
7761         * gst/gststructure.c:
7762           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
7763
7764         * gst/gstvalue.h:
7765           Expand on the difference between arrays and lists as we use them.
7766           
7767 2006-08-14  Wim Taymans  <wim@fluendo.com>
7768
7769         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
7770         If the parent state change function failed, don't assume we can safely
7771         stop the source, this will be done when the pads are deactivated.
7772
7773 2006-08-14  Wim Taymans  <wim@fluendo.com>
7774
7775         * gst/gstbuffer.c:
7776         * gst/gsttask.c: (gst_task_join):
7777         Small doc updates.
7778
7779         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
7780         (gst_pad_stop_task):
7781         When pad (de)activation failed for some reason, restore the old
7782         activation mode and set the pad to flushing instead of assuming the
7783         pad is deactivated.
7784         If the _task_join() failed, reinstall the task on the pad so that it can
7785         be stopped later and return an error.
7786
7787 2006-08-11  Andy Wingo  <wingo@pobox.com>
7788
7789         * configure.ac:
7790         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7791         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
7792         is only for users of API that don't want to see deprecated
7793         functions in the headers; people that want to compile out
7794         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
7795         CFLAGS. Fixes the build of multifdsink, or will soon..
7796
7797 2006-08-11  Wim Taymans  <wim@fluendo.com>
7798
7799         * docs/gst/gstreamer-sections.txt:
7800         Add GstClockClass vmethod docs.
7801
7802         * gst/gstcaps.h:
7803         Mark #endif with comment for associated #if
7804
7805         * gst/gstclock.c: (gst_clock_id_wait):
7806         * gst/gstclock.h:
7807         Add vmethod wait_jitter to avoid an unneeded _get_time() for
7808         most clock implementations.
7809         Document vmethods.
7810         Flesh out docs about resolution methods.
7811         API: GstClockClass::wait_jitter
7812
7813         * gst/gstsystemclock.c: (gst_system_clock_class_init),
7814         (gst_system_clock_async_thread),
7815         (gst_system_clock_id_wait_jitter_unlocked),
7816         (gst_system_clock_id_wait_jitter):
7817         Use base class wait_jitter variant for improved performance
7818         due to less clock polling.
7819
7820 2006-08-11  Edward Hervey  <edward@fluendo.com>
7821
7822         * gst/gst.c: (gst_init_check), (init_post):
7823         Set gst as being initialized before scanning/updating the registry,
7824         since there might be my python plugin loader that calls gst_init() and
7825         we don't want to loop back in.
7826         Closes #350879
7827
7828 2006-08-11  Wim Taymans  <wim@fluendo.com>
7829
7830         * docs/design/part-qos.txt:
7831         Bring docs in line with the code. Mostly the sign of the jitter was
7832         wrong in the docs. Fixes #349943.
7833
7834         * gst/gstclock.c:
7835         Fix the docs for the jitter.
7836
7837         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
7838         (gst_event_parse_tag), (gst_event_new_buffer_size),
7839         (gst_event_parse_buffer_size), (gst_event_parse_qos),
7840         (gst_event_new_seek), (gst_event_parse_seek),
7841         (gst_event_new_navigation):
7842         Make sure the GstStructure has no parent when creating custom
7843         events.
7844         Add some more argument checking so that we avoid 0.0 rates.
7845         Flesh out the docs for the QoS event some more.
7846
7847 2006-08-11  Wim Taymans  <wim@fluendo.com>
7848
7849         * docs/gst/gstreamer-sections.txt:
7850         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7851         (ensure_current_registry_forking), (ensure_current_registry),
7852         (parse_one_option), (parse_goption_arg), (gst_deinit),
7853         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
7854         * gst/gst.h:
7855         Doc updates.
7856         Added API and command line option to disable registry forking in
7857         addition to the environment variable.
7858         Constify some static arrays.
7859         Added some more debug.
7860         Don't deinit twice.
7861         API: gst_registry_fork_is_enabled()
7862         API: gst_registry_fork_set_enabled()
7863         API: --gst-disable-registry-fork command line option
7864         Fixes #348918.
7865
7866 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
7867
7868         * gst/gst.c: (gst_init):
7869           Fix typo in error message.
7870
7871 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7872
7873         * libs/gst/controller/gstcontroller.h:
7874           fix ABI size-correction
7875
7876         * tests/check/libs/gdp.c: (gst_dp_suite):
7877           make tests that use deprecated API conditional
7878
7879 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
7880
7881         * docs/libs/gstreamer-libs-sections.txt:
7882         * libs/gst/controller/gstcontroller.c:
7883         (_gst_controller_get_property), (_gst_controller_set_property),
7884         (_gst_controller_init), (_gst_controller_class_init):
7885         * libs/gst/controller/gstcontroller.h:
7886         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
7887         (gst_object_set_control_rate):
7888           API: add gst_object_{s,g}et_control_rate(), add private data section,
7889           fix docs
7890
7891         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
7892         * libs/gst/dataprotocol/dataprotocol.h:
7893           add deprecation guards to make gtk-doc happy and allow disabling cruft
7894
7895 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
7896
7897         * tests/check/Makefile.am:
7898         * tests/check/gst/.cvsignore:
7899           Let's enable the new unit test as well.
7900
7901 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
7902
7903         * configure.ac:
7904         * docs/gst/gstreamer-sections.txt:
7905         * gst/gstconfig.h.in:
7906         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
7907         (_gst_info_printf_extension_ptr),
7908         (_gst_info_printf_extension_segment):
7909           API: add GST_SEGMENT_FORMAT, which is a printf extension we
7910           register that lets us easily dump GstSegments into debug
7911           logs (#350419).
7912
7913         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
7914         (info_segment_format_printf_extension), (gst_info_suite):
7915           Add simple unit test that logs a bunch of different segments (not
7916           valgrinded at the moment because of leaks in
7917           gst_debug_add_log_function).
7918
7919 2006-08-09  Edward Hervey  <edward@fluendo.com>
7920
7921         * libs/gst/base/gstbasetransform.c:
7922         (gst_base_transform_buffer_alloc):
7923         Even if we can't figure out the proper format to request downstream,
7924         call buffer_alloc() downstream with the input parameters without setting
7925         the caps on the srcpad. This will force negotiation in the chain
7926         function.
7927         Closes #350449
7928
7929 2006-08-08  Edward Hervey  <edward@fluendo.com>
7930
7931         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7932         Unlinking from a pad without a target is now a perfectly valid case
7933         which should NOT raise an assertion.
7934         This case would happen if a linked ghostpad its target set to NULL after
7935         it was previously linked.
7936
7937 2006-08-08  Edward Hervey  <edward@fluendo.com>
7938
7939         * tests/check/libs/gdp.c:
7940         Also comment out the test (see below).
7941
7942 2006-08-08  Edward Hervey  <edward@fluendo.com>
7943
7944         * tests/check/libs/gdp.c: (gst_dp_suite):
7945         Use the architecture information from config.h and not gcc macros
7946         in order to properly disable a test that fails on PPC64.
7947
7948 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
7949
7950         * gst/gstelement.c: (gst_element_remove_pad):
7951           Don't crash printing the warning if the pad has no parent.
7952
7953 2006-08-02  Wim Taymans  <wim@fluendo.com>
7954
7955         * libs/gst/dataprotocol/dataprotocol.c:
7956         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
7957         (gst_dp_crc), (gst_dp_header_payload_length),
7958         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
7959         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
7960         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
7961         (gst_dp_event_from_packet), (gst_dp_validate_header),
7962         (gst_dp_validate_payload):
7963         Make debug category static
7964         Constify the crc table.
7965         Do some more arg checking in public functions.
7966         Fix some docs and do some small cleanups.
7967
7968         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
7969         Add some more checks to see if GDP deals with bogus input.
7970
7971 2006-07-31  Wim Taymans  <wim@fluendo.com>
7972
7973         * gst/gstvalue.c: (gst_value_compare_list):
7974         Fix GstValueList comparison code. Fixes #347293.
7975
7976         * tests/check/gst/gstvalue.c: (GST_START_TEST):
7977         Check to test GstValueList comparison.
7978
7979 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7980
7981         * gst/gstelementfactory.c: (gst_element_factory_create):
7982         Remove unnecessary ref/unref pair
7983
7984         * gst/parse/grammar.y:
7985         Make sure to free the parse buffer on all code paths.
7986         Move a g_free up to the error handler where it's easier to see.
7987
7988         * tests/check/gst/gstevent.c: (test_event):
7989         Extending timeout for downstream travelling events to 10 seconds to
7990         hopefully avoid intermittent failure on the buildbots.
7991
7992         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
7993         Don't manually set the state of the src element - it will happen as a
7994         natural consequence of the pipeline changing state, and that way it
7995         will do it in the right order too.
7996
7997 2006-07-31  Wim Taymans  <wim@fluendo.com>
7998
7999         * libs/gst/base/gstbasetransform.c:
8000         (gst_base_transform_buffer_alloc):
8001         Use OBJECT_LOCK and refcounting to get the pad caps in the
8002         buffer_alloc function because the caps could change while we are
8003         busy with them. Fixes #349105
8004
8005 2006-07-31  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
8008         Protect _PAD_CAPS with OBJECT_LOCK.
8009
8010 2006-07-31  Wim Taymans  <wim@fluendo.com>
8011
8012         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
8013         (gst_pad_get_property), (gst_pad_activate_pull),
8014         (gst_pad_activate_push), (gst_pad_set_blocked_async),
8015         (gst_pad_set_activate_function),
8016         (gst_pad_set_activatepull_function),
8017         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
8018         (gst_pad_set_getrange_function),
8019         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
8020         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8021         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
8022         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
8023         (gst_pad_set_acceptcaps_function),
8024         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
8025         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
8026         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
8027         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
8028         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
8029         (gst_pad_configure_sink), (gst_pad_configure_src),
8030         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
8031         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
8032         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
8033         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
8034         (gst_pad_send_event):
8035         Use _DEBUG_OBJECT when it makes sense.
8036         Protect GST_PAD_CAPS with the OBJECT_LOCK.
8037         Small cleanups and code reflows.
8038         Avoid caps refcounting in _accept_caps.
8039         Refactor alloc_buffer so that the code performed on the peer is in a
8040         separate function. Also if the pad does not implement a buffer alloc
8041         function, we should still check if the pad is flushing before falling
8042         back to the default allocator.
8043
8044 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
8045
8046         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8047         Make all uses of identity and fakesink have silent=true to avoid
8048         serialising every passing data structure, which is breaking tests
8049         on FC4 for some unknown reason.
8050
8051 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
8052
8053         * gst/parse/Makefile.am:
8054         * gst/parse/grammar.y:
8055         * gst/parse/parse.l:
8056           Reverted previous patch as it required to bump the flex dependency to
8057           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
8058
8059 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
8060
8061         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
8062
8063         * gst/parse/Makefile.am:
8064         * gst/parse/grammar.y:
8065         * gst/parse/parse.l:
8066           push & pop the state of the lexer for reentrant use case
8067           Fixes #349180
8068
8069 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
8070
8071         * libs/gst/base/gstbasesrc.h:
8072           Note in the docs that the ::newsegment vfunc is not actually used by
8073           GstBaseSrc.
8074
8075 2006-07-28  Wim Taymans  <wim@fluendo.com>
8076
8077         * libs/gst/base/gstcollectpads.c:
8078         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
8079         (gst_collect_pads_clear), (gst_collect_pads_flush),
8080         (gst_collect_pads_event), (gst_collect_pads_chain):
8081         When flushing a pad, also clear the queued buffer so that we don't
8082         accidentally use it when we shouldn't.
8083         Fix leaks by inreffing incomming buffer.
8084         Flush out queued buffers in case of errors.
8085         Fixes #347452.
8086
8087 2006-07-28  Wim Taymans  <wim@fluendo.com>
8088
8089         * docs/random/phonon-gst:
8090         Random notes about a Phonon backend.
8091
8092 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
8093
8094         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
8095         Extra debug output
8096         * tests/check/libs/gdp.c: (gst_dp_suite):
8097         Take a whack at fixing the ppc compile using a different define to
8098         disable the broken test.
8099
8100         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8101         Remove excess g_print()
8102
8103 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
8104
8105         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
8106         Oops, meant to uncomment this line too to dampen the noise a bit.
8107
8108 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
8109
8110         * gst/parse/grammar.y:
8111         * gst/parse/parse.l:
8112         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
8113         (GST_START_TEST), (parse_suite):
8114         Fix some of the leaks exposed by extending the parse-launch testsuite,
8115         and move the 3 I can't figure out into a separate test that won't run
8116         the pipelines unless the appropriate line is uncommented.
8117
8118 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
8119
8120         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8121           Requesting 0 bytes before the end of the file should result in
8122           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
8123           unit test.
8124
8125 2006-07-27  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
8128         Fix useless assert, a uint is always positive.
8129
8130         * gst/gststructure.c: (gst_structure_nth_field_name),
8131         (gst_structure_foreach), (gst_structure_map_in_place):
8132         Check input arguments for public functions to avoid obvious crashes.
8133
8134         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
8135         * plugins/elements/gstfakesink.h:
8136         Do less useless typechecking.
8137
8138 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
8139
8140         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
8141           Do not use mmap() by default since there are a number of error
8142           conditions that we would like to handle in a non-fatal way that
8143           will result in a SIGBUS if we use mmap(). Examples: external
8144           devices (USB harddrive, portable music player) being unplugged
8145           while in use; file on mounted CD/DVD that can't be read because
8146           the medium is partly damaged. Fixes #348455 and #348475.
8147
8148 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
8149
8150         * gst/gstquery.h:
8151         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
8152         rates are a gdouble
8153
8154 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
8155
8156         * gst/gstregistry.c:
8157           Move big documentation comment into class section header, so that it
8158           appears in the API docs.
8159
8160 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8161
8162         * docs/gst/gstreamer-sections.txt:
8163         Oops. Commit the docs additions too for new API.
8164         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
8165
8166 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8167
8168         * gst/gststructure.c: (gst_structure_id_set),
8169         (gst_structure_id_set_valist):
8170         * gst/gststructure.h:
8171         Add API for setting values into structures without performing
8172         a quark lookup, if the appropriate quark is already known.
8173
8174         API: gst_structure_id_set
8175         API: gst_structure_id_set_valist
8176
8177         * gst/parse/grammar.y:
8178         * gst/parse/parse.l:
8179         Remove some dead code shown by the coverage information.
8180         Don't throw a critical g_warning when encountering a syntax error,
8181         just warn and let the normal error path handle it.
8182
8183         * plugins/elements/gstelements.c:
8184         Bump the rank of filesink up to PRIMARY so that it is preferred over
8185         gnomevfssink for file:// sink uri's
8186
8187         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
8188         (GST_START_TEST), (run_delayed_test),
8189         (gst_parse_test_element_base_init),
8190         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
8191         (gst_parse_test_element_change_state),
8192         (gst_register_parse_element), (parse_suite):
8193         Beef up the tests for parse syntax to check that more error cases
8194         fail as they are supposed to. Increases the test coverage a bit.
8195
8196 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
8197
8198         * docs/manual/basics-elements.xml:
8199           Fix gst_element_link() example.
8200
8201         * gst/gstutils.c:
8202           Mention in API docs that one should usually gst_bin_add()
8203           elements to a bin or pipeline before doing the linking.
8204           
8205 2006-07-26  Wim Taymans  <wim@fluendo.com>
8206
8207         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
8208         (gst_subbuffer_get_type), (gst_buffer_create_sub):
8209         Avoid function call for known types by keeping the buffer and
8210         subbuffer GType global.
8211
8212         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8213         Random silly optimisations in read() path.
8214
8215 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
8216
8217         * tools/gst-launch.c: (main):
8218           If the top-level of the parse is a normal bin, it doesn't do the
8219           right logic to run as a top-level element, so place it inside a
8220           pipeline.
8221
8222 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
8223
8224         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
8225           Remove superfluous g_object_notify() calls, GObject does
8226           that for us automatically.
8227
8228 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
8229
8230         * gst/gstinfo.h:
8231           on Win32, use dllspec to export the debug category symbols
8232
8233 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
8234
8235         * gst/gsttaglist.c: (_gst_tag_initialize):
8236           Allow more than one GST_TAG_IMAGE per taglist.
8237
8238 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8239
8240         * gst/gstminiobject.c:
8241           update docs
8242         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
8243         (gst_fd_src_create):
8244           log recurring events at LOG level
8245           add more debug for when the fd gets set
8246
8247 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
8248
8249         * gst/gstparse.c: (gst_parse_launch):
8250           Also remove reentrance checks if flex is MT safe (#348179)
8251          Fix my empty ChangeLog entry below
8252
8253 2006-07-21  Andy Wingo  <wingo@pobox.com>
8254
8255         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
8256
8257         * libs/gst/check/Makefile.am
8258         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
8259         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
8260         * libs/gst/check/gstbufferstraw.h:
8261         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
8262         functions, thus proving I am still a GStreamer haxor. OK I wrote
8263         them a long time ago, but anyways.
8264
8265 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
8266
8267         * configure.ac:
8268         * gst/gstparse.c: (gst_parse_launch):
8269           Check for flex version and omit mutex if we have a MT save flex
8270           (fixes #348179)
8271
8272 2006-07-21  Wim Taymans  <wim@fluendo.com>
8273
8274         * gst/gstparse.c: (gst_parse_launch):
8275         Protect recursive calls to _parse with a recursive mutex
8276         and busy flag.
8277
8278 2006-07-21  Wim Taymans  <wim@fluendo.com>
8279
8280         * tests/check/gst/gstpad.c: (GST_START_TEST):
8281         Fix leak in test.
8282
8283 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
8284
8285         * gst/gstparse.c: (gst_parse_launch):
8286           Do not hang on recursive usage of gst_parse_launch()
8287
8288 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
8289
8290         * gst/gsttaglist.c:
8291           Add some more docs, comments and FIXME 0.11s here and there
8292           and also fix some typos.
8293
8294 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
8295
8296         * gst/gstsegment.h:
8297           Convert tabs to spaces for better readability. 
8298
8299 2006-07-20  Edward Hervey  <edward@fluendo.com>
8300
8301         * tests/check/libs/gdp.c: (gst_dp_suite):
8302         the test_buffer test fails at line 140 on ppc64 at the following
8303         check:
8304         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
8305                 GST_BUFFER_FLAG_IN_CAPS),
8306                 "GST_BUFFER_IN_CAPS flag should have been copied !");
8307         See bug #348114 for more details.
8308
8309 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
8310
8311         * docs/pwg/advanced-scheduling.xml:
8312         * gst/gstpad.c:
8313           Fix typos (#348000).
8314
8315 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
8316
8317         * docs/pwg/intro-basics.xml:
8318           Fix wrong links (#347927).
8319
8320 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
8321
8322         * gst/gstregistry.h:
8323         * gst/gstregistryxml.c: (load_feature),
8324         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
8325         * win32/common/config.h:
8326           make --disable-index work (#342564)
8327
8328 2006-07-18  Wim Taymans  <wim@fluendo.com>
8329
8330         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8331
8332         * gst/Makefile.am:
8333         * gst/gsttrace.h:
8334         The attached patch adds two missing defines to gsttrace.h when tracing
8335         is disabled.  It also corrects one existing define.
8336         Fixes #347756.
8337
8338 2006-07-17  Wim Taymans  <wim@fluendo.com>
8339
8340         * docs/gst/gstreamer-sections.txt:
8341         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
8342         * gst/gst.h:
8343         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
8344         Add two functions to check and change the SIGSEGV behaviour
8345         when loading plugins.
8346         Don't mess with the SIGSEGV handler when we were told not to.
8347         Fixes #347794.
8348         API: gst_segtrap_is_enabled
8349         API: gst_segtrap_set_enabled
8350
8351 2006-07-14  Wim Taymans  <wim@fluendo.com>
8352
8353         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8354         * tests/check/elements/filesrc.c: (GST_START_TEST):
8355         Revert fix for regression in #347408 after release.
8356
8357 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
8358
8359         Patch by: Antoine Tremblay <hexa00 at gmail com>
8360
8361         * gst/gstutils.c: (gst_element_unlink):
8362           Free iterator when done (#347311).
8363
8364         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8365           And add a test case for this.
8366
8367 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
8368
8369         * configure.ac:
8370         Bump nano back to CVS
8371
8372 === release 0.10.9 ===
8373
8374 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
8375
8376         * configure.ac:
8377           releasing 0.10.9, "On the road again"
8378
8379 2006-07-13  Wim Taymans  <wim@fluendo.com>
8380
8381         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
8382         * tests/check/elements/filesrc.c: (GST_START_TEST):
8383         Revert pull-0 fix for release. Disable check. Fixes #347408.
8384
8385 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8386
8387         * libs/gst/dataprotocol/dataprotocol.c:
8388         (gst_dp_event_from_packet_1_0):
8389           Fixes #347337: failure to deserialize event packets with
8390           empty payload (only event type)
8391
8392 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * gst/Makefile.am:
8395           do not install a .c file in the header directory
8396
8397 2006-07-13  Edward Hervey  <edward@fluendo.com>
8398
8399         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8400         GhostPad no longer implicitely use the padtemplates of the targets.
8401         Fixes #347384
8402
8403 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
8404
8405         * gst/gstvalue.c: (gst_value_compare_list),
8406         (gst_value_compare_array), (_gst_value_initialize):
8407         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8408         Make GstValueArray comparison be order dependent as designed.
8409         Add checks for value lists and value array comparisons.
8410         Fixes #347221
8411
8412 2006-07-11  Edward Hervey  <edward@fluendo.com>
8413
8414         * gst/gstbin.c: (activate_pads),
8415         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
8416         (gst_bin_change_state_func):
8417         (de)activate src pads before calling state_change on the childs.
8418         This is to avoid the case where a src ghostpad is blocked (holding the
8419         stream lock), which would block the deactivation of the ghostpad's
8420         target pad.
8421         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
8422         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
8423         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
8424         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8425         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8426         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8427         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8428         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
8429         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
8430         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8431         (gst_ghost_pad_class_init),
8432         (gst_ghost_pad_internal_do_activate_push),
8433         (gst_ghost_pad_internal_do_activate_pull),
8434         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8435         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8436         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
8437         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
8438         GhostPads now create their internal GstProxyPad at creation (and not
8439         when they're linked, as it was being done previously).
8440         The internal and target pads are linked straight away.
8441         The data will also travel through the other pad in order to make
8442         pad blocking and probes non-hackish (the probe/block now really happens
8443         on the GhostPad and not on the target).
8444         * gst/gstpad.c: (gst_pad_set_blocked_async),
8445         (gst_pad_link_prepare), (gst_pad_push_event):
8446         Remove previous ghostpad cruft.
8447         * gst/gstutils.c: (gst_pad_add_data_probe),
8448         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8449         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8450         (gst_pad_remove_buffer_probe):
8451         Remove previous ghost pad cruft.
8452         Added more detailed debug statements.
8453         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8454         Fix the testsuite for refcounting changes.
8455         The comments about who has references were correct, but the refcount
8456         being checked wasn't the same (!?!).
8457
8458         Fixes #341029
8459
8460 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8461
8462         * docs/gst/gstreamer-sections.txt:
8463         * gst/gstconfig.h.in:
8464         More docs for configuration options, add docs to gtk-doc.
8465
8466 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
8467
8468         * gst/Makefile.am:
8469         * gst/gstconfig.h.in:
8470         * win32/common/config.h:
8471         Fix build when disabling tracing (fixes #344016). Also start to document
8472         the defines that disable the sub-systems.
8473
8474 2006-07-10  Edward Hervey  <edward@fluendo.com>
8475
8476         * gst/gst.c: (ensure_current_registry_forking):
8477         let's make valgrind happy...
8478
8479 2006-07-09  Wim Taymans  <wim@fluendo.com>
8480
8481         * gst/gstelement.c: (activate_pads),
8482         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8483         Better pad activation code: Reset the collect value too on resync.
8484         Add some comments.
8485
8486 2006-07-09  Wim Taymans  <wim@fluendo.com>
8487
8488         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
8489         (gst_pad_activate_push):
8490         Use some more macros where it makes sense.
8491         Allow pad mode switching instead of asserting. When a pad
8492         is activated in one mode and we activate it in another, 
8493         deactivate it first before activating it in a different mode.
8494         Fixes #329198.
8495
8496 2006-07-08  Andy Wingo  <wingo@pobox.com>
8497
8498         * tools/gst-launch.c (main): Handle err == NULL.
8499
8500         * gst/gst.c (init_post, ensure_current_registry)
8501         (ensure_current_registry_forking)
8502         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
8503         factoring out the registry scanning into separate functions. Don't
8504         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
8505         Better environment var name/interface suggestions accepted.
8506
8507 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8508
8509         * gst/gstobject.c: (gst_object_set_name_default),
8510         (gst_object_set_name):
8511           Random micro-optimisation: don't use a hash table
8512           with strings as keys and the usual strdup/strcmp
8513           involved, but rather just use the GQuark of the
8514           type name as key, since it needs to be looked up
8515           anyway to get the type name string.
8516
8517         * tests/check/gst/gstobject.c: (GST_START_TEST):
8518           Fix various leaks.
8519
8520 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8521
8522         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
8523         (gst_bin_iterate_all_by_interface):
8524           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
8525           GTypes are gulongs and thus the top 4 bytes might be cut
8526           off on some platforms when doing GPOINTER_TO_INT, leading
8527           to invalid GTypes and bad things happening (see RH bug #179654).
8528           Also add a check to make sure the type passed in is really
8529           an interface type.
8530
8531 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8532
8533         * .cvsignore:
8534           Ignore more.
8535
8536 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
8537
8538         * Makefile.am:
8539         * configure.ac:
8540         * gst-element-check.m4:
8541         * gst-element-check.m4.in:
8542           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
8543           instead of the unversioned gst-inspect (#324176, #168659).
8544
8545 2006-07-06  Wim Taymans  <wim@fluendo.com>
8546
8547         * gst/gstmessage.h:
8548         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
8549         warnings.
8550
8551 2006-07-06  Wim Taymans  <wim@fluendo.com>
8552
8553         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8554         (gst_base_src_wait), (gst_base_src_update_length),
8555         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
8556         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
8557         (gst_base_src_loop), (gst_base_src_start),
8558         (gst_base_src_activate_pull):
8559         Update docs.
8560         blocksize == 0 now means the default blocksize when working in push
8561         based mode.
8562         Remove some pointless asserts in _wait function.
8563         Fix offset/length calculations and EOS handling. We can now pull 0
8564         bytes as well, which is allowed.
8565         use _check_get_range() to decide if we can operate in _pull based
8566         mode.
8567         Fix refcounting leak when check_get_range function was not 
8568         implemented.
8569         API GstBaseSrc::blocksize range can be 0 too now (default)
8570
8571         * tests/check/elements/filesrc.c: (GST_START_TEST),
8572         (filesrc_suite):
8573         Added check to test _get_range() behaviour.
8574
8575 2006-07-06  Wim Taymans  <wim@fluendo.com>
8576
8577         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8578         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
8579         (gst_pad_pull_range):
8580         * gst/gstpad.h:
8581         Lots of comments and docs added to the pad functions.
8582         Flesh out the expected behaviour of the get_range() functions.
8583
8584 2006-07-06  Wim Taymans  <wim@fluendo.com>
8585
8586         * gst/gstbus.h:
8587         * gst/gstclock.h:
8588         * gst/gstevent.h:
8589         * gst/gstiterator.h:
8590         * gst/gstpad.h:
8591         * gst/gstplugin.h:
8592         * gst/gsttask.h:
8593         Remove comma at end of enumerator list. 
8594
8595 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
8596
8597         * win32/common/libgstbase.def:
8598         * win32/common/libgstdataprotocol.def:
8599         * win32/common/libsgtreamer.def:
8600         Add new exported functions.
8601
8602 2006-07-05  Wim Taymans  <wim@fluendo.com>
8603
8604         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
8605         Add some more docs here and there.
8606
8607 2006-07-05  Wim Taymans  <wim@fluendo.com>
8608
8609         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
8610         (gst_base_sink_loop), (gst_base_sink_get_position):
8611         When operating in pull mode update the offset so that we
8612         read sequentially.
8613
8614 2006-07-05  Wim Taymans  <wim@fluendo.com>
8615
8616         * gst/gstregistryxml.c: (read_string):
8617         Avoid strdup. (will happen in libxml, but hey!)
8618
8619         * gst/gsturi.c:
8620         Add some more docs.
8621
8622 2006-07-05  Wim Taymans  <wim@fluendo.com>
8623
8624         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
8625         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8626         (gst_buffer_suite):
8627         No point in checking if the size of the subbuffer > 0, the
8628         code handles it correclty as demonstrated by unit test.
8629         Also add a unit test for the zero sized _new_and_alloc and
8630         _copy. Fixes #346663.
8631
8632 2006-07-05  Wim Taymans  <wim@fluendo.com>
8633
8634         * libs/gst/base/gstbasetransform.c:
8635         (gst_base_transform_prepare_output_buffer),
8636         (gst_base_transform_buffer_alloc),
8637         (gst_base_transform_handle_buffer):
8638         Make sure the buffer we pass to transform_ip has a refcount of
8639         1 and thus is writable. Fixes #343196
8640
8641 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
8642
8643         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
8644         (gst_file_src_init), (gst_file_src_set_property),
8645         (gst_file_src_get_property), (gst_file_src_map_region):
8646         * plugins/elements/gstfilesrc.h:
8647         Add "sequential" property, off by default, to use madvise and hint
8648         to the kernel that sequential access is desired.
8649         Touch all retrieved pages by default to ensure they are pulled
8650         into memory. (Closes #345720)
8651
8652 2006-07-03  Wim Taymans  <wim@fluendo.com>
8653
8654         * docs/design/part-block.txt:
8655         * docs/design/part-dynamic.txt:
8656         Small docs updates.
8657
8658 2006-07-03  Wim Taymans  <wim@fluendo.com>
8659
8660         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
8661         (gst_caps_unref), (gst_static_caps_get),
8662         (gst_caps_append_structure):
8663         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
8664         Use GSlice when the glib we build against is >= 2.10
8665
8666 2006-07-03  Wim Taymans  <wim@fluendo.com>
8667
8668         * gst/gstelement.c: (gst_element_pads_activate):
8669         Small cleanup in pad activation code.
8670
8671 2006-07-03  Wim Taymans  <wim@fluendo.com>
8672
8673         Patch by: Peter Kjellerstedt <pkj at axis dot com>
8674
8675         * gst/gst-i18n-app.h:
8676         * gst/gst-i18n-lib.h:
8677         * tools/gst-inspect.c: (print_signal_info):
8678         The attached patch will make the inclusion of gettext.h unconditional in
8679         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
8680         libintl.h in tools/gst-inspect.c.
8681         This allows use of --disable-nls again and fixes #344642.
8682
8683 2006-07-03  Edward Hervey  <edward@fluendo.com>
8684
8685         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
8686         Implement pad blocking on events according to part-block.txt.
8687         More comments on behaviour.
8688         * tests/check/gst/gstevent.c: (test_event):
8689         Send event to peer pad of blocked pad (else it will block).
8690
8691 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8692
8693         * libs/gst/check/gstcheck.c: (gst_check_message_error),
8694         (gst_check_run_suite):
8695           if we get the wrong message, give us the types as string
8696         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8697           Fix a translatable
8698         * tests/check/elements/filesrc.c: (GST_START_TEST):
8699           add a test for trying to open a non-existing file
8700
8701 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8702
8703         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8704           add a test for adding self
8705
8706 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * libs/gst/check/gstcheck.h:
8709           add some assert_ as alias for fail_unless_*
8710         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
8711           increase test coverage
8712
8713 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8714
8715         * Makefile.am:
8716           include lcov.mak for lcov coverage generation
8717         * tools/Makefile.am:
8718           add to CLEANFILES
8719
8720 2006-07-02  Edward Hervey  <edward@fluendo.com>
8721
8722         * tests/check/elements/.cvsignore:
8723         moaping
8724
8725 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * configure.ac:
8728           don't set CFLAGS and friends for gcov, done from GST_GCOV now
8729         * tests/check/Makefile.am:
8730           clean up gcov files
8731
8732 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8733
8734         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
8735           remove gst_caps_simplify; it was not declared and not used
8736           and deprecated in 0.8
8737
8738 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8739
8740         * docs/faq/gst-uninstalled:
8741           don't put empty paths on PYTHONPATH
8742         * docs/gst/gstreamer-sections.txt:
8743           remove some symbols that are not there
8744
8745 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8746
8747         * gst/gstcaps.c: (gst_caps_compare_structures):
8748           whitespace fixes
8749         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8750         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8751           add more tests
8752
8753 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8754
8755         * libs/gst/dataprotocol/Makefile.am:
8756           build dataprotocol test by linking to the lib, instead of
8757           compiling the source, so we get coverage
8758         * tests/check/Makefile.am:
8759         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
8760         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
8761           add a test for filesrc
8762
8763 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8764
8765         * tests/check/gst/gststructure.c: (GST_START_TEST),
8766         (gst_structure_suite):
8767           Push coverage from 59.04% to 70.00%
8768
8769 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8770
8771         * tests/check/Makefile.am:
8772           gst-inspect every element; this makes sure that we also get
8773           coverage on element's get/set functions
8774
8775 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8776
8777         * configure.ac:
8778           set CFLAGS and friends to -O0 if gcov is being used
8779           add GCOV LIBS
8780         * gst/Makefile.am:
8781         * libs/gst/base/Makefile.am:
8782         * libs/gst/check/Makefile.am:
8783         * libs/gst/controller/Makefile.am:
8784         * libs/gst/dataprotocol/Makefile.am:
8785         * libs/gst/net/Makefile.am:
8786         * plugins/elements/Makefile.am:
8787         * plugins/indexers/Makefile.am:
8788           add makefile rules to generate gcov data and clean up
8789         * tests/check/Makefile.am:
8790           add a coverage target that generates an html overview
8791           of coverage data
8792
8793 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * tests/check/elements/fakesink.c:
8796         * tests/check/elements/fakesrc.c:
8797         * tests/check/elements/fdsrc.c:
8798         * tests/check/elements/identity.c:
8799         * tests/check/generic/sinks.c: (gst_sinks_suite):
8800         * tests/check/generic/states.c:
8801         * tests/check/gst/gst.c:
8802         * tests/check/gst/gstabi.c:
8803         * tests/check/gst/gstbin.c:
8804         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
8805         * tests/check/gst/gstbus.c: (gst_bus_suite):
8806         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8807         * tests/check/gst/gstelement.c:
8808         * tests/check/gst/gstevent.c: (gst_event_suite):
8809         * tests/check/gst/gstghostpad.c:
8810         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
8811         * tests/check/gst/gstmessage.c: (gst_message_suite):
8812         * tests/check/gst/gstminiobject.c:
8813         * tests/check/gst/gstobject.c:
8814         * tests/check/gst/gstpad.c:
8815         * tests/check/gst/gstpipeline.c:
8816         * tests/check/gst/gstplugin.c:
8817         * tests/check/gst/gstquery.c: (gst_query_suite):
8818         * tests/check/gst/gstsegment.c: (gst_segment_suite):
8819         * tests/check/gst/gststructure.c:
8820         * tests/check/gst/gstsystemclock.c:
8821         * tests/check/gst/gsttag.c:
8822         * tests/check/gst/gsttask.c: (gst_task_suite):
8823         * tests/check/gst/gstutils.c:
8824         * tests/check/gst/gstvalue.c:
8825         * tests/check/libs/adapter.c:
8826         * tests/check/libs/basesrc.c:
8827         * tests/check/libs/collectpads.c:
8828         * tests/check/libs/controller.c:
8829         * tests/check/libs/gdp.c: (gst_dp_suite):
8830         * tests/check/libs/gstnetclientclock.c:
8831         * tests/check/libs/gstnettimeprovider.c:
8832         * tests/check/libs/libsabi.c: (libsabi_suite):
8833         * tests/check/libs/typefindhelper.c:
8834         * tests/check/pipelines/cleanup.c:
8835         * tests/check/pipelines/parse-launch.c:
8836         * tests/check/pipelines/simple-launch-lines.c:
8837         * tests/check/pipelines/stress.c: (stress_suite):
8838           use the new macro
8839
8840 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8841
8842         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
8843         * libs/gst/check/gstcheck.h:
8844           create a macro and function so that the simple unit test
8845           case can be just one macro to create main()
8846
8847 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
8848
8849         * gst/gstbin.c: (gst_bin_restore_thyself):
8850         * gst/gstxml.c: (gst_xml_make_element):
8851           Fix deserialisation from XML. Set parent manually
8852           instead of using gst_bin_add(), since gst_bin_add()
8853           will unlink all pads of the element being added.
8854           Fixes #341667.
8855
8856 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
8857
8858         Patch by: Peter Kjellerstedt <pkj at axis com>
8859
8860         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
8861           Fix missing g_strdup() and double free when using the
8862           --gst-plugin-load command line option (#346097).
8863
8864 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8865
8866         * gst/gstinfo.c:
8867           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
8868
8869         * libs/gst/net/gstnetclientclock.c:
8870         * libs/gst/net/gstnettimeprovider.c:
8871           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
8872
8873 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
8874
8875         * docs/manual/advanced-dataaccess.xml:
8876           Fix buffer probe example compilation in
8877           ADM (#345708).
8878         
8879 2006-06-22  Edward Hervey  <edward@fluendo.com>
8880
8881         * gst/gstelement.c: (gst_element_pads_activate):
8882         We need to deactivate src pads first and then sink pads.
8883         The reason is the src pads might be blocking while holding the streaming
8884         lock, so we need to deactivate them first so that deactivating the sink
8885         pads doesn't block (since it will require the streaming lock).
8886
8887 2006-06-22  Wim Taymans  <wim@fluendo.com>
8888
8889         * libs/gst/base/gstbasetransform.c:
8890         (gst_base_transform_buffer_alloc):
8891         Forgot to remove two unneeded unrefs.
8892         Simplify a check _is_equal allready checks the obvious case.
8893
8894 2006-06-22  Wim Taymans  <wim@fluendo.com>
8895
8896         * docs/design/part-block.txt:
8897         Some docs about what pad_block should do.
8898
8899 2006-06-22  Wim Taymans  <wim@fluendo.com>
8900
8901         * gst/gstcaps.c: (gst_caps_replace):
8902         Fix crasher when passed NULL. Doc clarification.
8903         Optimize for the trivial case.
8904
8905         * gst/gstpipeline.c: (gst_pipeline_change_state):
8906         Small cleanups.
8907
8908         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8909         Small documentation cleanup.
8910
8911         * libs/gst/base/gstbasetransform.c:
8912         (gst_base_transform_buffer_alloc):
8913         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
8914         is what we need and it avoids a whole lot of redundant 
8915         refcount operations.
8916
8917 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
8918
8919         Patch by: Philip Jägenstedt  <philip at lysator liu se>
8920
8921         * docs/manual/advanced-dataaccess.xml:
8922           Fix 'Embedding static elements' section to use
8923           GST_PLUGIN_DEFINE_STATIC (#345607).
8924
8925 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8926
8927         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
8928           Attempt to 'fix' spuriously failing test case: it seems like the
8929           timeout of half a second is simply too small when the system is under
8930           load otherwise, and the timeout doesn't really seem to serve any
8931           particular purpose here. Give the pipeline a few seconds to preroll
8932           first, and then give it another half a second to go from PAUSED to
8933           PLAYING and marshal the message into the main thread.
8934
8935 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8936
8937         * tools/gst-feedback-m.m:
8938           Don't only use unversioned tools, try versioned tools as well
8939           (#345086).
8940
8941 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8942
8943         * gst/gstbus.c: (gst_bus_class_init):
8944           Fix some typos, make docs more explicit.
8945
8946 2006-06-20  Wim Taymans  <wim@fluendo.com>
8947
8948         * tests/check/gst/gstghostpad.c: (block_callback),
8949         (GST_START_TEST), (gst_ghost_pad_suite):
8950         Added some more ghostpad tests, mainly blocking
8951         and probes.
8952
8953 2006-06-16  Wim Taymans  <wim@fluendo.com>
8954
8955         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8956         (gst_file_sink_close_file), (gst_file_sink_do_seek),
8957         (gst_file_sink_event), (gst_file_sink_render):
8958         * plugins/elements/gstfilesink.h:
8959         Check if we can seek in the file instead of assuming
8960         we always can. Post an error when we are asked to seek in a
8961         non-seekable file (like a fifo). Fixes #343312.
8962         Some cleanups.
8963
8964 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8965
8966         * tools/gst-launch.1.in:
8967           Un-garble (fourcc) bit in filtered caps section.
8968
8969 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
8970
8971         * docs/manual/advanced-autoplugging.xml:
8972         * docs/manual/basics-helloworld.xml:
8973         * docs/manual/highlevel-components.xml:
8974           Don't leak bus reference in sample code.
8975
8976 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
8977
8978         * autogen.sh:
8979           Add default for new --enable-plugin-docs switch.
8980
8981         * configure.ac:
8982           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8983           Fixes #344039.
8984
8985         * docs/Makefile.am:
8986           Use new ENABLE_PLUGIN_DOCS conditional.
8987
8988 2006-06-14  Wim Taymans  <wim@fluendo.com>
8989
8990         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
8991         Make it clear with a FIXME and a real define what the #if 0
8992         previously disabled.
8993
8994 2006-06-14  Wim Taymans  <wim@fluendo.com>
8995
8996         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
8997         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
8998         * libs/gst/base/gstbasetransform.c:
8999         (gst_base_transform_sink_eventfunc):
9000         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
9001         Don't randomly and silently reset a segment when the format 
9002         changes as this is a bug somewhere upstream. Fixes #330379.
9003
9004 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
9005
9006         Patch by: Wouter Paesen  <wouter at kangaroot net>
9007
9008         * libs/gst/controller/gstcontroller.c:
9009         (gst_controlled_property_new):
9010           Fix controlling of float properties (#344849).
9011
9012         * tests/check/libs/controller.c:
9013         (gst_test_mono_source_get_property),
9014         (gst_test_mono_source_set_property),
9015         (gst_test_mono_source_class_init), (GST_START_TEST):
9016           While we're at it, add some float stuff to unit test.
9017
9018 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9019
9020         * docs/README:
9021         * docs/images/gdp-header.svg:
9022           add a gdp image
9023         * docs/libs/Makefile.am:
9024         * docs/libs/gdp-header.png:
9025         * libs/gst/dataprotocol/dataprotocol.c:
9026           add it to the API docs
9027         * docs/manual/intro-motivation.xml:
9028           fix typo
9029
9030 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
9031
9032         * gst/gst.c: (scan_and_update_registry), (init_post):
9033           If the fork()'ed child process can't write the updated registry cache
9034           file to disk for some reason, make it exit with a failure exit code,
9035           so that the parent can then re-scan the plugins itself and update the
9036           registry structures in memory and work with that (rather than failing
9037           when creating elements because seemingly no plugins are available).
9038           Refactor registry scanning code into separate function for this and
9039           also separate fork() and non-fork() code paths. Fixes #344748.
9040
9041 2006-06-13  Wim Taymans  <wim@fluendo.com>
9042
9043         * docs/manual/advanced-dataaccess.xml:
9044         Fix wrong PluginDesc. Fixes #344755.
9045
9046 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
9047
9048         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
9049           Fix silly bug that prevented us from creating
9050           ~/.gstreamer-0.10 and writing the registry in one
9051           go (the first call to g_mkstemp() would overwrite the
9052           placeholder in the template string, so the second call
9053           to g_mkstemp() after creating the missing directory
9054           would then error out with 'invalid argument').
9055
9056 2006-06-13  Edward Hervey  <edward@fluendo.com>
9057
9058         * gst/gst.c: (init_post):
9059         Free string.
9060
9061 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9062
9063         * gst/glib-compat-private.h:
9064         * gst/glib-compat.c:
9065         * gst/glib-compat.h:
9066         * gst/gstvalue.c: (gst_value_serialize_flags):
9067           remove GLib 2.6 compatibility code
9068
9069 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
9070
9071         * gst/parse/Makefile.am:
9072           Fix build with 'make -j N' even more (#340016).
9073
9074 2006-06-12  Wim Taymans  <wim@fluendo.com>
9075
9076         * docs/gst/gstreamer-sections.txt:
9077         Fix docs.
9078
9079 2006-06-12  Wim Taymans  <wim@fluendo.com>
9080
9081         * gst/gstsegment.c: (gst_segment_set_duration),
9082         (gst_segment_set_last_stop), (gst_segment_set_seek),
9083         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9084         (gst_segment_to_running_time), (gst_segment_clip):
9085         Use G_UNLIKELY to help the compiler a bit.
9086
9087 2006-06-12  Wim Taymans  <wim@fluendo.com>
9088
9089         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
9090
9091         * gst/gstevent.c: (gst_event_get_type):
9092         * gst/gstmessage.c:
9093         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
9094         (gst_pad_push):
9095         constify quark registration strings. Fixes #344115
9096         Avoid unneeded type checking is _pad_push() by internally
9097         calling gst_pad_chain_unchecked().
9098
9099 2006-06-12  Wim Taymans  <wim@fluendo.com>
9100
9101         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
9102         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
9103         (gst_subbuffer_finalize), (gst_buffer_create_sub),
9104         (gst_buffer_is_span_fast), (gst_buffer_span):
9105         Init _type for consistency.
9106         Use _FLAGS macro to avoid type check.
9107         Avoid unneeded type checks in subbufer code.
9108
9109 2006-06-12  Wim Taymans  <wim@fluendo.com>
9110
9111         * gst/gst.c: (gst_debug_help):
9112         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
9113         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9114         (gst_plugin_feature_list_free):
9115         * gst/gstregistry.c: (gst_registry_add_plugin),
9116         (gst_registry_add_feature), (gst_registry_plugin_filter),
9117         (gst_registry_feature_filter), (gst_registry_find_plugin),
9118         (gst_registry_find_feature), (gst_registry_get_plugin_list),
9119         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
9120         * gst/gstregistryxml.c: (load_feature),
9121         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
9122         * gst/gstminiobject.c: (gst_mini_object_unref),
9123         (gst_mini_object_replace), (gst_value_mini_object_free),
9124         (gst_value_mini_object_copy):
9125         Use _CAST macros to avoid unneeded type checking.
9126         Added some more G_UNLIKELY.
9127
9128 2006-06-12  Wim Taymans  <wim@fluendo.com>
9129
9130         * gst/gstbuffer.h:
9131         Avoid unneeded type checking.
9132         API: GST_BUFFER_IS_DISCONT
9133
9134         * gst/gstminiobject.h:
9135         Avoid type check in flag accessor.
9136
9137         * gst/gstelementfactory.h:
9138         * gst/gstplugin.h:
9139         * gst/gstpluginfeature.h:
9140         Add _CAST macros.
9141         API: GST_ELEMENT_FACTORY_CAST
9142         API: GST_PLUGIN_CAST
9143         API: GST_PLUGIN_FEATURE_CAST
9144
9145 2006-06-12  Wim Taymans  <wim@fluendo.com>
9146
9147         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
9148         (gst_object_unref):
9149         Add G_UNLIKELY in type registration.
9150         Avoid type check in _ref/_unref since that is also
9151         done in glib.
9152
9153 2006-06-12  Wim Taymans  <wim@fluendo.com>
9154
9155         * gst/gsterror.c: (gst_g_error_get_type):
9156         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9157         (gst_static_pad_template_get_type):
9158         * gst/gsttaglist.c: (gst_tag_list_get_type):
9159         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
9160         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
9161         * gst/gsturi.c: (gst_uri_handler_get_type):
9162         * gst/gstvalue.c: (gst_date_get_type):
9163         * gst/gstxml.c: (gst_xml_get_type):
9164         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
9165         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
9166         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
9167         Add G_UNLIKELY in type registration.
9168
9169 2006-06-12  Wim Taymans  <wim@fluendo.com>
9170
9171         * tools/gst-inspect.c: (print_signal_info):
9172         Properly print enum values.
9173
9174 2006-06-12  Wim Taymans  <wim@fluendo.com>
9175
9176         * gst/gstinfo.c: (gst_debug_set_active),
9177         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
9178         * gst/gstinfo.h:
9179         Add some G_[UN]LIKELY.
9180         Maintain __gst_debug_min to avoid formatting the arguments of
9181         debug messages that will be dropped anyway to avoid a lot of 
9182         overhead from the debugging system.
9183
9184 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
9185
9186         * po/POTFILES.in:
9187         * po/POTFILES.skip:
9188           add missing files containing translatable strings, tell intltool about
9189           one exception
9190
9191 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
9192
9193         * tests/check/libs/.cvsignore:
9194         add test-binary to ignore list
9195
9196 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
9197
9198         * docs/libs/gstreamer-libs-docs.sgml:
9199         reorder (put dp into a chapter) and indent
9200
9201 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9202
9203         * configure.ac:
9204           back to HEAD
9205
9206 === release 0.10.8 ===
9207
9208 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
9209
9210         * configure.ac:
9211           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
9212
9213 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9214
9215         * gst/gst.c: (init_post):
9216           move pid declaration to declaration block
9217
9218 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9219
9220         * gst/gst.c: (init_post):
9221           use _exit() instead of exit() in our forked child; this ensures
9222           that none of the registered exit handlers from whatever is using
9223           GStreamer get executed.  This fixes gnome-mixer-applet failing
9224           to load, because ORBit would shut down.
9225           Spotted by: Edward Hervey  <edward@fluendo.com>
9226           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
9227           Fixes #344474
9228
9229 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9230
9231         * configure.ac:
9232           back to TRUNK
9233
9234 === release 0.10.7 ===
9235
9236 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
9237
9238         * configure.ac:
9239           releasing 0.10.7, "Soepeke, ik zie ou"
9240
9241 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9242
9243         * configure.ac:
9244         * po/af.po:
9245         * po/az.po:
9246         * po/bg.po:
9247         * po/ca.po:
9248         * po/cs.po:
9249         * po/de.po:
9250         * po/en_GB.po:
9251         * po/fr.po:
9252         * po/it.po:
9253         * po/nb.po:
9254         * po/nl.po:
9255         * po/ru.po:
9256         * po/sq.po:
9257         * po/sr.po:
9258         * po/sv.po:
9259         * po/tr.po:
9260         * po/uk.po:
9261         * po/vi.po:
9262         * po/zh_CN.po:
9263         * po/zh_TW.po:
9264         * win32/common/config.h:
9265           0.10.6.2 prerelease
9266
9267 2006-06-07  Wim Taymans  <wim@fluendo.com>
9268
9269         * gst/gstindex.c: (gst_index_gtype_resolver):
9270         * tools/gst-xmlinspect.c: (print_plugin_info):
9271         Fix leak spotted by coverity checker. Fixes #343827
9272         Fix another other leak found by paolo borelli.
9273
9274 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9275
9276         * libs/gst/dataprotocol/dataprotocol.c:
9277         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9278         (gst_dp_version_get_type), (gst_dp_init),
9279         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
9280         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
9281         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
9282         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
9283         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
9284         (gst_dp_packetizer_free):
9285         * libs/gst/dataprotocol/dataprotocol.h:
9286           API: add a GstDPPacketizer object, and create/free functions
9287           API: add GstDPVersion enum
9288           Add 1.0 event function that uses the string serialization
9289           Serialize more useful buffer flags
9290           Fixes #343988
9291
9292 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * tests/check/Makefile.am:
9295         * tests/check/gst/gstabi.c:
9296         * tests/check/gst/struct_ppc64.h:
9297         * tests/check/libs/libsabi.c:
9298         * tests/check/libs/struct_ppc64.h:
9299           add ppc64 structure sizes
9300
9301 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9302
9303         * tests/check/Makefile.am:
9304         * tests/check/gst/gstabi.c:
9305         * tests/check/gst/struct_x86_64.h:
9306         * tests/check/libs/libsabi.c:
9307         * tests/check/libs/struct_x86_64.h:
9308           generate and add structure size lists for x86_64
9309
9310 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9311
9312         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9313         * libs/gst/check/gstcheck.h:
9314           factor out the method from tests that checks size of structures,
9315           and add code to generate the header containing these sizes
9316         * tests/check/gst/gstabi.c: (GST_START_TEST):
9317         * tests/check/gst/struct_i386.h:
9318         * tests/check/libs/libsabi.c: (GST_START_TEST):
9319         * tests/check/libs/struct_i386.h:
9320           use it
9321
9322 2006-06-06  Michael Smith  <msmith@fluendo.com>
9323
9324         * gst/gstsegment.h:
9325           Don't use c++-style comments, fixes #343929
9326
9327 2006-06-05  Edward Hervey  <edward@fluendo.com>
9328
9329         * gst/gst.c:
9330         plugin_paths is not used if we build without registry support.
9331
9332         * gst/gstsegment.c: (gst_segment_copy): 
9333         _copy() was always returning NULL...
9334
9335 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * libs/gst/dataprotocol/dataprotocol.c:
9338         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9339         (gst_dp_packet_from_event):
9340           factor out CRC code
9341
9342 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9343
9344         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
9345           make sure we unset caps
9346
9347 2006-06-02  Michael Smith  <msmith@fluendo.com>
9348
9349         * libs/gst/check/gstcheck.c: (gst_check_init),
9350         (gst_check_chain_func):
9351         * libs/gst/check/gstcheck.h:
9352           Add a cond/mutex to the check support lib, signal this whenever we
9353           add to the buffers list. This will allow tests to not busy-wait on
9354           the buffer-list.
9355
9356 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9357
9358         * libs/gst/dataprotocol/dataprotocol.c:
9359         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9360         (gst_dp_packet_from_event):
9361           factor out some common header init code
9362
9363 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9364
9365         * docs/libs/gstreamer-libs-sections.txt:
9366         * docs/libs/tmpl/gstdataprotocol.sgml:
9367         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
9368         * libs/gst/dataprotocol/dataprotocol.h:
9369           API: make gst_dp_crc() public
9370
9371 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
9372
9373         * plugins/indexers/gstindexers.c: (plugin_init):
9374         conditionally register fileindexer (fixes #343598)
9375
9376 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
9377
9378         * gst/gsttagsetter.h:
9379         Can't cast ifaces to a class
9380
9381         * libs/gst/net/gstnetclientclock.h:
9382         * libs/gst/net/gstnettimeprovider.h:
9383         * plugins/elements/gstfakesink.h:
9384         * plugins/elements/gstfakesrc.h:
9385         * plugins/elements/gstfdsink.h:
9386         * plugins/elements/gstfdsrc.h:
9387         * plugins/elements/gstfilesink.h:
9388         * plugins/elements/gstfilesrc.h:
9389         * plugins/elements/gstidentity.h:
9390         * plugins/elements/gstqueue.h:
9391         * plugins/elements/gsttee.h:
9392         * plugins/indexers/gstfileindex.c:
9393         * plugins/indexers/gstmemindex.c:
9394         * tests/old/examples/plugins/example.h:
9395         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
9396
9397 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9398
9399         * libs/gst/dataprotocol/dataprotocol.c:
9400         (gst_dp_header_from_buffer):
9401           make sure we zero the whole ABI-compatible area
9402
9403 2006-06-01  Wim Taymans  <wim@fluendo.com>
9404
9405         Patch by: Alessandro Decina <alessandro at nnva dot org>
9406
9407         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
9408         Make sure the EOS flag is cleared from pads after a flush
9409         or stop. Fixes #343538.
9410
9411         * tests/check/libs/collectpads.c: (GST_START_TEST),
9412         (gst_collect_pads_suite):
9413         Added test for collectpads reusage after EOS.
9414
9415 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
9416
9417         * gst/gst.c:
9418          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
9419         * win32/common/libgstbase.def:
9420          export gst_collect_pads_set_flushing
9421         * win32/common/libgstreamer.def:
9422          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
9423          gst_value_fraction_multiply
9424         * win32/vs6/gst_inspect.dsp:
9425          add a link to intl.lib
9426
9427 2006-05-30  Wim Taymans  <wim@fluendo.com>
9428
9429         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9430         (gst_collect_pads_chain):
9431         Handle the case where a pad is removed from the collection
9432         that could cause the other pads to become collectable.
9433
9434 2006-05-30  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/gstelement.c:
9437         Clarify the use of _release_request_pad() and
9438         _get_request_pad() a bit better.
9439
9440         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
9441         (gst_adapter_take_buffer):
9442         Fix some doc and comment typos.
9443
9444 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9445
9446         * docs/gst/gstreamer-sections.txt:
9447         * docs/libs/gstreamer-libs-sections.txt:
9448           add declared symbols
9449
9450 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
9451
9452         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9453         Add debug that can be enabled using a #define at the top of the file,
9454         for dumping stats about how late/early we were when waking up from
9455         waiting on the clock.
9456
9457 2006-05-30  Wim Taymans  <wim@fluendo.com>
9458
9459         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
9460         When rebuilding the pad list, don't leak the previous list.
9461
9462 2006-05-30  Wim Taymans  <wim@fluendo.com>
9463
9464         Patch by: Lutz Mueller <lutz at topfrose dot de>
9465
9466         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9467         (gst_base_src_get_query_types), (gst_base_src_update_length):
9468         Publish supported query types.
9469         Update last_stop field in get_range mode so the position
9470         query works. Fixes #342321.
9471
9472 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
9473
9474         * docs/gst/gstreamer-sections.txt:
9475         * gst/gsttaglist.c: (_gst_tag_initialize):
9476         * gst/gsttaglist.h:
9477           API: add GST_TAG_PREVIEW_IMAGE (#343341).
9478
9479 2006-05-30  Wim Taymans  <wim@fluendo.com>
9480
9481         Patch by: Alessandro Decina <alessandro at nnva dot org>
9482
9483         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9484         Unlock mutex when removing an unknown pad.
9485         Fixes #343334.
9486
9487         * tests/check/Makefile.am:
9488         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
9489         (push_event), (setup), (teardown), (GST_START_TEST),
9490         (gst_collect_pads_suite), (main):
9491         Added collecpads check, disabled for now as check crashes for
9492         some reason.
9493
9494 2006-05-29  Wim Taymans  <wim@fluendo.com>
9495
9496         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
9497         Don't leak pads lists.
9498
9499 2006-05-29  Wim Taymans  <wim@fluendo.com>
9500
9501         * docs/libs/gstreamer-libs-sections.txt:
9502         * libs/gst/base/gstcollectpads.c:
9503         (gst_collect_pads_set_flushing_unlocked),
9504         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9505         (gst_collect_pads_stop):
9506         * libs/gst/base/gstcollectpads.h:
9507         API: gst_collect_pads_set_flushing()
9508         Added api to set the pads to flushing, useful for seeking
9509         code in elements using collectpads.
9510         Clear segment when receiving a flush.
9511
9512 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
9513
9514         * gst/gst.c: (add_path_func), (init_post):
9515           Don't scan registry paths passed via --gst-plugin-path immediately
9516           (will crash, because absolutely nothing is set up and no types are
9517           registered etc.); do this later in init_post(). Fixes #343057.
9518
9519 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9520
9521         * gst/gst.c: (init_post):
9522           if we have fork, fork while reading/rebuilding the registry
9523           so the parent doesn't take the hit of having all plugins loaded
9524           in memory.  Fixes #342777.
9525         * configure.ac:
9526           Check if we have fork()
9527         * win32/common/config.h.in:
9528           no fork() on win32
9529
9530 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9531
9532         * plugins/elements/gstelements.c:
9533         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9534         (gst_file_src_init), (gst_file_src_set_property),
9535         (gst_file_src_get_property), (gst_file_src_start):
9536         * plugins/elements/gstfilesrc.h:
9537           API: GstFileSrc::use-mmap
9538
9539         Add a use-mmap property to enable easier testing of all code paths.
9540         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
9541         in the absence of gnomevfssrc. (Closes #340501)
9542
9543 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9544
9545         * tools/gst-inspect.c:
9546         Add missing include, removes warning of ngettext not being defined on
9547         some arches.
9548
9549 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
9550
9551         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9552         Handle NULL input and output pointers silently as a failed conversion,
9553         rather than g_warnings.
9554
9555 2006-05-25  Wim Taymans  <wim@fluendo.com>
9556
9557         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
9558         Initialize variable before using. Fixes #342820.
9559
9560 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
9561
9562         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
9563           Fix off-by-one bug that would only allow peeks of N-1 bytes
9564           from the start even if the buffer to typefind on contains
9565           in fact N bytes of data (makes vorbis typefinding from a
9566           vorbis identification header buffer work).
9567
9568         * tests/check/Makefile.am:
9569         * tests/check/libs/.cvsignore:
9570         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
9571         (gst_typefindhelper_suite), (main), (foobar_typefind),
9572         (plugin_init):
9573           Add very basic unit test for gst_type_find_helper_for_buffer()
9574           that checks for the problem fixed above.
9575
9576 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * tools/gst-inspect.c: (print_interfaces),
9579         (print_element_properties_info), (print_element_list), (main):
9580           add more translatable strings
9581
9582 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
9583
9584         Patch by: Julien Moutte  <julien at moutte net>
9585
9586         * docs/gst/gstreamer-sections.txt:
9587           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
9588           
9589         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9590         (gst_fake_sink_preroll):
9591         * plugins/elements/gstfakesink.h:
9592           API: Add new GstFakeSink::preroll-handoff signal (#337100).
9593
9594 2006-05-23  Wim Taymans  <wim@fluendo.com>
9595
9596         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
9597         * gst/gstpad.h:
9598         Added _CUSTOM error and success GstFlowReturn that can be
9599         used be elements internally. 
9600         Added macro to check for SUCCESS flowreturns.
9601         API: GST_FLOW_CUSTOM_SUCCESS
9602         API: GST_FLOW_CUSTOM_ERROR
9603         API: GST_FLOW_IS_SUCCESS
9604
9605         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
9606         Added check for GstFlowReturn sanity.
9607
9608 2006-05-23  Wim Taymans  <wim@fluendo.com>
9609
9610         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9611
9612         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9613         (gst_collect_pads_event):
9614         clear/reset segment info in FLUSH_STOP.
9615         Fixes #336929.
9616
9617 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
9618
9619         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
9620         (gst_collect_pads_check_collected):
9621         Flush queued buffer on _stop(), fixes playing again (#342454)
9622
9623 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9624
9625         * tests/check/gst/gststructure.c: (GST_START_TEST),
9626         (gst_structure_suite):
9627           add a test for a complete structure
9628
9629 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9630
9631         * docs/faq/developing.xml:
9632         * docs/faq/faq.xml:
9633         * docs/faq/troubleshooting.xml:
9634         * docs/faq/using.xml:
9635           Some minor FAQ updates that won't change the fact that
9636           our FAQ is badly structured, full of information hardly
9637           anyone new to GStreamer needs to know and lacking lots
9638           of information people constantly ask for.
9639           
9640 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
9641
9642         * gst/gstpad.c: (gst_pad_set_caps):
9643           Short-circuit gst_pad_set_caps if setting the existing
9644           caps pointer again, and avoid printing debug and 
9645           reffing/unreffing the caps.
9646
9647         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9648           There's actually no need to set the caps before pushing -
9649           the acceptcaps method will handle it anyway.
9650
9651 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
9652
9653         * docs/gst/gstreamer-sections.txt:
9654         * win32/common/libgstreamer.def:
9655         * gst/gstutils.c: (gst_element_seek_simple):
9656         * gst/gstutils.h:
9657           API: add gst_element_seek_simple() (#342238).
9658
9659 2006-05-18  Edward Hervey  <edward@fluendo.com>
9660
9661         * gst/gsttypefind.c: (gst_type_find_get_type):
9662         * gst/gsttypefind.h:
9663         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
9664         registered for GstTypeFind pointers. This allows wrapping the structure
9665         in bindings (i.e. gst-python).
9666
9667 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9668
9669         * gst/gsttagsetter.c:
9670           Docs additions and fixes (see #339918).
9671
9672 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
9673
9674         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9675         The caps intersection algorithm can produce multiple copies of the
9676         caps. Until that is fixed, we need to simplify the result to be
9677         sure whether the allowed caps are fixed or not.
9678
9679         * plugins/elements/gstqueue.c: (gst_queue_init),
9680         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
9681         (gst_queue_push_one):
9682         Proxied buffer alloc should not set the caps on the source pad.
9683         When pushing buffers, we always accept the caps change that triggers.
9684         This prevents negotiation errors caused by caps changing mid-stream 
9685         and then being refused on our source pad (because upstream is now
9686         refusing those caps).
9687
9688 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
9689
9690         * tests/examples/helloworld/helloworld.c: (main):
9691           Must plug audioconvert and audioresample between decoder
9692           and audio sink.
9693
9694 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
9695
9696         * gst/gstregistryxml.c: (read_string), (load_pad_template),
9697         (load_feature), (load_plugin):
9698         Allow empty strings for some of the plugin fields so we don't 
9699         drop valid plugin entries that were written out correctly
9700         (Fixes #341479)
9701
9702 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
9703         
9704         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
9705           Use g_remove and g_rename instead of remove and rename that don't 
9706           handle utf8 characters. rename was failing for users who had specific
9707           characters in their name then the registry was built at each 
9708           gstreamer init.
9709         * win32/vs6/gst_inspect.dsp:
9710         * win32/vs6/gst_launch.dsp:
9711         * win32/vs6/libgstbase.dsp:
9712         * win32/vs6/libgstcoreelements.dsp:
9713         * win32/vs6/libgstreamer.dsp:
9714           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
9715           build of libgstreamer and clean unused libraries in projects link 
9716           settings.
9717
9718 2006-05-17  Edward Hervey  <edward@fluendo.com>
9719
9720         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9721         The queue is not responsible for pushing an EOS when receiving a fatal
9722         flow error. It's up to the real element driving the pipeline to do that.
9723
9724 2006-05-16  Edward Hervey  <edward@fluendo.com>
9725
9726         * plugins/elements/gstqueue.c: (gst_queue_push_one):
9727         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
9728         buffer returned a fatal error. It should just send an EOS and stop
9729         its task.
9730         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
9731         when pushing buffers on the queue and will be able to handle the event.
9732
9733 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
9734
9735         * docs/manual/basics-bins.xml:
9736         * docs/manual/basics-init.xml:
9737           Fix typos and minor errors in sample code (#341856).
9738
9739 2006-05-16  Wim Taymans  <wim@fluendo.com>
9740
9741         * docs/design/part-qos.txt:
9742         Fix indexes in formulas to make more sense.
9743
9744 2006-05-15  Wim Taymans  <wim@fluendo.com>
9745
9746         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9747         Don't report POSITION based on clock time if sync is
9748         disabled in a sink.
9749
9750 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
9751
9752         * gst/gstobject.h:
9753           Add cast to make compiler happy - refcount variable was a gint
9754           in GstObject but is a guint in GObject and g_atomic_int_get()
9755           wants a gint *.
9756
9757 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9758
9759         * gst/parse/Makefile.am:
9760           chain commands using &&, which also makes parallel make work
9761
9762 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
9763
9764         * docs/gst/gstreamer-sections.txt:
9765         * gst/gstevent.c:
9766         * gst/gstevent.h:
9767         * gst/gstmessage.h:
9768           Minor docs fixes.
9769
9770 === release 0.10.6 ===
9771
9772 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
9773
9774         * configure.ac:
9775           releasing 0.10.6, "Take the cannoli"
9776
9777 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
9778
9779         * tools/gst-launch.c: (print_tag):
9780           Fix use of uninitialized variable in the hypothetical
9781           case that some broken plugin creates a GST_TAG_IMAGE
9782           tag containing a NULL buffer (#341667).
9783
9784 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
9785
9786         * tools/gst-launch.c: (print_tag):
9787           Print something more intelligible for image tags when
9788           using the -t switch (#341556).
9789
9790 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9791
9792         * Makefile.am:
9793           updates for win32
9794         * configure.ac:
9795           define GST_MAJORMINOR so we have it available in win32/common/config.h
9796           Possibly remove it from our Makefile.am files later
9797         * win32/common/config.h:
9798         * win32/common/config.h.in:
9799           added GST_MAJORMINOR
9800         * win32/common/gstenumtypes.c: (register_gst_resource_error):
9801         * win32/common/gstversion.h:
9802           updated
9803
9804 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
9805
9806         * win32/MANIFEST:
9807           Update win32 files listing.
9808         * win32/common/gstversion.h:
9809           Add GST_MAJORMINOR definition.
9810         * win32/common/libgstreamer.def:
9811           Add new exported functions.
9812           
9813 2006-05-12  Michael Smith  <msmith@fluendo.com>
9814
9815         * gst/gstplugin.c: (gst_plugin_load_file):
9816           If an so file has no plugin entry point, unload the module.
9817
9818 2006-05-11  Wim Taymans  <wim@fluendo.com>
9819
9820         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
9821         (gst_queue_set_property):
9822         Don't forget to signal the _chain or _loop function 
9823         when the queue size or thresholds change since that might
9824         cause them to make progres again.
9825
9826 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
9827
9828         * gst/gstclock.c: (gst_clock_class_init):
9829         * gst/gstindex.c: (gst_index_class_init):
9830         * gst/gstobject.c: (gst_object_class_init):
9831         * gst/gstpad.c: (gst_pad_class_init):
9832         * gst/gstpipeline.c: (gst_pipeline_class_init):
9833         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
9834         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
9835         * libs/gst/base/gstbasetransform.c:
9836         (gst_base_transform_class_init):
9837         * libs/gst/net/gstnetclientclock.c:
9838         (gst_net_client_clock_class_init):
9839         * libs/gst/net/gstnettimeprovider.c:
9840         (gst_net_time_provider_class_init):
9841         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
9842         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
9843         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
9844         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
9845         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
9846         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9847         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9848         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9849         * plugins/elements/gsttee.c: (gst_tee_class_init):
9850         * tests/old/examples/plugins/example.c: (gst_example_class_init):
9851         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
9852           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
9853
9854 2006-05-11  Wim Taymans  <wim@fluendo.com>
9855
9856         * gst/gstbuffer.c: (_gst_buffer_initialize):
9857         Register subbufer along with the buffer type so that
9858         it does not accidentally gets registered from N
9859         different streaming threads in a non threadsafe way.
9860
9861 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9862
9863         * gst/gstbuffer.h:
9864         * gst/gstevent.h:
9865         * gst/gstmessage.h:
9866           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
9867           gst_event_ref() and gst_message_ref() functions again
9868           (ugly hack, please do fix if there's a better way besides
9869           overrides.txt, which doesn't seem to work).
9870
9871 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9872
9873         * libs/gst/check/gstcheck.h:
9874           add an assert for setting state to avoid lots of repetitive code
9875           in the future
9876
9877 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * gst/gstvalue.c: (gst_value_serialize_flags):
9880           fix a leak if no flags are set
9881         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9882           fix leak in tests
9883
9884 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
9885
9886         * docs/manual/basics-pads.xml:
9887           Expand a bit on caps and filtered links and update
9888           examples that were still using the no longer existing
9889           gst_pad_link_filtered() (#338206).
9890
9891 2006-05-10  Wim Taymans  <wim@fluendo.com>
9892
9893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9894         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9895         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
9896         (gst_collect_pads_stop):
9897         * libs/gst/base/gstcollectpads.h:
9898         No need to call _stop in _finalize.
9899         Iterate the main pad list in _finalize.
9900         Added some more debug.
9901         Free lists and data in the right order.
9902         Also free data whem doing _remove_pad when stopped for
9903         backward compatibility protect ::started with PAD_LOCK as
9904         well.
9905
9906 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9907
9908         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
9909         (gst_structure_parse_value):
9910           add some comments
9911           rename a method so that it actually says what it does better
9912
9913 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9914
9915         * gst/gstevent.c: (_gst_event_initialize):
9916         * gst/gstformat.c: (_gst_format_initialize):
9917           make sure some essential types used by events are registered
9918           as part of gst_init()
9919         * gst/gstvalue.c: (gst_value_serialize_flags):
9920           if no flags are set, serialize them to a value that represents NONE
9921           so that deserializing them works
9922         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9923           add tests for serialization and deserialization of flags
9924
9925 2006-05-10  Wim Taymans  <wim@fluendo.com>
9926
9927         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
9928         (gst_collect_pads_collect_range), (gst_collect_pads_available),
9929         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
9930         (gst_collect_pads_event), (gst_collect_pads_chain):
9931         Update docs.
9932         Better debug info.
9933         Catch and return errors from the collect function
9934         Refuse data on eos pads.
9935
9936 2006-05-10  Edward Hervey  <edward@fluendo.com>
9937
9938         * gst/gstinterface.h:
9939         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
9940         GInterface type checking.
9941         They were previously using non-defined macros.
9942
9943 2006-05-09  Wim Taymans  <wim@fluendo.com>
9944
9945         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
9946         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
9947         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
9948         (gst_collect_pads_start), (gst_collect_pads_stop),
9949         (gst_collect_pads_peek), (gst_collect_pads_pop),
9950         (gst_collect_pads_available), (gst_collect_pads_read),
9951         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
9952         (gst_collect_pads_is_collected), (gst_collect_pads_event),
9953         (gst_collect_pads_chain):
9954         * libs/gst/base/gstcollectpads.h:
9955         Clean up the mess that is collectpads, add comments and
9956         FIXMEs where needed.
9957         Maintain a separate pad list so we can add pads while
9958         collecting the other ones. For this we need a new separate 
9959         lock (see comics).
9960         Fix memory leak in finalize.
9961         Refactor some weird code to set/unset pad flushing flags, mark
9962         with comments.
9963         Don't crash in _available, _read, _flush when we're EOS.
9964
9965         * tests/check/libs/.cvsignore:
9966         Ignore adapter check binary.
9967
9968 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9969
9970         * gst/gstindex.c: (gst_index_resolver_get_type):
9971         * plugins/elements/gstfakesink.c:
9972         (gst_fake_sink_state_error_get_type):
9973         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9974         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
9975         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9976           Const-ify GEnumValue arrays.
9977
9978 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9979
9980         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9981           Add test case for flags + gst_buffer_make_metadata_writable().
9982
9983 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9984
9985         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
9986           gst_buffer_make_metadata_writable() should maintain the
9987           buffer flags (those that make sense at least) (see #340859).
9988
9989 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9990
9991         * tools/gst-inspect.c:
9992         * tools/gst-launch.c:
9993         * tools/gst-typefind.c:
9994         * tools/gst-xmlinspect.c:
9995         * tools/tools.h:
9996           Fix up includes: need to include stdlib.h in tools.h for exit().
9997
9998 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9999
10000         * gst/gsttaglist.c: (_gst_tag_initialize):
10001         * gst/gsttaglist.h:
10002           API: add GST_TAG_IMAGE tag (#340721).
10003
10004 2006-05-08  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/gstquery.c:
10007         Added some docs for the segment query.
10008
10009 2006-05-08  Wim Taymans  <wim@fluendo.com>
10010
10011         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10012         (gst_base_src_loop), (gst_base_src_change_state):
10013         Always push non-flushing serialized events in the streaming 
10014         thread.
10015
10016 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * gst/gsterror.c: (_gst_stream_errors_init):
10019           Add a missing error string.
10020
10021 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
10022
10023         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
10024         Add applied_rate to the debug
10025
10026         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10027         Copy applied_rate into the outgoing NEWSEGMENT event
10028
10029 2006-05-08  Wim Taymans  <wim@fluendo.com>
10030
10031         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
10032
10033         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
10034         (gst_base_sink_change_state):
10035         call ::unlock before taking the PREROLL_LOCK so we can safely
10036         handle elements that lock in ::render.
10037         Fixes #340174.
10038
10039 2006-05-08  Edward Hervey  <edward@fluendo.com>
10040
10041         * autogen.sh: (CONFIGURE_DEF_OPT): 
10042         Darwin's libtoolize is in fact called glibtoolize.
10043         Adding glibtoolize to the list of accepted names for libtoolize.
10044
10045 2006-05-08  Wim Taymans  <wim@fluendo.com>
10046
10047         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10048         Unify error handling, don't post an error message
10049         when a push() returns EOS but perform our normal EOS
10050         handling code. Fixes #340772.
10051
10052 2006-05-08  Wim Taymans  <wim@fluendo.com>
10053
10054         * docs/design/part-overview.txt:
10055         Make upsteam/downstream concepts more clear.
10056         Give an example of serialized/non-serialized events.
10057
10058         * docs/design/part-events.txt:
10059         * docs/design/part-streams.txt:
10060         Mention applied_rate.
10061
10062         * docs/design/part-trickmodes.txt:
10063         Mention applied rate, flesh out some more use cases.
10064
10065         * gst/gstevent.c: (gst_event_new_new_segment),
10066         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
10067         (gst_event_parse_new_segment_full), (gst_event_new_tag),
10068         (gst_event_parse_tag), (gst_event_new_buffer_size),
10069         (gst_event_parse_buffer_size), (gst_event_new_qos),
10070         (gst_event_parse_qos), (gst_event_parse_seek),
10071         (gst_event_new_navigation):
10072         * gst/gstevent.h:
10073         Add applied_rate field to NEWSEGMENT event.
10074         API: gst_event_new_new_segment_full()
10075         API: gst_event_parse_new_segment_full()
10076
10077         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
10078         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
10079         (gst_segment_to_stream_time), (gst_segment_to_running_time):
10080         * gst/gstsegment.h:
10081         Add applied_rate to GstSegment structure.
10082         Make calculation of stream_time and running_time more correct
10083         wrt rate/applied_rate.
10084         Add some more docs.
10085         API: GstSegment::applied_rate field
10086         API: gst_segment_set_newsegment_full();
10087
10088         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10089         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
10090         * libs/gst/base/gstbasetransform.c:
10091         (gst_base_transform_sink_eventfunc),
10092         (gst_base_transform_handle_buffer):
10093         Parse and use applied_rate in the GstSegment field.
10094
10095         * tests/check/gst/gstevent.c: (GST_START_TEST):
10096         Add check for applied_rate field.
10097
10098         * tests/check/gst/gstsegment.c: (GST_START_TEST),
10099         (gstsegments_suite):
10100         Add more checks for various GstSegment operations.
10101
10102 2006-05-08  Wim Taymans  <wim@fluendo.com>
10103
10104         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
10105         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
10106         (gst_base_sink_get_position), (gst_base_sink_change_state):
10107         Store the sync time of the buffer end position separatly in a
10108         new variable eos_rtime so we can properly sync the EOS event.
10109         Fixes #340697.
10110         Fix the docs for gst_base_sink_set_qos_enabled().
10111         Don't set segment start to invalid value when we receive a 
10112         non TIME newsegment.
10113         get closer to handling position reporting for negative rates 
10114         correctly.
10115
10116 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
10117
10118         * gst/gstcaps.c:
10119         Docs about how to print caps for debug purposes.
10120
10121         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
10122         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
10123
10124 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
10125
10126         * gst/gstelement.c:
10127           use full enum names and preprend a '%' in docs strings to make recent 
10128           gtk-doc turn that into a link
10129
10130 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10131
10132         * docs/manual/basics-bins.xml:
10133         * docs/manual/basics-bus.xml:
10134         * docs/manual/basics-pads.xml:
10135           Some typo fixes, some additions, some clarifications. 
10136
10137 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10138
10139         * tools/gst-inspect.c: (main):
10140         * tools/gst-launch.c: (main):
10141         * tools/gst-run.c: (main):
10142         * tools/gst-typefind.c: (main):
10143         * tools/gst-xmlinspect.c: (main):
10144           Use the string passed to g_option_context_new() for
10145           what it's intended for - the program name is already
10146           printed elsewhere.
10147
10148 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10149
10150         * tools/Makefile.am:
10151         * tools/gst-inspect.c: (main):
10152         * tools/gst-launch.c: (main):
10153         * tools/gst-xmlinspect.c: (main):
10154         * tools/tools.h:
10155           Add back --version command line option (#340460).
10156
10157         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
10158           Add --version option and use GOption for argument parsing; refactor a
10159           bit; accept directories as arguments and recurse into them; lastly,
10160           print a decent error message when things go wrong.
10161
10162 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10163
10164         * docs/manual/basics-bins.xml:
10165         Don't mention GstThread (#340611)
10166         * docs/manual/basics-elements.xml:
10167         Update link to GObject tutorial (#340607)
10168         
10169 2006-05-05  Wim Taymans  <wim@fluendo.com>
10170
10171         * gst/gstbuffer.h:
10172         * gst/gstminiobject.c:
10173         Add note about refcounting and miniobject/buffer writeability
10174         to docs. Fixes #340604
10175
10176         * gst/gstelementfactory.h:
10177         Added some explanation about @klass.
10178
10179 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10180
10181         * docs/manual/intro-motivation.xml:
10182         * docs/manual/manual.xml:
10183         Avoid CORBA & Bonobo references (#340598)
10184
10185 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10186
10187         * docs/manual/basics-bus.xml:
10188         * docs/manual/basics-pads.xml:
10189         Fix up some inaccuracies and omissions (#340609)
10190         
10191 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
10192
10193         * gst/gstghostpad.c:
10194           Small typo in docs (#340625)
10195
10196 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10197
10198         * gst/parse/Makefile.am:
10199           Make 'make -j' proof (see #340698).
10200
10201 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
10202
10203         * configure.ac:
10204           Require GLib-2.8 here as well.
10205
10206 2006-05-05  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/glib-compat.c:
10209         * gst/gst.c: (init_pre):
10210         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
10211         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
10212         (gst_object_dispatch_properties_changed):
10213         * gst/gstobject.h:
10214         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10215         * gst/gststructure.c: (gst_structure_set_valist):
10216         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10217         Remove pre glib2.8 compatibility, fixes #340508
10218
10219 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
10220
10221         * gst/gsttaglist.h:
10222           Mention type of tags in doc blurbs.
10223
10224 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
10225
10226         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
10227         (gst_pad_configure_src), (gst_pad_push):
10228         Restore acceptcaps checking behaviour now that good plugins have
10229         been released.
10230
10231 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
10232
10233         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
10234
10235         * gst/gst.c:
10236         * gst/gstbus.c:
10237         * gst/gstclock.c:
10238         * gst/gstevent.c:
10239         * gst/gstformat.c:
10240         * gst/gstmessage.c:
10241         * gst/gstparse.c:
10242         * gst/gstquery.c:
10243         * gst/gstutils.c:
10244         * gst/parse/Makefile.am:
10245         * libs/gst/base/gstadapter.c:
10246         * libs/gst/base/gstbasesrc.c:
10247         * libs/gst/base/gstpushsrc.c:
10248         * libs/gst/base/gsttypefindhelper.c:
10249         * plugins/elements/gstfakesrc.c:
10250         * plugins/elements/gstidentity.c:
10251           Make sure gstprivate.h and/or config.h are
10252           always included first, otherwise some of our
10253           defines (like _FILE_OFFSET_BITS) might be
10254           redefined in the system headers. Fixes build
10255           on opensolaris (#340016).
10256
10257 2006-05-04  Wim Taymans  <wim@fluendo.com>
10258
10259         * docs/libs/gstreamer-libs-sections.txt:
10260         API: addition: gst_adapter_take_buffer()
10261         
10262         * libs/gst/base/gstadapter.c: (gst_adapter_push),
10263         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
10264         (gst_adapter_available_fast):
10265         * libs/gst/base/gstadapter.h:
10266         Prepare for optimizing the hell out of this hugely inefficient
10267         piece of code. 
10268         Added gst_adapter_take_buffer() so we can at least start thinking
10269         about subbuffering and merging.
10270         Added some comments.
10271
10272         * tests/check/Makefile.am:
10273         * tests/check/libs/adapter.c: (GST_START_TEST),
10274         (gst_adapter_suite), (main):
10275         Added GstAdapter check.
10276
10277 2006-05-04  Wim Taymans  <wim@fluendo.com>
10278
10279         * docs/design/part-overview.txt:
10280         Fix some typos, add blurb about buffer flags.
10281
10282 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10283
10284         * docs/libs/gstreamer-libs-sections.txt:
10285           make sure GstBaseTransformClass shows up in the docs
10286         * libs/gst/base/gstbasetransform.c:
10287         * libs/gst/base/gstbasetransform.h:
10288           move docs so gtk-doc picks it up now
10289
10290 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
10291
10292         * docs/libs/gstreamer-libs-sections.txt:
10293           add missing symbols to docs
10294
10295 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
10296
10297         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10298           back out the newsegment handling change, see #340060 for ongoing
10299           discussion
10300
10301 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
10302
10303         * tools/gst-run.c: (get_candidates), (main):
10304           Fix wrong g_file_test() usage (see glib docs for why it doesn't
10305           work); fix typo in error message. Fixes #340079.
10306
10307 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * common/Makefile.am:
10310         * docs/Makefile.am:
10311         * docs/faq/Makefile.am:
10312         * docs/gst/Makefile.am:
10313         * docs/libs/Makefile.am:
10314         * docs/manual/Makefile.am:
10315         * docs/plugins/Makefile.am:
10316         * docs/pwg/Makefile.am:
10317         * docs/slides/Makefile.am:
10318         * docs/upload.mak:
10319         * common/upload.mak:
10320           move upload.mak to common
10321
10322 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10325           add more asserts on refcounts
10326           do more cleanup at end of tests
10327           fix test leaks showing in FC5
10328
10329 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
10330
10331         * plugins/elements/gsttypefindelement.c:
10332         (gst_type_find_element_handle_event):
10333         reverted wrong change and reflowed code to avoid others falling into
10334         this trap
10335
10336 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10337
10338         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10339           fix changelog entry about last collectpads change,
10340           add notes about proper fix
10341
10342 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10343
10344         * gst/gst.c:
10345         * gst/gstregistry.c: (gst_registry_scan_path_level),
10346         (gst_registry_scan_path):
10347         * gst/gstregistry.h:
10348           only write out registry if it has changed, fixes #338339
10349
10350 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10351
10352         * gst/gstbin.c:
10353         * gst/gstpipeline.c:
10354         * plugins/elements/gstcapsfilter.c:
10355         * plugins/elements/gstfakesink.c:
10356         * plugins/elements/gstfakesrc.c:
10357         * plugins/elements/gstfdsink.c:
10358         * plugins/elements/gstfdsrc.c:
10359         * plugins/elements/gstfilesink.c:
10360         * plugins/elements/gstfilesrc.c:
10361         * plugins/elements/gstidentity.c:
10362         * plugins/elements/gstqueue.c:
10363         * plugins/elements/gsttee.c:
10364         * plugins/elements/gsttypefindelement.c:
10365         (gst_type_find_element_handle_event):
10366           make GstElementDetails const
10367
10368 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10369
10370         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
10371         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
10372         (gst_collect_pads_is_collected), (gst_collect_pads_event):
10373           more detailed debug and formatting cleanup,
10374           forward newsegments to src-pad (so that e.g. adder not eats them)
10375
10376 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10377
10378         * gst/gstutils.c: (gst_element_link_pads):
10379           cleanup double code
10380
10381 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
10382
10383         * libs/gst/controller/gstcontroller.c:
10384         (gst_controller_sync_values):
10385           some little tuning
10386         * tests/check/libs/controller.c: (GST_START_TEST),
10387         (gst_controller_suite):
10388           a new test for live value handling
10389
10390 2006-04-28  Wim Taymans  <wim@fluendo.com>
10391
10392         * gst/gstutils.c: (push_and_ref):
10393         Added some more docs.
10394         Fix refcount issue whith gst_element_found_tags() helper 
10395         function. Fixes #338335
10396
10397         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10398         Added testsuite for gst_element_found_tags().
10399
10400 2006-04-28  Michael Smith  <msmith@fluendo.com>
10401
10402         * gst/gstvalue.c: (gst_value_serialize_flags):
10403           Avoid NULL dereference when trying to serialize flags containing
10404           invalid values.
10405
10406 2006-04-28  Michael Smith  <msmith@fluendo.com>
10407
10408         * plugins/elements/gsttypefindelement.c:
10409         (gst_type_find_element_handle_event):
10410           If we get EOS before any data is accumulated, don't use
10411           uninitialised local variables.
10412
10413 2006-04-28  Michael Smith  <msmith@fluendo.com>
10414
10415         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10416         (gst_dp_event_from_packet):
10417           Fixes in reading/writing events over GDP (not currently used?) - 
10418           dereferencing NULL events for unknown/invalid event types, memory
10419           leak, and change g_warning to GST_WARNING.
10420
10421 2006-04-28  Wim Taymans  <wim@fluendo.com>
10422
10423         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
10424         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10425         (gst_base_sink_get_position), (gst_base_sink_change_state):
10426         When frame dropping is enabled, we should not ignore frames
10427         without a duration.
10428         Update some documentation.
10429
10430 2006-04-28  Wim Taymans  <wim@fluendo.com>
10431
10432         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
10433         (gst_base_src_send_event), (gst_base_src_change_state):
10434         Documentation updates.
10435
10436 2006-04-28  Wim Taymans  <wim@fluendo.com>
10437
10438         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
10439         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
10440         handle EAGAIN, EINTR and short writes correctly. Also clean
10441         up some error cases, avoid a deadlock on bad file descriptors and
10442         use GST_DEBUG_OBJECT.
10443         Fixes #339843
10444
10445 2006-04-28  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/gstvalue.c: (gst_value_serialize_buffer),
10448         (gst_value_deserialize_buffer):
10449         Don't try to serialize a GValue with a NULL buffer. 
10450         Fixes #339821.
10451
10452         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10453         Added check for serialisation of NULL buffers.
10454
10455 2006-04-28  Wim Taymans  <wim@fluendo.com>
10456
10457         * gst/gstminiobject.c: (gst_value_take_mini_object):
10458         Taking a NULL miniobject is valid, fix the case where
10459         we try to unref the NULL miniobject.
10460
10461 2006-04-28  Wim Taymans  <wim@fluendo.com>
10462
10463         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10464
10465         * gst/gstbin.c: (gst_bin_handle_message_func):
10466         Update docs.
10467         Don't leak bin refcount when a state recalc is
10468         in progress and we delay another one #339808.
10469
10470 2006-04-28  Wim Taymans  <wim@fluendo.com>
10471
10472         * docs/design/part-TODO.txt:
10473         Mention QoS as an ongoing work item.
10474
10475         * docs/design/part-buffering.txt:
10476         New doc about buffering that needs to be fleshed out
10477         at some point.
10478
10479         * docs/design/part-qos.txt:
10480         More QoS policy for decoders/demuxers/transforms
10481
10482         * docs/design/part-trickmodes.txt:
10483         Small update.
10484
10485 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10486
10487         * configure.ac:
10488           back to HEAD
10489
10490 === release 0.10.5 ===
10491
10492 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
10493
10494         * configure.ac:
10495           releasing 0.10.5, "Fogo"
10496
10497 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         patch by: Wim Taymans
10500
10501         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
10502         (gst_pad_configure_src), (gst_pad_push):
10503         * gst/gstpipeline.c: (gst_pipeline_init):
10504           Fix internal data flow errors.  Fixes #338711.
10505
10506 2006-04-12  Wim Taymans  <wim@fluendo.com>
10507
10508         * tests/check/gst/gstelement.c: (GST_START_TEST):
10509         Don't leak the factory.
10510
10511 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * configure.ac:
10514         * win32/common/config.h:
10515           prerelease
10516
10517 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
10518
10519         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10520         (gst_controller_unset_all):
10521           Free allocated GstTimedValues when freeing list nodes.
10522           Should fix leaks 'make check-valgrind' complains about.
10523
10524         * win32/common/libgstcontroller.def:
10525           Add gst_controller_unset_all.
10526
10527 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
10528
10529         * docs/libs/gstreamer-libs-sections.txt:
10530         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
10531         (gst_controller_unset_all):
10532         * libs/gst/controller/gstcontroller.h:
10533         API: Added new method gst_controller_unset_all()
10534         fixed gst_controller_unset()
10535         * tests/check/libs/controller.c: (GST_START_TEST),
10536         (gst_controller_suite):
10537         Added two testcases for new and fixed method
10538
10539 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
10540
10541         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10542           MSG_DONTWAIT is not defined on Cygwin, so work
10543           around that (fixes #317048).
10544           
10545 2006-04-11  Wim Taymans  <wim@fluendo.com>
10546
10547         * gst/gstelementfactory.c: (gst_element_register),
10548         (gst_element_factory_create), (gst_element_factory_make):
10549         Some cleanups.
10550         Fixed a FIXME.
10551         Updated docs (Fixes #131079)
10552
10553         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10554         Small cleanups.
10555
10556         * tests/check/gst/gstelement.c: (GST_START_TEST),
10557         (gst_element_suite):
10558         Added testcase for elementfactory class field.
10559
10560 2006-04-10  Wim Taymans  <wim@fluendo.com>
10561
10562         * gst/gstsegment.c:
10563         Added some more docs.
10564
10565         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
10566         (gst_base_sink_reset_qos):
10567         Calculate more accurate rate values.
10568
10569 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
10570
10571         * gst/gst_private.h:
10572           add a new #ifdef to use __declspec(dllimport) only for
10573           other modules and not for gstreamer core
10574         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
10575           use gst_guint64_to_gdouble for conversion
10576         * win32/common/libgstreamer.def:
10577           add new exported functions
10578         * win32/vs6/gst_inspect.dsp:
10579         * win32/vs6/gst_launch.dsp:
10580         * win32/vs6/libgstbase.dsp:
10581         * win32/vs6/libgstcontroller.dsp:
10582         * win32/vs6/libgstcoreelements.dsp:
10583         * win32/vs6/libgstdataprotocol.dsp:
10584         * win32/vs6/libgstnet.dsp:
10585           update project files
10586
10587 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10588
10589         * gst/gstbuffer.c: (gst_subbuffer_class_init):
10590         * gst/gstclock.c: (gst_clock_class_init):
10591         * gst/gstelement.c: (gst_element_class_init):
10592         * gst/gstindex.c: (gst_index_class_init):
10593         * gst/gstindexfactory.c: (gst_index_factory_class_init):
10594         * gst/gstobject.c: (gst_object_class_init),
10595         (gst_signal_object_class_init):
10596         * gst/gstpad.c: (gst_pad_class_init):
10597         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
10598         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
10599         * gst/gstregistry.c: (gst_registry_class_init):
10600         * gst/gstsystemclock.c: (gst_system_clock_class_init):
10601         * gst/gsttask.c: (gst_task_class_init):
10602         * gst/gstxml.c: (gst_xml_class_init):
10603         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
10604         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10605         (gst_base_src_loop):
10606         * libs/gst/controller/gstcontroller.c:/
10607         (_gst_controller_class_init):
10608         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
10609         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
10610         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
10611         * tests/old/examples/plugins/example.c: (gst_example_class_init):
10612         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
10613         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
10614
10615 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * gst/gstpad.c: (gst_pad_link):
10618           Must set peer pads before calling the link function, otherwise
10619           a task started from a link function might get a flow-not-linked
10620           result when trying to push because the other thread where the
10621           linking happens hasn't had a chance to set the peers yet. This
10622           might happen for example when a queue gets linked to a downstream
10623           element, as queue starts a streaming task when its source pad
10624           gets linked. Happens in real life when playing back flac/musepack
10625           files in playbin (#332390).
10626           
10627 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * gst/gstindex.h:
10630         * gst/gstxml.h:
10631         * libs/gst/base/gstadapter.h:
10632         * libs/gst/base/gstbasesink.h:
10633         * libs/gst/base/gstbasesrc.h:
10634         * libs/gst/base/gstbasetransform.h:
10635         * libs/gst/base/gstcollectpads.h:
10636         * libs/gst/base/gstpushsrc.h:
10637         Fix broken GObject macros
10638
10639 2006-04-07  Wim Taymans  <wim@fluendo.com>
10640
10641         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10642         Initialize start and stop times, thanks valgrind.
10643
10644 2006-04-07  Wim Taymans  <wim@fluendo.com>
10645
10646         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10647         Be a bit nicer to badly behaving upstream elements that expect
10648         us to deal with non TIME segments and timestamps (such as fakesrc
10649         in the testsuite).
10650
10651 2006-04-07  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/gstbus.c:
10654         Small documentation clarification about the signal watch.
10655
10656         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
10657         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10658         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10659         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
10660         (gst_base_sink_get_position_last),
10661         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
10662         Convert and store timestamps in stream time and running time, the
10663         raw timestamps are not useful, also document this better.
10664         Use different window sizes for good and bad QoS observations so
10665         we react to badness a little quicker.
10666         Keep track of the amount of rendered and dropped buffers.
10667         Send QoS timestamps in running time.
10668
10669         * libs/gst/base/gstbasetransform.c:
10670         (gst_base_transform_sink_eventfunc),
10671         (gst_base_transform_handle_buffer):
10672         Compare QoS timestamps against running time.
10673
10674 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         * gst/gstpad.c:
10677           Typo fixes in docs.
10678
10679 2006-04-06  Michael Smith  <msmith@fluendo.com>
10680
10681         * gst/gstpad.c: (gst_pad_set_property):
10682           Use g_value_get_object() instead of g_value_dup_gst_object(),
10683           to avoid double-reffing the pad template (which we then sink,
10684           so this worked previously if (and only if) the pad template
10685           was floating.
10686
10687         * gst/gstpadtemplate.c: (gst_pad_template_init),
10688         (gst_pad_template_pad_created):
10689           Never return floating references to pad templates, create
10690           them as initially-sunken.
10691
10692           Document an extra function (and make this stop sinking our
10693           pad template, since that is now guaranteed to do nothing,
10694           since we created it sunken).
10695
10696         * gst/gstghostpad.c:
10697           Fix docs typo.
10698
10699 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
10700
10701         * gst/gstinfo.c: (__gst_in_valgrind):
10702           Add some newlines.
10703
10704         * plugins/elements/gsttypefindelement.c:
10705         (gst_type_find_element_chain):
10706           Don't leak buffer caps.
10707
10708 2006-04-06  Michael Smith  <msmith@fluendo.com>
10709
10710         * gst/parse/grammar.y:
10711           Fix a leak in parse-launch for any source-or-sink named element 
10712           references used.
10713
10714         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
10715           Unref the pipeline if it exists after we've failed parsing.
10716
10717 2006-04-05  Michael Smith  <msmith@fluendo.com>
10718
10719         * gst/gstpipeline.c: (gst_pipeline_init):
10720           When we create a pipeline bus, initially create it in flushing mode.
10721           Fixes leaks in at least one test, and makes a new pipeline work the
10722           same as one that has gone to READY and then back to NULL.
10723
10724         * gst/gstelement.c:
10725           Typo fix in docs.
10726
10727 2006-04-05  Michael Smith  <msmith@fluendo.com>
10728
10729         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10730           Unref a pad we reffed.
10731         * tests/check/gst/gstutils.c: (GST_START_TEST):
10732           Unref bins
10733
10734 2006-04-05  Michael Smith  <msmith@fluendo.com>
10735
10736         * gst/gstquery.c: (gst_query_set_formats),
10737         (gst_query_set_formatsv):
10738           Fix leaking GValues in queries, as shown by valgrind/testsuite.
10739
10740 2006-04-05  Michael Smith  <msmith@fluendo.com>
10741
10742         * tests/check/generic/sinks.c: (GST_START_TEST):
10743           Fix a variety of memleaks in sinks check, which are only sometimes 
10744           shown by running the tests under valgrind (weird?).
10745
10746 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
10747
10748         * docs/version.entities.in:
10749           Fix the substituted entity name after thomas' changes on the
10750           weekend.
10751
10752 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10753
10754         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
10755         VALGRIND_PRINTF
10756         
10757 2006-04-05  Andy Wingo  <wingo@pobox.com>
10758
10759         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
10760
10761         * libs/gst/base/gstbasetransform.c
10762         (gst_base_transform_sink_eventfunc): When resetting our segment on
10763         FLUSH_STOP, also update the flag saying we haven't seen a
10764         newsegment.
10765
10766 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10767
10768         Patch by: Paolo Borelli  <pborelli at katamail dot com>
10769
10770         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10771         (gst_plugin_check_license):
10772           minor clean-ups: G_DEFINE_TYPE already takes care of the
10773           parent_class stuff, no need to do it twice. Mark array of
10774           license strings as constant. (#337103)
10775           
10776 2006-04-04  Michael Smith  <msmith@fluendo.com>
10777
10778         * tools/gst-inspect.c: (print_element_list):
10779           Free the right plugin list; fixes a memory leak.
10780
10781 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
10784
10785         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
10786           Don't error out on empty buffers (#336945).
10787           
10788 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
10789
10790         * docs/libs/gstreamer-libs-sections.txt:
10791         * gst/gsttaglist.c:
10792         * libs/gst/base/gstbasesink.c:
10793         * libs/gst/base/gstbasesink.h:
10794         * libs/gst/base/gstbasesrc.c:
10795         * libs/gst/base/gstbasesrc.h:
10796           Documentation updates. Make BaseSink and BaseSrc docs contain the
10797           class structure so that people can actually see the prototypes for
10798           virtual functions they're supposed to be overriding.
10799
10800 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
10801
10802         * plugins/elements/gsttypefindelement.c:
10803         (gst_type_find_element_chain):
10804           More debug info; when skipping typefinding, send cached
10805           events in all cases.
10806
10807 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10808
10809         * configure.ac:
10810           use new AS_VERSION and AS_NANO macros
10811         * gst/gst-i18n-lib.h:
10812         * gst/gst.c:
10813         * gst/gsterror.c:
10814         * gst/gstversion.h.in:
10815         * win32/common/config.h:
10816         * win32/common/config.h.in:
10817           update accordingly
10818
10819 2006-03-31  Michael Smith  <msmith@fluendo.com>
10820
10821         * plugins/elements/gsttypefindelement.c:
10822         (gst_type_find_element_chain):
10823           Do not typefind content if the buffers already have caps.
10824           Neccesary for icydemux (#333657), and the right thing to do anyway.
10825
10826 2006-03-30  Wim Taymans  <wim@fluendo.com>
10827
10828         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
10829         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
10830         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
10831         (gst_base_sink_record_qos_observation),
10832         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10833         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10834         (gst_base_sink_change_state):
10835         More QoS measurements as described in the design doc.
10836         Get rid of ringbuffer with observations, running average is
10837         more simple and equally good.
10838         Calculates valid proportion now.
10839         Added beginning of flood measurement.
10840
10841 2006-03-29  Wim Taymans  <wim@fluendo.com>
10842
10843         * docs/design/part-qos.txt:
10844         * gst/gstclock.c:
10845         Small documentation updates and additions.
10846
10847 2006-03-29  Wim Taymans  <wim@fluendo.com>
10848
10849         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10850         (gst_base_src_send_event), (gst_base_src_loop),
10851         (gst_base_src_change_state):
10852         Perform the EOS logic when we reach the segment stop position.
10853         Fix compilation on gcc4.1
10854
10855 2006-03-29  Wim Taymans  <wim@fluendo.com>
10856
10857         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
10858
10859         * plugins/elements/gstqueue.c: (gst_queue_init),
10860         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
10861         (gst_queue_set_property):
10862         * plugins/elements/gstqueue.h:
10863         In queue, when EOS is received, if minimum threshold > max_size -
10864         current_level, there is chance that queue blocks forever in conditional
10865         item del wait. This is because the queue is not emptied completely due
10866         to minimum threshold.  Here is another approach. Instead of setting
10867         cur_levels to max in EOS, just zero all minimum threshold levels. This
10868         should make sure that queue gives out all data. When going to READY
10869         (stop) state, just reset the original minimum threshold levels.
10870         Fixes #336336.
10871
10872 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
10873
10874         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
10875         (gst_type_find_element_handle_event),
10876         (gst_type_find_element_send_cached_events),
10877         (gst_type_find_element_change_state):
10878         * plugins/elements/gsttypefindelement.h:
10879           When typefinding is done in push mode, we should cache
10880           events we receive during typefinding instead of just
10881           dropping them (e.g. newsegment, custom events from
10882           dvdreadsrc etc.) and then send them out once we've
10883           determined the type of the stream (and decodebin
10884           has had a chance to plug in a decoder/demuxer).
10885           
10886 2006-03-27  Wim Taymans  <wim@fluendo.com>
10887
10888         * docs/design/part-qos.txt:
10889         First QoS ideas.
10890
10891 2006-03-27  Wim Taymans  <wim@fluendo.com>
10892
10893         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
10894
10895         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
10896         (gst_base_src_send_event), (gst_base_src_change_state):
10897         Handle element seek correctly when we are streaming.
10898         Fixes #326998.
10899
10900 2006-03-24  Michael Smith  <msmith@fluendo.com>
10901
10902         * docs/faq/gst-uninstalled:
10903           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
10904           allow you to correctly run intalled applications built against old 
10905           core, using plugins that require updated core (e.g. running
10906           installed totem against a full uninstalled gstreamer stack)
10907
10908 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10909
10910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
10911         more debug details
10912
10913 2006-03-24  Wim Taymans  <wim@fluendo.com>
10914
10915         * docs/gst/gstreamer-sections.txt:
10916         Rearrange the order of the methods so that related methods
10917         are grouped together in sections.
10918
10919 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10920
10921         * gst/gstelement.c:
10922           Little clarification in the docs
10923
10924 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
10925
10926         * docs/README:
10927         formatting fix
10928         * plugins/elements/gstidentity.c:
10929         * plugins/elements/gstqueue.c:
10930         * plugins/elements/gsttee.c:
10931         * plugins/elements/gsttypefindelement.c:
10932         GST_ELEMENT_DETAILS formatting
10933
10934 2006-03-24  Wim Taymans  <wim@fluendo.com>
10935
10936         * libs/gst/base/gstbasesink.h:
10937         Only add fields, not insert or we break ABI.
10938
10939 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10940
10941         * win32/common/libgstbase.def:
10942         * win32/common/libgstreamer.def:
10943           Update, add recently added functions.
10944
10945 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10946
10947         * docs/gst/gstreamer-sections.txt:
10948         * gst/gstutils.c: (gst_pad_query_peer_position),
10949         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
10950         * gst/gstutils.h:
10951           API: add some new utility functions:
10952            - gst_pad_query_peer_position()
10953            - gst_pad_query_peer_duration()
10954            - gst_pad_query_peer_convert()
10955           
10956 2006-03-23  Wim Taymans  <wim@fluendo.com>
10957
10958         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10959         (gst_base_sink_init), (gst_base_sink_finalize),
10960         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
10961         (gst_base_sink_set_property), (gst_base_sink_get_property),
10962         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
10963         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
10964         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
10965         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
10966         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
10967         (gst_base_sink_preroll_object), (gst_base_sink_event),
10968         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
10969         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
10970         (gst_base_sink_query), (gst_base_sink_change_state):
10971         Decouple max-lateness and the fact that QoS messages are generated
10972         with a new property (qos).
10973         added API: GstBaseSink::async_play()
10974         Add vmethod so subclasses can be notified of ASYNC playing
10975         state changes.
10976         Collect timestamp start and stop to report better current
10977         position in EOS/PLAYING/PAUSED/READY/NULL.
10978         Refactor QoS/frame dropping and other measurements.
10979         API: GstBaseSrc::qos
10980         Fixes #326311
10981
10982         * libs/gst/base/gstbasesink.h:
10983         Added Private struct.
10984         API: gst_base_sink_set_qos_enabled()
10985         API: gst_base_sink_is_qos_enabled()
10986
10987 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
10988
10989         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
10990           If compiling against GLib-2.8 or newer, try to read the
10991           registry file using GMappedFile first before falling back
10992           to fopen() + fread() (#332151).
10993
10994 2006-03-22  Wim Taymans  <wim@fluendo.com>
10995
10996         * gst/gstinfo.c: (gst_debug_set_active),
10997         (gst_debug_category_set_threshold):
10998         Disable debugging unless explicitly activated.
10999         Fixes #335480.
11000
11001 2006-03-22  Wim Taymans  <wim@fluendo.com>
11002
11003         * gst/gstelement.c: (gst_element_set_locked_state),
11004         (gst_element_dispose):
11005         Cleanup the error case.
11006
11007         * gst/gstobject.c: (gst_object_dispose):
11008         print a critical when some object was disposed with
11009         a parent, also revive the object since it might
11010         crash the parent.
11011
11012 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
11013
11014         * tools/gst-launch.1.in:
11015           Fix another typo.
11016
11017 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11018
11019         * configure.ac:
11020         * tests/check/Makefile.am:
11021           disable some tests when we don't have a registry
11022         * tests/check/gst/gstutils.c: (gst_utils_suite):
11023           don't build the part that needs parsing
11024
11025 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * gst/Makefile.am
11028         * tests/examples/Makefile.am:
11029           fix --disable-parse build
11030
11031 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11032
11033         * tools/gst-feedback.1.in:
11034           Fix typo: s/feeback/feedback/ (#133494).
11035
11036 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11037
11038         * tools/Makefile.am:
11039         * tools/gst-launch.1.in:
11040           Add FILES section and correct entry about GST_REGISTRY_PATH
11041           environment variable (#133495; #133494).
11042
11043 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11044
11045         * tools/Makefile.am:
11046         * tools/gst-md5sum.1.in:
11047         * tools/gst-md5sum.c:
11048           Remove gst-md5sum and man page (the md5sink element
11049           required was removed ages ago)
11050
11051 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11052
11053         * gst/gststructure.c: (gst_structure_id_set_value):
11054           Make sure that string fields in structures/taglists
11055           contain valid UTF-8 - we don't want to pass rubbish to
11056           applications because of a buggy plugin (cp. #334167).
11057
11058 2006-03-21  Edward Hervey  <edward@fluendo.com>
11059
11060         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
11061         (gst_bin_handle_message_func):
11062         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
11063         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
11064         (gst_element_set_bus_func):
11065         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
11066         * gst/gstminiobject.c: (gst_value_set_mini_object),
11067         (gst_value_take_mini_object):
11068         * gst/gstpad.c: (gst_pad_set_pad_template):
11069         * gst/gstpipeline.c: (gst_pipeline_dispose),
11070         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11071         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
11072         (gst_collect_pads_chain):
11073         * libs/gst/net/gstnettimeprovider.c:
11074         (gst_net_time_provider_set_property):
11075         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
11076         It's in fact all issues with gst_*object_replace().
11077
11078 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
11079
11080         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
11081         
11082         * pkgconfig/gstreamer-check-uninstalled.pc.in:
11083         * pkgconfig/gstreamer-check.pc.in:
11084           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
11085
11086 2006-03-21  Edward Hervey  <edward@fluendo.com>
11087
11088         * gst/gstbuffer.h:
11089         * gst/gstevent.h:
11090         * gst/gstmessage.h:
11091         gst_[buffer|event|message]_ref() macros are replaced by a static
11092         inline functions because gcc-4.1 will about if the return value
11093         isn't used.
11094         * tests/check/gst/gstevent.c: (event_probe):
11095         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
11096
11097 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
11098
11099         * gst/gstutils.h:
11100         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
11101         the type' case. (Closes: #335195 for now). In the future, when we
11102         depend on GLib 2.10, we could also intern the type name using
11103         g_intern_static_string()
11104
11105 2006-03-20  Wim Taymans  <wim@fluendo.com>
11106
11107         * gst/gstbin.c: (gst_bin_handle_message_func),
11108         (bin_query_max_init), (bin_query_position_fold),
11109         (bin_query_position_done), (gst_bin_query):
11110         Position query should also take max of all streams.
11111
11112 2006-03-20  Wim Taymans  <wim@fluendo.com>
11113
11114         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
11115         (gst_fake_src_finalize):
11116         Fix leaks in fakesrc.
11117
11118         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11119         Fix leaks in the testcase.
11120
11121 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
11122
11123         * gst/gst_private.h:
11124           add win32 specific import decoration(__declspec(dllimport)) 
11125           for all extern GstDebugCategory * variables
11126         * win32/common/libgstbase.def:
11127         * win32/common/libgstcontroller.def:
11128         * win32/common/libgstreamer.def:
11129           Add some exports, remove empty lines
11130         * win32/common/libgstdataprotocol.def:
11131         * win32/common/libgstdataprotocol.dsp:
11132         * win32/common/libgstnet.def:
11133         * win32/common/libgstnet.dsp:
11134           new project files and exportation files added
11135         
11136 2006-03-19  Wim Taymans  <wim@fluendo.com>
11137
11138         * tests/check/libs/basesrc.c: (eos_event_counter):
11139         Use proper return value for probe.
11140
11141 2006-03-17  Wim Taymans  <wim@fluendo.com>
11142
11143         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
11144         (gst_pad_push):
11145         Don't leak buffers, caps and pads on negotiation errors.
11146
11147 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
11148
11149         * docs/faq/cvs.xml:
11150         * docs/faq/dependencies.xml:
11151         * docs/faq/developing.xml:
11152         * docs/faq/faq.xml:
11153         * docs/faq/general.xml:
11154         * docs/faq/getting.xml:
11155         * docs/faq/legal.xml:
11156         * docs/faq/troubleshooting.xml:
11157         * docs/faq/using.xml:
11158         Faq review and update.
11159
11160 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
11161
11162         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
11163         (gst_pad_push):
11164         Don't pound the cpu to pieces by checking get_caps when accept_caps
11165         is called with the same caps as the pad already has.
11166         Use GST_DEBUG_OBJECT when outputting caps change information.
11167
11168 2006-03-15  Wim Taymans  <wim@fluendo.com>
11169
11170         * gst/gstclock.c: (gst_clock_class_init):
11171         Fix docs.
11172
11173 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
11174
11175         * gst/gstbuffer.h:
11176         Documentation fix.
11177
11178         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
11179         (gst_pad_accept_caps), (gst_pad_configure_sink),
11180         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
11181         Make the default acceptcaps behaviour be to check the requested 
11182         caps against the gst_pad_get_caps output. 
11183
11184         Ensure that gst_pad_accept_caps is used to check caps when a pad
11185         doesn't have a setcaps function, so that pads automatically refuse 
11186         caps that they don't allow in their pad template. (Fixes #332986)
11187
11188         When a buffer with attached caps is pushed, ensure that the source 
11189         pad receives those caps even if the element didn't call
11190         gst_pad_set_caps first.
11191
11192 2006-03-15  Wim Taymans  <wim@fluendo.com>
11193
11194         * libs/gst/base/gstadapter.c:
11195         Add some docs.
11196
11197 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
11198
11199         * win32/common/libgstbase.def:
11200         * win32/common/libgstcontroller.def:
11201         * win32/common/libgstreamer.def:
11202           Add a whole bunch of missing functions (#334434).
11203
11204 2006-03-14  Wim Taymans  <wim@fluendo.com>
11205
11206         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11207         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
11208         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
11209         Better debug info when we receive a segment event.
11210         Reorganize a bit so we can pass the get_times() results around.
11211         Use the segment format when calculating the running time.
11212         Don't do QoS is sync is disabled or we have no clock or the
11213         element does not want us to sync to the clock.
11214         Don't drop buffers if QoS is disabled for now.
11215
11216 2006-03-14  Wim Taymans  <wim@fluendo.com>
11217
11218         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
11219         Marked the stats property as unimplemented so people don't get
11220         wild ideas.
11221         Add debug message when regression goes wrong.
11222         Added some more docs.
11223
11224 2006-03-14  Wim Taymans  <wim@fluendo.com>
11225
11226         * gst/gstsegment.c: (gst_segment_to_stream_time):
11227         Return correct return type in case of errors.
11228
11229 2006-03-14  Wim Taymans  <wim@fluendo.com>
11230
11231         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
11232           Don't segfault on invalid formats.
11233
11234 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
11235
11236         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11237           Can't use gst_segment_to_running_time() when the segment
11238           is not in GST_TIME_FORMAT (like with filesink, for example).
11239           Stops flac encoding pipelines from spewing critical warnings
11240           at EOS (#331248).
11241           
11242 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
11243
11244         * gst/gstpipeline.c: (gst_pipeline_class_init):
11245           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
11246
11247         * plugins/elements/gsttypefindelement.c:
11248         (gst_type_find_element_handle_event):
11249           Don't try to typefind empty streams.
11250
11251 2006-03-14  Wim Taymans  <wim@fluendo.com>
11252
11253         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
11254         (gst_base_sink_do_qos):
11255         Separate QoS calculation.
11256         Only drop buffers when lateness is bigger than the 
11257         duration of the buffer.
11258
11259 2006-03-13  Wim Taymans  <wim@fluendo.com>
11260
11261         * gst/gstpipeline.c: (gst_pipeline_set_property),
11262         (gst_pipeline_get_property), (do_pipeline_seek),
11263         (gst_pipeline_change_state), (gst_pipeline_set_delay),
11264         (gst_pipeline_get_delay):
11265         Don't deadlock when reading properties.
11266
11267 2006-03-13  Wim Taymans  <wim@fluendo.com>
11268
11269         * libs/gst/base/gstbasetransform.c:
11270         (gst_base_transform_class_init), (gst_base_transform_init),
11271         (gst_base_transform_sink_event),
11272         (gst_base_transform_sink_eventfunc),
11273         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
11274         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11275         (gst_base_transform_set_property),
11276         (gst_base_transform_get_property),
11277         (gst_base_transform_change_state), (gst_base_transform_update_qos),
11278         (gst_base_transform_set_qos_enabled),
11279         (gst_base_transform_is_qos_enabled):
11280         * libs/gst/base/gstbasetransform.h:
11281         Make basetransform virtual method for src events too.
11282         Handle QOS in basetransform.
11283         API: gst_base_transform_update_qos()
11284         API: gst_base_transform_set_qos_enabled()
11285         API: gst_base_transform_is_qos_enabled()
11286
11287 2006-03-13  Wim Taymans  <wim@fluendo.com>
11288
11289         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
11290         (gst_base_sink_do_sync):
11291         Small cleanups.
11292         Use QOS debug category.
11293
11294 2006-03-13  Wim Taymans  <wim@fluendo.com>
11295
11296         * plugins/elements/gstqueue.c:
11297         Very small doc update.
11298
11299 2006-03-13  Wim Taymans  <wim@fluendo.com>
11300
11301         * gst/gst_private.h:
11302         * gst/gstinfo.c: (_gst_debug_init):
11303         Added QOS debug category
11304
11305 2006-03-13  Wim Taymans  <wim@fluendo.com>
11306
11307         * docs/gst/gstreamer-sections.txt:
11308         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
11309         * gst/gstbin.h:
11310         * gst/gstbus.c: (gst_bus_class_init):
11311         * gst/gstbus.h:
11312         * gst/gstclock.c:
11313         * gst/gstelement.c: (gst_element_set_locked_state):
11314         * gst/gstsegment.c:
11315         Documentation updates.
11316
11317         * gst/gstpipeline.c: (gst_pipeline_get_type),
11318         (gst_pipeline_class_init), (gst_pipeline_init),
11319         (gst_pipeline_dispose), (gst_pipeline_set_property),
11320         (gst_pipeline_get_property), (do_pipeline_seek),
11321         (gst_pipeline_send_event), (gst_pipeline_change_state),
11322         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
11323         (gst_pipeline_get_delay):
11324         * gst/gstpipeline.h:
11325         Added methods for setting the delay.
11326         API: gst_pipeline_set_delay()
11327         API: gst_pipeline_get_delay()
11328         Add pipeline debug category
11329         Various cleanups.
11330         Updated docs.
11331         Don't reset stream time when seek failed.
11332
11333 2006-03-13  Wim Taymans  <wim@fluendo.com>
11334
11335         * docs/design/draft-klass.txt:
11336         * docs/design/part-clocks.txt:
11337         * docs/design/part-events.txt:
11338         * docs/design/part-gstbin.txt:
11339         * docs/design/part-gstpipeline.txt:
11340         * docs/design/part-messages.txt:
11341         * docs/design/part-negotiation.txt:
11342         * docs/design/part-overview.txt:
11343         * docs/design/part-preroll.txt:
11344         * docs/design/part-seeking.txt:
11345         * docs/design/part-states.txt:
11346         * docs/design/part-streams.txt:
11347         Documentation updates.
11348
11349 2006-03-12  Julien MOUTTE  <julien@moutte.net>
11350
11351         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
11352         us to leak strings...
11353
11354 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11355
11356         * libs/gst/net/gstnettimeprovider.c:
11357           fix docs
11358         * win32/common/config.h:
11359           update
11360
11361 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
11362
11363         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
11364
11365         * configure.ac:
11366           Don't check for libgnomeui (leftover from old examples
11367           that aren't built or disted any longer) (#334303).
11368           
11369 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
11370
11371         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
11372         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
11373           Emit RESOURCE_NO_SPACE_LEFT error here as well when
11374           there's no space left on the device.
11375
11376 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
11377
11378         * gst/gstclock.h:
11379           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
11380           to cast the input to GstClockTime before comparing with
11381           another GstClockTime value.
11382
11383 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11384
11385         * configure.ac:
11386           back to trunk
11387
11388 === release 0.10.4 ===
11389
11390 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
11391
11392         * configure.ac:
11393           releasing 0.10.4, "Light"
11394
11395 2006-03-10  Michael Smith  <msmith@fluendo.com>
11396
11397         * libs/gst/dataprotocol/dataprotocol.c:
11398           Fix docs for dataprocotol to not get the return types completely
11399           wrong for a few functions.
11400
11401 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11402
11403         * docs/gst/gstreamer-sections.txt:
11404         * gst/gstpipeline.c: (gst_pipeline_class_init),
11405         (gst_pipeline_init), (gst_pipeline_set_property),
11406         (gst_pipeline_get_property), (gst_pipeline_change_state),
11407         (gst_pipeline_set_auto_flush_bus),
11408         (gst_pipeline_get_auto_flush_bus):
11409         * gst/gstpipeline.h:
11410           Add new API: gst_pipeline_set_auto_flush_bus() and
11411           gst_pipeline_get_auto_flush_bus() to disable automatic
11412           flushing of the pipeline's GstBus when going from READY
11413           to NULL state (#332045).
11414
11415 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11416
11417         * docs/gst/gstreamer-sections.txt:
11418         * gst/gsturi.c: (gst_uri_has_protocol):
11419         * gst/gsturi.h:
11420            Add new API: gst_uri_has_protocol() (#333779).
11421
11422 2006-03-09  Wim Taymans  <wim@fluendo.com>
11423
11424         * gst/gstclock.c: (gst_clock_entry_new),
11425         (gst_clock_id_compare_func), (gst_clock_id_wait),
11426         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
11427         (gst_clock_init), (gst_clock_get_internal_time),
11428         (gst_clock_set_master), (do_linear_regression),
11429         (gst_clock_add_observation), (gst_clock_set_property):
11430         * gst/gstclock.h:
11431         Review docs.
11432         Small cleanups.
11433         Fix a possible segfault when the window-size is made smaller.
11434         Calculate jitter before performing the clock wait. Ideally
11435         the clock implementation should calculate jitter but we need
11436         API breakage for that.
11437
11438         * gst/gstsystemclock.c: (gst_system_clock_init):
11439         Docs review.
11440         
11441         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11442         Remove leftover else
11443
11444         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
11445         (gst_systemclock_suite):
11446         Added check to test GST_CLOCK_DIFF.
11447
11448 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
11449
11450         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
11451         (gst_type_find_helper_get_range):
11452           If we are provided with the size, we should implement
11453           GstTypeFind::get_length, so that typefind functions who
11454           want to can actually peek at the middle of a file.
11455
11456 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
11457
11458         * docs/manual/advanced-dataaccess.xml:
11459           Add some very very basic error checking.
11460
11461         * docs/pwg/appendix-checklist.xml:
11462           Some updates to the list of things to check when writing an element.
11463
11464 2006-03-08  Wim Taymans  <wim@fluendo.com>
11465
11466         * docs/design/part-element-transform.txt:
11467         Added some docs about the design of tranform elements.
11468
11469         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11470         (gst_base_src_loop), (gst_base_src_change_state):
11471         Mark buffers with the DISCONT flag.
11472
11473 2006-03-08  Michael Smith  <msmith@fluendo.com>
11474
11475         * gst/gstregistry.h:
11476         * gst/gstregistryxml.c: (gst_registry_save),
11477         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
11478         (gst_registry_xml_save_pad_template),
11479         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
11480         (gst_registry_xml_write_cache):
11481           Rewrite registry-saving to avoid race conditions and check for
11482           failed writes.
11483
11484 2006-03-08  Wim Taymans  <wim@fluendo.com>
11485
11486         * libs/gst/base/gstbasetransform.c:
11487         (gst_base_transform_transform_caps),
11488         (gst_base_transform_transform_size),
11489         (gst_base_transform_prepare_output_buffer),
11490         (gst_base_transform_get_unit_size),
11491         (gst_base_transform_buffer_alloc),
11492         (gst_base_transform_handle_buffer),
11493         (gst_base_transform_change_state):
11494         Cleanups, separate normal flow from errors, add sensible
11495         DEBUG lines.
11496         Don't try to renegotiate when allocating an output buffer.
11497         Also copy DISCONT buffer flag when copying a buffer.
11498         Reset the transform after we finish streaming, not during.
11499
11500 2006-03-08  Wim Taymans  <wim@fluendo.com>
11501
11502         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11503         Use last buffer timestamp in qos message.
11504
11505 2006-03-07  Wim Taymans  <wim@fluendo.com>
11506
11507         Patch by: Christophe Fergeau
11508
11509         * docs/pwg/advanced-tagging.xml:
11510         * docs/pwg/building-pads.xml:
11511           fixes #333416
11512
11513 2006-03-07  Wim Taymans  <wim@fluendo.com>
11514
11515         * docs/libs/gstreamer-libs-sections.txt:
11516         Added basesink new methods.
11517
11518         * gst/gstevent.c:
11519         * gst/gstevent.h:
11520         Docs updates. Flesh out the QoS docs.
11521
11522         * libs/gst/base/gstadapter.c:
11523         Small doc clarification about ownership and flushing.
11524
11525         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
11526         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
11527         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
11528         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11529         * libs/gst/base/gstbasesink.h:
11530         API additions: 
11531         Added new methods to allow subclass to control max-lateness 
11532         and sync.
11533         Generate very basic QoS events based on last sync observation.
11534         Updated docs, fix typo, added some QoS blurb.
11535
11536         * libs/gst/base/gstbasesrc.c:
11537         Remove obsolete _get_state() calls from docs.
11538
11539 2006-03-07  Wim Taymans  <wim@fluendo.com>
11540
11541         * docs/libs/gstreamer-libs-sections.txt:
11542         * libs/gst/base/gstbasetransform.h:
11543         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
11544         Fix docs for GstBaseSrc.
11545
11546 2006-03-07  Wim Taymans  <wim@fluendo.com>
11547
11548         * docs/gst/gstreamer-sections.txt:
11549         * gst/gstbuffer.h:
11550         * gst/gstvalue.c:
11551         * libs/gst/base/gstbasetransform.h:
11552         Small documentation fixes.
11553
11554 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11555
11556         * gst/gstvalue.c:
11557           Document thread-unsafety of gst_value_register_foo_func()
11558           when used at the same time as gst_value_foo() (#322628).
11559
11560 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
11561
11562         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
11563         (gst_push_src_check_get_range):
11564           Push sources don't support pull mode by default.
11565
11566 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11567
11568         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11569         (gst_base_src_init), (gst_base_src_pad_check_get_range),
11570         (gst_base_src_default_check_get_range):
11571         * libs/gst/base/gstbasesrc.h:
11572           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
11573           provide default implementation, and rename
11574           gst_base_src_check_get_range() to
11575           gst_base_src_pad_check_get_range() for clarity.
11576
11577 2006-03-06  Wim Taymans  <wim@fluendo.com>
11578
11579         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11580         Make property overridable.
11581
11582 2006-03-06  Wim Taymans  <wim@fluendo.com>
11583
11584         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
11585         (gst_base_sink_init), (gst_base_sink_set_property),
11586         (gst_base_sink_get_property), (gst_base_sink_do_sync):
11587         * libs/gst/base/gstbasesink.h:
11588         API addition: Make max-lateness a property.
11589
11590 2006-03-06  Wim Taymans  <wim@fluendo.com>
11591
11592         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
11593         (gst_base_sink_do_sync), (gst_base_sink_render_object):
11594         Don't ever draw a frame that is >10ms late.
11595
11596 2006-03-06  Michael Smith  <msmith@fluendo.com>
11597
11598         * gst/gstmessage.c: (_gst_message_copy):
11599           When copying a message, set the parent_refcount of the enclosed
11600           structure to point at the copy, not the original message.
11601
11602 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
11603
11604         Patch by: Christophe Fergeau
11605
11606         * gst/gstutils.h:
11607           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
11608           usable in c++ code (#333417)
11609
11610 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * gst/gstclock.h:
11613           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
11614
11615 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
11616
11617         * libs/gst/base/gstbasetransform.c:
11618         (gst_base_transform_transform_caps):
11619           Make sure caps are writable before passing them to
11620           gst_caps_append().
11621
11622 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11623
11624         * gst/gsterror.h:
11625           Fix some minor docs errors.
11626
11627 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
11628
11629           Patch by: Ross Burton <ross at burtonini dot com>
11630
11631         * gst/gsterror.c: (_gst_resource_errors_init):
11632         * gst/gsterror.h:
11633           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
11634
11635 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11636
11637         * gst/gst.c:
11638         Add a check and output a g_warning when GStreamer is built
11639         against GLib 2.6 but running against 2.8 or higher, and vice 
11640         versa. (Closes: #323542)
11641
11642 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
11643
11644         * gst/parse/parse.l:
11645           Commit patch for parse_launch syntax from #331255. Removes 
11646           support for quoted strings and mimetypes when writing filtered 
11647           caps. See the bug report for more details - I'm pretty sure this
11648           obscure feature is not in use by _anyone_ anywhere.
11649
11650           With this simple change, the size of the gstreamer.so here 
11651           drops from 2193KB to 1565KB.
11652
11653 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11654
11655         * plugins/elements/gsttypefindelement.h:
11656         * plugins/elements/gsttypefindelement.c:
11657         (gst_type_find_element_src_event), (start_typefinding),
11658         (stop_typefinding), (gst_type_find_element_handle_event),
11659         (gst_type_find_element_chain),
11660         (gst_type_find_element_chain_do_typefinding):
11661           Use gst_type_find_helper_for_buffer() for chain-based
11662           typefinding.
11663
11664 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11665
11666         * plugins/elements/gsttypefindelement.c:
11667         (gst_type_find_element_class_init),
11668         (gst_type_find_element_set_property),
11669         (gst_type_find_element_get_property):
11670           Deprecate "maximum" property (not only was it only taken into
11671           account for typefinding in push-mode anyway, it also was never
11672           actually possible to set it in the first place because the
11673           property was registered with the numeric property ID for the
11674           "minimum" property). Register "maximum" property correctly,
11675           for the sake of future copy'n'pasters. Remove some cruft
11676           from property get/set functions.
11677
11678 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
11679
11680         * plugins/elements/gsttypefindelement.c:
11681         (gst_type_find_element_activate):
11682           Use gst_type_find_helper_get_range() here, so we
11683           can honour the "minimum" property and also emit
11684           the signal with the correct probability of the found caps.
11685
11686 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
11687
11688         * docs/libs/gstreamer-libs-sections.txt:
11689         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
11690         (helper_find_suggest), (gst_type_find_helper_get_range),
11691         (gst_type_find_helper):
11692         * libs/gst/base/gsttypefindhelper.h:
11693           New API: gst_type_find_helper_get_range() (#333042).
11694
11695 2006-03-02  Michael Smith  <msmith@fluendo.com>
11696
11697         * gst/gstregistryxml.c: (load_feature):
11698           Asserting on a failure to read part of the registry is Not Cool.
11699           Just log a warning and return NULL (which is already handled)
11700
11701 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
11702
11703         * win32/common/libgstbase.def:
11704           added export of gst_type_find_helper_for_buffer
11705         * win32/common/libgstbase.def:
11706           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
11707           gst_ghost_pad_get_target
11708
11709 2006-02-28  Wim Taymans  <wim@fluendo.com>
11710
11711         * docs/design/draft-klass.txt:
11712         We use Filter now.
11713         Added Connector to mark elements that are only used to
11714         allow pipeline connections.
11715         Moved Debug to extra feature since most of them are 
11716         functionally something else.
11717
11718 2006-02-28  Wim Taymans  <wim@fluendo.com>
11719
11720         * docs/design/draft-klass.txt:
11721         Some updates and clarifications.
11722
11723 2006-02-28  Wim Taymans  <wim@fluendo.com>
11724
11725         * docs/design/draft-klass.txt:
11726         Proposal for klass field values.
11727
11728         * docs/design/part-streams.txt:
11729         Start of a doc describing stream anatomy.
11730
11731 2006-02-28  Wim Taymans  <wim@fluendo.com>
11732
11733         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
11734         Help the compiler a bit with type registration.
11735         Use existing forward cod path instead of duplicating it when 
11736         handling a message.
11737         
11738         * gst/gstbus.c: (gst_bus_get_type):
11739         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
11740         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
11741         * gst/gstclock.c: (gst_clock_get_type):
11742         * gst/gstelement.c: (gst_element_get_type),
11743         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11744         * gst/gstindexfactory.c: (gst_index_factory_get_type):
11745         * gst/gstminiobject.c: (gst_mini_object_get_type):
11746         * gst/gstpad.c: (gst_pad_get_type):
11747         * gst/gstsegment.c: (gst_segment_get_type):
11748         * gst/gststructure.c: (gst_structure_get_type):
11749         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11750         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
11751         * gst/gstvalue.c:
11752         Help compiler with type registration.
11753
11754         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
11755         Small doc update.
11756
11757 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11758
11759         * plugins/elements/gsttypefindelement.c:
11760         (gst_type_find_element_handle_event):
11761           When we get an EOS event and have not found a type yet
11762           (most likely because we had not yet accumulated
11763           TYPE_FIND_MIN_SIZE of data yet), try to determine the
11764           type given the data we have so far. Fixes typefinding
11765           for very short streams again, most notably quicktime
11766           redirections as used on Apple's trailer site (#331701).
11767
11768 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11769
11770         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
11771         (gst_type_find_helper):
11772           Try typefinding factories with the highest rank first.
11773
11774 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11775
11776         * docs/libs/gstreamer-libs-docs.sgml:
11777         * docs/libs/gstreamer-libs-sections.txt:
11778         * libs/gst/base/gsttypefindhelper.c:
11779           Add section for typefind helper and add documentation
11780           for the old and the new function.
11781
11782 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11783
11784         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
11785         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
11786         (gst_type_find_helper_for_buffer):
11787         * libs/gst/base/gsttypefindhelper.h:
11788           New API: gst_type_find_helper_for_buffer() (#332723).
11789           
11790 2006-02-27  Michael Smith  <msmith@fluendo.com>
11791
11792         Patch by: Loïc Minier
11793
11794         * configure.ac:
11795         * docs/Makefile.am:
11796         * docs/slides/Makefile.am:
11797           prevent CVS directories getting disted.
11798
11799 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
11800
11801         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
11802           Use the REFCOUNTING category for caps refcounting.
11803           
11804 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11805
11806         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
11807           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
11808
11809 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
11810
11811         * plugins/elements/gsttypefindelement.c:
11812         (gst_type_find_element_activate):
11813           Use gst_pad_check_pull_range() before _activate_pull()
11814           to avoid unnecessary open/close (see #331690).
11815
11816 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11817
11818         * gst/gstutils.c:
11819           Docs enhancement: make it crystal clear what the
11820           gst_pad_add_*_probe() callbacks should look like.
11821
11822 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
11823
11824         * libs/gst/base/gstbasesrc.c:
11825           Document how applications can stop recording from
11826           live sources (see #330996).
11827
11828 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11829
11830         * tests/check/Makefile.am:
11831         * tests/check/libs/basesrc.c: (eos_event_counter),
11832         (basesrc_eos_events_pull), (basesrc_eos_events_push),
11833         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
11834         (gst_basesrc_suite), (main):
11835           ... and add some tests for the base source EOS stuff.
11836
11837 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11838
11839         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
11840           Test case originally showed the problem fixed below,
11841           but was then amended. Add checks back at the place
11842           where they used to be.
11843
11844 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11845
11846         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11847         (gst_base_src_init), (gst_base_src_loop),
11848         (gst_base_src_activate_push), (gst_base_src_activate_pull),
11849         (gst_base_src_change_state):
11850         * libs/gst/base/gstbasesrc.h:
11851           Don't unconditionally send EOS when going from PAUSED to
11852           READY state, esp. make sure we don't send two EOS events
11853           in some cases (e.g. one when reaching EOS and one when
11854           going from PAUSED to READY). Also, we don't want to send
11855           EOS events when operating in pull mode. However, we do
11856           want to send an EOS event when shutting down a live
11857           source explicitly, for example (fixes #330996).
11858           
11859 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
11860
11861         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11862           Update src->read_position after a seek when not using mmap.
11863           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
11864
11865 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
11866
11867         * gst/Makefile.am:
11868         * gst/gstparse.h:
11869         * gst/gstutils.c:
11870         * gst/gstutils.h:
11871         Make things work with --disable-parse as they do with 
11872         --disable-load-save - the symbols involved disappear, but the
11873         header is still installed and GST_DISABLE_PARSE is included via
11874         gstconfig.h
11875
11876 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11877
11878         * libs/gst/base/gstbasetransform.c:
11879         (gst_base_transform_change_state): Fix a stupid bug. I was 
11880         sure I compiled that.
11881
11882 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11883
11884         * gst/gstpad.c: (gst_pad_set_blocked_async):
11885         * gst/gstutils.c: (gst_pad_add_data_probe),
11886         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11887         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11888         (gst_pad_remove_buffer_probe): Make those function act on the
11889         ghostpad target when it's a ghostpad. (Closes #331727)
11890
11891 2006-02-20  Julien MOUTTE  <julien@moutte.net>
11892
11893         * libs/gst/base/gstbasetransform.c:
11894         (gst_base_transform_change_state): Make basetransform reusable.
11895         (Closes #331898)
11896
11897 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
11898
11899         * docs/random/release:
11900         Move the current documentation of how to do a release to the top
11901         of the file.
11902
11903         * gst/gstbin.c: (gst_bin_class_init),
11904         (gst_bin_handle_message_func):
11905         Allow multiple state-recalculation threads. (Closes #328873)
11906
11907 2006-02-19  Julien MOUTTE  <julien@moutte.net>
11908
11909         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
11910         * gst/gstpad.c: (gst_pad_set_event_function),
11911         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11912         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
11913         2 strings. You can't use the STR_NULL macro on that.
11914
11915 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
11916
11917         * gst/gstpad.c: (gst_pad_set_event_function),
11918         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11919         (gst_pad_set_getcaps_function)
11920         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
11921           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
11922           So now, we can use --gst-debug-level=5 on Windows
11923         * win32/common/libgstcontroller.def:
11924           Added export of gst_controller_init
11925         * win32/vs6/libgstcontroller.dsp:
11926           Fixed Release post build configuration
11927
11928 2006-02-17  Wim Taymans  <wim@fluendo.com>
11929
11930         * tests/check/gst/gstquery.c: (GST_START_TEST):
11931         Added another check.
11932
11933 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
11934
11935         * plugins/elements/gsttypefindelement.c: (find_peek):
11936           We can do peeks at non-zero offsets, as long as they
11937           fall within the buffer we have.
11938
11939 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
11940
11941         * tests/check/Makefile.am:
11942         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
11943         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
11944         (parse_suite), (main):
11945           Add testsuite for parse launch syntax
11946
11947 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
11948
11949         * plugins/elements/gsttypefindelement.c:
11950         (gst_type_find_element_chain):
11951           When typefinding is unsuccessful in the chain function, don't
11952           error out immediately. Only error out with NO_CAPS_FOUND if
11953           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
11954           otherwise simply wait for more data so we can try typefinding
11955           again with more data later. Also, don't attempt to typefind
11956           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
11957           this should improve typefinding from network sources where the
11958           size of the first buffer can be somewhat random.
11959
11960 2006-02-14  Wim Taymans  <wim@fluendo.com>
11961
11962         * docs/gst/gstreamer-sections.txt:
11963         * gst/gstpadtemplate.c:
11964         * gst/gstpadtemplate.h:
11965         Fix padtemplate docs, fixes #328805.
11966
11967 2006-02-14  Wim Taymans  <wim@fluendo.com>
11968
11969         * tools/gst-launch.c: (main):
11970         NO_PREROLL is not an ERROR so don't send confusing messages
11971         to the user.
11972
11973 2006-02-14  Wim Taymans  <wim@fluendo.com>
11974
11975         Patch by: Torsten Schoenfeld
11976
11977         * gst/gstregistry.c: (gst_registry_get_default),
11978         (_gst_registry_cleanup):
11979         Protect default registry with lock and ref/sink it.
11980         Fixes #324818
11981
11982 2006-02-14  Wim Taymans  <wim@fluendo.com>
11983
11984         * gst/gstbuffer.c:
11985         * gst/gstquery.c: (gst_query_list_add_format),
11986         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11987         (gst_query_parse_formats_nth):
11988         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11989         Docs fixes.
11990
11991 2006-02-14  Wim Taymans  <wim@fluendo.com>
11992
11993         * docs/gst/gstreamer-sections.txt:
11994         Reworked query docs.
11995
11996         * gst/gstquery.c: (gst_query_new_formats),
11997         (gst_query_list_add_format), (gst_query_set_formats),
11998         (gst_query_set_formatsv), (gst_query_parse_formats_length),
11999         (gst_query_parse_formats_nth):
12000         * gst/gstquery.h:
12001         Flesh out formats query, added some new methods.
12002         Fix part of #324398.
12003
12004         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
12005         Added query creation tests.
12006
12007 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
12008
12009         * gst/gstpad.c: (fixate_value):
12010         Add a default fixation for fraction lists.
12011
12012 2006-02-13  Wim Taymans  <wim@fluendo.com>
12013
12014         * gst/gsttask.c: (gst_task_init), (gst_task_func),
12015         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
12016         (gst_task_join):
12017         * gst/gsttask.h:
12018         Detect and warn for obvious deadlocks. fixes #320340
12019         Fix error case where lock was not released.
12020
12021         * tests/check/Makefile.am:
12022         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
12023         (task_func), (gst_element_suite), (main):
12024         Add task check.
12025
12026 2006-02-13  Wim Taymans  <wim@fluendo.com>
12027
12028         * docs/gst/gstreamer-sections.txt:
12029         * gst/gstbus.c:
12030         Add new functions to docs.
12031
12032 2006-02-13  Wim Taymans  <wim@fluendo.com>
12033
12034         * docs/design/part-TODO.txt:
12035         Updated TODO list, basesrc supports seeking to non-bytes
12036         formats.
12037
12038         * docs/design/part-element-sink.txt:
12039         Update docs.
12040
12041         * gst/gstbin.c: (bin_replace_message),
12042         (gst_bin_handle_message_func):
12043         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
12044         * gst/gstevent.c: (gst_event_finalize):
12045         * gst/gstpad.c: (gst_pad_event_default_dispatch),
12046         (gst_pad_send_event):
12047         Use shiny new _TYPE_NAME macros.
12048
12049         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
12050         Move debug statement up.
12051
12052         * gst/gstelement.c: (gst_element_set_locked_state):
12053         Add some debugging.
12054
12055 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
12056
12057         * docs/gst/gstreamer-sections.txt:
12058         * gst/gstmessage.h:
12059         * gst/gstquery.h:
12060           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
12061           macros (#330906). Also, document the already existing
12062           GST_QUERY_TYPE macro.
12063
12064 2006-02-13  Wim Taymans  <wim@fluendo.com>
12065
12066         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
12067         (event_probe), (GST_START_TEST):
12068         Only events up to the pipeline EOS are counted, there are
12069         some more when going to NULL currently which we don't care
12070         about for now.
12071
12072 2006-02-13  Wim Taymans  <wim@fluendo.com>
12073
12074         * gst/gstpad.c: (gst_pad_send_event):
12075         Correctly check flushing and emit probes. fixes #330125
12076
12077 2006-02-10  Andy Wingo  <wingo@pobox.com>
12078
12079         * gst/gstbus.c (gst_bus_class_init): Declare our private data
12080         structure.
12081         (gst_bus_init): Cache the location of the private data in the
12082         instance structure.
12083         (gst_bus_enable_sync_message_emission) 
12084         (gst_bus_disable_sync_message_emission): Implement new public
12085         functions.
12086         (gst_bus_post): Emit the sync-message signal if the user asked for
12087         it. Fixes #330684.
12088
12089         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
12090         location of the bus-private structure.
12091         (gst_bus_enable_sync_message_emission)
12092         (gst_bus_disable_sync_message_emission): API addition
12093
12094 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
12095
12096         Patch by: Vincent Torri
12097
12098         * docs/pwg/building-boiler.xml:
12099         PWG patch from #326800
12100
12101 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
12102
12103         * configure.ac:
12104         * docs/Makefile.am:
12105         * docs/design/Makefile.am:
12106           Dist design docs.
12107
12108 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
12109
12110         * configure.ac:
12111           back to CVS
12112
12113 === release 0.10.3 ===
12114
12115 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
12116
12117         * configure.ac:
12118           releasing 0.10.3, "Like a virgin"
12119
12120 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
12121
12122         * configure.ac:
12123           2nd prerelease of 0.10.3
12124           Bump libtool versioning.
12125
12126 2006-02-07  Andy Wingo  <wingo@pobox.com>
12127
12128         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
12129         update last_stop if we're in TIME format and the timestamp is
12130         valid.
12131
12132         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
12133         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
12134         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
12135         If we get a new newsegment with a different format, adapt
12136         accordingly.
12137
12138         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
12139         of 0. Not a problem, really.
12140
12141         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
12142         warn if sync=true.
12143
12144 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
12145
12146         * configure.ac:
12147           Prelease of 0.10.3
12148
12149 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
12150
12151         * win32/vs7:
12152           project files updated to the default vs7 configuration
12153         * win32/common/libgstbase.def:
12154         * win32/common/libgstreamer.def:
12155           added new symbols,
12156           removed empty lines,
12157           sorted all exported symbols alphabetically
12158         * win32/common/dirent.c:
12159         * win32/common/dirent.h:
12160         * win32/common/gchar.h:
12161           use windows line end.
12162           
12163 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
12164
12165         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12166           Send EOS event when stopping.
12167
12168 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
12169
12170         * docs/README:
12171           Tell folks what to do if the plugin-foobar.xml file
12172           hasn't been generated for a newly-added plugin.
12173
12174 2006-02-05  Julien MOUTTE  <julien@moutte.net>
12175
12176         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
12177         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
12178         (gst_collect_pads_start), (gst_collect_pads_stop),
12179         (gst_collect_pads_event): Collectpads now holds a reference
12180         to the GstPad that was added. Indeed we don't want to look
12181         at pads that might just go away with no warning...
12182
12183 2006-02-05  Julien MOUTTE  <julien@moutte.net>
12184
12185         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
12186         (gst_collect_pads_start), (gst_collect_pads_stop),
12187         (gst_collect_pads_event), (gst_collect_pads_chain):
12188         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
12189         Mark Nauwelaerts's patch on bug #328491.
12190
12191 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
12192
12193         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
12194         (gst_utils_suite):
12195           Add some simple tests for gst_parse_bin_from_description() and
12196           gst_bin_find_unconnected_pad() (#329069).
12197
12198 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
12199
12200         * tools/gst-launch.c: (event_loop), (main):
12201           Catch errors during preroll (#320084).
12202
12203 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
12204
12205         * plugins/elements/gsttypefindelement.c:
12206         (gst_type_find_element_activate):
12207           Post TYPE_NOT_FOUND error message when typefinding
12208           is unsuccessful in the activate function as well.
12209
12210 2006-02-02  Wim Taymans  <wim@fluendo.com>
12211
12212         * docs/design/part-element-sink.txt:
12213         Updated doc.
12214
12215 2006-02-02  Wim Taymans  <wim@fluendo.com>
12216
12217         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12218         (gst_base_sink_render_object),
12219         (gst_base_sink_queue_object_unlocked):
12220         Only keep track of prerollable items when we are 
12221         prerolling.
12222         Before rendering after preroll, always check if we
12223         have queued items.
12224         Added some more debugging.
12225
12226 2006-02-02  Wim Taymans  <wim@fluendo.com>
12227
12228         * gst/gstelement.c: (gst_element_continue_state),
12229         (gst_element_set_state_func), (gst_element_change_state):
12230         Fixed #326576, been running this for quite some time with
12231         no regressions at all.
12232
12233 2006-02-02  Wim Taymans  <wim@fluendo.com>
12234
12235         * common/gst.supp:
12236         Added more suppressions
12237
12238 2006-02-02  Wim Taymans  <wim@fluendo.com>
12239
12240         * docs/design/part-element-sink.txt:
12241         Updated document.
12242
12243         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12244         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
12245         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
12246         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12247         (gst_base_sink_do_sync), (gst_base_sink_render_object),
12248         (gst_base_sink_preroll_object),
12249         (gst_base_sink_queue_object_unlocked),
12250         (gst_base_sink_queue_object), (gst_base_sink_event),
12251         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
12252         (gst_base_sink_loop), (gst_base_sink_activate_pull),
12253         (gst_base_sink_get_position), (gst_base_sink_change_state):
12254         * libs/gst/base/gstbasesink.h:
12255         Totally refactored matching the design doc.
12256         Use two segments, one to clip incomming buffers and another to
12257         perform sync.
12258         Handle queueing correctly, bypass the queue when playing.
12259         Make EOS cancelable.
12260         Handle errors correctly when operating in pull based mode.
12261
12262         * tests/check/elements/fakesink.c: (GST_START_TEST),
12263         (fakesink_suite):
12264         Added new check for sinks.
12265
12266 2006-02-02  Wim Taymans  <wim@fluendo.com>
12267
12268         * gst/gstsegment.c: (gst_segment_clip):
12269         No reason to refuse to clip when start == -1
12270
12271 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
12272
12273         * docs/README:
12274         * docs/manual/intro-basics.xml:
12275         * docs/manual/intro-preface.xml:
12276         * docs/manual/manual.xml:
12277         * docs/pwg/advanced-dparams.xml:
12278         * docs/pwg/intro-basics.xml:
12279         * docs/pwg/intro-preface.xml:
12280         * docs/pwg/pwg.xml:
12281           describe dparams (controller) for plugins
12282           unify docs a little more
12283
12284 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
12285
12286         * docs/gst/gstreamer-sections.txt:
12287         * gst/gstutils.c: (element_find_unconnected_pad),
12288         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
12289         * gst/gstutils.h:
12290           Add new API: gst_parse_bin_from_description() and
12291           gst_bin_find_unconnected_pad() (#329069).
12292
12293 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
12294
12295         * docs/manual/README:
12296           uncover a nasty detail of the docs build
12297
12298 2006-01-31  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
12301         Don't cache duration messages if we're not going to use or
12302         free them.
12303
12304 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
12305
12306         * docs/manual/advanced-dparams.xml:
12307         * docs/pwg/advanced-dparams.xml:
12308           more dparam docs
12309         * gst/gstindex.c:
12310           fix docs
12311         * libs/gst/controller/lib.c: (gst_controller_init):
12312           init just once
12313
12314 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * gst/gstelement.c: (gst_element_message_full):
12317           also show file/line/func if no additional debug was given
12318
12319 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
12320         
12321         * win32/vs7/grammar.vcproj:
12322           activate copy of autogenerated files for Release mode
12323
12324 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
12325         
12326         * win32/common/libgstreamer.def:
12327           export gst_value_compare
12328
12329 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
12330
12331         * plugins/elements/Makefile.am:
12332         * plugins/elements/gstelements.c:
12333         * plugins/elements/gstfdsink.c: (_do_init),
12334         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
12335         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
12336         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
12337         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
12338         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
12339         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
12340         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
12341         * plugins/elements/gstfdsink.h:
12342         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
12343
12344 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
12345
12346         * docs/manual/advanced-dparams.xml:
12347           describe controller
12348         * docs/manual/advanced-position.xml:
12349         * docs/manual/basics-init.xml:
12350         * docs/manual/manual.xml:
12351         * docs/manual/titlepage.xml:
12352         * docs/pwg/pwg.xml:
12353         * docs/pwg/titlepage.xml:
12354           cleanup xml (more to come)
12355         * libs/gst/controller/gstcontroller.c:
12356           fix typo
12357
12358 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
12359         
12360         * win32/vs6/grammar.dsp:
12361           add autogen of gstmarshal.c,h for Release mode
12362                 
12363 2006-01-30  Wim Taymans  <wim@fluendo.com>
12364
12365         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12366         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
12367         (gst_base_sink_handle_object), (gst_base_sink_event),
12368         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
12369         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12370         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
12371         (gst_base_sink_deactivate), (gst_base_sink_activate),
12372         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
12373         (gst_base_sink_query), (gst_base_sink_change_state):
12374         Basesink cleanups, remove some old code.
12375         Handle the case where a subclass can preroll in the render
12376         method (mostly audiosinks).
12377         Handle more events.
12378         Remove some locks around variables that are now protected
12379         with the PREROLL_LOCK (clock_id, flushing, ..).
12380         Optimize position query some more, do correct locking.
12381         Remove old code to push queue in state change, this is not
12382         needed anymore since preroll blocks on all prerollable items 
12383         now.
12384         Almost implemented as described in design doc.
12385
12386 2006-01-30  Wim Taymans  <wim@fluendo.com>
12387
12388         * tests/check/gst/gstbin.c: (GST_START_TEST):
12389         Wait for refcount to settle down before checking.
12390
12391 2006-01-30  Wim Taymans  <wim@fluendo.com>
12392
12393         * docs/design/part-element-sink.txt:
12394         Pseudo code overview of desired sink behaviour regarding
12395         preroll.
12396
12397 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12398         * win32/vs6/grammar.dsp:
12399           fix some bugs in Release mode for autogenerated files
12400                 
12401 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12402         * win32/common/libgstbase.def:
12403         * win32/common/libgstreamer.def:
12404           export some new symbols: gst_base_src_set_format,
12405           gst_iterator_next, gst_structure_set_valist
12406
12407 2006-01-29  Julien MOUTTE  <julien@moutte.net>
12408
12409         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12410         Set pad functions unconditionally. Fixes #329105.
12411
12412 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
12413         * win32/vs8:
12414           add vs8 project files created by Sergey Scobich
12415
12416 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
12417
12418         * gst/gstutils.c: (gst_element_unlink_pads):
12419         Don't leak pad references.
12420
12421         * tests/check/elements/fakesink.c: (GST_START_TEST):
12422         * tests/check/generic/sinks.c: (GST_START_TEST):
12423         * tests/check/generic/states.c: (GST_START_TEST):
12424         * tests/check/gst/gstbin.c: (GST_START_TEST):
12425         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12426         * tests/check/gst/gstelement.c: (GST_START_TEST):
12427         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12428         * tests/check/gst/gstiterator.c: (GST_START_TEST):
12429         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12430         Fix a bunch of leaks. Make generic/sinks.c
12431         use a bit less cpu by slowing the buffer rate
12432         between fakesrc and fakesink.
12433         
12434 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
12435         * gst/gstcaps.c:
12436         * gst/gstelement.c: (gst_element_send_event):
12437         * gst/gstevent.c:
12438         * gst/gstinfo.c:
12439         * gst/gstiterator.c:
12440         * gst/gstiterator.h:
12441         * gst/gstpad.c: (gst_pad_send_event):
12442         * gst/gststructure.c:
12443         * gst/gsturi.c:
12444         * gst/gstutils.c:
12445         * gst/gstvalue.c:
12446         * libs/gst/base/gstadapter.c:
12447           doc fixes, to link to function, just write gst_cool_function(), don't
12448           prefix with '#'
12449
12450 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12451
12452         * plugins/elements/gsttee.c: (gst_tee_do_push),
12453         (gst_tee_handle_buffer):
12454         Always prefer an actual return value from a src
12455         pad in place of NOT_LINKED. This means we return
12456         WRONG_STATE when all src pads are WRONG_STATE
12457         instead of NOT_LINKED.
12458
12459         Lock when replacing the last message to prevent
12460         racing with the get_property method.
12461
12462         Add debug output
12463
12464 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12465
12466         * tests/check/Makefile.am:
12467         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
12468         (main):
12469         Add a very simple check that should have caught the memleak I fixed
12470         last night (if not for the slice allocator hiding it)
12471
12472 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
12473
12474         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12475         (gst_bin_remove_func), (gst_bin_handle_message_func),
12476         (bin_query_duration_fold), (bin_query_generic_fold):
12477         Clean up references to the clock provider when disposed or when
12478         handling a clock-lost message from it.
12479
12480         Unref sinks when performing a query via gst_iterator_fold, as the
12481         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
12482
12483         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
12484         (gst_clock_set_master):
12485         Drop our reference to the master clock, if any, when we are disposed.
12486
12487         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
12488         Chain up in dispose. 
12489
12490 2006-01-26  Wim Taymans  <wim@fluendo.com>
12491
12492         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
12493         Add some debugging.
12494
12495 2006-01-26  Julien MOUTTE  <julien@moutte.net>
12496
12497         * plugins/elements/gsttee.c: (gst_tee_do_push),
12498         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
12499         handles pad being NOT_LINKED or in WRONG_STATE.
12500
12501 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12502
12503         * win32/MANIFEST:
12504           more updating
12505
12506 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12507
12508         * win32/MANIFEST:
12509           remove obsolete entry
12510
12511 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
12512
12513         * docs/gst/gstreamer-sections.txt:
12514         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
12515         (gst_bin_iterate_sources), (gst_bin_send_event):
12516         * gst/gstbin.h:
12517         * gst/gstelement.c: (gst_element_send_event):
12518         * gst/gstevent.c:
12519         * gst/gstpad.c: (gst_pad_send_event):
12520           added code for downstream events, reviewed docs in gstevent.c
12521
12522 2006-01-25  Julien MOUTTE  <julien@moutte.net>
12523
12524         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
12525         We only query position using the clock in the playing state.
12526         Query peer in the other cases.
12527         * win32/common/config.h: Updates.
12528
12529 2006-01-24  Wim Taymans  <wim@fluendo.com>
12530
12531         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12532         A clock entry that is scheduled for the exact time of the
12533         clock is still in time.
12534
12535         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12536         (gst_base_sink_do_sync):
12537         Add some more debug info.
12538
12539 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12540
12541         * win32/vs7:
12542           Add new vs7 project files and solution.
12543
12544 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
12545
12546         * win32/vs7:
12547           all files removed as they were out-dated.
12548
12549 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12550
12551         * docs/random/release:
12552           update notes
12553         * gst/gstbin.c: (gst_bin_init):
12554         * gst/gstbus.c: (gst_bus_new):
12555         * gst/gstbus.h:
12556         * gst/gstpipeline.c: (gst_pipeline_init):
12557           use gst_bus_new(), improve logging, fix docs
12558         * win32/common/config.h:
12559           update for cvs build
12560
12561 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12562
12563         * autogen.sh:
12564           up required version of automake to 1.7
12565
12566 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
12567
12568         * win32/common/libgstreamer.def:
12569           export gst_buffer_is_metadata_writable
12570
12571 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
12572
12573         * docs/gst/gstreamer-sections.txt:
12574         * gst/gstevent.h:
12575           Add gst_event_replace() (#327001)
12576
12577 2006-01-20  Wim Taymans  <wim@fluendo.com>
12578
12579         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
12580         Make it actually compile too..
12581
12582 2006-01-20  Wim Taymans  <wim@fluendo.com>
12583
12584         * gst/gstcaps.c:
12585         Clarify behaviour of _is_equal() when passing NULL parameters.
12586
12587         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12588         (gst_pad_set_caps):
12589         Cleanups. Don't unref NULL caps.
12590         When setting the same caps, protect caps of the pad with
12591         proper lock.
12592         Use full functionality of _is_equal() when comparing caps.
12593
12594 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12595
12596         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12597         Don't loop infinitely if there are no buffers to present. Partially
12598         fixes #327197, but collectpads is just broken for reusing elements
12599         to do multiple encodes atm.
12600
12601 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
12602
12603         * tools/gst-inspect.c: (print_element_features):
12604         * tools/gst-xmlinspect.c: (main):
12605         URL_HANDLER is not a plugin feature we can search for in
12606         the registry.
12607
12608 2006-01-19  Edward Hervey  <edward@fluendo.com>
12609
12610         * gst/gstelement.c: (gst_element_pads_activate): 
12611         When activating, do src pads first, then sink pads.
12612         When de-activating, do sink pads first, then src pads.
12613
12614 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12615
12616         * docs/gst/gstreamer-sections.txt:
12617         Add gst_index_add_associationv to the docs
12618
12619 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12620
12621         * gst/gstevent.c:
12622           Fix docs typo
12623
12624         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
12625         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
12626           Do some refactoring. Doesn't actually change functionality,
12627           but makes landing the DRAIN event easier later.
12628
12629 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
12630
12631         * docs/pwg/advanced-scheduling.xml:
12632           Update from 0.9.x to 0.10 API and make example a bit
12633           clearer.
12634
12635 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12636
12637         * docs/gst/gstreamer-sections.txt:
12638         Add gst_buffer_(is|make)_metadata_writable methods.
12639
12640 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
12641
12642         * docs/design/part-sparsestreams.txt:
12643         Update sparse streams doc, hopefully for greater clarity
12644
12645 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
12646
12647         * docs/design/part-events.txt:
12648         Remove mention of FILLER events.
12649         Add DRAIN event.
12650
12651         * docs/design/part-sparsestreams.txt:
12652         Write some things about using NEWSEGMENT to keep sparse streams
12653         flowing.
12654
12655 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12656
12657         * gst/gstbin.c: (gst_bin_dispose):
12658           Guard gst_object_unref call against a NULL object (dispose
12659           can theoretically be called multiple times).
12660           
12661 2006-01-18  Wim Taymans  <wim@fluendo.com>
12662
12663         * gst/gstbin.c: (gst_bin_element_set_state):
12664         * gst/gstclock.c: (gst_clock_id_wait):
12665         Added some more debug info.
12666
12667         * libs/gst/base/gstadapter.c:
12668         Added more docs.
12669
12670         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12671         (gst_base_sink_do_sync), (gst_base_sink_chain):
12672         Added some comments.
12673
12674 2006-01-18  Wim Taymans  <wim@fluendo.com>
12675
12676         * tests/check/Makefile.am:
12677         * tests/check/elements/fakesink.c: (chain_async_buffer),
12678         (chain_async), (chain_async_return), (GST_START_TEST),
12679         (fakesink_suite), (main):
12680         Added fakesink test that checks prerolling and clipping
12681         behaviour.
12682
12683         * tests/check/gst/gstutils.c: (GST_START_TEST):
12684         Make check run faster so that buildbots don't timeout.
12685
12686 2006-01-18  Wim Taymans  <wim@fluendo.com>
12687
12688         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12689         (gst_base_sink_do_sync):
12690         Some cleanups.
12691         When the sink finishes blocking on the preroll buffer, it can
12692         immediatly render it instead of rendering when the next buffer
12693         arrives.
12694
12695 2006-01-18  Wim Taymans  <wim@fluendo.com>
12696
12697         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
12698         (gst_base_sink_get_property), (gst_base_sink_do_sync),
12699         (gst_base_sink_chain):
12700         Small cleanups.
12701         GST_ELEMENT_CLOCK and sync are protected with LOCK.
12702         Don't store _last_stop if the buffer is dropped.
12703
12704 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
12705
12706         * plugins/elements/gsttypefindelement.c:
12707         (gst_type_find_element_class_init):
12708           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
12709           object method handler that sets the caps on the pad and we want
12710           that to happen before we emit the signal (fixes e.g. feeding a
12711           plain text file to decodebin).
12712
12713 2006-01-18  Christian Schaller  <Christian@fluendo.com>
12714
12715         * gst/gstplugin.c: Add MPL and Proprietary as license options
12716
12717 2006-01-18  Andy Wingo  <wingo@pobox.com>
12718
12719         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
12720         symbol was exported before, it appears this was just an oversight.
12721         Fixes #168703.
12722         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
12723
12724         * gst/gstindex.c (gst_index_add_associationv): Changed int in
12725         prototype to gint. OK since this prototype was not in the header.
12726
12727 2006-01-17  Andy Wingo  <wingo@pobox.com>
12728
12729         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
12730         registry while we remove plugins.
12731
12732         * tools/gst-inspect.c (print_element_info): Don't unref the
12733         factory arg, that should be the responsibility of whatever code
12734         received the ref. Fixes a double-free when called from
12735         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
12736         (main): Unref the factory if we have one.
12737         (print_element_list): No change -- relies on the
12738         plugin_feature_list_free to free the list of features.
12739
12740 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
12741
12742         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12743         (gst_buffer_make_metadata_writable):
12744         * gst/gstbuffer.h:
12745         * libs/gst/base/gstbasetransform.c:
12746         (gst_base_transform_prepare_output_buf):
12747         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12748         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12749           Replace gst_buffer_(make|is)_metadata_writable patch now
12750           that the release is out.
12751
12752 2006-01-17  Andy Wingo  <wingo@pobox.com>
12753
12754         * gst/gstregistry.c: Reflow design comment. Update so as to speak
12755         in the present tense without reference to versions.
12756
12757         * gst/gstregistry.c (gst_registry_add_plugin)
12758         (gst_registry_remove_plugin, gst_registry_remove_feature)
12759         (gst_registry_find_feature, gst_registry_get_feature_list)
12760         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
12761         (gst_registry_lookup, gst_registry_scan_path)
12762         (_gst_registry_remove_cache_plugins)
12763         (gst_registry_get_feature_list_by_plugin): Add argument
12764         validation.
12765
12766 === release 0.10.2 ===
12767
12768 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
12769
12770         * configure.ac:
12771           releasing 0.10.2, "If man is five"
12772
12773 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12774
12775         * gst/gstbuffer.c:
12776         * gst/gstbuffer.h:
12777         * libs/gst/base/gstbasetransform.c:
12778         (gst_base_transform_prepare_output_buf):
12779         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12780         * tests/check/gst/gstbuffer.c: (gst_test_suite):
12781           Back out patch until after the release.
12782
12783 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12784
12785         * gst/gstminiobject.c:
12786           Spelling fix in docs.
12787         * ChangeLog - remove conflict indicator
12788
12789 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
12790
12791         Reviewed By: Andy Wingo
12792
12793         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
12794         (gst_buffer_make_metadata_writable):
12795         * gst/gstbuffer.h:
12796           Add gst_buffer_(is|make)_metadata_writable as analogues of
12797           gst_buffer_(is|make)_writable.
12798
12799         * libs/gst/base/gstbasetransform.c:
12800         (gst_base_transform_prepare_output_buf):
12801         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
12802           Use name gst_buffer_(is|make)_metadata_writable functions.
12803
12804         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12805           Test gst_buffer_(is|make)_metadata_writable
12806         
12807           (Closes: #324162)
12808
12809 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12810
12811         * docs/manual/Makefile.am:
12812           don't do parallel make
12813         * configure.ac:
12814           AC_SUBST HOST_CPU
12815         * win32/common/config.h.in:
12816           add generations for HOST_CPU and GST_MAJORMINOR
12817         * win32/common/config.h:
12818           commit generated result
12819
12820 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
12821
12822         * docs/manual/appendix-integration.xml:
12823           Update GNOME integration section to use gst_init_get_option_group()
12824           instead of the old popt stuff (#322911). Also, GNOME applications
12825           should  now use gconf*sink and gconf*src instead of the old gconf
12826           helper lib we had.
12827
12828 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
12829
12830
12831         * docs/gst/gstreamer-docs.sgml:
12832         * docs/gst/gstreamer-sections.txt:
12833         * docs/libs/gstreamer-libs-sections.txt:
12834           add new API entries to the docs
12835         * libs/gst/controller/Makefile.am:
12836         * libs/gst/controller/gstcontroller.c:
12837         * libs/gst/controller/gstcontroller.h:
12838         * libs/gst/controller/gstcontrollerprivate.h:
12839         * libs/gst/controller/gsthelper.c:
12840         * libs/gst/controller/gstinterpolation.c:
12841           move private structs to private header
12842         * po/README:
12843           gstreamer-0.7 -> gstreamer-0.10
12844         * tests/check/libs/struct_i386.h:
12845           remove private structs
12846
12847 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12848
12849         * plugins/indexers/Makefile.am:
12850           Fixes as part of #317048
12851
12852 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12853
12854         * plugins/indexers/Makefile.am:
12855           fix #316086 - compilation when mmap is missing
12856
12857 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
12858
12859         * libs/gst/base/gstbasesink.c:
12860           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
12861           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
12862         * win32/common/config.h:
12863           added some defines GST_MAJORMINOR and HOST_CPU
12864         * win32/common/libgstbase.def:
12865         * win32/common/libgstreamer.def:
12866           added some exported functions.
12867
12868 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12869
12870         * libs/gst/controller/gstcontroller.c:
12871         (gst_controlled_property_set_interpolation_mode),
12872         (gst_controlled_property_new):
12873         * libs/gst/controller/gstcontroller.h:
12874         * libs/gst/controller/gstinterpolation.c:
12875         (interpolate_none_get_string_value_array):
12876           make G_TYPE_STRING controlable
12877
12878 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
12879
12880         * tools/README:
12881         * tools/gst-feedback.1.in:
12882         * tools/gst-inspect.1.in:
12883         * tools/gst-launch.1.in:
12884         * tools/gst-md5sum.1.in:
12885         * tools/gst-typefind.1.in:
12886         * tools/gst-xmlinspect.1.in:
12887         * tools/gst-xmllaunch.1.in:
12888           cleanup man-pages, remove reference to gst-register, document env-vars
12889
12890 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
12891
12892         * gst/gstbuffer.c: (gst_buffer_span):
12893           gst_buffer_span should copy the timestamp of the first buffer
12894           if they were both originally overlapping subbuffers of the 
12895           same parent, using the same logic as the 'slow copy' case.
12896
12897 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
12898
12899         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
12900           Need to awaken ALL the pads when we pop a buffer, otherwise
12901           collectpads only works when there is 2 input streams.
12902
12903 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
12904
12905         * docs/random/ensonic/media-device-daemon.txt:
12906           more ideas (dbus)
12907         * gst/gstbuffer.c:
12908           fix doc example, add clarification
12909         * tools/gst-launch.1.in:
12910           add initial info about GST_PLUGIN_PATH, needs more work
12911
12912 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
12913
12914         * docs/manual/basics-bins.xml:
12915         * docs/manual/basics-elements.xml:
12916         * docs/manual/intro-basics.xml:
12917           Some more minor docs additions and updates.
12918
12919 2006-01-11  Wim Taymans  <wim@fluendo.com>
12920
12921         * docs/manual/basics-bins.xml:
12922         * docs/manual/basics-elements.xml:
12923         Some small fixes as pointed out by Ser-ver on IRC.
12924
12925 2006-01-10  Edward Hervey  <edward@fluendo.com>
12926
12927         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12928         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
12929         the single-segment mode.
12930
12931 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
12932
12933         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12934
12935         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
12936         (gst_base_src_perform_seek), (gst_base_src_send_event),
12937         (gst_base_src_set_property), (gst_base_src_get_property),
12938         (gst_base_src_loop), (gst_base_src_start),
12939         (gst_base_src_activate_push):
12940         * libs/gst/base/gstbasesrc.h:
12941           Name (private) union; makes Sun's Forte compiler happy (#324900).
12942
12943 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
12944
12945         * README:
12946           gst-register is gone.
12947
12948 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12949
12950         * gst/gstvalue.c: (_gst_value_initialize):
12951           make the G_TYPE_DATE instantiation work if debug is disabled
12952
12953 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
12954
12955         * gst/gstmessage.c: (gst_message_parse_tag),
12956         (gst_message_parse_error), (gst_message_parse_warning):
12957           Don't crash when return location for error/warning debug
12958           string is NULL; add fact that return locations can be
12959           NULL to docs where appropriate.
12960
12961 2006-01-05  Wim Taymans  <wim@fluendo.com>
12962
12963         * gst/gstplugin.c: (gst_plugin_load_file):
12964         Replace strdup by g_strdup.
12965
12966 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12967
12968         * docs/pwg/advanced-types.xml:
12969           fix doc borkage
12970
12971 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12972
12973         submitted by: Abel Cheung
12974
12975         * po/LINGUAS:
12976         * po/zh_TW.po:
12977           Added Chinese (traditional) translation
12978
12979 2006-01-04  Wim Taymans  <wim@fluendo.com>
12980
12981         * docs/manual/basics-pads.xml:
12982         * docs/plugins/Makefile.am:
12983         * docs/plugins/gstreamer-plugins-docs.sgml:
12984         * docs/plugins/gstreamer-plugins-sections.txt:
12985         * docs/pwg/advanced-clock.xml:
12986         * docs/pwg/advanced-scheduling.xml:
12987         * docs/pwg/advanced-types.xml:
12988         * plugins/elements/gstfdsink.c:
12989         * plugins/elements/gstfdsrc.c:
12990         * plugins/elements/gstfdsrc.h:
12991         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12992         * plugins/elements/gstidentity.h:
12993         * plugins/elements/gstqueue.h:
12994         * plugins/elements/gsttee.c:
12995         * plugins/elements/gsttee.h:
12996         * plugins/elements/gsttypefindelement.c:
12997         (gst_type_find_element_class_init):
12998         * plugins/elements/gsttypefindelement.h:
12999         Small updates to various docs.
13000         Added core plugins to docs.
13001
13002 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13003
13004         * common/gst.supp:
13005           add a suppression for liboil's uninitialized variable
13006
13007 2006-01-02  James Livingston  <jrl at ids dot org dot au>
13008
13009         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13010
13011         * gst/gstutils.h:
13012           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
13013           macro, so that gcc doesn't complain if the -Wmissing-prototypes
13014           compiler switch is being used (#325429).
13015
13016 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
13017
13018         * gst/gstbin.c: (gst_bin_query):
13019           Disable duration query caching in bins until it gets
13020           fixed (see #324807).
13021
13022 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
13023
13024         * tools/gst-inspect.c: (print_element_properties_info):
13025           Handle properties of POINTER and BOXED type.
13026
13027 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
13028
13029         * gst/gst.c: (init_post):
13030           Init tags stuff and some other things before loading
13031           any static plugins (there may be other static plugins
13032           than just the GStreamer ones, and they may want to
13033           register their own tags or formats or whatever, and
13034           preferably without segfaulting).
13035
13036         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
13037           Print at least a warning in the debug logs if we drop a
13038           query just because we don't know how to adjust the value
13039           in the particular format.
13040
13041 2005-12-24  David Schleef  <ds@schleef.org>
13042
13043         * tools/gstreamer-completion:
13044           Replacement for gst-complete written in sh and sed.  Only
13045           completes names of features, but that's 90% of what I want
13046           it for.  Properties are not available in registry.xml.  (Maybe
13047           they should be...)
13048
13049 === release 0.10.1 ===
13050
13051 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
13052
13053         * configure.ac:
13054           releasing 0.10.1, "Nollaig chridheil"
13055
13056 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
13057
13058         * docs/faq/cvs.xml:
13059           Add missing quote, should be make ERROR_CFLAGS="".
13060
13061 2005-12-20  Wim Taymans  <wim@fluendo.com>
13062
13063         * docs/design/part-trickmodes.txt:
13064         More documentation on trickmodes.
13065
13066 2005-12-20  Edward Hervey  <edward@fluendo.com>
13067
13068         * gst/gstcaps.c: (gst_static_caps_get_type):
13069         * gst/gstcaps.h:
13070           API addition: GST_TYPE_STATIC_CAPS
13071         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
13072         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
13073         * gst/gstpadtemplate.h:
13074           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
13075         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
13076         bindings.
13077
13078 2005-12-18  Wim Taymans  <wim@fluendo.com>
13079
13080         * libs/gst/base/gstadapter.c:
13081         * libs/gst/base/gstadapter.h:
13082         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13083         (gst_base_sink_get_position):
13084         * libs/gst/base/gstbasesink.h:
13085         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13086         (gst_base_src_default_query), (gst_base_src_default_do_seek),
13087         (gst_base_src_do_seek), (gst_base_src_perform_seek),
13088         (gst_base_src_send_event), (gst_base_src_update_length),
13089         (gst_base_src_get_range), (gst_base_src_loop),
13090         (gst_base_src_start):
13091         * libs/gst/base/gstbasesrc.h:
13092         * libs/gst/base/gstbasetransform.h:
13093         * libs/gst/base/gstcollectpads.h:
13094         * libs/gst/base/gstpushsrc.c:
13095         * libs/gst/base/gstpushsrc.h:
13096         * libs/gst/dataprotocol/dataprotocol.c:
13097         * libs/gst/dataprotocol/dataprotocol.h:
13098         * libs/gst/net/gstnetclientclock.h:
13099         * libs/gst/net/gstnettimeprovider.h:
13100         Documentation updates.
13101
13102 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
13103
13104         * docs/manual/basics-helloworld.xml:
13105           Remove superfluous closing bracket in helloworld example.
13106
13107 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
13108
13109         * tools/gst-launch.1.in:
13110           Update gst-launch man page; add a section with useful
13111           environment variables. Fixes #323882.
13112
13113 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
13114
13115         * gst/gst.c:
13116         * gst/gst_private.h:
13117           change some char* into char[]
13118
13119 2005-12-16  Wim Taymans  <wim@fluendo.com>
13120
13121         * gst/gstregistryxml.c: (load_feature):
13122         Cleanups.
13123         Don't use g_object_unref on GstObjects so that we avoid
13124         leaks on unsafe glibs.
13125
13126 2005-12-16  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/gstbin.c: (gst_bin_recalc_state):
13129         Small doc updates.
13130
13131 2005-12-16  Wim Taymans  <wim@fluendo.com>
13132
13133         * common/check.mak:
13134         Added make forever target for check.
13135
13136 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13137
13138         * gst/gst.c: (init_post):
13139           make the registry cache file HOST_CPU-dependent
13140
13141 2005-12-16  Andy Wingo  <wingo@pobox.com>
13142
13143         * plugins/elements/gstbufferstore.c
13144         (gst_buffer_store_cleared_func): Pay attention to g_list_append
13145         return value.
13146
13147         * tests/check/gst/gstobject.c
13148         (test_fake_object_name_threaded_unique): Pay attention to
13149         g_list_sort return value.
13150
13151 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
13152
13153         * tools/gst-feedback-m.m:
13154           Update for 0.9/0.10 (fixes #323870).
13155
13156 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
13157
13158         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
13159           Fix lcopy for mini objects, the mini object needs to be ref'ed.
13160           
13161         * tests/check/gst/gstminiobject.c: (my_foo_init),
13162         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
13163         (test_value_collection), (gst_mini_object_suite):
13164           Add test to ensure refcounts end up as expected when passing
13165           GstMiniObjects through g_object_get() and g_object_set().
13166
13167 2005-12-14  Julien MOUTTE  <julien@moutte.net>
13168
13169         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13170         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
13171         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
13172         of collectpads. This version removes a lot of races without
13173         touching API/ABI. Yay !
13174
13175 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
13176
13177         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
13178           Don't allow activation of a srcpad in pull_range if it has no
13179           getrange function.
13180           Change some debug statements to be a little clearer
13181
13182         * plugins/elements/gsttypefindelement.c:
13183         (gst_type_find_handle_src_query):
13184           Check that we have a peer before executing queries thereupon.
13185
13186         * tests/examples/metadata/read-metadata.c: (message_loop):
13187           Use gst_bus_pop instead of gst_bus_poll when we just want it to
13188           immediately return us any available message with 0 timeout.
13189
13190 2005-12-12  Michael Smith  <msmith@fluendo.com>
13191
13192         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
13193           Don't unref factories after calling them.
13194         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
13195         * plugins/elements/gsttypefindelement.c:
13196         (gst_type_find_element_chain):
13197           Free lists of factories after using them. Fixing typefinding memory
13198           leaks.
13199
13200 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13201
13202         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
13203         (gst_plugin_feature_load):
13204           more meaningful debug output
13205         * configure.ac:
13206         * tests/Makefile.am:
13207         * tests/old/examples/Makefile.am:
13208           make make distcheck happy again
13209
13210 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
13211
13212         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13213           Catch the special case where we are operating chain-based,
13214           but the downstream peer pad has no chain function. Emit a
13215           custom error message in this case instead of letting the
13216           core generate one implying that this is some sort of core
13217           bug. It's not, it just means that whatever got plugged
13218           into the pipeline downstream when we announced the type
13219           can only operate pull-based, while our source can only
13220           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
13221           Error string has not been marked for translation yet, as
13222           it probably needs some more work first.
13223
13224         (gst_type_find_element_get_best_possibility):
13225           Add helper function to find the best of all available
13226           found possibilities that qualify given the min. threshold.
13227
13228         (gst_type_find_element_handle_event):
13229           Fix the case where we get an EOS while still in TYPEFIND
13230           mode (we want to chose the best of all possible types,
13231           not just the first type that happens to be in our unsorted
13232           list of possible types).
13233
13234         (gst_type_find_element_chain):
13235           Make sure we return GST_FLOW_ERROR when we errored out
13236           in stop_typefinding(); also, don't just find the best of
13237           all found type entries and then use the last examined
13238           type entry, but actually use the best entry.
13239
13240 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
13241
13242         * tests/examples/typefind/typefind.c: (type_found):
13243         * tests/examples/xml/runxml.c: (xml_loaded):
13244           More gcc4 fixes and a mem leak fix.
13245
13246 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13247
13248         * tests/examples/xml/createxml.c: (object_saved):
13249           gcc 4 fixes
13250
13251 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13252
13253         * tests/Makefile.am:
13254           enable the examples even more
13255
13256 2005-12-12  Andy Wingo  <wingo@pobox.com>
13257
13258         * libs/gst/net/gstnettimeprovider.c
13259         (gst_net_time_provider_class_init, gst_net_time_provider_init)
13260         (gst_net_time_provider_set_property)
13261         (gst_net_time_provider_get_property):
13262         API addition: Export "active" as a GObject property.
13263         (gst_net_time_provider_thread): Only respond to time queries if
13264         the time provider is active.
13265
13266         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
13267         NetTimeProvider, preserving binary compat.
13268
13269 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13270
13271         * tests/examples/controller/audio-example.c: (main):
13272         * tests/examples/launch/Makefile.am:
13273           convert comments again
13274
13275 2005-12-12  Wim Taymans  <wim@fluendo.com>
13276
13277         * libs/gst/base/gstpushsrc.c:
13278         Fix typo.
13279
13280 2005-12-12  Wim Taymans  <wim@fluendo.com>
13281
13282         * docs/libs/gstreamer-libs-sections.txt:
13283         Added new symbol to docs.
13284
13285         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13286         (gst_base_src_init), (gst_base_src_set_format),
13287         (gst_base_src_default_query), (gst_base_src_query),
13288         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
13289         (gst_base_src_perform_seek), (gst_base_src_send_event),
13290         (gst_base_src_default_event), (gst_base_src_event_handler),
13291         (gst_base_src_set_property), (gst_base_src_get_property),
13292         (gst_base_src_wait), (gst_base_src_do_sync),
13293         (gst_base_src_update_length), (gst_base_src_get_range),
13294         (gst_base_src_check_get_range), (gst_base_src_loop),
13295         (gst_base_src_default_negotiate), (gst_base_src_start),
13296         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13297         (gst_base_src_change_state):
13298         * libs/gst/base/gstbasesrc.h:
13299         Implement seeking to other formats than _BYTES.
13300         Implement more seeking methods correctly.
13301         Doc updates.
13302         Added query vmethod.
13303         Added do_seek vmethod to make life easier for subclasses
13304         when seeking.
13305         API addition: gst_base_src_set_format()
13306
13307 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13308
13309         * tests/examples/Makefile.am:
13310           added that too
13311
13312 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
13313
13314         * configure.ac:
13315         * docs/random/ensonic/media-device-daemon.txt:
13316         * tests/examples/controller/.cvsignore:
13317         * tests/examples/controller/Makefile.am:
13318         * tests/examples/controller/audio-example.c: (main):
13319         * tests/examples/helloworld/.cvsignore:
13320         * tests/examples/helloworld/Makefile.am:
13321         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
13322         * tests/examples/launch/.cvsignore:
13323         * tests/examples/launch/Makefile.am:
13324         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
13325         * tests/examples/metadata/.cvsignore:
13326         * tests/examples/metadata/Makefile.am:
13327         * tests/examples/metadata/read-metadata.c: (message_loop),
13328         (make_pipeline), (print_tag), (main):
13329         * tests/examples/queue/.cvsignore:
13330         * tests/examples/queue/Makefile.am:
13331         * tests/examples/queue/queue.c: (event_loop), (main):
13332         * tests/examples/typefind/.cvsignore:
13333         * tests/examples/typefind/Makefile.am:
13334         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
13335         (main):
13336         * tests/examples/xml/.cvsignore:
13337         * tests/examples/xml/Makefile.am:
13338         * tests/examples/xml/createxml.c: (object_saved), (main):
13339         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
13340         * tests/old/examples/Makefile.am:
13341         * tests/old/examples/TODO:
13342         * tests/old/examples/controller/.cvsignore:
13343         * tests/old/examples/controller/Makefile.am:
13344         * tests/old/examples/controller/audio-example.c:
13345         * tests/old/examples/helloworld/.cvsignore:
13346         * tests/old/examples/helloworld/Makefile.am:
13347         * tests/old/examples/helloworld/helloworld.c:
13348         * tests/old/examples/launch/.cvsignore:
13349         * tests/old/examples/launch/Makefile.am:
13350         * tests/old/examples/launch/mp3parselaunch.c:
13351         * tests/old/examples/launch/mp3play:
13352         * tests/old/examples/manual/Makefile.am:
13353         * tests/old/examples/metadata/Makefile.am:
13354         * tests/old/examples/metadata/read-metadata.c:
13355         * tests/old/examples/queue/.cvsignore:
13356         * tests/old/examples/queue/Makefile.am:
13357         * tests/old/examples/queue/queue.c:
13358         * tests/old/examples/typefind/.cvsignore:
13359         * tests/old/examples/typefind/Makefile.am:
13360         * tests/old/examples/typefind/typefind.c:
13361         * tests/old/examples/xml/.cvsignore:
13362         * tests/old/examples/xml/Makefile.am:
13363         * tests/old/examples/xml/createxml.c:
13364         * tests/old/examples/xml/runxml.c:
13365           applied some simple fixing to some examples
13366           re-enabled the working examples
13367
13368 2005-12-12  Wim Taymans  <wim@fluendo.com>
13369
13370         * gst/gstsegment.c: (gst_segment_init),
13371         (gst_segment_set_last_stop), (gst_segment_set_seek),
13372         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
13373         (gst_segment_to_running_time):
13374         Added more documentation.
13375         Make sure the last_pos value is updated properly.
13376         Make sure to_stream_time and to_running_time don't
13377         operate on wrong values.
13378
13379         * tests/check/gst/gstsegment.c: (GST_START_TEST):
13380         Update check.
13381
13382 2005-12-12  Michael Smith  <msmith@fluendo.com>
13383
13384         * plugins/elements/gsttypefindelement.c: (free_entry),
13385         (gst_type_find_element_chain):
13386           Now that we're not leaking factories, make sure we keep references
13387           to them while we need them.
13388
13389 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13390
13391         * tests/check/gst/struct_i386.h:
13392           ifdef out the XML structs
13393
13394 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13395
13396         * gst/gstvalue.c: (gst_value_transform_double_fraction):
13397           floor is not needed, F is always positive; this obviates the
13398           need for adding -lm when building without libxml
13399
13400 2005-12-12  Wim Taymans  <wim@fluendo.com>
13401
13402         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13403         Take current playback rate into account when reporting
13404         the position.
13405
13406 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13407
13408         * docs/manual/mime-world.fig:
13409           Let's try this again, this time with a file that is
13410           actually in XFig format.
13411
13412 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13413
13414         * docs/manual/mime-world.fig:
13415           Add audioconvert element to diagram so that it
13416           matches the text and the code (fixes #319526).
13417
13418 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13419
13420         * docs/pwg/building-chainfn.xml:
13421         * docs/pwg/building-pads.xml:
13422         * docs/pwg/building-state.xml:
13423         * docs/pwg/other-source.xml:
13424           Update state change stuff for 0.10 (fixes #322969).
13425
13426 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13427
13428         * docs/manual/advanced-dataaccess.xml:
13429         * docs/manual/appendix-checklist.xml:
13430         * docs/manual/appendix-programs.xml:
13431         * docs/manual/basics-pads.xml:
13432         * docs/manual/highlevel-components.xml:
13433         * docs/manual/manual.xml:
13434           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
13435           add converters in front of pipelines; remove curly
13436           brackets for threads stuff, they no longer exist; use
13437           GST_TYPE_FRACTION for framerates; update some pieces of
13438           code to 0.10, but there's plenty more to do.
13439
13440         * docs/manual/appendix-porting.xml:
13441           Expand on asynchroneous state changes; s/0.9/0.10/;
13442           mention disappearance of gst_init_get_popt_table()
13443           (fixes #322916).
13444
13445 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
13446
13447         * docs/faq/using.xml:
13448           Spider no longer exists, and neither does gst-launch-ext.
13449           Update examples to use decodebin and playbin and put
13450           converters in front of sinks (fixes #323726).
13451
13452 2005-12-09  Michael Smith  <msmith@fluendo.com>
13453
13454         * plugins/elements/gsttypefindelement.c: (find_peek),
13455         (gst_type_find_element_chain):
13456           Fix leaking element factories in typefinding.
13457           Fix problem where we forgot about a probable type on non-seekable
13458           files, and thus later mis-typefound it.
13459
13460 2005-12-09  Michael Smith  <msmith@fluendo.com>
13461
13462         * common/m4/gst-makecontext.m4:
13463         * common/m4/gst-mcsc.m4:
13464         * configure.ac:
13465         * win32/common/config.h:
13466         * win32/common/config.h.in:
13467           Remove makecontext stuff; not used in 0.10 and causes problems on
13468           HPUX according to bug #322441
13469
13470 2005-12-07  Wim Taymans  <wim@fluendo.com>
13471
13472         * tests/check/Makefile.am:
13473         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
13474         (main):
13475         * tests/check/libs/struct_i386.h:
13476         Added ABI check for libs
13477
13478 2005-12-07  Wim Taymans  <wim@fluendo.com>
13479
13480         * tests/check/Makefile.am:
13481         And add the struct_i386.h to dist.
13482
13483 2005-12-07  Wim Taymans  <wim@fluendo.com>
13484
13485         * tests/check/Makefile.am:
13486         * tests/check/gst/.cvsignore:
13487         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
13488         (main):
13489         * tests/check/gst/struct_i386.h:
13490         Added check for ABI compatibility.
13491
13492 2005-12-07  Wim Taymans  <wim@fluendo.com>
13493
13494         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13495         (gst_fake_src_get_times), (gst_fake_src_create):
13496         Fix broken sync option, fixes #323259
13497
13498 2005-12-07  Wim Taymans  <wim@fluendo.com>
13499
13500         * gst/gstbuffer.c:
13501         Small docs update.
13502
13503         * gst/gstcaps.c: (gst_caps_is_equal):
13504         Don't assert on NULL <--> X. Fixes #323260
13505
13506         * gst/gstminiobject.c: (gst_mini_object_replace):
13507         If we're doing atomic operations, we might just as well use
13508         the proper way to get an atomic pointer.
13509
13510         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13511         Clean up debugging.
13512
13513 2005-12-07  Michael Smith  <msmith@fluendo.com>
13514
13515         * gst/parse/grammar.y:
13516           Remove handling of { } for threads.
13517
13518 2005-12-06  David Schleef  <ds@schleef.org>
13519
13520         * libs/gst/base/gstbasetransform.c: speling fix.
13521
13522 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13523
13524         * docs/libs/tmpl/gstdataprotocol.sgml:
13525         * docs/random/omega/testing/gstobject.c:
13526         * gst/gst.c:
13527         * gst/gstclock.c:
13528         * gst/gstelement.c:
13529         * gst/gstelementfactory.c:
13530         * gst/gsterror.c:
13531         * gst/gstevent.c:
13532         * gst/gstghostpad.c:
13533         * gst/gstinfo.c:
13534         * gst/gstpadtemplate.c:
13535         * gst/gstregistryxml.c:
13536         * gst/gsttaglist.c:
13537         * gst/gsttagsetter.c:
13538         * gst/gsttypefind.c:
13539         * gst/gstvalue.c:
13540         * libs/gst/base/gstbasesrc.c:
13541         * libs/gst/net/gstnetclientclock.c:
13542         * libs/gst/net/gstnettimeprovider.c:
13543         * plugins/elements/gstfakesrc.c:
13544         * plugins/elements/gstfdsrc.c:
13545         * plugins/elements/gstfilesrc.c:
13546         * plugins/elements/gstidentity.c:
13547         * plugins/elements/gstqueue.c:
13548         * plugins/elements/gsttypefindelement.c:
13549         * plugins/indexers/gstfileindex.c:
13550         * plugins/indexers/gstmemindex.c:
13551         * tests/check/gst/gsttag.c:
13552         * tests/old/examples/cutter/cutter.c:
13553         * tests/old/examples/mixer/mixer.c:
13554         * tests/old/examples/xml/runxml.c: (main):
13555         * tests/old/testsuite/caps/normalisation.c:
13556         * tests/old/testsuite/debug/global.c:
13557         * tests/old/testsuite/parse/parse1.c:
13558         * tools/gst-xmlinspect.c:
13559         * win32/common/dirent.c:
13560           expand tabs
13561
13562 === release 0.10.0 ===
13563
13564 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13565
13566         * configure.ac:
13567           releasing 0.10.0, "Maroilles"
13568
13569 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13570
13571         submitted by: Funda Wang <fundawang@linux.net.cn>
13572
13573         * po/LINGUAS:
13574         * po/zh_CN.po:
13575           added Chinese (Traditional) translation
13576
13577 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13578
13579         * docs/gst/gstreamer-sections.txt:
13580         * docs/libs/tmpl/gstdataprotocol.sgml:
13581         * docs/random/thomasvs/TODO:
13582         * gst/gstutils.c:
13583         * gst/gstutils.h:
13584           fix docs
13585
13586 2005-12-05  Andy Wingo  <wingo@pobox.com>
13587
13588         patch by: Wim Taymans <wim@fluendo.com>
13589
13590         * libs/gst/base/gstbasetransform.c
13591         (gst_base_transform_prepare_output_buf)
13592         (gst_base_transform_buffer_alloc):
13593         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
13594         alloc_buffer_and_set_caps.
13595
13596         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
13597         set_caps on the source pad.
13598         (gst_pad_alloc_buffer_and_set_caps): New function, does what
13599         alloc_buffer used to do. Fixes #322874.
13600
13601         * docs/gst/gstreamer-sections.txt: 
13602         * docs/design/part-negotiation.txt: 
13603         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
13604         changes.
13605
13606 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13607
13608         patch by: Sebastien Moutte
13609
13610         * win32/MANIFEST:
13611         * win32/common/config.h.in:
13612         * win32/vs6/libgstcontroller.dsp:
13613           win32 build fixes
13614
13615 2005-12-05  Wim Taymans  <wim@fluendo.com>
13616
13617         * gst/gstcaps.c: (gst_caps_is_equal):
13618         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13619         (gst_fake_src_create):
13620         Back out previous code changes, leave doc updates, file bugs 
13621         instead. 
13622
13623 2005-12-05  Wim Taymans  <wim@fluendo.com>
13624
13625         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
13626         (gst_fake_src_get_times), (gst_fake_src_create):
13627         * plugins/elements/gstfakesrc.h:
13628         Fix broken sync code.
13629
13630 2005-12-05  Wim Taymans  <wim@fluendo.com>
13631
13632         * gst/gstcaps.c: (gst_caps_is_equal):
13633         Comparing NULL against !NULL yields different caps, not a
13634         failure.
13635
13636 2005-12-05  Wim Taymans  <wim@fluendo.com>
13637
13638         * gst/gstpipeline.c:
13639         Fix small typo in docs.
13640
13641 2005-12-05  Andy Wingo  <wingo@pobox.com>
13642
13643         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
13644
13645         * gst/gst.c (init_post): remove hard-coded 0.9 location for
13646         registries/plugins with a MAJORMINOR one.
13647         (plugin_desc): Rename library from gstcoreleements to
13648         staticelements. Fixes #323222.
13649
13650 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
13651
13652         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
13653           Change debug category to 'collectpads' from 'collect_pads'
13654           (fixes #323250).
13655
13656 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13657
13658         patch by: Sebastien Moutte
13659
13660         * libs/gst/controller/gstinterpolation.c:
13661           use convert function for uint64/double
13662         * win32/vs6/libgstcontroller.dsp:
13663           link to GLib
13664
13665 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13666
13667         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
13668         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
13669         * gst/gstutils.h:
13670         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13671           add tests that seem to show that the guint64/gdouble conversions
13672           are correct.
13673
13674 2005-12-02  Wim Taymans  <wim@fluendo.com>
13675
13676         * gst/gstregistry.c: (gst_registry_add_path):
13677         * gst/gstregistry.h:
13678         * gst/gstregistryxml.c:
13679         Fix docs again.
13680
13681 2005-12-02  Wim Taymans  <wim@fluendo.com>
13682
13683         * gst/gstutils.c: (gst_util_uint64_scale_int64),
13684         (gst_util_uint64_scale_int):
13685         Small cleanup.
13686
13687         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13688         Add debug log line.
13689
13690         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
13691         Add FIXME.
13692
13693 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13694
13695         * win32/MANIFEST:
13696         * win32/common/config.h:
13697         * win32/vs6/gstreamer.dsw:
13698         * win32/vs6/libgstcoreelements.dsp:
13699         * win32/vs6/libgstelements.dsp:
13700           renamed core elements plugin
13701
13702 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13703
13704         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
13705         (get_candidates):
13706           do piece-wise major/minor comparison so 0.9 < 0.10
13707           also allow .exe extensions for tools
13708
13709 2005-12-02  Michael Smith  <msmith@fluendo.com>
13710
13711         * gst/gst.c:
13712           Escape a % to make gtkdoc happier; bug 322958.
13713
13714 === release 0.9.7 ===
13715
13716 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
13717
13718         * configure.ac:
13719           releasing 0.9.7, "My Dog Has No Nose"
13720
13721 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13722
13723         * common/gst-xmlinspect.py:
13724         * configure.ac:
13725         * docs/libs/tmpl/gstdataprotocol.sgml:
13726         * docs/random/release:
13727         * po/af.po:
13728         * po/az.po:
13729         * po/bg.po:
13730         * po/ca.po:
13731         * po/cs.po:
13732         * po/de.po:
13733         * po/en_GB.po:
13734         * po/fr.po:
13735         * po/it.po:
13736         * po/nb.po:
13737         * po/nl.po:
13738         * po/ru.po:
13739         * po/sq.po:
13740         * po/sr.po:
13741         * po/sv.po:
13742         * po/tr.po:
13743         * po/uk.po:
13744         * po/vi.po:
13745         * win32/common/config.h:
13746         * win32/common/config.h.in:
13747         * win32/vs6/gst_inspect.dsp:
13748         * win32/vs6/gst_launch.dsp:
13749         * win32/vs6/libgstbase.dsp:
13750         * win32/vs6/libgstelements.dsp:
13751         * win32/vs6/libgstreamer.dsp:
13752         * win32/vs7/GStreamer.vcproj:
13753         * win32/vs7/gst-inspect.vcproj:
13754         * win32/vs7/gst-launch.vcproj:
13755         * win32/vs7/libgstbase.vcproj:
13756           bump GST_MAJORMINOR to 0.10
13757           reset libtool version
13758
13759 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13760
13761         * po/LINGUAS:
13762         * po/bg.po:
13763           Added Bulgarian translation by (Alexander Shopov)
13764
13765 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13766
13767         * tests/check/gst/gstplugin.c:
13768           fix test
13769
13770 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13771
13772         * common/gst-xmlinspect.py:
13773         * common/gtk-doc-plugins.mak:
13774         * configure.ac:
13775         * docs/Makefile.am:
13776         * docs/gst/Makefile.am:
13777         * docs/gst/gstreamer-docs.sgml:
13778         * docs/gst/gstreamer-sections.txt:
13779         * docs/gst/gstreamer.types:
13780         * docs/gst/gstreamer.types.in:
13781         * docs/plugins/Makefile.am:
13782         * docs/plugins/gstreamer-plugins-docs.sgml:
13783         * docs/plugins/gstreamer-plugins-sections.txt:
13784         * docs/plugins/gstreamer-plugins.types:
13785         * docs/plugins/inspect.stamp:
13786         * docs/plugins/inspect/plugin-coreelements.xml:
13787         * docs/plugins/inspect/plugin-coreindexers.xml:
13788         * docs/plugins/scanobj-build.stamp:
13789         * gstreamer.spec.in:
13790         * plugins/elements/Makefile.am:
13791         * plugins/elements/gstelements.c:
13792         * plugins/elements/gstfakesink.c:
13793         * plugins/elements/gstfakesrc.c:
13794         * plugins/elements/gstfilesink.c:
13795         * plugins/elements/gstfilesrc.c:
13796         * plugins/elements/gstqueue.c:
13797         * plugins/indexers/Makefile.am:
13798         * plugins/indexers/gstindexers.c:
13799           document core plugins in a separate document just like all the
13800           others
13801           rename these plugins to something starting with core
13802
13803 2005-12-01  Andy Wingo  <wingo@pobox.com>
13804
13805         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
13806         padding here before, but it missed the commit.
13807
13808 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13809
13810         * libs/gst/controller/gstinterpolation.c:
13811           whitespace prices have crashed, we should feel free to use some now
13812           use gst_guint64_to_gdouble
13813
13814 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * libs/gst/controller/gstcontroller.c:
13817         * libs/gst/controller/gsthelper.c:
13818         * libs/gst/controller/gstinterpolation.c:
13819         * libs/gst/controller/lib.c:
13820           wrap config.h include
13821
13822 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13823
13824         * docs/gst/gstreamer-sections.txt:
13825           update docs
13826
13827 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13828
13829         * plugins/elements/gstelements.c:
13830         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
13831         (gst_fd_sink__class_init), (gst_fd_sink__init),
13832         (gst_fd_sink__chain), (gst_fd_sink__set_property),
13833         (gst_fd_sink__get_property):
13834         * plugins/elements/gstfdsink.h:
13835         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
13836         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
13837         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
13838         (gst_fd_src_unlock), (gst_fd_src_set_property),
13839         (gst_fd_src_get_property), (gst_fd_src_create),
13840         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
13841         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
13842         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
13843         (gst_fd_src_uri_handler_init):
13844         * plugins/elements/gstfdsrc.h:
13845         * plugins/elements/gstqueue.c: (gst_queue_get_type):
13846           more anal cleanup
13847
13848 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13849
13850         * docs/gst/Makefile.am:
13851         * docs/gst/gstreamer.types.in:
13852         * gst/Makefile.am:
13853           fix the docs build
13854
13855 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13856
13857         * configure.ac:
13858         * gst/Makefile.am:
13859         * gst/gst.c:
13860         * gst/gstplugin.h:
13861         * gst/gstregistry.h:
13862         * tests/benchmarks/complexity.c:
13863         * tests/benchmarks/mass-elements.c:
13864         * tests/check/Makefile.am:
13865         * tools/Makefile.am:
13866         * tools/gst-inspect.c:
13867         * tools/gst-xmlinspect.c:
13868           various fixes to make
13869           --disable-nls --disable-registry --disable-loadsave
13870           --disable-parse --disable-gst-debug
13871           work and get the core .so down to 360444 bytes after stripping
13872
13873 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13874
13875         * Makefile.am:
13876         * configure.ac:
13877           descend into tests
13878         * docs/random/thomasvs/TODO:
13879         * tests/Makefile.am:
13880         * tests/README:
13881           add a README
13882
13883 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * win32/GStreamer.vcproj:
13886         * win32/MANIFEST:
13887         * win32/Makefile:
13888         * win32/Makefile.inspect:
13889         * win32/Makefile.launch:
13890         * win32/Makefile.register:
13891         * win32/README.txt:
13892         * win32/gst-inspect.vcproj:
13893         * win32/gst-launch.vcproj:
13894         * win32/gst-register.vcproj:
13895         * win32/gstelements.vcproj:
13896         * win32/gstgetbits.def:
13897         * win32/gstgetbits.vcproj:
13898         * win32/gstreamer-dbg.def:
13899         * win32/gstreamer.def:
13900         * win32/libgstbase.def:
13901         * win32/libgstbase.vcproj:
13902         * win32/link_oldruntime.c:
13903         * win32/mman.c:
13904         * win32/mman.h:
13905         * win32/mman.inl:
13906         * win32/msvc71.sln:
13907           move even more stuff, win32/ is nice and clean now
13908
13909 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13910
13911         * libs/gst/control/.cvsignore:
13912         * win32/MANIFEST:
13913         * win32/config.h:
13914         * win32/dirent.c:
13915         * win32/dirent.h:
13916         * win32/gstbytestream.def:
13917         * win32/gstbytestream.vcproj:
13918         * win32/gstconfig.h:
13919         * win32/gstenumtypes.c:
13920         * win32/gstenumtypes.h:
13921         * win32/gstoptimalscheduler.vcproj:
13922         * win32/gstversion.h:
13923         * win32/gtchar.h:
13924         * win32/testsuite/bins.vcproj:
13925         * win32/testsuite/bytestream.vcproj:
13926         * win32/testsuite/caps.vcproj:
13927         * win32/testsuite/cleanup.vcproj:
13928         * win32/testsuite/clock.vcproj:
13929         * win32/testsuite/debug.vcproj:
13930         * win32/testsuite/dlopen.vcproj:
13931         * win32/testsuite/dynparams.vcproj:
13932         * win32/testsuite/elements.vcproj:
13933         * win32/testsuite/ghostpads.vcproj:
13934         * win32/testsuite/indexers.vcproj:
13935         * win32/testsuite/negotiation.vcproj:
13936         * win32/testsuite/parse.vcproj:
13937         * win32/testsuite/plugin.vcproj:
13938         * win32/testsuite/refcounting.vcproj:
13939         * win32/testsuite/schedulers.vcproj:
13940         * win32/testsuite/states.vcproj:
13941         * win32/testsuite/tags.vcproj:
13942         * win32/testsuite/threads.vcproj:
13943           remove old win32 stuff that isn't maintained and should be
13944           reorganized
13945
13946 2005-11-30  Andy Wingo  <wingo@pobox.com>
13947
13948         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
13949         loading the gst.interfaces python module bork.
13950
13951         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
13952         available since GLib 2.2. Fixes #318031.
13953
13954 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13955
13956         * Makefile.am:
13957         * check/.cvsignore:
13958         * check/Makefile.am:
13959         * check/elements/.cvsignore:
13960         * check/elements/fakesrc.c:
13961         * check/elements/fdsrc.c:
13962         * check/elements/identity.c:
13963         * check/generic/.cvsignore:
13964         * check/generic/states.c:
13965         * check/gst-libs/.cvsignore:
13966         * check/gst-libs/controller.c:
13967         * check/gst-libs/gdp.c:
13968         * check/gst/.cvsignore:
13969         * check/gst/capslist.h:
13970         * check/gst/gst.c:
13971         * check/gst/gstbin.c:
13972         * check/gst/gstbuffer.c:
13973         * check/gst/gstbus.c:
13974         * check/gst/gstcaps.c:
13975         * check/gst/gstelement.c:
13976         * check/gst/gstevent.c:
13977         * check/gst/gstghostpad.c:
13978         * check/gst/gstiterator.c:
13979         * check/gst/gstmessage.c:
13980         * check/gst/gstminiobject.c:
13981         * check/gst/gstobject.c:
13982         * check/gst/gstpad.c:
13983         * check/gst/gstpipeline.c:
13984         * check/gst/gstplugin.c:
13985         * check/gst/gstsegment.c:
13986         * check/gst/gststructure.c:
13987         * check/gst/gstsystemclock.c:
13988         * check/gst/gsttag.c:
13989         * check/gst/gstutils.c:
13990         * check/gst/gstvalue.c:
13991         * check/net/.cvsignore:
13992         * check/net/gstnetclientclock.c:
13993         * check/net/gstnettimeprovider.c:
13994         * check/pipelines/.cvsignore:
13995         * check/pipelines/cleanup.c:
13996         * check/pipelines/simple_launch_lines.c:
13997         * check/pipelines/stress.c:
13998         * check/states/.cvsignore:
13999         * check/states/sinks.c:
14000         * configure.ac:
14001         * examples/Makefile.am:
14002         * examples/appreader/.cvsignore:
14003         * examples/appreader/Makefile.am:
14004         * examples/appreader/appreader.c:
14005         * examples/controller/.cvsignore:
14006         * examples/controller/Makefile.am:
14007         * examples/controller/audio-example.c:
14008         * examples/cutter/.cvsignore:
14009         * examples/cutter/Makefile.am:
14010         * examples/cutter/cutter.c:
14011         * examples/cutter/cutter.h:
14012         * examples/events/Makefile.am:
14013         * examples/events/seek.c:
14014         * examples/helloworld/.cvsignore:
14015         * examples/helloworld/Makefile.am:
14016         * examples/helloworld/helloworld.c:
14017         * examples/helloworld2/.cvsignore:
14018         * examples/helloworld2/Makefile.am:
14019         * examples/helloworld2/helloworld2.c:
14020         * examples/launch/.cvsignore:
14021         * examples/launch/Makefile.am:
14022         * examples/launch/mp3parselaunch.c:
14023         * examples/launch/mp3play:
14024         * examples/manual/.cvsignore:
14025         * examples/manual/Makefile.am:
14026         * examples/manual/extract.pl:
14027         * examples/metadata/Makefile.am:
14028         * examples/metadata/read-metadata.c:
14029         * examples/mixer/.cvsignore:
14030         * examples/mixer/Makefile.am:
14031         * examples/mixer/mixer.c:
14032         * examples/mixer/mixer.h:
14033         * examples/pingpong/.cvsignore:
14034         * examples/pingpong/Makefile.am:
14035         * examples/pingpong/pingpong.c:
14036         * examples/plugins/.cvsignore:
14037         * examples/plugins/Makefile.am:
14038         * examples/plugins/example.c:
14039         * examples/plugins/example.h:
14040         * examples/pwg/.cvsignore:
14041         * examples/pwg/Makefile.am:
14042         * examples/pwg/extract.pl:
14043         * examples/queue/.cvsignore:
14044         * examples/queue/Makefile.am:
14045         * examples/queue/queue.c:
14046         * examples/queue2/.cvsignore:
14047         * examples/queue2/Makefile.am:
14048         * examples/queue2/queue2.c:
14049         * examples/queue3/.cvsignore:
14050         * examples/queue3/Makefile.am:
14051         * examples/queue3/queue3.c:
14052         * examples/queue4/.cvsignore:
14053         * examples/queue4/Makefile.am:
14054         * examples/queue4/queue4.c:
14055         * examples/retag/.cvsignore:
14056         * examples/retag/Makefile.am:
14057         * examples/retag/retag.c:
14058         * examples/retag/transcode.c:
14059         * examples/thread/.cvsignore:
14060         * examples/thread/Makefile.am:
14061         * examples/thread/thread.c:
14062         * examples/typefind/.cvsignore:
14063         * examples/typefind/Makefile.am:
14064         * examples/typefind/typefind.c:
14065         * examples/xml/.cvsignore:
14066         * examples/xml/Makefile.am:
14067         * examples/xml/createxml.c:
14068         * examples/xml/runxml.c:
14069         * tests/Makefile.am:
14070         * tests/check/Makefile.am:
14071         * testsuite/.cvsignore:
14072         * testsuite/Makefile.am:
14073         * testsuite/Rules:
14074         * testsuite/caps/.cvsignore:
14075         * testsuite/caps/Makefile.am:
14076         * testsuite/caps/app_fixate.c:
14077         * testsuite/caps/audioscale.c:
14078         * testsuite/caps/caps.c:
14079         * testsuite/caps/caps.h:
14080         * testsuite/caps/caps_strings:
14081         * testsuite/caps/compatibility.c:
14082         * testsuite/caps/deserialize.c:
14083         * testsuite/caps/enumcaps.c:
14084         * testsuite/caps/eratosthenes.c:
14085         * testsuite/caps/filtercaps.c:
14086         * testsuite/caps/fixed.c:
14087         * testsuite/caps/fraction-convert.c:
14088         * testsuite/caps/fraction-multiply-and-zero.c:
14089         * testsuite/caps/intersect2.c:
14090         * testsuite/caps/intersection.c:
14091         * testsuite/caps/normalisation.c:
14092         * testsuite/caps/random.c:
14093         * testsuite/caps/renegotiate.c:
14094         * testsuite/caps/sets.c:
14095         * testsuite/caps/simplify.c:
14096         * testsuite/caps/string-conversions.c:
14097         * testsuite/caps/structure.c:
14098         * testsuite/caps/subtract.c:
14099         * testsuite/caps/union.c:
14100         * testsuite/debug/.cvsignore:
14101         * testsuite/debug/Makefile.am:
14102         * testsuite/debug/category.c:
14103         * testsuite/debug/commandline.c:
14104         * testsuite/debug/global.c:
14105         * testsuite/debug/output.c:
14106         * testsuite/debug/printf_extension.c:
14107         * testsuite/dlopen/.cvsignore:
14108         * testsuite/dlopen/Makefile.am:
14109         * testsuite/dlopen/dlopen_gst.c:
14110         * testsuite/dlopen/loadgst.c:
14111         * testsuite/elements/.cvsignore:
14112         * testsuite/elements/Makefile.am:
14113         * testsuite/elements/gst-inspect-check.in:
14114         * testsuite/elements/struct_i386.h:
14115         * testsuite/elements/struct_size.c:
14116         * testsuite/indexers/.cvsignore:
14117         * testsuite/indexers/Makefile.am:
14118         * testsuite/indexers/cache1.c:
14119         * testsuite/indexers/indexdump.c:
14120         * testsuite/parse/.cvsignore:
14121         * testsuite/parse/Makefile.am:
14122         * testsuite/parse/parse1.c:
14123         * testsuite/parse/parse2.c:
14124         * testsuite/plugin/.cvsignore:
14125         * testsuite/plugin/Makefile.am:
14126         * testsuite/plugin/README:
14127         * testsuite/plugin/dynamic.c:
14128         * testsuite/plugin/linked.c:
14129         * testsuite/plugin/loading.c:
14130         * testsuite/plugin/registry.c:
14131         * testsuite/plugin/static.c:
14132         * testsuite/plugin/static2.c:
14133         * testsuite/plugin/testplugin.c:
14134         * testsuite/plugin/testplugin2.c:
14135         * testsuite/plugin/testplugin2_s.c:
14136         * testsuite/plugin/testplugin_s.c:
14137         * testsuite/refcounting/.cvsignore:
14138         * testsuite/refcounting/Makefile.am:
14139         * testsuite/refcounting/bin.c:
14140         * testsuite/refcounting/element.c:
14141         * testsuite/refcounting/element_pad.c:
14142         * testsuite/refcounting/mainloop.c:
14143         * testsuite/refcounting/mem.c:
14144         * testsuite/refcounting/mem.h:
14145         * testsuite/refcounting/object.c:
14146         * testsuite/refcounting/pad.c:
14147         * testsuite/refcounting/sched.c:
14148         * testsuite/refcounting/thread.c:
14149         * testsuite/states/.cvsignore:
14150         * testsuite/states/Makefile.am:
14151         * testsuite/states/bin.c:
14152         * testsuite/states/locked.c:
14153         * testsuite/states/parent.c:
14154         * testsuite/threads/.cvsignore:
14155         * testsuite/threads/159566.c:
14156         * testsuite/threads/159852.c:
14157         * testsuite/threads/Makefile.am:
14158         * testsuite/threads/queue.c:
14159         * testsuite/threads/signals.c:
14160         * testsuite/threads/staticrec.c:
14161         * testsuite/threads/thread.c:
14162         * testsuite/threads/threadb.c:
14163         * testsuite/threads/threadc.c:
14164         * testsuite/threads/threadd.c:
14165         * testsuite/threads/threade.c:
14166         * testsuite/threads/threadf.c:
14167         * testsuite/threads/threadg.c:
14168         * testsuite/threads/threadh.c:
14169         * testsuite/threads/threadi.c:
14170           move all of these under tests
14171
14172 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14173
14174         * configure.ac:
14175         * tests/Makefile.am:
14176           fix distcheck
14177
14178 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14179
14180         * docs/gst/gstreamer-sections.txt:
14181         * tests/sched/.cvsignore:
14182         * tests/sched/Makefile.am:
14183         * tests/sched/cases/(fs-fs).xml:
14184         * tests/sched/cases/(fs-i-fs).xml:
14185         * tests/sched/cases/(fs-i-i-fs).xml:
14186         * tests/sched/cases/(fs-i-q[i-fs]).xml:
14187         * tests/sched/dynamic-pipeline.c:
14188         * tests/sched/interrupt1.c:
14189         * tests/sched/interrupt2.c:
14190         * tests/sched/interrupt3.c:
14191         * tests/sched/runtestcases:
14192         * tests/sched/runxml.c:
14193         * tests/sched/sched-stress.c:
14194         * tests/sched/sort.c:
14195         * tests/sched/testcases:
14196         * tests/sched/testcases1.tc:
14197         * tests/seeking/.cvsignore:
14198         * tests/seeking/Makefile.am:
14199         * tests/seeking/seeking1.c:
14200         * tests/threadstate/.cvsignore:
14201         * tests/threadstate/Makefile.am:
14202         * tests/threadstate/test1.c:
14203         * tests/threadstate/test2.c:
14204         * tests/threadstate/threadstate1.c:
14205         * tests/threadstate/threadstate2.c:
14206         * tests/threadstate/threadstate3.c:
14207         * tests/threadstate/threadstate4.c:
14208         * tests/threadstate/threadstate5.c:
14209           remove obsolete tests
14210         * configure.ac:
14211         * tests/bench-complexity.scm:
14212         * tests/bench-mass_elements.scm:
14213         * tests/complexity.c:
14214         * tests/complexity.gnuplot:
14215         * tests/instantiate/.cvsignore:
14216         * tests/instantiate/Makefile.am:
14217         * tests/instantiate/caps.c:
14218         * tests/mass_elements.c:
14219         * tests/network-clock-utils.scm:
14220         * tests/network-clock.scm:
14221         * tests/plot-data:
14222         First pass at cleaning up tests/ dir before moving the rest
14223         Combined with CVS surgery
14224
14225 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14226
14227         * po/POTFILES.in:
14228           queue has moved, update
14229
14230 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14231
14232         * docs/gst/gstreamer-sections.txt:
14233           remove double entries from the docs
14234         * gst/gst_private.h:
14235         * gst/gstinfo.c: (_gst_debug_init):
14236           remove the THREAD debug category
14237         * gst/Makefile.am:
14238         * gst/gstqueue.c:
14239         * gst/gstqueue.h:
14240         * docs/gst/gstreamer.types:
14241         * plugins/elements/gstqueue.c: (gst_queue_get_type),
14242         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
14243           completely move queue and fix up debugging categories
14244
14245 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14246
14247         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14248           make initialization portable, using LL is not
14249
14250 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14251
14252         * win32/common/gstconfig.h:
14253           add large padding
14254
14255 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14256
14257         * win32/common/libgstreamer.def:
14258           rename symbols; sort base section
14259
14260 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14261
14262         * gst/gstclock.c: (do_linear_regression):
14263           remove crack non-portable handrolled DEBUG macro
14264
14265 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14266
14267         * docs/random/release:
14268           update notes
14269         * win32/common/gstenumtypes.c: (register_gst_object_flags),
14270         (gst_object_flags_get_type), (register_gst_bin_flags),
14271         (gst_bin_flags_get_type), (register_gst_buffer_flag),
14272         (gst_buffer_flag_get_type), (register_gst_bus_flags),
14273         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
14274         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
14275         (gst_caps_flags_get_type), (register_gst_clock_return),
14276         (gst_clock_return_get_type), (register_gst_clock_entry_type),
14277         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
14278         (gst_clock_flags_get_type), (register_gst_state),
14279         (gst_state_get_type), (register_gst_state_change_return),
14280         (gst_state_change_return_get_type), (register_gst_state_change),
14281         (gst_state_change_get_type), (register_gst_element_flags),
14282         (gst_element_flags_get_type), (register_gst_core_error),
14283         (gst_core_error_get_type), (register_gst_library_error),
14284         (gst_library_error_get_type), (register_gst_resource_error),
14285         (gst_resource_error_get_type), (register_gst_stream_error),
14286         (gst_stream_error_get_type), (register_gst_event_type_flags),
14287         (gst_event_type_flags_get_type), (register_gst_event_type),
14288         (gst_event_type_get_type), (register_gst_seek_type),
14289         (gst_seek_type_get_type), (register_gst_seek_flags),
14290         (gst_seek_flags_get_type), (register_gst_format),
14291         (gst_format_get_type), (register_gst_index_certainty),
14292         (gst_index_certainty_get_type), (register_gst_index_entry_type),
14293         (gst_index_entry_type_get_type),
14294         (register_gst_index_lookup_method),
14295         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
14296         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
14297         (gst_index_resolver_method_get_type), (register_gst_index_flags),
14298         (gst_index_flags_get_type), (register_gst_debug_level),
14299         (gst_debug_level_get_type), (register_gst_debug_color_flags),
14300         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
14301         (gst_iterator_result_get_type), (register_gst_iterator_item),
14302         (gst_iterator_item_get_type), (register_gst_message_type),
14303         (gst_message_type_get_type), (register_gst_mini_object_flags),
14304         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
14305         (gst_pad_link_return_get_type), (register_gst_flow_return),
14306         (gst_flow_return_get_type), (register_gst_activate_mode),
14307         (gst_activate_mode_get_type), (register_gst_pad_direction),
14308         (gst_pad_direction_get_type), (register_gst_pad_flags),
14309         (gst_pad_flags_get_type), (register_gst_pad_presence),
14310         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
14311         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
14312         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
14313         (gst_plugin_error_get_type), (register_gst_plugin_flags),
14314         (gst_plugin_flags_get_type), (register_gst_rank),
14315         (gst_rank_get_type), (register_gst_query_type),
14316         (gst_query_type_get_type), (register_gst_tag_merge_mode),
14317         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
14318         (gst_tag_flag_get_type), (register_gst_task_state),
14319         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
14320         (gst_alloc_trace_flags_get_type),
14321         (register_gst_type_find_probability),
14322         (gst_type_find_probability_get_type), (register_gst_uri_type),
14323         (gst_uri_type_get_type), (register_gst_parse_error),
14324         (gst_parse_error_get_type):
14325         * win32/common/gstenumtypes.h:
14326         * win32/common/gstversion.h:
14327           update visual studio generated files
14328
14329 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14330
14331         * win32/vs6/libgstbase.dsp:
14332         * win32/vs6/libgstelements.dsp:
14333           update project files for new locations
14334
14335 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
14336
14337         * Makefile.am:
14338           remove some files
14339         * README:
14340           reinstate and update
14341         * DEVEL:
14342         * REQUIREMENTS:
14343           removed
14344         * LICENSE:
14345         * docs/random/LICENSE:
14346           moved to random
14347
14348 2005-11-30  Edward Hervey  <edward@fluendo.com>
14349
14350         * gst/gsttypefind.c: (gst_type_find_register):
14351         * gst/gsttypefind.h:
14352         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
14353         (gst_type_find_factory_dispose):
14354         * gst/gsttypefindfactory.h:
14355         Fix memory leak in GstTypeFindFactory.
14356
14357 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14358
14359         * gst/gst.c:
14360         * plugins/elements/Makefile.am:
14361         * plugins/elements/gstelements.c:
14362         * plugins/elements/gstqueue.c:
14363           move queue from core to the elements plugin
14364
14365 2005-11-29  Andy Wingo  <wingo@pobox.com>
14366
14367         * libs/gst/base/gstbasetransform.h: 
14368         * libs/gst/base/gstbasesrc.h: 
14369         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
14370
14371         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
14372         of pointers by which to pad very extensible base classes (like the
14373         ones in libs/gst/base).
14374
14375 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14376
14377         * docs/gst/gstreamer-docs.sgml:
14378         * docs/gst/gstreamer-sections.txt:
14379         * docs/libs/gstreamer-libs-docs.sgml:
14380         * docs/libs/gstreamer-libs-sections.txt:
14381           moving documentation from core to lib
14382
14383 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14384
14385         * check/Makefile.am:
14386         * configure.ac:
14387         * docs/gst/Makefile.am:
14388         * gst/Makefile.am:
14389         * gst/base/.cvsignore:
14390         * gst/base/Makefile.am:
14391         * gst/base/README:
14392         * gst/base/gstadapter.c:
14393         * gst/base/gstadapter.h:
14394         * gst/base/gstbasesink.c:
14395         * gst/base/gstbasesink.h:
14396         * gst/base/gstbasesrc.c:
14397         * gst/base/gstbasesrc.h:
14398         * gst/base/gstbasetransform.c:
14399         * gst/base/gstbasetransform.h:
14400         * gst/base/gstcollectpads.c:
14401         * gst/base/gstcollectpads.h:
14402         * gst/base/gstpushsrc.c:
14403         * gst/base/gstpushsrc.h:
14404         * gst/base/gsttypefindhelper.c:
14405         * gst/base/gsttypefindhelper.h:
14406         * gst/check/Makefile.am:
14407         * gst/check/gstcheck.c:
14408         * gst/check/gstcheck.h:
14409         * gst/net/Makefile.am:
14410         * gst/net/gstnet.h:
14411         * gst/net/gstnetclientclock.c:
14412         * gst/net/gstnetclientclock.h:
14413         * gst/net/gstnettimepacket.c:
14414         * gst/net/gstnettimepacket.h:
14415         * gst/net/gstnettimeprovider.c:
14416         * gst/net/gstnettimeprovider.h:
14417         * libs/gst/Makefile.am:
14418         * libs/gst/base/Makefile.am:
14419         * libs/gst/base/gstbasetransform.c:
14420         * libs/gst/check/Makefile.am:
14421         * plugins/elements/Makefile.am:
14422         * po/POTFILES.in:
14423           CVS surgery + support to move base, check, and net out of gst
14424           and into libs/gst
14425
14426 2005-11-29  Andy Wingo  <wingo@pobox.com>
14427
14428         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
14429
14430         * gst/gststructure.h (struct _GstStructure): Only one pointer of
14431         padding.
14432
14433         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
14434
14435         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
14436
14437         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
14438
14439         * gst/gstobject.h: (struct _GstObject): Only one pointer of
14440         padding; reduces object size by about 30%. We don't expect
14441         anything else to go into gstobject.
14442
14443         * gst/gstminiobject.h (struct _GstMiniObject)
14444         (struct _GstMiniObjectClass): Only one pointer of padding; the
14445         payload is only a pointer and two ints anyway. For the class there
14446         are only two methods as well.
14447         
14448         * gst/gstelement.h (struct _GstElementClass): Removed
14449         the state_changed signal callback, it is not used.
14450
14451 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14452
14453         * docs/gst/gstreamer.types:
14454           fix includes, though they are a little dinky
14455
14456 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14457
14458         * check/Makefile.am:
14459           look in the right place for elements, a lot more chance of
14460           success
14461         * gst/Makefile.am:
14462           remove indexers and elements subdirs
14463         * plugins/Makefile.am:
14464           make indexers conditional
14465
14466 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14467
14468         * Makefile.am:
14469         * configure.ac:
14470         * plugins/elements/Makefile.am:
14471         * plugins/elements/gstcapsfilter.c:
14472         * plugins/elements/gstfilesink.c:
14473         * plugins/elements/gstfilesrc.c:
14474         * plugins/elements/gstidentity.c:
14475         * plugins/indexers/Makefile.am:
14476           do CVS surgery and related build fixery to move elements
14477           and indexers in a new gstreamer/plugins directory, out of the
14478           gst/ directory
14479
14480 2005-11-29  Andy Wingo  <wingo@pobox.com>
14481
14482         * check/Makefile.am:
14483         * pkgconfig/gstreamer-net-uninstalled.pc.in:
14484         * pkgconfig/gstreamer-net.pc.in:
14485         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
14486         #322257.
14487
14488 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14489
14490         * tools/Makefile.am:
14491         * tools/gst-complete.1.in:
14492         * tools/gst-complete.c:
14493         * tools/gst-compprep.1.in:
14494         * tools/gst-compprep.c:
14495           removing -compprep and -complete
14496
14497 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14498
14499         * gst/gstevent.c: (gst_event_new_new_segment),
14500         (gst_event_parse_new_segment):
14501         * gst/gstevent.h:
14502           fix #320529 - clean up new_segment API and structure.
14503           Let's hope everyone was using the methods, and not the structure.
14504
14505 2005-11-29  Edward Hervey  <edward@fluendo.com>
14506
14507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14508         (gst_base_sink_event), (gst_base_sink_do_sync),
14509         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14510         Properly handle non GST_FORMAT_TIME segment
14511         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
14512         Properly handle non GST_FORMAT_TIME segment
14513         * gst/gstsegment.c:
14514         This function is valid if the accumulator is 0 and the format
14515         is different from the requested format.
14516         
14517 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14518
14519         * docs/gst/gstreamer-sections.txt:
14520         Add gst_query_new_seeking and gst_query_parse_seeking to the
14521         docs.
14522
14523 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
14524
14525         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14526           Treat a pad alloc with new caps the same as if we were not
14527           negotiated, in order to allow a changing upstream output
14528           to produce a new format of data.
14529
14530 2005-11-29  Edward Hervey  <edward@fluendo.com>
14531
14532         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14533         (gst_base_transform_event), (gst_base_transform_eventfunc):
14534         The event virtual method is now properly implemented, with a default
14535         handler
14536         Sub classes should call the parent_class event method. They should
14537         return FALSE if they had a problem handling the given event, or don't
14538         want GstBaseTransform to send that even downstream
14539         * gst/elements/gstidentity.c: (gst_identity_class_init),
14540         (gst_identity_init), (gst_identity_event),
14541         (gst_identity_transform_ip), (gst_identity_set_property),
14542         (gst_identity_get_property):
14543         * gst/elements/gstidentity.h:
14544         Added the single-segment boolean property.
14545         If set to TRUE, it will output a single segment of data, starting from
14546         0, will eat up all incoming newsegment, and modify the timestamp of the
14547         buffers accordingly
14548
14549 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
14550
14551         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
14552           Don't ref NULL target pad (#322751). Improve docs.
14553
14554 2005-11-29  Michael Smith  <msmith@fluendo.com>
14555
14556         * gst/gstregistryxml.c: (load_plugin):
14557           Don't crash if we failed to load a feature from a plugin. 
14558
14559 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14560
14561         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14562         (GST_START_TEST):
14563           use more check API and less GLib API
14564
14565 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14566
14567         * Makefile.am:
14568           don't run checks if we don't have check
14569         * common/check.mak:
14570           remove the registry when running make torture
14571         * docs/gst/gstreamer-sections.txt:
14572           remove second multiply
14573         * gst/gstqueue.c: (gst_queue_loop):
14574           fix a compile warning when disabling debug
14575
14576 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14577
14578         * gst/gstinfo.h:
14579         Hey! Let's print the pad name if the pointer != NULL instead
14580         of when it == NULL :-)
14581
14582 2005-11-28  Wim Taymans  <wim@fluendo.com>
14583
14584         * check/gst/gstutils.c: (GST_START_TEST):
14585         Updated check, add some scaling accuracy checking code.
14586
14587         * gst/gstutils.c: (gst_util_div128_64),
14588         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
14589         (gst_util_uint64_scale_int):
14590         Fix 6 times faster division code. Optimize for common 
14591         1/1 and less common X/1 cases.
14592
14593 2005-11-28  Wim Taymans  <wim@fluendo.com>
14594
14595         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14596         More checks.
14597
14598         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
14599         (do_linear_regression), (gst_clock_add_observation):
14600         Cleanups.
14601         Release lock when the clock cannot be slaved.
14602         Catch the case where the regression returned an invalid denominator.
14603
14604         * gst/gstutils.c: (gst_util_div128_64_iterate),
14605         (gst_util_div128_64), (gst_util_uint64_scale_int64),
14606         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14607         Add protentially more performant non-iterative 128/64 divide function
14608         that unfortunatly does not work yet.
14609         Shortcut the trivial 0/X = 0 case.
14610         Remove the warnings on overflow.
14611
14612 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14613
14614         * gst/gstplugin.c: (gst_plugin_register_func):
14615           everything causing a plugin not to load should be at least a WARNING
14616
14617 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
14618
14619         * docs/random/ensonic/dparams.txt:
14620           some TODOs for the next dev cycle
14621         * libs/gst/controller/gstcontroller.c:
14622         (gst_controlled_property_set_interpolation_mode),
14623         (gst_controlled_property_new):
14624         * libs/gst/controller/gstcontroller.h:
14625           use base type to assign acccessor functions
14626
14627 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14628
14629         * check/Makefile.am:
14630         Oops, that should have been top_srcdir
14631
14632 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
14633
14634         * check/Makefile.am:
14635         * check/elements/fdsrc.c: (GST_START_TEST):
14636         Use a cmdline define to specify the location of a file to use for
14637         testing, to avoid breaking distcheck.
14638
14639 2005-11-28  Andy Wingo  <wingo@pobox.com>
14640
14641         * gst/gstpad.c (fixate_value): Use array functions for arrays.
14642
14643 2005-11-28  Edward Hervey  <edward@fluendo.com>
14644
14645         * tools/gst-launch.c: (main):
14646         Clarify the output strings, makes it easier to translate.
14647         Fixes #322626
14648
14649 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14650
14651         * gst/Makefile.am:
14652           don't try and build net if we don't even have <sys/socket.h>
14653
14654 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
14655
14656         * check/Makefile.am:
14657         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
14658         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
14659           Add tests for fdsrc seekability
14660
14661         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
14662         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
14663         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
14664         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
14665         * gst/elements/gstfdsrc.h:
14666           fdsrc should not be a 'live' source.
14667           Implement seeking on seekable fd's.
14668
14669         * gst/gstquery.c: (gst_query_new_seeking),
14670         (gst_query_parse_seeking):
14671         * gst/gstquery.h:
14672           Implement SEEKING query functions: 
14673             *_new_seeking and *_parse_seeking
14674
14675 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
14676
14677         * gst/gstelement.c: (gst_element_dispose):
14678           don't loop forever
14679
14680         * gst/gstiterator.c:
14681         * gst/gststructure.c:
14682           doc fixes
14683
14684         * libs/gst/controller/gstcontroller.c:
14685         (gst_controlled_property_set_interpolation_mode):
14686         * libs/gst/controller/gstcontroller.h:
14687         * libs/gst/controller/gstinterpolation.c:
14688         (interpolate_none_get_enum_value_array):
14689           support controlling enums
14690
14691 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14692
14693         * gst/gstvalue.c:
14694           Improve documentation for gst_value_union().
14695
14696         * gst/gstvalue.h:
14697           Change return value for union, intersect and subtract functions
14698           from gint to gboolean.
14699
14700 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
14701
14702         * gst/gstvalue.c: (gst_value_serialize_any_list),
14703         (gst_value_transform_any_list_string),
14704         (gst_value_deserialize_list), (gst_value_deserialize_array),
14705         (gst_value_set_int_range), (gst_value_deserialize_int_range),
14706         (gst_value_set_double_range), (gst_value_deserialize_double_range),
14707         (gst_value_set_fraction_range_full),
14708         (gst_value_deserialize_fraction_range),
14709         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
14710         (gst_value_deserialize_boolean),
14711         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
14712         (gst_value_serialize_float), (gst_value_deserialize_float),
14713         (gst_string_wrap), (gst_value_deserialize_string),
14714         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
14715         (gst_value_union_int_range_int_range),
14716         (gst_value_intersect_int_range_int_range),
14717         (gst_value_intersect_double_range_double_range),
14718         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
14719         (gst_value_subtract_int_range_int_range),
14720         (gst_value_subtract_double_double_range),
14721         (gst_value_subtract_double_range_double_range),
14722         (gst_value_deserialize_fraction):
14723         * gst/gstvalue.h:
14724           Use gint, gdouble and gchar in our API instead of int, double and
14725           char (and make usage in gstvalue.c more consistent).
14726
14727 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14728
14729         * check/Makefile.am:
14730         * libs/gst/controller/Makefile.am:
14731         * libs/gst/dataprotocol/Makefile.am:
14732           fix up Makefile.am and remove GST_ENABLE_NEW
14733
14734 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14735
14736         * configure.ac:
14737         * gst/Makefile.am:
14738         * gst/base/Makefile.am:
14739         * gst/check/Makefile.am:
14740         * gst/elements/Makefile.am:
14741         * gst/net/Makefile.am:
14742           update LDFLAGS use some more
14743
14744 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14745
14746         * common/m4/gst-doc.m4:
14747           Fixes #312589
14748
14749 2005-11-26  Edward Hervey  <edward@fluendo.com>
14750
14751         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14752         This shouldn't issue a g_warning since it returns NULL if it
14753         couldn't find the plugin, and all functions using this behave
14754         properly on a NULL return. Switching to a GST_WARNING.
14755
14756 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
14757
14758         * gst/gstbin.c: (gst_bin_handle_message_func):
14759         Don't leak clock messages.
14760
14761 2005-11-25  Wim Taymans  <wim@fluendo.com>
14762
14763         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14764         (gst_util_uint64_scale_int):
14765         Optimisations, remove unneeded vars.
14766
14767 2005-11-25  Wim Taymans  <wim@fluendo.com>
14768
14769         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14770         Added more checks for the high precision uint64 cases.
14771
14772         * gst/gstutils.c: (gst_util_uint64_scale_int64),
14773         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
14774         Implement high precision (guint64 * guint64) / guint64.
14775
14776 2005-11-24  Wim Taymans  <wim@fluendo.com>
14777
14778         * gst/base/gstbasesrc.c: (gst_base_src_query):
14779         Fix wrong percentage query.
14780
14781         * gst/gstutils.c: (gst_util_uint64_scale),
14782         (gst_util_uint64_scale_int):
14783         Add some more common cases that can be handled 
14784         efficiently to _scale.
14785
14786 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14787
14788         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
14789         (gst_mini_object_suite):
14790           don't use check calls from threads; check probably isn't
14791           threadsafe and using a lock to make it threadsafe would
14792           defeat the purpose of this check
14793         * gst/check/gstcheck.c:
14794         * gst/check/gstcheck.h:
14795           use GST_DEBUG some more
14796
14797 2005-11-24  Wim Taymans  <wim@fluendo.com>
14798
14799         * gst/gstutils.c: (gst_util_uint64_scale),
14800         (gst_util_uint64_scale_int):
14801         Chain trivial case to _scale_int.
14802
14803 2005-11-24  Wim Taymans  <wim@fluendo.com>
14804
14805         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14806         Added test for scaling.
14807
14808         * gst/gstclock.h:
14809         Small doc fix.
14810
14811         * gst/gstutils.c: (gst_util_uint64_scale_int):
14812         Implemented high precision scaling code.
14813
14814 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
14815
14816         * gst/gstinfo.h:
14817           do not crash on pad==NULL
14818
14819 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14820
14821         Patch by: Stefan Kost
14822
14823         * common/gtk-doc.mak:
14824         * docs/gst/Makefile.am:
14825         * docs/libs/Makefile.am:
14826           Fix distcheck issues for the libraries docs build
14827           Closes #319599.
14828
14829 2005-11-24  Michael Smith <msmith@fluendo.com>
14830
14831         * docs/manual/basics-helloworld.xml:
14832           Fix bug #315027: memory leak in example code in docs.
14833
14834 2005-11-24  Michael Smith <msmith@fluendo.com>
14835
14836         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14837           Unlock the PREROLL_LOCK in a failure case.
14838
14839 2005-11-24  Wim Taymans  <wim@fluendo.com>
14840
14841         * docs/gst/gstreamer-sections.txt:
14842         * gst/base/gstadapter.h:
14843         * gst/base/gstbasesink.h:
14844         * gst/base/gstbasesrc.h:
14845         * gst/base/gstbasetransform.h:
14846         * gst/base/gstpushsrc.h:
14847         * gst/elements/gstfakesink.h:
14848         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
14849         * gst/elements/gstfakesrc.h:
14850         * gst/elements/gstfilesink.h:
14851         * gst/elements/gstfilesrc.h:
14852         * gst/gst.c:
14853         * gst/gstbin.c:
14854         * gst/gstbuffer.c: (_gst_buffer_copy):
14855         * gst/gstbus.h:
14856         * gst/gstcaps.c:
14857         * gst/gstchildproxy.c:
14858         * gst/gstclock.c:
14859         * gst/gstelement.c:
14860         * gst/gstelementfactory.c:
14861         * gst/gstelementfactory.h:
14862         * gst/gstevent.c:
14863         * gst/gstghostpad.h:
14864         * gst/gstindex.h:
14865         * gst/gstinterface.h:
14866         * gst/gstminiobject.c:
14867         * gst/gstminiobject.h:
14868         * gst/gstpad.c:
14869         * gst/gstpad.h:
14870         * gst/gstpadtemplate.h:
14871         * gst/gstpipeline.h:
14872         * gst/gstpluginfeature.h:
14873         * gst/gstquery.h:
14874         * gst/gstqueue.h:
14875         * gst/gsttaglist.c:
14876         * gst/gsttaglist.h:
14877         * gst/gsttagsetter.c:
14878         * gst/gsttagsetter.h:
14879         * gst/gsttrace.c:
14880         * gst/gsttrace.h:
14881         * gst/gsttypefind.h:
14882         * gst/gsturi.h:
14883         * gst/gstvalue.c:
14884         * gst/net/gstnetclientclock.c:
14885         * gst/net/gstnetclientclock.h:
14886         * gst/net/gstnettimepacket.c:
14887         * gst/net/gstnettimeprovider.c:
14888         * gst/net/gstnettimeprovider.h:
14889         Doc fixes.
14890
14891 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14892
14893         * configure.ac: back to HEAD
14894
14895 === release 0.9.6 ===
14896
14897 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
14898
14899         * configure.ac:
14900           releasing 0.9.6, "Always On Time"
14901
14902 2005-11-23  Wim Taymans  <wim@fluendo.com>
14903
14904         * docs/gst/gstreamer-sections.txt:
14905         * gst/glib-compat.c:
14906         * gst/gsttagsetter.c:
14907         * gst/gstvalue.c:
14908         * gst/net/gstnetclientclock.c:
14909         * gst/net/gstnettimepacket.h:
14910         Doc updates.
14911
14912 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14913
14914         * docs/faq/using.xml:
14915         * docs/libs/tmpl/gstcontrol.sgml:
14916         * docs/manual/advanced-dparams.xml:
14917         * docs/manual/appendix-checklist.xml:
14918         * docs/manual/basics-elements.xml:
14919         * docs/pwg/other-source.xml:
14920         * docs/random/moving-plugins:
14921         * gst/gstpad.c:
14922         * tools/gst-launch.1.in:
14923           remove mentions of sinesrc
14924
14925 2005-11-23  Michael Smith <msmith@fluendo.com>
14926
14927         * docs/gst/gstreamer-sections.txt:
14928           Update for new API and API changes.
14929         * gst/gstobject.h:
14930           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
14931         * gst/gstvalue.c:
14932           Documentation typo fix.
14933         * gst/net/gstnettimepacket.c:
14934           Documentation fixes for arguments.
14935
14936 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
14937
14938         * gst/gststructure.c: (gst_structure_get_fraction),
14939         (gst_structure_parse_value),
14940         (gst_structure_fixate_field_nearest_fraction):
14941         * gst/gststructure.h:
14942         * gst/gstutils.c: (gst_util_uint64_scale_int):
14943         * gst/gstutils.h:
14944         * scripts/update-funcnames:
14945         API Changes. 
14946         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
14947         Make gst_structure_fixate_field_nearest_fraction take a numerator
14948         and denominator argument instead of a GValue
14949         add gst_structure_get_fraction helper function.
14950
14951 2005-11-23  Wim Taymans  <wim@fluendo.com>
14952
14953         * docs/design/part-TODO.txt:
14954         Update TODO.
14955
14956         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
14957         * gst/net/gstnetclientclock.h:
14958         Use parent fields for timeout and window_size.
14959
14960 2005-11-23  Andy Wingo  <wingo@pobox.com>
14961
14962         * check/net/gstnetclientclock.c (test_functioning): Adjust to
14963         rate_num/rate_denom change.
14964
14965         * gst/net/gstnetclientclock.c
14966         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
14967         OBJECT_LOCK. Don't call add_observation with the lock.
14968
14969         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
14970         fraction.
14971         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
14972         rate fraction.
14973         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
14974         deal with rate as a fraction whose numerator and denominator are
14975         GstClockTime values.
14976         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
14977         master; the other fields are protected by the SLAVE_LOCK.
14978         (do_linear_regression): Note that this must be called with the
14979         SLAVE_LOCK.
14980         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
14981         OBJECT_LOCK. Call set_calibration instead of touching the
14982         variables directly.
14983         (gst_clock_set_property, gst_clock_get_property): Protect
14984         master/slave parameters with the SLAVE_LOCK.
14985
14986         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
14987         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
14988         note that all of the instance variables that add_observation and
14989         the set_master functions use are protected by that lock and not
14990         the OBJECT_LOCK.
14991         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
14992
14993         * gst/gstclock.c (gst_clock_add_observation): No longer requires
14994         the caller to take the object lock.
14995
14996 2005-11-23  Wim Taymans  <wim@fluendo.com>
14997
14998         * gst/gsterror.c: (_gst_core_errors_init):
14999         * gst/gsterror.h:
15000         Add error for clock stuff.
15001
15002         * gst/gstpipeline.c: (gst_pipeline_change_state),
15003         (gst_pipeline_set_clock):
15004         Post clock error when clock cannot be used in a pipeline.
15005
15006 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
15007
15008         * docs/gst/gstreamer-sections.txt:
15009           make two symbols from gstinfo private for the docs
15010         * gst/base/gstcollectpads.h:
15011         * gst/gstutils.c:
15012           fix doc typos, update docs
15013
15014 2005-11-22  Wim Taymans  <wim@fluendo.com>
15015
15016         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15017         (gst_base_sink_wait), (gst_base_sink_do_sync),
15018         (gst_base_sink_handle_event):
15019         * gst/base/gstbasesink.h:
15020         No need to store the clock, the parent element class already
15021         has it.
15022
15023         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
15024         Updates for clock_set returning a gboolean
15025
15026         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
15027         (gst_clock_id_wait_async), (gst_clock_class_init),
15028         (gst_clock_init), (gst_clock_finalize),
15029         (gst_clock_get_internal_time), (gst_clock_get_time),
15030         (gst_clock_slave_callback), (gst_clock_set_master),
15031         (gst_clock_get_master), (do_linear_regression),
15032         (gst_clock_add_observation), (gst_clock_set_property),
15033         (gst_clock_get_property):
15034         * gst/gstclock.h:
15035         Implement master/slave. When setting a clock as a slave, a
15036         periodic timeout is scheduled to sample master and slave times.
15037         Then the slave clock is recalibrated to match offset and rate
15038         of the master clock.
15039         Update logging a bit.
15040         Add flag so that a clock can state that is cannot be slaved to
15041         another clock.
15042
15043         * gst/gstelement.c: (gst_element_set_clock):
15044         * gst/gstelement.h:
15045         The set clock returns a gboolean for when an element cannot
15046         deal with the selected clock in the pipeline. 
15047
15048         * gst/gstpipeline.c: (gst_pipeline_change_state),
15049         (gst_pipeline_set_clock):
15050         * gst/gstpipeline.h:
15051         Handle the case where the selected clock cannot be set on
15052         the pipeline.
15053
15054         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
15055         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
15056         (gst_net_client_clock_set_property),
15057         (gst_net_client_clock_get_property),
15058         (gst_net_client_clock_observe_times):
15059         * gst/net/gstnetclientclock.h:
15060         Use regression code in GstClock parent, remove duplicated
15061         functionality.
15062
15063 2005-11-22  Michael Smith <msmith@fluendo.com>
15064
15065         * gst/gstutils.c: (gst_util_clock_time_scale):
15066         * gst/gstutils.h:
15067         * docs/gst/gstreamer-sections.txt:
15068           Rename method to have extra underscore.
15069
15070 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15071
15072         * gst/elements/Makefile.am:
15073         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
15074         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15075         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15076         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
15077         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
15078         * gst/elements/gstfakesrc.h:
15079         * gst/gstqueue.c: (queue_leaky_get_type):
15080           correctly fix GEnumValues so that nick is the short lowercase
15081           dashed tag
15082         * tools/gst-inspect.c: (print_element_properties_info):
15083           also show the nick, since it's useful to use from parse_launch
15084           syntax
15085           Fixes #322139
15086
15087 2005-11-22  Michael Smith <msmith@fluendo.com>
15088
15089         * gst/gstutils.c: (gst_util_clocktime_scale):
15090         * gst/gstutils.h:
15091         * docs/gst/gstreamer-sections.txt:
15092           Add util method for scaling a clocktime by a fraction. Useful 
15093           implementation is left as an exercise for the reader.
15094
15095 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15096
15097         * gst/gstvalue.c: (gst_value_collect_fraction_range):
15098         If needed, allocate storage in the destination value during
15099         collection.
15100
15101 2005-11-22  Edward Hervey  <edward@fluendo.com>
15102
15103         * docs/gst/gstreamer-sections.txt:
15104         * gst/Makefile.am:
15105         * gst/gst.h:
15106         * gst/gsturitype.c:
15107         * gst/gsturitype.h:
15108         * gst/gstutils.c: (gst_util_set_object_arg):
15109         * tools/gst-compprep.c: (main):
15110         * tools/gst-inspect.c: (print_element_properties_info):
15111         Removed GstURI, closes bug #321061
15112
15113 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15114
15115         * check/gst/gststructure.c: (GST_START_TEST):
15116         * gst/gststructure.c: (gst_structure_parse_value):
15117           Oops, broke automatic string type parsing.
15118           Add a test to catch it in future.
15119
15120 2005-11-22  Andy Wingo  <wingo@pobox.com>
15121
15122         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
15123         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
15124         Actually rename the function implementations. Grr.
15125
15126 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15127
15128         * check/gst/capslist.h:
15129           Comment test cases
15130         * check/gst/gststructure.c: (GST_START_TEST),
15131         (gst_structure_suite):
15132           Test automatic value type detection in gst_structure_from_string.
15133         * gst/gststructure.c: (gst_structure_parse_value):
15134           Add fraction as a type we try and guess automatically in
15135           caps/structure strings.
15136
15137 2005-11-22  Andy Wingo  <wingo@pobox.com>
15138
15139         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
15140
15141         * gst/gsttagsetter.h:
15142         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
15143         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
15144         (gst_tag_setter_add_tag_valist)
15145         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
15146         _add_values, _add_valist, and _add_valist_values. Since this is an
15147         interface the function suffixes should be more explicit so
15148         language binding don't end up with element.add_valist ->
15149         gst_tag_setter_add_valist, for example. Fixes #322069.
15150
15151 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15152
15153         * check/gst/gstcaps.c: (GST_START_TEST):
15154           Extend caps string tests to check that a caps to string
15155           conversion is reversible and produces the same caps.
15156
15157         * gst/gststructure.c: (gst_structure_value_get_generic_type):
15158           Output "fraction" as the generic type fraction range, so caps
15159           serialisation and deserialisation works.
15160         * check/gst/capslist.h:
15161         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15162           Support 'MIN' and 'MAX' for deserialising fractions.
15163
15164 2005-11-22  Andy Wingo  <wingo@pobox.com>
15165
15166         * gst/gstevent.h (gst_event_new_new_segment)
15167         (gst_event_parse_new_segment, gst_event_new_buffer_size)
15168         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
15169         Renamed from *_newsegment, *_buffersize, *_notarget.
15170
15171         * scripts/update-funcnames: New script, performs the changes
15172         listed above.
15173
15174 2005-11-22  Wim Taymans  <wim@fluendo.com>
15175
15176         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15177         Make sure the GstFlowReturn is returned.
15178
15179         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
15180         (gst_bus_add_signal_watch):
15181         * gst/gstbus.h:
15182         add gst_bus_add_signal_watch_full.
15183
15184         * gst/gstplugin.c: (gst_plugin_load_file):
15185         Small style cleanup.
15186
15187 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15188
15189         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
15190           Block the fakesrc srcpad when we send an event, to avoid
15191           contention on the stream_lock causing random test failures.
15192
15193 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15194
15195         * check/gst/gstvalue.c: (GST_START_TEST):
15196         * gst/gstvalue.c: (gst_value_fraction_subtract):
15197           Fix subtraction.
15198
15199 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
15200
15201         * gst/gst.h:
15202           include "gstchildproxy.h"
15203         * gst/gstchildproxy.h:
15204         * libs/gst/controller/gstcontroller.h:
15205           use G_GNUC_NULL_TERMINATED
15206
15207 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
15208
15209         * check/gst/capslist.h:
15210         * check/gst/gstcaps.c: (GST_START_TEST):
15211         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15212         * gst/gststructure.c: (gst_structure_parse_range),
15213         (gst_structure_fixate_field_nearest_fraction):
15214         * gst/gststructure.h:
15215         * gst/gstvalue.c: (gst_value_init_fraction_range),
15216         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
15217         (gst_value_collect_fraction_range),
15218         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
15219         (gst_value_set_fraction_range_full),
15220         (gst_value_get_fraction_range_min),
15221         (gst_value_get_fraction_range_max),
15222         (gst_value_serialize_fraction_range),
15223         (gst_value_transform_fraction_range_string),
15224         (gst_value_compare_fraction_range),
15225         (gst_value_deserialize_fraction_range),
15226         (gst_value_intersect_fraction_fraction_range),
15227         (gst_value_intersect_fraction_range_fraction_range),
15228         (gst_value_subtract_fraction_fraction_range),
15229         (gst_value_subtract_fraction_range_fraction),
15230         (gst_value_subtract_fraction_range_fraction_range),
15231         (gst_value_collect_fraction), (gst_value_fraction_multiply),
15232         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
15233         (gst_value_transform_string_fraction), (_gst_value_initialize):
15234         * gst/gstvalue.h:
15235           Implement fraction ranges and extend GstFraction to support
15236           arithmetic subtraction, as well as deserialization from integer
15237           strings such as "100"
15238           Add a testsuite as for int and double range set operations
15239
15240 2005-11-21  Andy Wingo  <wingo@pobox.com>
15241
15242         * gst/gsttaglist.h: 
15243         * gst/gstcaps.h: 
15244         * gst/gststructure.h: Add glib-compat.h.
15245
15246 2005-11-21  Wim Taymans  <wim@fluendo.com>
15247
15248         * gst/gstbin.c: (gst_bin_change_state_func):
15249         Fix for #321595
15250
15251 2005-11-21  Wim Taymans  <wim@fluendo.com>
15252
15253         * gst/gstsegment.h:
15254         And add a nice define too.
15255
15256 2005-11-21  Wim Taymans  <wim@fluendo.com>
15257
15258         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
15259         (gst_segment_new), (gst_segment_free), (gst_segment_init),
15260         (gst_segment_set_duration), (gst_segment_set_last_stop),
15261         (gst_segment_set_seek), (gst_segment_set_newsegment),
15262         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15263         (gst_segment_clip):
15264         * gst/gstsegment.h:
15265         Make binding friendly.
15266
15267 2005-11-21  Andy Wingo  <wingo@pobox.com>
15268
15269         * gst/gsttagsetter.h: 
15270         * gst/gsttaglist.h: 
15271         * gst/gststructure.h: 
15272         * gst/gstcaps.h: 
15273         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
15274         #319940.
15275
15276         * gst/gsterror.c (_gst_core_errors_init):
15277         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
15278         category.
15279
15280         * gst/Makefile.am (gst_headers): Add glib-compat.h.
15281         (noinst_HEADERS): noinst the -private.
15282
15283 2005-11-21  Michael Smith <msmith@fluendo.com>
15284
15285         * gst/gstplugin.h:
15286         * gst/gstregistry.h:
15287           Remove unimplemented declarations for which we can see no sensible
15288           use.
15289
15290 2005-11-21  Andy Wingo  <wingo@pobox.com>
15291
15292         * gst/gst.h: Include glib-compat.h.
15293
15294         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
15295
15296         * gst/glib-compat.c: Include the public and the private header.
15297
15298         * gst/glib-compat-private.h: Copied here from glib-compat.h.
15299
15300         * gst/gstvalue.c: 
15301         * gst/gstpad.c: 
15302         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
15303
15304         * check/gst/gstevent.c (create_custom_events): Check that
15305         FLUSH_STOP is serialized.
15306
15307         * check/elements/identity.c (event_func): 
15308         * check/elements/fakesrc.c (event_func): No stream lock, the core
15309         takes it.
15310
15311         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
15312         stream lock taking, yay.
15313
15314         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
15315         ensure that core takes the stream lock.
15316
15317         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
15318         lock name change.
15319
15320         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
15321         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
15322         it already. For the flush start we do take it though so we get the
15323         right preroll state change messages.
15324
15325         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
15326         the stream lock here, the core does it for us.
15327
15328         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
15329         GST_STREAM_GET_LOCK.
15330         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
15331         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
15332         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
15333         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
15334         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
15335         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
15336
15337         * gst/gstpad.c: Update for stream lock name change.
15338
15339         * gst/base/gstbasesink.c: Update for preroll lock name change.
15340
15341 2005-11-21  Wim Taymans  <wim@fluendo.com>
15342
15343         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
15344         (gst_clock_get_master):
15345         * gst/gstclock.h:
15346         * gst/gstsystemclock.c: (gst_system_clock_init):
15347         Convert Clock flags to object flags.
15348         Added methods to manage master/slave clocks.
15349
15350 2005-11-21  Wim Taymans  <wim@fluendo.com>
15351
15352         * check/gst/gstsegment.c: (GST_START_TEST):
15353         * docs/design/part-TODO.txt:
15354         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15355         (gst_base_sink_event), (gst_base_sink_do_sync),
15356         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15357         (gst_base_sink_query), (gst_base_sink_change_state):
15358         * gst/base/gstbasesink.h:
15359         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
15360         (gst_base_src_default_newsegment),
15361         (gst_base_src_configure_segment), (gst_base_src_do_seek),
15362         (gst_base_src_get_range), (gst_base_src_loop),
15363         (gst_base_src_change_state):
15364         * gst/base/gstbasesrc.h:
15365         * gst/base/gstbasetransform.c:
15366         (gst_base_transform_prepare_output_buf),
15367         (gst_base_transform_event), (gst_base_transform_change_state):
15368         * gst/base/gstbasetransform.h:
15369         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15370         (gst_collect_pads_event):
15371         * gst/base/gstcollectpads.h:
15372         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
15373         (gst_fake_src_create):
15374         * gst/elements/gstfakesrc.h:
15375         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15376         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15377         (gst_segment_set_last_stop), (gst_segment_set_seek),
15378         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15379         (gst_segment_to_running_time), (gst_segment_clip):
15380         * gst/gstsegment.h:
15381         More segment updates, replace code in plugins with segment
15382         helper functions.
15383
15384 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15385
15386         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
15387         Don't ignore sscanf results
15388
15389 2005-11-21  Andy Wingo  <wingo@pobox.com>
15390
15391         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
15392
15393         * *.h:
15394         * *.c: Ran scripts/update-macros. Oh yes.
15395
15396         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
15397         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
15398         GST_GET_LOCK, etc.
15399
15400         * scripts/update-macros: New script. Run it on your files to
15401         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
15402         well.
15403
15404 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15405
15406         * docs/gst/Makefile.am:
15407         * docs/gst/gstreamer-docs.sgml:
15408         * docs/gst/gstreamer-sections.txt:
15409         * docs/gst/gstreamer.types:
15410         * gst/gstinfo.h:
15411           more docs fixes, add new api to the docs
15412
15413 2005-11-21  Andy Wingo  <wingo@pobox.com>
15414
15415         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
15416         state_broadcast call.
15417
15418         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
15419
15420 2005-11-21  Julien MOUTTE  <julien@moutte.net>
15421
15422         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
15423         function calls for arrays.
15424
15425 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
15426
15427         * docs/random/ensonic/media-device-daemon.txt:
15428           wild idea, can this be done?
15429         * docs/gst/gstreamer-sections.txt:
15430         * gst/gsterror.h:
15431         * gst/gstfilter.c:
15432         * gst/gstfilter.h:
15433         * gst/gstplugin.h:
15434         * gst/gstpluginfeature.c:
15435         * gst/gsttrace.c:
15436         * gst/gstvalue.c:
15437         * gst/gstvalue.h:
15438           doc fixes and additions
15439
15440 2005-11-21  Andy Wingo  <wingo@pobox.com>
15441
15442         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
15443         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
15444         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
15445         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
15446         private to the basesrc implementation.
15447
15448         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
15449         behalf of event function if necessary. It should no longer be
15450         necessary to take the stream lock in pad's event functions. Fixes
15451         #320299.
15452
15453 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15454         * docs/gst/gstreamer-sections.txt:
15455         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
15456         (gst_structure_fixate_field_nearest_double),
15457         (gst_structure_fixate_field_boolean):
15458         * gst/gststructure.h:
15459         * win32/common/libgstreamer.def:
15460         * win32/gstreamer.def:
15461
15462         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
15463         (#322027)
15464
15465 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
15466
15467         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
15468         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
15469         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
15470         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
15471         (gst_fdsrc_uri_handler_init):
15472         * gst/elements/gstfdsrc.h:
15473           Port fd:// URI handler from 0.8 to fdsrc
15474
15475 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15476
15477         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
15478         (gst_value_serialize_fourcc):
15479         * gst/gstvalue.h:
15480           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
15481           consistent with our other format defines (#320324).
15482
15483 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15484
15485         * gst/gstvalue.c: (gst_value_is_fixed):
15486           Revert previous commit. Value lists are by definition
15487           not fixed, as they are a list of possible values.
15488
15489 2005-11-21  Andy Wingo  <wingo@pobox.com>
15490
15491         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
15492         during the stable series if we need it. Fixes #319178.
15493
15494         * gst/gstevent.c (gst_event_new_filler): Removed.
15495
15496         * check/gst/gstevent.c: Update comment about filler events.
15497
15498 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15499
15500         * gst/gstvalue.c: (gst_value_is_fixed):
15501           Should handle both value arrays and value lists.
15502
15503 2005-11-21  Andy Wingo  <wingo@pobox.com>
15504
15505         patch by: Alessandro Dessina <alessandro nnva org>
15506
15507         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
15508         functions to access arrays. Fixes #321962.
15509
15510 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15511
15512         * docs/gst/gstreamer.types:
15513           gst_collectpads_get_type => gst_collect_pads_get_type.
15514           
15515         * gst/base/gstbasetransform.c:
15516           Remove unused SIGNAL_HANDOFF enum.
15517
15518 2005-11-21  Andy Wingo  <wingo@pobox.com>
15519
15520         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
15521         the event type (upstream, downstream, serialized). Renamed
15522         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
15523         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
15524         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
15525
15526         * gst/gstevent.c: Update for new CUSTOM event names.
15527
15528         * check/gst/gstevent.c: Update check for new CUSTOM event names.
15529
15530         * gst/gstevent.h:
15531         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
15532         bug #319392.
15533
15534 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15535
15536         * docs/gst/gstreamer-sections.txt:
15537         * win32/common/libgstbase.def:
15538         * win32/libgstbase.def:
15539         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15540         (gst_collect_pads_class_init), (gst_collect_pads_init),
15541         (gst_collect_pads_finalize), (gst_collect_pads_new),
15542         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
15543         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
15544         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
15545         (gst_collect_pads_start), (gst_collect_pads_stop),
15546         (gst_collect_pads_peek), (gst_collect_pads_pop),
15547         (gst_collect_pads_available), (gst_collect_pads_read),
15548         (gst_collect_pads_flush), (gst_collect_pads_event),
15549         (gst_collect_pads_chain):
15550         * gst/base/gstcollectpads.h:
15551           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
15552           unimplemented functions as unimplemented. Add padding to
15553           GstCollectData. (#320766, #320423)
15554
15555 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
15556
15557         * gst/gstmessage.c:
15558           Improve docs for DURATION message (usage of duration parameter)
15559           (#320113)
15560
15561 2005-11-20  Wim Taymans  <wim@fluendo.com>
15562
15563         * check/Makefile.am:
15564         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
15565         (main):
15566         * gst/Makefile.am:
15567         * gst/gst.h:
15568         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
15569         (gst_segment_set_seek), (gst_segment_set_newsegment),
15570         (gst_segment_to_stream_time), (gst_segment_to_running_time),
15571         (gst_segment_clip):
15572         * gst/gstsegment.h:
15573         Added segment helper structure and methods. Not fully implemented
15574         yet.
15575         Added segment check.
15576
15577 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
15578
15579         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15580           Add a deserialisation test for fractions
15581         * examples/metadata/read-metadata.c: (message_loop),
15582         (make_pipeline), (main):
15583           Fix up metadata reading sample.
15584         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15585           Debug format fix
15586         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15587           Don't try and fixate empty caps
15588         * gst/gst_private.h:
15589           Wrap in G_BEGIN_DECLS/G_END_DECLS
15590         * gst/gstvalue.c: (gst_value_collect_fraction),
15591         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
15592         (gst_value_transform_string_fraction),
15593         (gst_value_compare_fraction):
15594           Add some extra guards to ensure that we don't end up 
15595           with an invalid denominator of 0 in a gstfraction and
15596           that fractions always get reduced.
15597
15598 2005-11-20  Wim Taymans  <wim@fluendo.com>
15599
15600         * docs/gst/gstreamer-sections.txt:
15601         * gst/gstbuffer.h:
15602         * gst/gstelement.c:
15603         * gst/gstformat.c:
15604         * gst/gstformat.h:
15605         * gst/gstindex.h:
15606         * gst/gstquery.c:
15607         * gst/gstquery.h:
15608         * gst/gstvalue.c:
15609         Doc fixes.
15610
15611 2005-11-20  Wim Taymans  <wim@fluendo.com>
15612
15613         * docs/design/part-TODO.txt:
15614         * gst/gstcaps.h:
15615         Make a proper enum of the flag.
15616
15617 2005-11-19  Wim Taymans  <wim@fluendo.com>
15618
15619         * docs/design/part-TODO.txt:
15620         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
15621         (gst_format_to_quark), (gst_format_register):
15622         * gst/gstformat.h:
15623         * gst/gstquery.c: (_gst_query_initialize),
15624         (gst_query_type_get_name), (gst_query_type_to_quark),
15625         (gst_query_type_register):
15626         * gst/gstquery.h:
15627         Add type to quark and type to string conversions.
15628
15629 2005-11-19  Andy Wingo  <wingo@pobox.com>
15630
15631         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
15632         #320097.
15633
15634 2005-11-19  Wim Taymans  <wim@fluendo.com>
15635
15636         * docs/design/part-TODO.txt:
15637         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15638         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
15639         (gst_bin_handle_message_func):
15640         * gst/gstbin.h:
15641         Make message handling overridable.
15642
15643 2005-11-19  Andy Wingo  <wingo@pobox.com>
15644
15645         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
15646
15647         * gst/gstclock.h:
15648         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
15649         be a GstClockTime.
15650         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
15651         is a GstClockTime. Fixes #321710.
15652
15653         * gst/gstclock.h (GstClock): Remove offset property. Add
15654         internal_calibration and external_calibration. Fix padding. Pad
15655         also by GstClockTime so we don't run into problems.
15656
15657         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
15658         (gst_clock_get_rate_offset): Remove.
15659         (gst_clock_set_time_adjust): Remove. Fixes #321712.
15660
15661         * gst/gstutils.h:
15662         * gst/gstutils.c (g_static_rec_cond_wait)
15663         (g_static_rec_cond_timed_wait): Removed, no longer needed.
15664
15665         * gst/gstbin.c: Remove terrible continue_state prototype.
15666
15667         * gst/gstelement.h (gst_element_continue_state): Make public.
15668
15669         * gst/gstelement.h:
15670         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
15671         by continue_state. Fixes #319389.
15672
15673         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
15674         Really fixes #168438. However I don't see anywhere where the
15675         filter function is called... stupid GStreamer...
15676         
15677         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
15678         don't have a dispose function, so it won't get called when the
15679         object is unreffed, but oh well!
15680
15681         * gst/gstindex.c (gst_index_set_filter_full): New API function,
15682         allows a destroy function to be set so user_data can be freed.
15683         Fixes #168438.
15684         (gst_index_set_filter): Call gst_index_set_filter_full.
15685
15686         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
15687
15688         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
15689         string should produce an error, given the lack of a way to
15690         represent NULL strings. Fixes #165650.
15691         
15692         * gst/gstvalue.h: 
15693         * gst/gstvalue.c (gst_value_array_append_value) 
15694         (gst_value_array_prepend_value, gst_value_array_get_size) 
15695         (gst_value_array_get_value): New API, copied from
15696         gst_value_list_*, only operates on arrays.
15697         (gst_value_list_append_value, gst_value_list_prepend_value) 
15698         (gst_value_list_concat, gst_value_list_get_size) 
15699         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
15700
15701         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
15702         init_list, because it works on both.
15703         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
15704         (gst_value_copy_list_or_array): Renamed from copy_list.
15705         (gst_value_free_list_or_array): Renamed from free_list.
15706         (gst_value_collect_list_or_array): Renamed from collect_list.
15707         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
15708         (gst_value_list_or_array_peek_pointer): Renamed from
15709         list_peek_pointer.
15710         (_gst_value_array_value_table, _gst_value_list_value_table):
15711         Update value table functions.
15712         (gst_value_compare_list_or_array): Renamed from compare_list.
15713
15714         * gsttaglist.h: Whoops, foreach function returns void. Also fix
15715         some constness.
15716
15717         * gst/gsttaglist.c:
15718         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
15719         GstTagList*. Fixes #143472.
15720
15721         * gst/gststructure.h: Clarify what the foreach/map functions can
15722         or can't do to their arguments.
15723
15724 2005-11-18  Wim Taymans  <wim@fluendo.com>
15725
15726         * gst/gstclock.c: (gst_clock_set_calibration),
15727         (gst_clock_get_calibration):
15728         Doc and API fixes.
15729         Calibration can be set with internal time equal to current
15730         internal time too.
15731
15732 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
15733
15734         * gst/gsterror.c:
15735         * gst/gsterror.h:
15736           document
15737
15738 2005-11-18  Andy Wingo  <wingo@pobox.com>
15739
15740         * configure.ac: 
15741         * pkgconfig/gstreamer-net.pc.in:
15742         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15743         * pkgconfig/Makefile.am: Add net pkgconfig files.
15744
15745 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
15746
15747         * gst/gstcaps.c:
15748         * gst/gstghostpad.c:
15749         * gst/gsttrace.c:
15750         * gst/gstvalue.c:
15751         * gst/gstvalue.h:
15752           docs fixes
15753
15754 2005-11-18  Andy Wingo  <wingo@pobox.com>
15755
15756         * gst/net/gstnetclientclock.c: Turn off debugging.
15757
15758         * check/net/gstnetclientclock.c (test_functioning): Assert that the
15759         times connverge somewhat. Can't make a real test.
15760
15761         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
15762         integer arithmetic. Return the minimum of the domain, which can be
15763         set as "internal" for gst_clock_set_calibration.
15764         (gst_net_client_clock_observe_times): Call _set_calibration.
15765         (gst_net_client_clock_new): Call _set_calibration instead of
15766         rate_offset.
15767
15768         * check/net/gstnetclientclock.c (test_functioning): Use the right
15769         adjustment api.
15770
15771         * gst/gstclock.h:
15772         * gst/gstclock.c (gst_clock_get_calibration) 
15773         (gst_clock_set_calibration): New functions, obsolete the ones I
15774         added yesterday. Doh. Precision issues mean we have to extrapolate
15775         from a point in the more recent past than 1970.
15776         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
15777         obsolete.
15778         (gst_clock_adjust_unlocked): Use the right calibration data.
15779
15780 2005-11-18  Edward Hervey  <edward@fluendo.com>
15781
15782         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
15783         Also reset the ->current_* values in READY->PAUSED
15784
15785 2005-11-18  Andy Wingo  <wingo@pobox.com>
15786
15787         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
15788         Whoops, check the right fd. Also add some debugging.
15789         (gst_net_client_clock_observe_times): Adjust for int64 offset.
15790         (do_linear_regression): Add a crapload of debugging. Subtract off
15791         the minimum values from the input series to discard unneeded bits.
15792         Use only int arithmetic. There is still double arithmetic when
15793         calculating the intercept that needs fixing. Return boolean to
15794         indicate success; FALSE would mean the domain or range is too
15795         great. Still needs fixes.
15796
15797 2005-11-18  Wim Taymans  <wim@fluendo.com>
15798
15799         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
15800         For the current position in stream time, we need to subtract
15801         accumulated time.
15802         
15803         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15804         Release lock before calling the callback function of async
15805         entries.
15806
15807 2005-11-18  Andy Wingo  <wingo@pobox.com>
15808
15809         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
15810         Port goes all the way to MAXUINT16.
15811
15812         * gst/net/gstnettimeprovider.c: Make the port range the same as
15813         for the kernel: 0 assigns, otherwise ports are less than
15814         MAXUINT16.
15815
15816         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
15817         port change.
15818
15819         * check/net/gstnetclientclock.c (test_functioning): Add the start
15820         of another test. 
15821
15822 2005-11-18  Wim Taymans  <wim@fluendo.com>
15823
15824         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
15825         (gst_bin_remove_func), (bin_bus_handler):
15826         * gst/gstbin.h:
15827         Removing a clock provider from a bin, triggers a clock lost message
15828         so that a new clock will be selected.
15829         Adding a clock to a bin triggers a clock provider message.
15830         Make sure we reselect a clock when we received a clock lost message.
15831         Keep a reference to the element that provided the clock.
15832
15833 2005-11-18  Andy Wingo  <wingo@pobox.com>
15834
15835         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
15836         the clock initially so it produces values around the base time.
15837         (gst_net_client_clock_class_init): Typo fix.
15838         (gst_net_client_clock_thread): Add note on when the socket gets
15839         closed.
15840
15841 2005-11-17  Wim Taymans  <wim@fluendo.com>
15842
15843         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
15844         Free remote and local time arrays.
15845
15846 2005-11-17  Wim Taymans  <wim@fluendo.com>
15847
15848         * gst/net/gstnetclientclock.c: (do_linear_regression),
15849         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
15850         Fix compilation, uninitialized vars and a forgotten continue.
15851
15852 2005-11-17  Andy Wingo  <wingo@pobox.com>
15853
15854         * check/Makefile.am (check_PROGRAMS): 
15855         * check/net/gstnetclientclock.c: Add a most minimal test for the
15856         net client clock. More to come later.
15857
15858         * gst/net/gstnet.h: 
15859         * gst/net/Makefile.am: Add netclientclock.
15860
15861         * gst/net/gstnetclientclock.h:
15862         * gst/net/gstnetclientclock.c: New files, implement an untested
15863         GstClock that takes its time from a network time provider.
15864         Implements the algorithm in network-clock.scm.
15865
15866         * tests/network-clock.scm (*window-size*): Rename from
15867         *queue-length*.
15868         * tests/network-clock.scm (network-time): 
15869         * tests/network-clock-utils.scm (q-push): Update callers.
15870
15871 2005-11-17  Wim Taymans  <wim@fluendo.com>
15872
15873         * gst/gstbin.c: (gst_bin_provide_clock_func),
15874         (gst_bin_sort_iterator_new):
15875         And unref the child too..
15876
15877 2005-11-17  Wim Taymans  <wim@fluendo.com>
15878
15879         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15880         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
15881         Refactor the sort iterator so it can be used while holding the
15882         LOCK too.
15883         Make clock selection select a clock closest to the source.
15884
15885 2005-11-17  Michael Smith <msmith@fluendo.com>
15886
15887         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
15888         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
15889         * gst/gstclock.h:
15890           Anonymous structs are a gcc (and some other compilers) extension, so
15891           don't use them. Since this is only for ABI-compatibility, and our
15892           API/ABI freeze is over in a few days, this whole thing will only
15893           last a few days, so don't bother trying to think up a meaningful
15894           name for the struct.
15895
15896 2005-11-17  Andy Wingo  <wingo@pobox.com>
15897
15898         * gst/gstclock.h (GstClock): Add rate and offset properties,
15899         preserving ABI stability. Add rate/offset accessors. Will file bug
15900         for the freeze break.
15901
15902         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
15903         and offset, trying to keep precision and avoiding
15904         underflow/overflow.
15905         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
15906         functions. Make gst_clock_set_time_adjust obsolete.
15907         (gst_clock_set_time_adjust): Note that this function is obsolete.
15908         Will file bug soon.
15909
15910         * gst/base/gstbasetransform.h: Make the ABI-stability hack
15911         greppable by using GST_PADDING-1+1.
15912
15913 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
15914
15915         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15916
15917         * gst/gstmessage.c: (gst_message_parse_clock_lost):
15918           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
15919
15920         * gst/gstpadtemplate.h:
15921         * gst/gstpluginfeature.h:
15922           Don't use c++ style comments in headers (#321638).
15923
15924 2005-11-16  Andy Wingo  <wingo@pobox.com>
15925
15926         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
15927         buffer.
15928
15929         * check/net/gstnettimeprovider.c: Check to see that the time
15930         provider actually provides times. Works, yo!
15931
15932 2005-11-16  Wim Taymans  <wim@fluendo.com>
15933
15934         * check/Makefile.am:
15935         Enable more tests.
15936
15937         * check/elements/fakesrc.c: (GST_START_TEST):
15938         Set element to NULL before disposing it.
15939
15940 2005-11-16  Andy Wingo  <wingo@pobox.com>
15941
15942         * gst/net/Makefile.am:
15943         * gst/net/gstnet.h:
15944         * gst/net/gstnettimeprovider.c: 
15945         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
15946         provider, include it from gstnet.h, and add it to the build.
15947
15948         * gst/net/gstnettimepacket.h: 
15949         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
15950         sending and receiving.
15951
15952 2005-11-16  Wim Taymans  <wim@fluendo.com>
15953
15954         * check/Makefile.am:
15955         Enable valgrind check.
15956
15957         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
15958         (gst_fake_src_alloc_buffer):
15959         Fix memleak.
15960
15961 2005-11-16  Wim Taymans  <wim@fluendo.com>
15962
15963         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
15964         Call parent finalize too.
15965
15966 2005-11-16  Wim Taymans  <wim@fluendo.com>
15967
15968         * check/Makefile.am:
15969         Enable valgrind check that should work fine now.
15970
15971         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
15972         * gst/gstqueue.c: (gst_queue_init):
15973         Fix memleaks in pad allocation.
15974
15975 2005-11-16  Andy Wingo  <wingo@pobox.com>
15976
15977         * gst/net/Makefile.am:
15978         * gst/net/gstnet.h: New part of core to hold network elements and
15979         objects. Put in core because it exposes API that applications want
15980         to use. The library is named libgstnet-tempname right now because
15981         of the existing libgstnet in gst-plugins-base. Solution is
15982         probably to rename the one in plugins-base; will file a bug for
15983         the freeze break.
15984
15985         * gst/net/gstnettimeprovider.c: 
15986         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
15987         get_time call over the network.
15988
15989         * configure.ac: 
15990         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
15991
15992         * check/Makefile.am:
15993         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
15994         get additions shortly.
15995
15996 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
15997
15998         * gst/gstpad.c: (gst_pad_new_from_static_template):
15999         * gst/gstpad.h:
16000           add gst_pad_new_from_static_template functions
16001         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
16002         (gst_check_setup_sink_pad):
16003         * gst/elements/gsttee.c: (gst_tee_init):
16004           and use them
16005
16006 2005-11-16  Wim Taymans  <wim@fluendo.com>
16007
16008         * gst/gstpad.c: (gst_pad_pause_task):
16009         Removed warning, it's not really an error either.
16010
16011 2005-11-16  Wim Taymans  <wim@fluendo.com>
16012
16013         * gst/base/gstbasetransform.c:
16014         (gst_base_transform_prepare_output_buf),
16015         (gst_base_transform_event):
16016         Check if the caps are NULL, this can happen if the element
16017         is shutting down and the pad caps are set to NULL.
16018
16019 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16020
16021         * gst/elements/gsttee.c: (gst_tee_init):
16022           fix pad template leak in tee
16023
16024 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16025
16026         * gst/glib-compat.c: (g_value_dup_gst_object):
16027         * gst/glib-compat.h:
16028         * gst/gstpad.c: (gst_pad_set_property):
16029           use gst_object_ref when setting the pad template; this will
16030           trigger the pad template leaks on GLib 2.6 and the slaves
16031
16032 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16033
16034         * gst/glib-compat.c: (gst_flags_get_first_value):
16035         * gst/glib-compat.h:
16036         * gst/gstregistryxml.c:
16037           remove functions copied from GLib 2.6
16038
16039 2005-11-16  Michael Smith <msmith@fluendo.com>
16040
16041         * gst/Makefile.am:
16042           Don't link against VALGRIND_LIBS. That was always the wrong thing to
16043           do, but only breaks with newer valgrind versions. We're not a
16044           valgrind tool, we have no link-time dependencies on libcoregrind.
16045
16046 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16047
16048         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16049           some debug changes
16050         * gst/gstmessage.h:
16051           typo fixes
16052
16053 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16054
16055         * gst/base/gstbasesrc.c: (gst_base_src_init):
16056         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16057         * gst/gstqueue.c: (gst_queue_init):
16058         * gst/gstregistryxml.c: (load_feature):
16059           Revert all these unrefs, they don't even pass make check !
16060
16061 2005-11-15  Johan Dahlin  <johan@gnome.org>
16062
16063         * gst/base/gstbasesrc.c: (gst_base_src_init):
16064         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16065         * gst/gstqueue.c: (gst_queue_init): 
16066         Free pad templates, fixes a couple of leaks.
16067
16068 2005-11-15  Daniel Fischer  <dan at f3c dot com>
16069
16070         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16071
16072         * gst/gstpad.c: (gst_pad_get_property):
16073           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
16074           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
16075           (#321452)
16076
16077 2005-11-15  Wim Taymans  <wim@fluendo.com>
16078
16079         * gst/gstevent.c:
16080         Small doc update.
16081
16082 2005-11-15  Andy Wingo  <wingo@pobox.com>
16083
16084         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
16085
16086         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
16087         using GST_CLOCK_TIME_NONE to disable base time management.
16088         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
16089         time if it was NONE before.
16090         (gst_pipeline_change_state): Only munge the base time if
16091         stream_time != GST_CLOCK_TIME_NONE.
16092
16093         * check/gst/gstpipeline.c (test_base_time): Punt around the
16094         problem of the probe not being called, because that's not the
16095         issue I'm looking at. Add a check that setting stream_time to NONE
16096         disables base time management.
16097         
16098 2005-11-15  Wim Taymans  <wim@fluendo.com>
16099
16100         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
16101         segment_stop == -1 at startup.
16102
16103         * gst/base/gstbasetransform.c: (gst_base_transform_event),
16104         (gst_base_transform_change_state):
16105         Init segment values at start.
16106
16107 2005-11-15  Wim Taymans  <wim@fluendo.com>
16108
16109         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16110         0 segment values are 0 in any format.
16111
16112         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16113         * gst/base/gstbasetransform.h:
16114         Parse newsegment correctly in basetransform
16115
16116         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16117         Sync to clock using updated segment values.
16118
16119 2005-11-15  Andy Wingo  <wingo@pobox.com>
16120
16121         * check/gst/gstpipeline.c (test_base_time): Add check that the
16122         base time and stream time are reset correctly.
16123
16124 2005-11-15  Wim Taymans  <wim@fluendo.com>
16125
16126         * docs/design/part-TODO.txt:
16127         Some more TODO items.
16128
16129 2005-11-15  Andy Wingo  <wingo@pobox.com>
16130
16131         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
16132         error if the user selected "no clock" as the clocking method.
16133
16134         * check/gst/gstpipeline.c (test_base_time): New test for buffer
16135         timestamps with live capture.
16136
16137         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
16138         is 0 but we are a live source, timestamp the buffers using the
16139         element's clock.
16140
16141 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
16142
16143         * docs/gst/gstreamer-sections.txt:
16144         * gst/gsterror.c:
16145         * gst/gstghostpad.c:
16146         * gst/gstobject.h:
16147         * gst/gstxml.c:
16148           more section docs
16149
16150 2005-11-14  Wim Taymans  <wim@fluendo.com>
16151
16152         * common/gst.supp:
16153           add suppressions from Wim's Debian machine
16154
16155 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16156
16157         * common/gst.supp:
16158           add suppressions from Andy's AMD64 Ubuntu machine
16159
16160 2005-11-14  Andy Wingo  <wingo@pobox.com>
16161
16162         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
16163         STATE_LOCK not necessary. Fixes #311489.
16164
16165         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
16166         #305291.
16167
16168         * gst/gstindex.c (gst_index_add_object): Note in the docs that
16169         this function is not implemented.
16170
16171 2005-11-14  Julien MOUTTE  <julien@moutte.net>
16172
16173         * gst/base/gstbasetransform.c:
16174         (gst_base_transform_prepare_output_buf):
16175         Ref the source pad caps while we need them.
16176         Fixes (#321386)
16177
16178 2005-11-11  Wim Taymans  <wim@fluendo.com>
16179
16180         * docs/gst/gstreamer-sections.txt:
16181         Added some docs for GstCollectData.
16182
16183         * gst/base/gstadapter.c:
16184         Some small code example fix.
16185
16186         * gst/base/gstcollectpads.c:
16187         * gst/base/gstcollectpads.h:
16188         Document some more.
16189
16190 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16191
16192         * configure.ac: back to HEAD
16193
16194 === release 0.9.5 ===
16195
16196 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
16197
16198         * configure.ac:
16199           releasing 0.9.5, "Bike Lunch Day"
16200
16201 2005-11-11  Wim Taymans  <wim@fluendo.com>
16202
16203         * gst/gstbuffer.c: (_gst_buffer_copy):
16204         Copy more flags.
16205
16206         * gst/gstcaps.c: (gst_caps_is_equal):
16207         Fix some docs.
16208         Make _is_equal fast in the trivial cases.
16209
16210         * gst/gstminiobject.c:
16211         * gst/gstminiobject.h:
16212         More docs. Spifify .h file.
16213
16214         * gst/gstutils.c:
16215         Small doc update.
16216
16217 2005-11-11  Wim Taymans  <wim@fluendo.com>
16218
16219         * gst/base/gstbasetransform.c:
16220         (gst_base_transform_prepare_output_buf),
16221         (gst_base_transform_handle_buffer):
16222         Small cleanups.
16223         If we're processing a buffer and need to allocate an output
16224         buffer, we cannot accept a format change. If we did get a 
16225         format change, we have to alloc a buffer ourselves of the 
16226         right size.
16227
16228 2005-11-11  Wim Taymans  <wim@fluendo.com>
16229
16230         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
16231         While checking the flag for reentrancy in the gstcaps function
16232         is nice to detect recursive invocations, it also makes it 
16233         impossible to call getcaps from multiple threads, which must be
16234         possible. So, checking for recursive calls has to go.
16235
16236 2005-11-11  Michael Smith <msmith@fluendo.com>
16237
16238         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16239           Don't sync on buffers that fall partially outside our current
16240           segment. Prevents an assertion failure/abort playing some files.
16241
16242 2005-11-10  Andy Wingo  <wingo@pobox.com>
16243
16244         * check/gst/gstbin.c (test_message_state_changed_children): Style
16245         fix..
16246
16247         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
16248         gst_bus_poll with the signal watch. Ensures that poll and a signal
16249         watch see the same messages.
16250
16251         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
16252         a poll and a watch at the same time get the same messages.
16253
16254 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16255
16256         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
16257         * gst/gstcaps.c: (gst_caps_intersect):
16258           Don't call gst_caps_do_simplify - it doesn't respect order of caps
16259           and it's not needed.
16260
16261 2005-11-10  Wim Taymans  <wim@fluendo.com>
16262
16263         * docs/design/part-TODO.txt:
16264         Updated todo.
16265
16266 2005-11-10  Wim Taymans  <wim@fluendo.com>
16267
16268         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16269         * gst/base/gstbasesrc.c: (gst_base_src_wait),
16270         (gst_base_src_do_sync), (gst_base_src_get_range):
16271         Implement clock sync in base class.
16272
16273 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16274
16275         patch by: Tim-Philipp Müller <tim at centricular dot net>
16276
16277         * gst/gststructure.c: (gst_structure_parse_field),
16278         (gst_structure_from_string):
16279           Forward-port a 0.8 patch to handle escaped spaces in structure string,
16280           so that gst_parse_launch() can deal with spaces in filtered link
16281           caps (fixes #164479)
16282         * check/gst/capslist.h:
16283         * check/gst/gststructure.c: (GST_START_TEST):
16284           add unit tests for this change
16285
16286 2005-11-10  Wim Taymans  <wim@fluendo.com>
16287
16288         * docs/gst/gstreamer-sections.txt:
16289         * gst/gstelement.c:
16290         * gst/gstelement.h:
16291         Fix docs, move some STATE macros to private.
16292
16293 2005-11-10  Wim Taymans  <wim@fluendo.com>
16294
16295         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
16296         Added check for bug #317341
16297
16298         * gst/gstbuffer.c:
16299         * gst/gstbuffer.h:
16300         Some more spiffifying.
16301
16302         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
16303         Call peer linkfunction if we are a source pad. Totally fixes
16304         #317341
16305
16306         * gst/gstpad.c:
16307         Update docs, source pads should call the peer linkfunction
16308         so they can atomically perform the pad link.
16309
16310 2005-11-09  Wim Taymans  <wim@fluendo.com>
16311
16312         * gst/gstbuffer.c:
16313         * gst/gstbuffer.h:
16314         Uber-spiffy-spiffify some more.
16315
16316 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
16317
16318         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
16319         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16320         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
16321         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
16322         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
16323         * gst/gstpad.c: (gst_pad_init):
16324           Use GST_DEBUG_FUNCPTR() more extensively.
16325
16326 2005-11-09  Wim Taymans  <wim@fluendo.com>
16327
16328         * gst/gstobject.c: (gst_object_class_init):
16329         * gst/gstobject.h:
16330         Documentation fixes.
16331
16332 2005-11-09  Edward Hervey  <edward@fluendo.com>
16333
16334         * gst/gsttypefindfactory.c:
16335         Fix docs.
16336         
16337 2005-11-09  Edward Hervey  <edward@fluendo.com>
16338
16339         * gst/base/gsttypefindhelper.c:
16340         * gst/gsttypefind.c:
16341         * gst/gsttypefind.h:
16342         Fix docs.
16343
16344 2005-11-09  Wim Taymans  <wim@fluendo.com>
16345
16346         * gst/gstiterator.c:
16347         Fix revision data.
16348
16349         * gst/gsttask.c:
16350         * gst/gsttask.h:
16351         Fix docs.
16352
16353 2005-11-09  Wim Taymans  <wim@fluendo.com>
16354
16355         * gst/gstevent.h:
16356         * gst/gsturi.h:
16357         Fix docs.
16358
16359 2005-11-09  Wim Taymans  <wim@fluendo.com>
16360
16361         * docs/gst/gstreamer-sections.txt:
16362         Moved the message async delivery private lock and cond
16363         to the private section.
16364
16365         * gst/gstmessage.c:
16366         * gst/gstmessage.h:
16367         Fixed docs.
16368
16369 2005-11-09  Edward Hervey  <edward@fluendo.com>
16370
16371         * docs/gst/gstreamer-sections.txt:
16372         * gst/gsturi.c:
16373         * gst/gsturi.h:
16374         Document GstURIHandler
16375
16376 2005-11-09  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
16379         (gst_iterator_find_custom):
16380         * gst/gstiterator.h:
16381         Fix iterator docs.
16382
16383 2005-11-09  Wim Taymans  <wim@fluendo.com>
16384
16385         * gst/gstbin.h:
16386         Document another field.
16387
16388         * gst/gststructure.c:
16389         * gst/gststructure.h:
16390         Document.
16391
16392 2005-11-09  Wim Taymans  <wim@fluendo.com>
16393
16394         * gst/gstbin.h:
16395         Documented structs.
16396
16397 2005-11-09  Wim Taymans  <wim@fluendo.com>
16398
16399         * docs/gst/gstreamer-sections.txt:
16400         Added some new macros.
16401
16402         * gst/gstclock.c:
16403         * gst/gstclock.h:
16404         * gst/gstobject.h:
16405         Docs updates.
16406
16407 2005-11-09  Wim Taymans  <wim@fluendo.com>
16408
16409         * docs/design/part-TODO.txt:
16410         Some more items for the TODO
16411
16412         * gst/gstcaps.c:
16413         * gst/gstcaps.h:
16414         Document GstCaps.
16415
16416 2005-11-09  Andy Wingo  <wingo@pobox.com>
16417
16418         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
16419         to work on something else now tho...
16420
16421         * gst/base/gstadapter.c: More adapter docs.
16422
16423         * gst/elements/gstfilesink.c (gst_file_sink_start) 
16424         (gst_file_sink_stop): New functions, replace the state change
16425         handler.
16426         (gst_file_sink_class_init): Hook up the start and stop functions.
16427         (gst_file_sink_base_init): Don't set the state change handler any
16428         more. It was a bit ugly too, being set from here...
16429         (gst_file_sink_get_property, gst_file_sink_set_property):
16430         Cleanups...
16431         (gst_file_sink_set_location): More robust check that doesn't call
16432         GST_STATE. Ugggggg.
16433
16434 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
16435
16436         * gst/base/gstbasetransform.c: (gst_base_transform_event):
16437           Hold STREAM_LOCK while pushing newsegment or tag events as well.
16438
16439 2005-11-08  Wim Taymans  <wim@fluendo.com>
16440
16441         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16442         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16443         (gst_base_sink_chain), (gst_base_sink_change_state):
16444         * gst/base/gstbasesink.h:
16445         * gst/base/gstbasesrc.h:
16446         * gst/gstelement.h:
16447         * gst/gstevent.h:
16448         Avoid excessive typechecking in macros.
16449
16450         * gst/gstminiobject.c: (gst_mini_object_get_type),
16451         (gst_mini_object_init), (gst_mini_object_new),
16452         (gst_mini_object_free):
16453         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
16454         (gst_object_finalize):
16455         Remove cruft code, optimize alloc_trace.
16456
16457 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16458
16459         * docs/faq/gst-uninstalled:
16460           fix up PS1 for systems that try to reset it
16461
16462 2005-11-07  Wim Taymans  <wim@fluendo.com>
16463
16464         * gst/base/gstbasesrc.c: (gst_base_src_init),
16465         (gst_base_src_get_range):
16466         Set the segment_end to -1 initially. Fixed typefind.
16467
16468 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
16469
16470         * gst/base/gstadapter.c:
16471           Debug category should be 'adapter', not 'GstAdapter'.
16472           
16473         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
16474         (gst_collectpads_class_init), (gst_collectpads_init),
16475         (gst_collectpads_peek), (gst_collectpads_pop),
16476         (gst_collectpads_event), (gst_collectpads_chain):
16477           Add debug category and some debugging output. Use boilerplate
16478           macros. Remove some extraneous words from docs.
16479
16480 2005-11-05  Andy Wingo  <wingo@pobox.com>
16481
16482         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
16483         macro.
16484
16485 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16486
16487         * docs/gst/gstreamer-sections.txt:
16488         * gst/gstcaps.h:
16489         * gst/gstinfo.c:
16490         * gst/gstminiobject.h:
16491         * gst/gstobject.h:
16492         * gst/gstutils.h:
16493           more docs added
16494
16495 2005-11-04  Wim Taymans  <wim@fluendo.com>
16496
16497         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16498         Small update to stop at the configured segment_end
16499         position.
16500
16501 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
16502
16503         * gst/gstregistry.c:
16504         * gst/gstregistry.h:
16505           added missing docs
16506
16507 2005-11-04  Edward Hervey  <edward@fluendo.com>
16508
16509         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16510         Check if we are doing a segment seek and have arrived at the
16511         end of that segment.
16512
16513 2005-11-04  Wim Taymans  <wim@fluendo.com>
16514
16515         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
16516         Don't leak a mutex unlock in case of an error.
16517
16518         * gst/gstbus.h:
16519         Doc fixes.
16520
16521 2005-11-04  Wim Taymans  <wim@fluendo.com>
16522
16523         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
16524         (gst_bus_post):
16525         Get the context to wake up only once.
16526
16527 2005-11-03  Wim Taymans  <wim@fluendo.com>
16528
16529         * check/states/sinks.c: (GST_START_TEST):
16530         Uncomment fixed check.
16531
16532         * docs/design/part-TODO.txt:
16533         Updated TODO.
16534
16535         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16536         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16537         (gst_base_sink_get_position):
16538         If we are going to PLAYING, post the right pending state
16539         when we post the intermediate paused message.
16540
16541         * gst/gstelement.c: (gst_element_continue_state),
16542         (gst_element_set_state_func), (gst_element_change_state):
16543         Don't post state changes that were between the same state
16544         and were not ASYNC.
16545
16546 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16547
16548         * docs/gst/gstreamer-sections.txt:
16549         * gst/gstcaps.h:
16550         * gst/gstinfo.c:
16551         * gst/gstminiobject.h:
16552         * gst/gstobject.h:
16553         * gst/gstutils.h:
16554           more docs and doc style fixes
16555
16556 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
16557
16558         * docs/gst/gstreamer-sections.txt:
16559         * gst/gstelement.c:
16560         * gst/gstminiobject.c:
16561         doc fixes
16562
16563 2005-11-03  Andy Wingo  <wingo@pobox.com>
16564
16565         * check/states/sinks.c (test_livesrc_sink): Add checks that the
16566         state-changed messages actually have the right order and the right
16567         values.
16568
16569 2005-11-03  Wim Taymans  <wim@fluendo.com>
16570
16571         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
16572         Added some more checks. Specifically the case where NO_PREROLL
16573         elements are in the pipeline.
16574
16575         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
16576         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
16577         (gst_base_sink_get_position):
16578         Post READY->PAUSED state change messages too.
16579         Fix bug where VOID was posted as pending state...
16580
16581         * gst/gstbin.c: (gst_bin_recalc_state):
16582         use _element_continue_state() to continue the state change.
16583
16584         * gst/gstelement.c: (gst_element_continue_state),
16585         (gst_element_commit_state), (gst_element_set_state_func),
16586         (gst_element_change_state), (gst_element_change_state_func):
16587         Lots of state change cleanups, assign the STATE_RETURN in
16588         a new continue_state() function that also propagates the
16589         last return value from a state change to the app.
16590         Update some debug statements with proper category.
16591
16592 2005-11-03  Wim Taymans  <wim@fluendo.com>
16593
16594         * docs/design/part-events.txt:
16595         * docs/design/part-gstpipeline.txt:
16596         * docs/design/part-messages.txt:
16597         * docs/design/part-overview.txt:
16598         * docs/design/part-seeking.txt:
16599         * docs/design/part-states.txt:
16600         * docs/design/part-trickmodes.txt:
16601         * docs/manual/advanced-position.xml:
16602         Small docs updates.
16603
16604         * gst/gstobject.h:
16605         People think !! is ugly, this looks better.
16606
16607         * gst/gstpad.c: (gst_pad_set_blocked_async):
16608         Remove !! since it's fixed elsewhere now.
16609
16610 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16611
16612         * gst/gstminiobject.h:
16613         * gst/gstobject.h:
16614           Add !! to _FLAG_IS_SET macros to make the result boolean.
16615
16616 2005-11-03  Edward Hervey  <edward@fluendo.com>
16617
16618         * gst/gstpad.c: (gst_pad_set_blocked_async):
16619         comparing a flag and a gboolean rarely returns coherent results...
16620         Added two characters (!!) to make that work correctly.
16621         
16622 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16623
16624         * gst/gstbus.c: (gst_bus_class_init):
16625           Fix some typos.
16626           
16627         * gst/gstqueue.c: (gst_queue_loop):
16628           Don't assume a miniobject that isn't a buffer is an
16629           event (it could be that there is a refcounting
16630           problem somewhere and the pointer is stale and
16631           refers to an already destroyed miniobject).
16632
16633 2005-11-03  Julien MOUTTE  <julien@moutte.net>
16634
16635         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
16636
16637 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
16638
16639         * docs/manual/advanced-position.xml:
16640           Update seek example and explanations to current 0.9 API.
16641
16642         * gst/elements/gsttypefindelement.c:
16643         (gst_type_find_element_activate):
16644           Remove FIXME comment now that the found caps
16645           are unreffed.
16646
16647 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16648
16649         * gst/gstregistryxml.c: (load_feature):
16650           Add another GST_STR_NULL instance
16651
16652 2005-11-02  Edward Hervey  <edward@fluendo.com>
16653
16654         * gst/gstpad.c: (handle_pad_block):
16655         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
16656         
16657 2005-11-02  Wim Taymans  <wim@fluendo.com>
16658
16659         * gst/gstbin.c:
16660         Fix typo in docs.
16661
16662         * gst/gstelement.c: (gst_element_commit_state):
16663         Remove unused value.
16664
16665         * gst/gstiterator.c:
16666         Mention that the returned element is reffed in the docs.
16667
16668 2005-11-02  Wim Taymans  <wim@fluendo.com>
16669
16670         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
16671         (gst_pad_push), (gst_pad_push_event):
16672         Unlock blocked pads when they are flushed.
16673
16674 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16675
16676         * docs/README:
16677         * docs/gst/gstreamer-sections.txt:
16678         * gst/gstbin.c:
16679           doc updates
16680         * gst/gstregistry.c: (gst_registry_scan_path_level):
16681           fix for a nasty little missed situation where an installed plug-in
16682           which was in the cache did not get overridden by an uninstalled one
16683           which was earlier in the plugin path because the newly created plugin
16684           for the uninstalled one (not in the registry) didn't get its
16685           ->registered set to TRUE
16686
16687 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16688
16689         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
16690         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
16691         (gst_collectpads_is_active), (gst_collectpads_collect),
16692         (gst_collectpads_collect_range), (gst_collectpads_start),
16693         (gst_collectpads_stop), (gst_collectpads_peek),
16694         (gst_collectpads_pop), (gst_collectpads_available),
16695         (gst_collectpads_read), (gst_collectpads_flush):
16696           Guard public API with assertions.
16697         
16698         * gst/gstpad.c:
16699           Fix docs for gst_pad_set_link_function().
16700
16701 2005-11-02  Johan Dahlin  <johan@gnome.org>
16702
16703         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
16704         Unref found_caps after we used it.
16705
16706 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
16707
16708         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
16709           Don't try to ref NULL.
16710
16711 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16712
16713         * win32/common/config.h.in:
16714           provide a GST_FUNCTION that just gives a string for now
16715
16716 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16717
16718         * win32/common/gstenumtypes.c: (register_gst_object_flags),
16719         (gst_object_flags_get_type), (register_gst_bin_flags),
16720         (gst_bin_flags_get_type), (register_gst_buffer_flag),
16721         (gst_buffer_flag_get_type), (register_gst_bus_flags),
16722         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
16723         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
16724         (gst_clock_return_get_type), (register_gst_clock_entry_type),
16725         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
16726         (gst_clock_flags_get_type), (register_gst_state),
16727         (gst_state_get_type), (register_gst_state_change_return),
16728         (gst_state_change_return_get_type), (register_gst_state_change),
16729         (gst_state_change_get_type), (register_gst_element_flags),
16730         (gst_element_flags_get_type), (register_gst_core_error),
16731         (gst_core_error_get_type), (register_gst_library_error),
16732         (gst_library_error_get_type), (register_gst_resource_error),
16733         (gst_resource_error_get_type), (register_gst_stream_error),
16734         (gst_stream_error_get_type), (register_gst_event_type),
16735         (gst_event_type_get_type), (register_gst_seek_type),
16736         (gst_seek_type_get_type), (register_gst_seek_flags),
16737         (gst_seek_flags_get_type), (register_gst_format),
16738         (gst_format_get_type), (register_gst_index_certainty),
16739         (gst_index_certainty_get_type), (register_gst_index_entry_type),
16740         (gst_index_entry_type_get_type),
16741         (register_gst_index_lookup_method),
16742         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
16743         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
16744         (gst_index_resolver_method_get_type), (register_gst_index_flags),
16745         (gst_index_flags_get_type), (register_gst_debug_level),
16746         (gst_debug_level_get_type), (register_gst_debug_color_flags),
16747         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
16748         (gst_iterator_result_get_type), (register_gst_iterator_item),
16749         (gst_iterator_item_get_type), (register_gst_message_type),
16750         (gst_message_type_get_type), (register_gst_mini_object_flags),
16751         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
16752         (gst_pad_link_return_get_type), (register_gst_flow_return),
16753         (gst_flow_return_get_type), (register_gst_activate_mode),
16754         (gst_activate_mode_get_type), (register_gst_pad_direction),
16755         (gst_pad_direction_get_type), (register_gst_pad_flags),
16756         (gst_pad_flags_get_type), (register_gst_pad_presence),
16757         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
16758         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
16759         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
16760         (gst_plugin_error_get_type), (register_gst_plugin_flags),
16761         (gst_plugin_flags_get_type), (register_gst_rank),
16762         (gst_rank_get_type), (register_gst_query_type),
16763         (gst_query_type_get_type), (register_gst_tag_merge_mode),
16764         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
16765         (gst_tag_flag_get_type), (register_gst_task_state),
16766         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
16767         (gst_alloc_trace_flags_get_type),
16768         (register_gst_type_find_probability),
16769         (gst_type_find_probability_get_type), (register_gst_uri_type),
16770         (gst_uri_type_get_type), (register_gst_parse_error),
16771         (gst_parse_error_get_type):
16772         * win32/common/gstversion.h:
16773           update win32 copies
16774
16775 2005-11-01  Luca Ognibene  <luogni@tin.it>
16776
16777         * gst/gst.c:
16778           fix docs. popt is dead, long live GOption.
16779
16780 2005-10-31  Wim Taymans  <wim@fluendo.com>
16781
16782         * gst/gstbuffer.h:
16783         Small doc fix.
16784
16785 2005-10-31  Andy Wingo  <wingo@pobox.com>
16786
16787         * Boo!
16788
16789         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
16790
16791         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
16792         need to serialize property notifications on GLib 2.8. GLib 2.6 has
16793         the possibility of deadlocks here if code calling notify() or
16794         set() has a lock that can be taken in another notify handler (ABBA
16795         with class lock and e.g. python GIL state lock).
16796
16797 2005-10-28  Julien MOUTTE  <julien@moutte.net>
16798
16799         * gst/gstbus.c: Doc updates.
16800
16801 2005-10-28  Wim Taymans  <wim@fluendo.com>
16802
16803         * docs/design/part-TODO.txt:
16804         * gst/gstiterator.c:
16805         * gst/gstsystemclock.c:
16806         * gst/gstsystemclock.h:
16807         Doc updates.
16808
16809 2005-10-28  Edward Hervey  <edward@fluendo.com>
16810
16811         * docs/gst/gstreamer-docs.sgml:
16812         * docs/gst/gstreamer-sections.txt:
16813         the GstURIType documentation page is private, it only defines GstURIType
16814         which should be defined in the GstURIHandler page
16815         
16816 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16817
16818         * gst/gstbin.c: (gst_bin_class_init):
16819         * gst/gstbin.h:
16820         * gst/gstutils.c:
16821         Documentation updates.
16822
16823 2005-10-28  Wim Taymans  <wim@fluendo.com>
16824
16825         * docs/gst/gstreamer-sections.txt:
16826         * gst/gstclock.c:
16827         * gst/gstclock.h:
16828         Documented the clocks.
16829
16830 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
16831
16832         * docs/gst/gstreamer-sections.txt:
16833           move some macros to private sections
16834         * gst/gstminiobject.c:
16835         * gst/gstminiobject.h:
16836           add descriptions provided by ds and some more
16837         * gst/gstpad.h:
16838           mark macro as to be removed
16839
16840 2005-10-28  Wim Taymans  <wim@fluendo.com>
16841
16842         * docs/design/part-TODO.txt:
16843         Add an item to TODO.
16844
16845         * gst/gstiterator.c: (gst_iterator_fold),
16846         (gst_iterator_find_custom):
16847         * gst/gstiterator.h:
16848         Add iterator docs.
16849
16850 2005-10-28  Wim Taymans  <wim@fluendo.com>
16851
16852         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16853         (gst_base_transform_init):
16854         Don't leak class.
16855
16856         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
16857         An EOS event marks the queue as completely filled.
16858
16859 2005-10-27  Wim Taymans  <wim@fluendo.com>
16860
16861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16862         (gst_base_sink_do_sync), (gst_base_sink_get_position):
16863         Some more debugging.
16864
16865         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
16866         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
16867         (gst_base_transform_event), (gst_base_transform_getrange),
16868         (gst_base_transform_chain):
16869         * gst/base/gstbasetransform.h:
16870         Fix debugging,
16871         Protect transform and concurrent buffer alloc with a new lock.
16872         Try not to break ABI/API.
16873
16874 2005-10-27  Wim Taymans  <wim@fluendo.com>
16875
16876         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16877         (gst_base_src_init), (gst_base_src_query),
16878         (gst_base_src_default_newsegment),
16879         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16880         (gst_base_src_send_event), (gst_base_src_event_handler),
16881         (gst_base_src_pad_get_range), (gst_base_src_loop),
16882         (gst_base_src_unlock), (gst_base_src_default_negotiate),
16883         (gst_base_src_start), (gst_base_src_deactivate),
16884         (gst_base_src_activate_push), (gst_base_src_change_state):
16885         Move some stuff around and cleanup things.
16886
16887 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
16888
16889         * gst/base/gstbasesrc.c: (gst_base_src_query):
16890           Add missing break statements.
16891
16892 2005-10-27  Wim Taymans  <wim@fluendo.com>
16893
16894         * check/gst/gstbin.c: (GST_START_TEST):
16895         An extra refcount is taken in basesrc.
16896
16897         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16898         (gst_base_src_get_range), (gst_base_src_pad_get_range),
16899         (gst_base_src_loop):
16900         Small cleanups, check for flushing after being unlocked from the 
16901         LIVE_LOCK. take refcounts correctly (not yet everywhere).
16902         Don't send out EOS when going to READY.
16903
16904 2005-10-27  Wim Taymans  <wim@fluendo.com>
16905
16906         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16907         (gst_base_sink_get_position):
16908         Some more debug.
16909
16910         * gst/gstbin.c: (message_check), (bin_replace_message),
16911         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16912         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16913         (bin_query_duration_init), (bin_query_duration_fold),
16914         (bin_query_duration_done), (bin_query_generic_fold),
16915         (gst_bin_query):
16916         * tools/gst-launch.c: (main):
16917         Remove old option.
16918
16919 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
16920
16921         * examples/controller/audio-example.c: (main):
16922         * examples/queue/queue.c: (event_loop):
16923         * gst/base/gstbasetransform.h:
16924         * gst/gstelement.c: (gst_element_send_event):
16925         * gst/gstevent.h:
16926         * gst/gstpad.c: (gst_pad_send_event):
16927           fixing examples
16928           fixing docs typos
16929           changing log priority in error situations
16930
16931 2005-10-25  Wim Taymans  <wim@fluendo.com>
16932
16933         * gst/gstbin.c: (message_check), (bin_replace_message),
16934         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16935         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16936         (bin_query_duration_init), (bin_query_duration_fold),
16937         (bin_query_duration_done), (bin_query_generic_fold),
16938         (gst_bin_query):
16939         Some doc and debug updates.
16940         Cache previously requested query DURATION for speed. invalidate
16941         cached duration if element posts a DURATION message.
16942
16943 2005-10-25  Wim Taymans  <wim@fluendo.com>
16944
16945         * docs/design/part-TODO.txt:
16946         Update TODO.
16947
16948         * gst/gstbin.c: (message_check), (bin_replace_message),
16949         (bin_remove_messages), (is_eos), (gst_bin_add_func),
16950         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
16951         (bin_query_duration_init), (bin_query_duration_fold),
16952         (bin_query_duration_done), (bin_query_generic_fold),
16953         (gst_bin_query):
16954         Handle SEGMENT_START/DONE messages correctly.
16955         More evolved query algorithm that handles duration queries
16956         correctly.
16957
16958         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
16959         (gst_element_get_state_func), (gst_element_abort_state),
16960         (gst_element_commit_state), (gst_element_lost_state):
16961         Some more debugging.
16962
16963         * gst/gstmessage.h:
16964         Added doc.
16965
16966 2005-10-25  Wim Taymans  <wim@fluendo.com>
16967
16968         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
16969         Don't use invalid stream_time.
16970
16971         * gst/gstevent.c: (gst_event_new_newsegment):
16972         stream_time in newsegment cannot be undefined.
16973
16974 2005-10-24  Wim Taymans  <wim@fluendo.com>
16975
16976         * gst/gstbus.c:
16977         Doc fix.
16978
16979         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16980         (gst_queue_loop):
16981         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
16982
16983 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
16984
16985         * docs/libs/tmpl/gstdparam.sgml:
16986         * docs/libs/tmpl/gstdplinint.sgml:
16987         * docs/libs/tmpl/gstdpman.sgml:
16988         * docs/libs/tmpl/gstdpsmooth.sgml:
16989         * docs/libs/tmpl/gstunitconvert.sgml:
16990           these are obsolete
16991
16992 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16993
16994         * configure.ac:
16995           back to HEAD
16996
16997 === release 0.9.4 ===
16998
16999 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17000
17001         * configure.ac:
17002           releasing 0.9.4, "Tyrannosaurus Rex"
17003
17004 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
17005
17006         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17007         (gst_file_sink_get_current_offset):
17008           Use fseeko() and ftello() if available. When falling back on
17009           lseek() to get the current offset, fflush() first to make sure
17010           everything is up-to-date and we get the right offset.
17011
17012 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17013
17014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17015         * gst/base/gstbasesrc.c: (gst_base_src_loop):
17016         * gst/gsterror.c: (_gst_stream_errors_init):
17017         * gst/gsterror.h:
17018         * gst/gstqueue.c: (gst_queue_loop):
17019         * po/POTFILES.in:
17020           remove prematurely added error category and clean up the instances
17021
17022 2005-10-21  Wim Taymans  <wim@fluendo.com>
17023
17024         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17025         (gst_base_sink_get_position), (gst_base_sink_query),
17026         (gst_base_sink_change_state):
17027         Simply set the right flag when going to playing, that's all
17028         we need to do instead of calling a function inside the object
17029         lock (that could take the lock as well and deadlock)
17030
17031 2005-10-21  Wim Taymans  <wim@fluendo.com>
17032
17033         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
17034         (gst_base_src_loop):
17035         Don't warn, the peer element knows what to do best when
17036         the seek failed, it might try something else.
17037
17038 2005-10-21  Wim Taymans  <wim@fluendo.com>
17039
17040         * gst/base/gstbasesrc.c: (gst_base_src_init),
17041         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
17042         Fix seeking.
17043
17044 2005-10-21  Wim Taymans  <wim@fluendo.com>
17045
17046         * docs/design/part-segments.txt:
17047         More docs.
17048
17049         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17050         Correctly set caps, even on the subbufer.
17051
17052 2005-10-21  Wim Taymans  <wim@fluendo.com>
17053
17054         * docs/gst/gstreamer-docs.sgml:
17055         * docs/gst/gstreamer-sections.txt:
17056         * gst/gstelement.h:
17057         * gst/gstevent.c:
17058         * gst/gstevent.h:
17059         * gst/gstmessage.h:
17060         * gst/gstpad.h:
17061         * gst/gstparse.h:
17062         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
17063         * gst/gsttask.h:
17064         * gst/gstutils.c:
17065         * gst/gstutils.h:
17066         And 2% more doc coverage.
17067
17068 2005-10-21  Andy Wingo  <wingo@pobox.com>
17069
17070         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
17071         position reporting.
17072
17073 2005-10-20  Wim Taymans  <wim@fluendo.com>
17074
17075         * gst/gsterror.c: (gst_error_get_message):
17076         * gst/gstparse.h:
17077         * gst/gstquery.h:
17078         * gst/gststructure.c:
17079         * gst/gsttrace.c:
17080         * gst/gstutils.c:
17081         More docs.
17082
17083 2005-10-20  Wim Taymans  <wim@fluendo.com>
17084
17085         * gst/gstbuffer.h:
17086         * gst/gstpad.c:
17087         * gst/gstparse.c:
17088         Another 1% more coverage.
17089
17090 2005-10-20  Wim Taymans  <wim@fluendo.com>
17091
17092         * docs/gst/gstreamer-sections.txt:
17093         * gst/gstelement.c: (gst_element_get_state_func),
17094         (gst_element_abort_state), (gst_element_commit_state),
17095         (gst_element_lost_state):
17096         * gst/gstevent.h:
17097         * gst/gstquery.c: (gst_query_set_position),
17098         (gst_query_parse_position), (gst_query_set_duration),
17099         (gst_query_parse_duration), (gst_query_new_convert):
17100         * gst/gstutils.c:
17101         Yay! 1% more docs coverage.
17102
17103 2005-10-20  Wim Taymans  <wim@fluendo.com>
17104
17105         * gst/gstpad.h:
17106         * gst/gstquery.c: (gst_query_set_position),
17107         (gst_query_parse_position), (gst_query_set_duration),
17108         (gst_query_parse_duration), (gst_query_new_convert):
17109         * gst/gstquery.h:
17110         * gst/gstutils.c: (gst_element_query_convert):
17111         * gst/gstutils.h:
17112         Docs and consistency fixes.
17113
17114 2005-10-20  Wim Taymans  <wim@fluendo.com>
17115
17116         * gst/gsttask.c:
17117         * gst/gsttask.h:
17118         More docs.
17119
17120 2005-10-20  Wim Taymans  <wim@fluendo.com>
17121
17122         * gst/gstbin.c: (message_check), (bin_replace_message),
17123         (bin_remove_messages), (is_eos), (gst_bin_add_func),
17124         (update_degree), (gst_bin_sort_iterator_next),
17125         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
17126         Reworked the message handling a bit, cache the messages instead of
17127         only the senders. alows us to do more in the future.
17128
17129 2005-10-20  Wim Taymans  <wim@fluendo.com>
17130
17131         * docs/design/part-TODO.txt:
17132         Update TODO
17133
17134         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
17135         (gst_base_sink_query):
17136         Don't use clock time to report position when in EOS.
17137
17138 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
17139
17140         * tools/gst-inspect.c: (print_interfaces),
17141         (print_element_properties_info), (print_element_info):
17142           Fix interface output with gst-inspect -a; don't print
17143           newlines after double/float properties.
17144
17145 2005-10-20  Wim Taymans  <wim@fluendo.com>
17146
17147         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
17148         (gst_base_sink_query):
17149         Speed up current position calculation.
17150
17151         * gst/base/gstbasesrc.c: (gst_base_src_query),
17152         (gst_base_src_default_newsegment):
17153         Correctly set stream position in newsegment.
17154
17155         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
17156         (update_degree), (gst_bin_sort_iterator_next),
17157         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
17158         * gst/gstmessage.c: (gst_message_new_custom):
17159         Clean up debugging info
17160
17161         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
17162         (gst_queue_loop), (gst_queue_handle_src_query):
17163         Pause task faster.
17164
17165 2005-10-19  Wim Taymans  <wim@fluendo.com>
17166
17167         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17168         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
17169         Fix query handling again.
17170
17171 2005-10-19  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17174         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
17175         * gst/base/gstbasesrc.c: (gst_base_src_query):
17176         * gst/elements/gstfilesink.c: (gst_file_sink_query):
17177         * gst/elements/gsttypefindelement.c:
17178         (gst_type_find_handle_src_query), (find_element_get_length),
17179         (gst_type_find_element_activate):
17180         API change fix.
17181
17182         * gst/gstquery.c: (gst_query_new_position),
17183         (gst_query_set_position), (gst_query_parse_position),
17184         (gst_query_new_duration), (gst_query_set_duration),
17185         (gst_query_parse_duration), (gst_query_set_segment),
17186         (gst_query_parse_segment):
17187         * gst/gstquery.h:
17188         Bundling query position/duration is not a good idea since duration
17189         does not change much and we don't want to recalculate it for every
17190         position query, so they are separated again..
17191         Base value in segment query is not needed.
17192
17193         * gst/gstqueue.c: (gst_queue_handle_src_query):
17194         * gst/gstutils.c: (gst_element_query_position),
17195         (gst_element_query_duration), (gst_pad_query_position),
17196         (gst_pad_query_duration):
17197         * gst/gstutils.h:
17198         Updates for query API change.
17199         Added some docs here and there.
17200
17201 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17202
17203         * check/gst/gstbin.c: (GST_START_TEST):
17204         * check/gst/gstghostpad.c: (GST_START_TEST):
17205         * check/pipelines/cleanup.c: (GST_START_TEST):
17206           wait on thread to die so we can check refcount correctly
17207
17208 2005-10-18  Wim Taymans  <wim@fluendo.com>
17209
17210         * check/pipelines/stress.c: (GST_START_TEST):
17211         Make check a little more time consuming.
17212
17213 2005-10-18  Wim Taymans  <wim@fluendo.com>
17214
17215         * check/Makefile.am:
17216         * check/pipelines/stress.c: (GST_START_TEST),
17217         (simple_launch_lines_suite), (main):
17218         Small state change torture test.
17219
17220         * docs/design/part-states.txt:
17221         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17222         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
17223         (gst_base_sink_change_state):
17224         Never take state lock from streaming thread, clean up ugly
17225         hacks. Unfortunatly core does not yet support nice ways to
17226         async commit state.
17227         
17228         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
17229         (bin_bus_handler):
17230         Start state recalc if a STATE_DIRTY message is posted, but only
17231         on the toplevel bin.
17232
17233         * gst/gstelement.c: (gst_element_sync_state_with_parent),
17234         (gst_element_get_state_func), (gst_element_abort_state),
17235         (gst_element_commit_state), (gst_element_lost_state),
17236         (gst_element_set_state_func), (gst_element_change_state):
17237         * gst/gstelement.h:
17238         State variables are now protected with the LOCK, the state
17239         lock is only used to serialize _set_state().
17240
17241 2005-10-18  Wim Taymans  <wim@fluendo.com>
17242
17243         * check/gst/gstbin.c: (GST_START_TEST):
17244         * check/gst/gstmessage.c: (GST_START_TEST):
17245         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17246         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
17247         (bin_bus_handler):
17248         * gst/gstelement.c: (gst_element_abort_state),
17249         (gst_element_commit_state), (gst_element_lost_state):
17250         * gst/gstmessage.c: (gst_message_new_state_changed),
17251         (gst_message_new_state_dirty), (gst_message_new_segment_start),
17252         (gst_message_new_segment_done), (gst_message_new_duration),
17253         (gst_message_parse_state_changed),
17254         (gst_message_parse_segment_start),
17255         (gst_message_parse_segment_done), (gst_message_parse_duration):
17256         * gst/gstmessage.h:
17257         * tools/gst-launch.c: (event_loop):
17258         Seriously, this is better than a previous commit as we only need
17259         to notify the fact that an element changed state in a streaming
17260         thread, marking the state of the parents dirty, hence the 
17261         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
17262         message.
17263
17264 2005-10-18  Wim Taymans  <wim@fluendo.com>
17265
17266         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
17267         (gst_bin_recalc_func):
17268         * gst/gstelement.c: (gst_element_set_clock),
17269         (gst_element_abort_state), (gst_element_lost_state):
17270         Cleanups, prepare for state change fixes.
17271
17272 2005-10-18  Wim Taymans  <wim@fluendo.com>
17273
17274         * gst/gstbin.h:
17275         * gst/gstelement.c: (gst_element_class_init),
17276         (gst_element_set_state), (gst_element_set_state_func):
17277         * gst/gstelement.h:
17278         Pending ABI changes.
17279         GThreadPool in GstBinClass to monitor async state changes.
17280         state_cookie in GstElement to detect concurrent gst/set state.
17281         set_state is now virtual too in case a very complicated element
17282         has to be constructed.
17283
17284 2005-10-18  Wim Taymans  <wim@fluendo.com>
17285
17286         * check/gst/gstbin.c: (GST_START_TEST):
17287         * check/gst/gstmessage.c: (GST_START_TEST):
17288         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
17289         * gst/gstbin.c: (bin_bus_handler):
17290         * gst/gstelement.c: (gst_element_commit_state),
17291         (gst_element_lost_state):
17292         * gst/gstmessage.c: (gst_message_new_state_changed),
17293         (gst_message_new_segment_start), (gst_message_new_segment_done),
17294         (gst_message_new_duration), (gst_message_parse_state_changed),
17295         (gst_message_parse_segment_start),
17296         (gst_message_parse_segment_done), (gst_message_parse_duration):
17297         * gst/gstmessage.h:
17298         * tools/gst-launch.c: (event_loop):
17299         Make messages future proof.
17300         state-change gets a flag if it was a message comming from the
17301         streaming thread.
17302         segment-start/stop can also be specified in other formats.
17303         A message to notify an app that a pipeline changed playback 
17304         duration.
17305         Also fix a GstMessage leak in -launch
17306
17307 2005-10-18  Andy Wingo  <wingo@pobox.com>
17308
17309         * gst/gstelement.c (gst_element_dispose): More helpful message.
17310
17311 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17312
17313         reviewed by: <delete if not using a buddy>
17314
17315         * common/gtk-doc.mak:
17316
17317 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17318
17319         * gst/gstregistry.c: (gst_registry_scan_path_level):
17320           unref a plug-in we get that was already initialized
17321
17322 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
17323
17324         * docs/gst/gstreamer-sections.txt:
17325         * docs/libs/gstreamer-libs-sections.txt:
17326         * gst/gstelement.h:
17327           add new api entries
17328           hide internal macro
17329
17330 2005-10-17  Andy Wingo  <wingo@pobox.com>
17331
17332         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
17333         cleanup.
17334
17335         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
17336
17337         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
17338
17339         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
17340         (gst_element_get_state_func): Better debug message.
17341         (gst_element_commit_state): s/INFO/DEBUG/.
17342         (gst_element_lost_state, gst_element_change_state): 
17343
17344         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
17345         (gst_message_new_custom): s/INFO/LOG/.
17346
17347 2005-10-17  Michael Smith <msmith@fluendo.com>
17348
17349         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17350           Check if end time is valid using end time, not start time.
17351
17352 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
17353
17354         * check/gst-libs/controller.c: (GST_START_TEST),
17355         (gst_controller_suite):
17356         * libs/gst/controller/gstcontroller.c:
17357         (gst_controlled_property_set_interpolation_mode):
17358         * libs/gst/controller/gstcontroller.h:
17359         * libs/gst/controller/gstinterpolation.c:
17360         * testsuite/controller/.cvsignore:
17361         * testsuite/controller/Makefile.am:
17362         * testsuite/controller/interpolator.c:
17363           merge controller testsuites
17364           fix broken tests
17365           remove mem-chunk from docs
17366
17367 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17368
17369         * gst/gstmemchunk.c:
17370         * gst/gstmemchunk.h:
17371         * gst/gsttrashstack.c:
17372         * gst/gsttrashstack.h:
17373           out.  get out.  you're fired.  to the Attic !
17374
17375 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17376
17377         * gst/gstcaps.c: (gst_caps_intersect):
17378           fix signedness issues in a (hopefully) correct way
17379         * gst/gstelement.c: (gst_element_pads_activate):
17380           some debugging
17381         * gst/gstobject.c: (gst_object_set_parent):
17382           some debugging
17383
17384 2005-10-17  Julien MOUTTE  <julien@moutte.net>
17385
17386         * gst/gstvalue.h: Fix prototypes.
17387
17388 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17389
17390         * docs/gst/gstreamer-sections.txt:
17391         * gst/gst.c: (gst_version_string):
17392         * gst/gst.h:
17393         * gst/gstversion.h.in:
17394         * win32/common/libgstreamer.def:
17395           add gst_version_string ()
17396
17397 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17398
17399         * configure.ac:
17400           clean up further
17401         * gst/gst.c: (init_post):
17402         * win32/common/config.h.in:
17403           it's PLUGINDIR now
17404         * gst/gstcaps.c: (gst_caps_intersect):
17405           use gint64, the range could be bigger than a guint
17406
17407 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17408
17409         * gst/gstclock.h:
17410           document potential problem in 2038
17411
17412 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17413
17414         * gst/gstcaps.c: (gst_caps_intersect):
17415           Fix guint j diving under 0
17416
17417 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17418
17419         * configure.ac:
17420         * win32/common/config.h:
17421         * win32/common/config.h.in:
17422           check for process.h, declares getpid() on Windows
17423         * gst/gstinfo.c:
17424           include process.h if we have it
17425         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
17426         * gst/gstmemchunk.h:
17427           fix signedness issues
17428         * win32/common/libgstreamer.def:
17429           fix get_type's
17430
17431 2005-10-16  Julien MOUTTE  <julien@moutte.net>
17432
17433         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
17434         fix. Because of unsigned ints, caps intersection was going nuts and
17435         trying to access structures with G_MAXUINT index. That fixes
17436         videotestsrc ! ffmpegcolorspace ! fakesink
17437         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
17438         consistency.
17439
17440 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17441
17442         * configure.ac:
17443           use the gettext macro
17444         * gst/elements/gstelements.c:
17445         * gst/gst.c:
17446         * gst/indexers/gstindexers.c:
17447           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
17448         * win32/common/config.h:
17449           updated config.h
17450         * win32/common/config.h.in:
17451           add the template to generate config.h
17452         * win32/common/gstenumtypes.c:
17453         * win32/common/gstversion.h:
17454           updated copies
17455
17456 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17457
17458         * gst/gst.c: (gst_version):
17459         * gst/gstversion.h.in:
17460           add the nano
17461
17462 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17463
17464         * gst/gstevent.h:
17465           Oops, add missing closing bracket.
17466
17467 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17468
17469         * configure.ac:
17470           use common m4's for argument checking
17471
17472 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
17473
17474         * docs/gst/gstreamer-sections.txt:
17475         * gst/gstevent.h:
17476           Add GST_EVENT_TYPE_NAME() macro.
17477
17478 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17479
17480         * gst/gstinfo.c:
17481         * gst/gstpluginfeature.c:
17482         * gst/gsttask.c:
17483           privatize more symbols
17484
17485 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17486
17487         * configure.ac:
17488           add srcdir, builddir includes to GST_ALL_CFLAGS, since
17489           everything that uses GStreamer API should have the includes
17490
17491 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17492
17493         * docs/gst/gstreamer-sections.txt:
17494         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
17495         * gst/gstvalue.h:
17496           give each value a _get_type, removes the DATA exports
17497
17498 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17499
17500         * gst/gst.c:
17501         * gst/gst.h:
17502           remove _gst_registry_auto_load, not used anymore
17503         * gst/gstbin.c: (gst_bin_get_type):
17504         * gst/gstbin.h:
17505         * gst/gstelement.c: (gst_element_get_type):
17506         * gst/gstelement.h:
17507         * gst/gstobject.c: (gst_object_get_type):
17508         * gst/gstobject.h:
17509         * gst/gstpad.c: (gst_pad_get_type):
17510         * gst/gstpad.h:
17511           make _get_type functions similar, fixes data export from library
17512
17513 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17514
17515         * configure.ac:
17516           correctly make conditionals
17517         * gst/elements/Makefile.am:
17518         * gst/elements/gstelements.c:
17519           fix typo causing fdsrc not to build
17520
17521 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17522
17523         * testsuite/Makefile.am:
17524         * testsuite/bytestream/.cvsignore:
17525         * testsuite/bytestream/Makefile.am:
17526         * testsuite/bytestream/filepadsink.c:
17527         * testsuite/bytestream/gstbstest.c:
17528         * testsuite/bytestream/test1.c:
17529         * testsuite/bytestream/testfile1:
17530         * testsuite/caps/normalisation.c:
17531         * testsuite/caps/random.c: (main):
17532         * testsuite/cleanup/.cvsignore:
17533         * testsuite/cleanup/Makefile.am:
17534         * testsuite/cleanup/cleanup1.c:
17535         * testsuite/cleanup/cleanup2.c:
17536         * testsuite/cleanup/cleanup3.c:
17537         * testsuite/cleanup/cleanup4.c:
17538         * testsuite/cleanup/cleanup5.c:
17539         * testsuite/controller/interpolator.c:
17540         * testsuite/debug/printf_extension.c: (main):
17541         * testsuite/elements/tee.c:
17542         * testsuite/negotiation/.cvsignore:
17543         * testsuite/negotiation/Makefile.am:
17544         * testsuite/negotiation/pad_link.c:
17545         * testsuite/pad/Makefile.am:
17546         * testsuite/pad/chainnopull.c:
17547         * testsuite/pad/getnopush.c:
17548         * testsuite/pad/link.c:
17549         * testsuite/refcounting/sched.c: (create_pipeline):
17550         * testsuite/registry/Makefile.am:
17551         * testsuite/registry/gst-print-formats.c:
17552         * testsuite/schedulers/.cvsignore:
17553         * testsuite/schedulers/142183-2.c:
17554         * testsuite/schedulers/142183.c:
17555         * testsuite/schedulers/143777-2.c:
17556         * testsuite/schedulers/143777.c:
17557         * testsuite/schedulers/147713.c:
17558         * testsuite/schedulers/147819.c:
17559         * testsuite/schedulers/147894-2.c:
17560         * testsuite/schedulers/147894.c:
17561         * testsuite/schedulers/Makefile.am:
17562         * testsuite/schedulers/group_link.c:
17563         * testsuite/schedulers/queue_link.c:
17564         * testsuite/schedulers/relink.c:
17565         * testsuite/schedulers/unlink.c:
17566         * testsuite/schedulers/unref.c:
17567         * testsuite/schedulers/useless_iteration.c:
17568         * testsuite/states/bin.c:
17569           clean out/remove some stuff from the testsuite directories
17570
17571 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17572
17573         * configure.ac:
17574           check for some headers
17575         * gst/elements/Makefile.am:
17576         * gst/elements/gstelements.c:
17577           don't compile fdsrc without sys/socket.h
17578         * gst/indexers/Makefile.am:
17579         * gst/indexers/gstindexers.c: (plugin_init):
17580           don't compile fileindex without mmap
17581
17582 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17583
17584         * configure.ac:
17585           reorganize
17586           clean up
17587           document more
17588           remove cruft
17589         * check/Makefile.am:
17590         * docs/gst/Makefile.am:
17591         * examples/helloworld/Makefile.am:
17592         * gst/Makefile.am:
17593         * gst/base/Makefile.am:
17594         * gst/check/Makefile.am:
17595         * gst/elements/Makefile.am:
17596         * gst/indexers/Makefile.am:
17597         * gst/parse/Makefile.am:
17598         * libs/gst/controller/Makefile.am:
17599         * libs/gst/dataprotocol/Makefile.am:
17600         * examples/helloworld/helloworld.c: (event_loop):
17601           compile fixes, though it's not being compiled currently
17602
17603 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17604
17605         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
17606           Add some simple tests for the new taglist date API.
17607
17608 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17609
17610         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
17611         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
17612           Beautify 'last-message' output: print 'none' for buffer timestamps
17613           and durations if none is set; improve alignment with next messages.
17614
17615 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
17616
17617         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
17618         * gst/gstpluginfeature.h:
17619         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
17620         * gst/gstregistry.h:
17621         * docs/gst/gstreamer-sections.txt:
17622           Add new API to check plugin feature version requirements.
17623
17624         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
17625           Some basic tests for the above.         
17626
17627 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17628
17629         * gst/gststructure.c: (gst_structure_to_string):
17630           guard against NULL printf - happens when for example
17631           a message structure with GstClock gets serialized
17632
17633 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17634
17635         * gst/base/gstcollectpads.c: (gst_collectpads_event):
17636           Fix presumable copy'n'pasto.
17637
17638 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17639
17640         * gst/elements/gstfakesrc.h:
17641         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
17642         * gst/elements/gsttypefindelement.c:
17643           fix some signedness
17644         * gst/elements/gstfilesink.c: (gst_file_sink_render):
17645           I wonder if this could actually write +2GB files before
17646
17647 2005-10-13  Andy Wingo  <wingo@pobox.com>
17648
17649         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
17650         Fix Timmeke Waymans bug.
17651         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
17652         string of the proper length to gst_caps_from_string. There's a
17653         potential for, before this fix, that this could cause someone
17654         connecting over the network to cause a segfault if the payload is
17655         not NUL-terminated.
17656
17657 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17658
17659         * docs/design/draft-push-pull.txt:
17660         * docs/design/part-overview.txt:
17661         * docs/random/TODO-pre-0.9:
17662         * docs/random/old/ChangeLog.gstreamer:
17663         * gst/base/gstpushsrc.c:
17664         * gst/gstclock.c:
17665           fixed typos
17666
17667 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17668
17669         * gst/glib-compat.c: (gst_flags_get_first_value):
17670         * gst/glib-compat.h:
17671         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
17672         (gst_value_compare_double), (gst_value_serialize_flags):
17673           GLib 2.6 g_flags_get_first_value has a bug that triggers an
17674           infinite loop
17675
17676 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17677
17678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17679         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17680           fix up debugging
17681         * tools/gst-launch.c: (event_loop):
17682           print out clock nicely
17683
17684 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
17685
17686         * docs/gst/gstreamer-sections.txt:
17687         * gst/gsttaglist.h:
17688         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
17689         (gst_tag_list_get_date_index):
17690           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
17691           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
17692
17693 2005-10-13  Julien MOUTTE  <julien@moutte.net>
17694
17695         * gst/base/gstcollectpads.c: (gst_collectpads_event),
17696         (gst_collectpads_chain):
17697         * gst/base/gstcollectpads.h: Handle newsegment and store informations
17698         in CollectData.
17699
17700 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
17701
17702         * docs/gst/gstreamer-sections.txt:
17703         * gst/gst.c:
17704         * gst/gsterror.h:
17705         * tools/gst-inspect.c: (main):
17706         * tools/gst-launch.c: (main):
17707         * tools/gst-run.c: (main):
17708         * tools/gst-xmlinspect.c: (main):
17709           fix GOption context leaks
17710           doc fixes
17711
17712 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17713
17714         * gst/gstbus.c:
17715           use HAVE_UNISTD_H
17716         * win32/common/config.h:
17717           update config
17718         * win32/vs6/grammar.dsp:
17719         * win32/vs6/libgstelements.dsp:
17720         * win32/vs6/libgstreamer.dsp:
17721           update vs6 files
17722
17723 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17724
17725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17726         * gst/base/gstbasesrc.c: (gst_base_src_query):
17727           fix more guint64<->gdouble conversions
17728
17729 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17730
17731         * Makefile.am:
17732           add win32-update target
17733         * win32/common/gstconfig.h:
17734         * win32/common/gstenumtypes.c:
17735         * win32/common/gstenumtypes.h:
17736         * win32/common/gstversion.h:
17737           add files that visual studio can't generate
17738
17739 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17740
17741         * Makefile.am:
17742           add a win32-update target
17743         * configure.ac:
17744
17745 2005-10-12  Wim Taymans  <wim@fluendo.com>
17746
17747         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17748         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
17749         * gst/gstelement.c: (gst_element_commit_state),
17750         (gst_element_set_state):
17751         Protect flags with proper lock.
17752         unref provided cached clock in dispose.
17753
17754 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17755
17756         * gst/gst.c:
17757         * gst/gstminiobject.h:
17758         * gst/gstpad.h:
17759         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
17760           removed unused flags from miniobject
17761           doc fixes
17762
17763 2005-10-12  Wim Taymans  <wim@fluendo.com>
17764
17765         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
17766         (gst_file_sink_event), (gst_file_sink_render):
17767         Flush before seeking.
17768
17769 2005-10-12  Andy Wingo  <wingo@pobox.com>
17770
17771         * gst/gst.c (gst_init_check): Ignore unknown options, as has
17772         always been the case.
17773
17774 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
17775
17776         * check/gst/gstbin.c: (GST_START_TEST):
17777         * docs/gst/gstreamer-sections.txt:
17778         * gst/base/gstbasesink.c: (gst_base_sink_init):
17779         * gst/base/gstbasesrc.c: (gst_base_src_init),
17780         (gst_base_src_get_range), (gst_base_src_check_get_range),
17781         (gst_base_src_start), (gst_base_src_stop):
17782         * gst/base/gstbasesrc.h:
17783         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
17784         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
17785         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
17786         (bin_bus_handler):
17787         * gst/gstbin.h:
17788         * gst/gstbuffer.h:
17789         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
17790         * gst/gstbus.h:
17791         * gst/gstelement.c: (gst_element_is_locked_state),
17792         (gst_element_set_locked_state), (gst_element_commit_state),
17793         (gst_element_set_state):
17794         * gst/gstelement.h:
17795         * gst/gstindex.c: (gst_index_init):
17796         * gst/gstindex.h:
17797         * gst/gstminiobject.h:
17798         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
17799         (gst_object_set_parent):
17800         * gst/gstobject.h:
17801         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
17802         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
17803         * gst/gstpad.h:
17804         * gst/gstpadtemplate.h:
17805         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
17806         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
17807         * gst/gstpipeline.h:
17808         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17809         (gst_file_index_commit):
17810         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
17811         * testsuite/pad/link.c: (gst_test_src_init),
17812         (gst_test_filter_init), (gst_test_sink_init):
17813         * testsuite/states/locked.c: (main):
17814           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
17815           moved bitshift from macro to enum definition
17816
17817 2005-10-12  Wim Taymans  <wim@fluendo.com>
17818
17819         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
17820         * gst/elements/gstfilesink.c: (gst_file_sink_event),
17821         (gst_file_sink_render):
17822         Some more debugging info.
17823
17824 2005-10-12  Wim Taymans  <wim@fluendo.com>
17825
17826         * docs/design/part-states.txt:
17827         * tools/gst-launch.c: (main):
17828         Some doc updates.
17829         Revert non-intentional change.
17830
17831 2005-10-12  Wim Taymans  <wim@fluendo.com>
17832
17833         * check/gst/gstbin.c: (GST_START_TEST):
17834         * check/gst/gstelement.c: (GST_START_TEST):
17835         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
17836         * check/gst/gstghostpad.c: (GST_START_TEST):
17837         * check/gst/gstpipeline.c: (GST_START_TEST):
17838         * check/pipelines/simple_launch_lines.c: (run_pipeline):
17839         * check/states/sinks.c: (GST_START_TEST):
17840         * gst/elements/gsttypefindelement.c: (stop_typefinding):
17841         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17842         (gst_bin_remove_func), (gst_bin_get_state_func),
17843         (gst_bin_recalc_state), (gst_bin_change_state_func),
17844         (bin_bus_handler):
17845         * gst/gstelement.c: (gst_element_get_state_func),
17846         (gst_element_get_state), (gst_element_abort_state),
17847         (gst_element_commit_state), (gst_element_set_state),
17848         (gst_element_change_state), (gst_element_change_state_func):
17849         * gst/gstelement.h:
17850         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
17851         (gst_pipeline_provide_clock_func):
17852         * gst/gstutils.c: (gst_element_link_pads_filtered):
17853         * tools/gst-launch.c: (main):
17854         * tools/gst-typefind.c: (main):
17855         Use GstClockTime in _get_state() instead of GTimeVal.
17856         Remove old code in gstutils.c
17857
17858 2005-10-12  Andy Wingo  <wingo@pobox.com>
17859
17860         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
17861         removed.
17862
17863         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
17864         there is no task. Shouldn't affect any code, as nothing in our
17865         plugins checks this return value.
17866         (gst_pad_stop_task): Also take the stream lock if the pad has no
17867         task. Docs updated.
17868
17869 2005-10-12  Wim Taymans  <wim@fluendo.com>
17870
17871         * gst/gstpad.c: (pre_activate), (post_activate),
17872         (gst_pad_activate_pull), (gst_pad_activate_push):
17873         Cleanup activation code. Reset old state if
17874         activation failed.
17875
17876 2005-10-12  Wim Taymans  <wim@fluendo.com>
17877
17878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17879         (gst_base_sink_change_state):
17880         No need to prerol after receiving EOS.
17881
17882         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
17883         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
17884         * gst/elements/gstidentity.c: (gst_identity_event):
17885         Print events more verbosely.
17886
17887 2005-10-12  Wim Taymans  <wim@fluendo.com>
17888
17889         * check/Makefile.am:
17890         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17891         * check/states/sinks2.c:
17892         Moved sinks2 testcode in sinks check.
17893
17894         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17895         (gst_bin_remove_func), (gst_bin_recalc_state),
17896         (gst_bin_change_state_func), (bin_bus_handler):
17897         Fix potential race condition when _get_state() iterated over an
17898         ASYNC element right before it posted a state completion.
17899
17900         * gst/gstclock.h:
17901         Do proper cast here.
17902
17903         * gst/gstevent.c: (gst_event_new_newsegment),
17904         (gst_event_parse_newsegment):
17905         A playback rate of 0.0 is not allowed.
17906
17907 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17908
17909         * win32/common/config.h:
17910         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
17911         (_trewinddir), (_ttelldir), (_tseekdir):
17912         * win32/common/dirent.h:
17913         * win32/common/gtchar.h:
17914         * win32/common/libgstbase.def:
17915         * win32/common/libgstreamer.def:
17916         * win32/vs6/grammar.dsp:
17917         * win32/vs6/gst_inspect.dsp:
17918         * win32/vs6/gst_launch.dsp:
17919         * win32/vs6/gstreamer.dsw:
17920         * win32/vs6/libgstbase.dsp:
17921         * win32/vs6/libgstelements.dsp:
17922         * win32/vs6/libgstreamer.dsp:
17923           Visual Studio 6 project files, and a new common directory.
17924           Phear.
17925
17926 2005-10-11  Wim Taymans  <wim@fluendo.com>
17927
17928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17929         (gst_base_sink_do_sync), (gst_base_sink_query),
17930         (gst_base_sink_change_state):
17931         * gst/base/gstbasesink.h:
17932         Correctly parse newsegment info.
17933
17934 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17935
17936         * gst/gst.c: (init_post):
17937           split plugin paths correctly
17938
17939 2005-10-11  Wim Taymans  <wim@fluendo.com>
17940
17941         * check/gst/gstevent.c: (GST_START_TEST):
17942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17943         (gst_base_sink_change_state):
17944         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
17945         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17946         * gst/elements/gstfilesink.c: (gst_file_sink_event):
17947         * gst/gstevent.c: (gst_event_new_newsegment),
17948         (gst_event_parse_newsegment):
17949         * gst/gstevent.h:
17950         Added extra flag to newsegment for future API freeze.
17951         Updated check and base elements.
17952
17953 2005-10-11  Julien MOUTTE  <julien@moutte.net>
17954
17955         * gst/base/gstcollectpads.c: (gst_collectpads_init),
17956         (gst_collectpads_add_pad), (gst_collectpads_pop),
17957         (gst_collectpads_event), (gst_collectpads_chain):
17958         * gst/base/gstcollectpads.h: Handle EOS correctly.
17959
17960 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17961
17962         * tools/gst-launch.c: (main):
17963           more null protecting
17964
17965 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17966
17967         * gst/gst-i18n-lib.h:
17968           check for ENABLE_NLS, not GETTEXT_PACKAGE
17969         * gst/gstregistry.c: (gst_registry_add_plugin),
17970         (gst_registry_scan_path_level),
17971         (_gst_registry_remove_cache_plugins):
17972           protect possibly NULL strings
17973         * gst/parse/types.h:
17974           config.h already included before
17975         * tools/gst-inspect.c: (main):
17976           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
17977           check for ENABLE_NLS, not GETTEXT_PACKAGE
17978         * tools/gst-launch.c: (main):
17979           check for ENABLE_NLS, not GETTEXT_PACKAGE
17980
17981 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17982
17983         * configure.ac:
17984           if we don't have glib, fail before testing 2.8
17985         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
17986           fix a leak, should fix plugins-base testsuite
17987
17988 2005-10-11  Andy Wingo  <wingo@pobox.com>
17989
17990         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
17991         take the mode we're going to as an arg. Go head and set the mode
17992         and flushing flags now, so that if the activate function starts a
17993         thread all the flags will be in the right state.
17994         (post_activate): Renamed also. Just handle making sure streaming
17995         finishes for the deactivation case, and setting the deactivated
17996         mode.
17997         (gst_pad_set_active): Complain loudly if deactivation fails.
17998         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
17999         (gst_pad_activate_push): Adapt to pre/post_activate changes,
18000         remove the terrible hack.
18001
18002 2005-10-11  Wim Taymans  <wim@fluendo.com>
18003
18004         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
18005         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
18006         (gst_bin_recalc_state), (gst_bin_change_state_func),
18007         (gst_bin_dispose), (bin_bus_handler):
18008         * gst/gstbin.h:
18009         Prepare to make current EOS message queue more generic.
18010         Fix some typos.
18011
18012         * gst/gstevent.c: (gst_event_new_newsegment),
18013         (gst_event_parse_newsegment):
18014         * gst/gstevent.h:
18015         Rename base to stream_time.
18016
18017         * gst/gstmessage.h:
18018         Fix typo in docs.
18019
18020 2005-10-11  Wim Taymans  <wim@fluendo.com>
18021
18022         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
18023         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
18024         (gst_bin_change_state_func), (bin_bus_handler):
18025         * gst/gstbin.h:
18026         Work on proper clock selection.
18027
18028 2005-10-11  Edward Hervey  <edward@fluendo.com>
18029
18030         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
18031         * libs/gst/controller/gstcontroller.h:
18032         Added GList* version of _remove_properties() in order to be able to wrap
18033         it in bindings.
18034
18035 2005-10-11  Wim Taymans  <wim@fluendo.com>
18036
18037         * docs/design/part-states.txt:
18038         Some more docs.
18039
18040         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
18041         (gst_bin_change_state_func), (bin_bus_handler):
18042         Doc updates. Don't distribute the same clock over and over again.
18043
18044         * gst/gstclock.c:
18045         * gst/gstclock.h:
18046         Doc updates.
18047
18048         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
18049         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
18050         (gst_pad_send_event):
18051         * gst/gstpad.h:
18052         Make probe emission threadsafe again.
18053         Register quarks and move _get_name() from utils.
18054         Doc updates.
18055
18056         * gst/gstpipeline.c: (gst_pipeline_class_init),
18057         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
18058         Only redistribute the clock of it changed.
18059
18060         * gst/gstsystemclock.h:
18061         Doc updates. 
18062
18063         * gst/gstutils.c:
18064         * gst/gstutils.h:
18065         Moved the _flow_get_name() to GstPad.
18066
18067 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18068
18069         * check/gst-libs/gdp.c: (GST_START_TEST):
18070         * check/gst/gstcaps.c: (GST_START_TEST):
18071         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
18072         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
18073         (gst_dp_packet_from_caps):
18074           fix more valgrind warnings before turning up the heat
18075
18076 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
18077
18078         * gst/parse/grammar.y:
18079           some cleanup before the hacking
18080
18081 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18082
18083         * gst/base/gstbasesrc.c: (gst_base_src_query):
18084           use conversions
18085         * gst/gstutils.c: (gst_guint64_to_gdouble),
18086         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
18087         * gst/gstutils.h:
18088           externalize, basesrc uses it
18089           obviously the implementation needs testing
18090
18091 2005-10-10  Wim Taymans  <wim@fluendo.com>
18092
18093         * tests/sched/Makefile.am:
18094         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
18095         (make_pipeline3), (make_pipeline4), (print_elem), (main):
18096
18097 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18098
18099         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
18100           apparently converting from guint64 to double is not implemented
18101           on MSVC
18102
18103 2005-10-10  Wim Taymans  <wim@fluendo.com>
18104
18105         * check/Makefile.am:
18106         * check/generic/states.c: (GST_START_TEST):
18107         * check/gst/gstbin.c: (GST_START_TEST):
18108         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18109         * check/states/sinks.c: (GST_START_TEST):
18110         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
18111         (main):
18112         Check fixes, use API as stated in design docs, remove hacks.
18113
18114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18115         (gst_base_sink_change_state):
18116         Catch stopping our task while we're shutting down.
18117
18118         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
18119         (gst_bin_remove_func), (gst_bin_get_state_func),
18120         (gst_bin_recalc_state), (gst_bin_change_state_func),
18121         (bin_bus_handler):
18122         * gst/gstbin.h:
18123         * gst/gstelement.c: (gst_element_init),
18124         (gst_element_get_state_func), (gst_element_abort_state),
18125         (gst_element_commit_state), (gst_element_lost_state),
18126         (gst_element_set_state), (gst_element_change_state),
18127         (gst_element_change_state_func):
18128         * gst/gstelement.h:
18129         New state change algorithm (see #318116)
18130
18131         * gst/gstpipeline.c: (gst_pipeline_class_init),
18132         (gst_pipeline_init), (gst_pipeline_set_property),
18133         (gst_pipeline_get_property), (do_pipeline_seek),
18134         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
18135         * gst/gstpipeline.h:
18136         Remove crude state change hacks.
18137
18138         * gst/gstutils.h:
18139         Remove crude hacks.
18140
18141         * tools/gst-launch.c: (main):
18142         Fixes for state change. Needs some more work to fully use the
18143         new stuff.
18144
18145 2005-10-10  Andy Wingo  <wingo@pobox.com>
18146
18147         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
18148
18149         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
18150         this flag, but it's not even in GLib 2.6. Odd. Hack around the
18151         issue.
18152
18153 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18154
18155         * gst/gstiterator.c: (gst_iterator_new):
18156           Fix my previous commit: GTypes passed to gst_iterator_new()
18157           can be fundamental types.
18158
18159 2005-10-10  Wim Taymans  <wim@fluendo.com>
18160
18161         * gst/gstelement.c: (gst_element_iterate_pad_list),
18162         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
18163         (gst_element_iterate_sink_pads):
18164         Use src/sink pads lists for the respective iterators instead
18165         of filtering.
18166
18167 2005-10-10  Andy Wingo  <wingo@pobox.com>
18168
18169         Merged in popt removal + GOption addition patch from Ronald, bug
18170         #169772.
18171
18172         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
18173         GstElement macros around, remove popt-related symbols, add goption
18174         stuff.
18175
18176         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
18177         
18178         * docs/gst/Makefile.am:
18179         * docs/libs/Makefile.am: No POPT_CFLAGS.
18180         
18181         * examples/manual/Makefile.am:
18182         * docs/manual/basics-init.xml: Doc updates with an example.
18183         
18184         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
18185         (gst_init), (parse_one_option), (parse_goption_arg):
18186         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
18187         bit of hand merging and debugging to get the GOption stuff working
18188         tho.
18189         
18190         * tests/Makefile.am:
18191         * tools/Makefile.am:
18192         * tools/gst-inspect.c: (main):
18193         * tools/gst-launch.c: (main):
18194         * tools/gst-run.c: (main):
18195         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
18196
18197 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18198
18199         * gst/gstiterator.c: (gst_iterator_new):
18200           Add assertions to make sure passed GType is likely to really
18201           be a GType (as the compiler won't catch it if the size and
18202           GType arguments get mixed up, see #318447).
18203
18204 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
18205
18206         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18207
18208         * gst/gstbin.c: (gst_bin_iterate_sorted):
18209           Pass GType and size arguments to gst_iterator_new() in the right
18210           order (maybe we should make _new() take the GType as first argument
18211           just like _new_list()?) (#318447).
18212           
18213
18214 2005-10-10  Wim Taymans  <wim@fluendo.com>
18215
18216         * gst/gstelement.c: (gst_element_finalize):
18217         And free the GStaticRecMutex too
18218
18219 2005-10-10  Andy Wingo  <wingo@pobox.com>
18220
18221         * gst/gstelement.c (gst_element_init, gst_element_finalize):
18222         Allocate and free the mutex properly.
18223
18224         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
18225         New macros.
18226         (GstElement): The state_lock is now recursive. Rebuild your
18227         plugins, suckers. Old macros adapted.
18228
18229         * docs/gst/gstreamer-sections.txt: Doc updates.
18230
18231         * gst/gstutils.h:
18232         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
18233         (g_static_rec_cond_wait): Ported from state changes patch, while
18234         we wait on bug #317802 to be solved in a well-distributed GLib.
18235
18236         * gst/gstelement.c (gst_element_change_state_func): Renamed from
18237         gst_element_change_state, variable name changes.
18238         (gst_element_change_state): Split out of gst_element_set_state in
18239         preparation for the state change merge. Doesn't pay attention to
18240         the 'transition' argument.
18241         (gst_element_set_state): Updates, hopefully purely cosmetic.
18242         (gst_element_sync_state_with_parent): MT-safety. Ported from the
18243         state change patch.
18244         (gst_element_get_state_func): Renamed from get_state, cosmetic
18245         changes.
18246
18247 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18248
18249         * gst/elements/gstelements.c:
18250         * win32/GStreamer.vcproj:
18251         * win32/config.h:
18252         * win32/dirent.c: (_tseekdir):
18253         * win32/gst-inspect.vcproj:
18254         * win32/gst-launch.vcproj:
18255         * win32/gstconfig.h:
18256         * win32/gstelements.vcproj:
18257         * win32/gstenumtypes.c: (gst_object_flags_get_type):
18258         * win32/gstreamer.def:
18259         * win32/msvc71.sln:
18260           updates for the win32 build (patch from Sebastien Moutte)
18261
18262 2005-10-10  Andy Wingo  <wingo@pobox.com>
18263
18264         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
18265         gst_bin_get_state, cleaned up (but no logic changes).
18266         (bin_element_is_sink): Comment updates.
18267         (sink_iterator_filter): Remove needless cast.
18268         (gst_bin_iterate_sinks): Doc update.
18269         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
18270         cleaned up (but no logic changes).
18271
18272         * check/states/sinks.c (test_src_sink): Cleanups from the state
18273         change patch.
18274         (test_livesrc_sink): Sync on the state.
18275
18276         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
18277         the state change patch.
18278
18279         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
18280         change patch.
18281
18282         * check/gst/gstbin.c: Merge in some style fixes and additional
18283         checks from Wim's state change patch.
18284
18285 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
18286
18287         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18288         (gst_type_find_helper):
18289           Check whether we have the requested data already in our list of
18290           cached buffers before pulling a new buffer; also make the buffer
18291           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
18292
18293 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
18294
18295         * gst/gstcaps.c:
18296         * gst/gstevent.c:
18297           doc updates
18298         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
18299           don't use long long, it's not portable.  Replacing with
18300           gint64 seems to work; let's hope no skeletons fall out of the closet.
18301
18302 2005-10-10  Andy Wingo  <wingo@pobox.com>
18303
18304         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
18305
18306 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
18307
18308         * docs/gst/gstreamer-sections.txt:
18309         * gst/gstevent.c:
18310         * gst/gstevent.h:
18311         * gst/gstinfo.c:
18312         * gst/gstinfo.h:
18313         * gst/gstmessage.c: (gst_message_parse_state_changed):
18314         * gst/gstpad.c:
18315         * gst/gstpad.h:
18316           more docs, fix compilation
18317
18318 2005-10-09  Philippe Khalaf <burger@speedy.org>
18319         * gst/gstmessage.c:
18320           Fixed a few forgotten variables on previous commit
18321
18322 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
18323
18324         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18325           Fix evil typefind crasher: getrange() might return a short
18326           buffer at the end of a file, but gst_type_find_peek() must
18327           either return the full data as requested or NULL, but
18328           never a short buffer.
18329
18330 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18331
18332         * gst/gstmessage.c: (gst_message_new_state_changed),
18333         (gst_message_parse_state_changed):
18334         * gst/gstmessage.h:
18335           don't use "new", it's a C++ keyword
18336
18337 2005-10-08  Wim Taymans  <wim@fluendo.com>
18338
18339         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
18340         * gst/gstelement.c: (gst_element_post_message):
18341         * gst/gstpipeline.c: (gst_pipeline_change_state):
18342         Small docs and debug updates.
18343
18344 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18345
18346         * docs/gst/gstreamer-sections.txt:
18347         * gst/gstelementfactory.c:
18348         * gst/gstevent.c:
18349         * gst/gsttaglist.c:
18350           more docs
18351
18352 2005-10-08  Wim Taymans  <wim@fluendo.com>
18353
18354         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
18355         (gst_bin_dispose), (bin_bus_handler):
18356         Fix typos, add comments.
18357         Clear EOS list when going to PAUSED from any direction and do it
18358         in a threadsafe way.
18359         Get base time in a threadsafe way too.
18360         Fix confusing debug in the change_state function.
18361         Various other small cleanups.
18362         
18363         * gst/gstelement.c: (gst_element_post_message):
18364         Fix very verbose bus posting code.
18365
18366         * gst/gstpipeline.c: (gst_pipeline_class_init),
18367         (gst_pipeline_set_property), (gst_pipeline_get_property),
18368         (gst_pipeline_change_state):
18369         Small ARG_ -> PROP_ cleanup
18370
18371 2005-10-08  Wim Taymans  <wim@fluendo.com>
18372
18373         * gst/gstbin.c: (is_eos), (bin_bus_handler):
18374         Do a less CPU demanding EOS check because we can.
18375
18376 2005-10-08  Wim Taymans  <wim@fluendo.com>
18377
18378         * libs/gst/dataprotocol/dataprotocol.c:
18379         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
18380         (gst_dp_packet_from_event):
18381         * libs/gst/dataprotocol/dataprotocol.h:
18382         * libs/gst/dataprotocol/dp-private.h:
18383         It's about time we bump the version number.
18384         Since event types don't fit in the guint8 anymore describing
18385         the payload type, make payload type 16 bits wide.
18386
18387 2005-10-08  Wim Taymans  <wim@fluendo.com>
18388
18389         * docs/design/part-TODO.txt:
18390         * docs/design/part-clocks.txt:
18391         * docs/design/part-events.txt:
18392         * docs/design/part-gstbin.txt:
18393         * docs/design/part-gstelement.txt:
18394         * docs/design/part-gstpipeline.txt:
18395         * docs/design/part-live-source.txt:
18396         * docs/design/part-messages.txt:
18397         * docs/design/part-overview.txt:
18398         * docs/design/part-states.txt:
18399         Many doc updates.
18400
18401 2005-10-08  Wim Taymans  <wim@fluendo.com>
18402
18403         * gst/gstevent.c:
18404         * gst/gstevent.h:
18405         Fix event quark registration.
18406         Add some space between events so we can insert them in the
18407         right groups.
18408
18409 2005-10-08  Wim Taymans  <wim@fluendo.com>
18410
18411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18412         (gst_base_sink_handle_buffer):
18413         Better log message.
18414
18415         * gst/gstbus.h:
18416         * gst/gstelement.h:
18417         More docs.
18418
18419         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
18420         (gst_queue_set_property), (gst_queue_get_property):
18421         * gst/gstqueue.h:
18422         Remove old unused properties.
18423
18424 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
18425         * docs/gst/gstreamer-sections.txt:
18426         * gst/gstmessage.c:
18427         * gst/gstmessage.h:
18428         * gst/gstminiobject.c:
18429         * gst/gstminiobject.h:
18430         * gst/gstobject.h:
18431         * gst/gstpad.h:
18432         * gst/gstutils.h:
18433           lots of new docs and doc fixes
18434
18435 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18436
18437         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
18438         * gst/gstplugin.h:
18439         * gst/gstregistry.c: (gst_registry_lookup_locked),
18440         (gst_registry_scan_path_level):
18441         * gst/gstregistryxml.c: (load_plugin):
18442           Only ever load one plugin for a given plugin basename.
18443           This ensures correct overriding of GST_PLUGIN_PATH over
18444           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
18445           system installed plugins.
18446
18447 2005-10-08  Wim Taymans  <wim@fluendo.com>
18448
18449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18450         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
18451         Prepare for doing QOS.
18452
18453 2005-10-08  Wim Taymans  <wim@fluendo.com>
18454
18455         * check/gst/gstbin.c: (GST_START_TEST):
18456         * check/pipelines/cleanup.c: (GST_START_TEST):
18457         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18458         Allow new clock message too.
18459
18460 2005-10-08  Wim Taymans  <wim@fluendo.com>
18461
18462         * gst/gstmessage.c: (gst_message_new_error),
18463         (gst_message_new_warning), (gst_message_new_tag),
18464         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18465         (gst_message_new_clock_lost), (gst_message_new_new_clock),
18466         (gst_message_new_segment_start), (gst_message_new_segment_done),
18467         (gst_message_parse_state_changed),
18468         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
18469         (gst_message_parse_new_clock):
18470         * gst/gstmessage.h:
18471         Also carry the clock in question.
18472
18473 2005-10-08  Wim Taymans  <wim@fluendo.com>
18474
18475         * gst/gstmessage.c: (gst_message_new_custom),
18476         (gst_message_new_eos), (gst_message_new_error),
18477         (gst_message_new_warning), (gst_message_new_tag),
18478         (gst_message_new_state_changed), (gst_message_new_clock_provide),
18479         (gst_message_new_new_clock), (gst_message_new_segment_start),
18480         (gst_message_new_segment_done), (gst_message_parse_state_changed),
18481         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
18482         * gst/gstmessage.h:
18483         Clean up.
18484         Added clock related messages.
18485
18486         * gst/gstpipeline.c: (gst_pipeline_change_state):
18487         Post message when the clock changed.
18488
18489         * tools/gst-launch.c: (event_loop):
18490         Print new clock.
18491
18492 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
18493
18494         * tools/gst-inspect.c: (print_element_properties_info):
18495           Can't pass NULL strings to g_print() on windows.
18496
18497 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18498
18499         * docs/Makefile.am:
18500         * docs/gst/Makefile.am:
18501         * docs/gst/gstreamer-docs.sgml:
18502         * docs/gst/running.xml:
18503         * docs/version.entities.in:
18504           add a chapter on running GStreamer.
18505           document GST_DEBUG and GST_PLUGIN* env vars
18506
18507 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18508
18509         * Makefile.am:
18510           remove include dir
18511         * configure.ac:
18512           remove PLUGINS_BUILDDIR stuff
18513         * gst/gst.c: (init_post):
18514           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
18515         * idiottest.mak:
18516           remove, it was condescending and not needed
18517
18518 2005-10-08  Wim Taymans  <wim@fluendo.com>
18519
18520         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
18521         (gst_base_sink_handle_object), (gst_base_sink_event),
18522         (gst_base_sink_wait), (gst_base_sink_handle_event),
18523         (gst_base_sink_change_state):
18524         * gst/base/gstbasesink.h:
18525         Repost EOS message while going to PLAYING if still EOS.
18526         Make sure that when receiving a FLUSH_START we don't attempt
18527         to sync on the clock anymore.
18528
18529 2005-10-08  Wim Taymans  <wim@fluendo.com>
18530
18531         * tools/gst-launch.c: (event_loop):
18532         Better message printout.
18533
18534 2005-10-08  Wim Taymans  <wim@fluendo.com>
18535
18536         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
18537         (gst_bin_child_proxy_get_children_count):
18538         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
18539         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
18540         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
18541         (gst_child_proxy_set_valist):
18542         * gst/parse/grammar.y:
18543         Make ChildProxy threadsafe and fix mem leaks.
18544
18545 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18546
18547         * gst/gst.c: (init_post):
18548           debug the GST_PLUGIN_ env vars
18549
18550 2005-10-08  Wim Taymans  <wim@fluendo.com>
18551
18552         * check/gst/gstbin.c: (GST_START_TEST):
18553         * check/gst/gstmessage.c: (GST_START_TEST):
18554         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18555         * gst/gstelement.c: (gst_element_commit_state),
18556         (gst_element_lost_state):
18557         * gst/gstmessage.c: (gst_message_new_state_changed),
18558         (gst_message_parse_state_changed):
18559         * gst/gstmessage.h:
18560         * tools/gst-launch.c: (event_loop):
18561         Added extra field to STATE_CHANGE message with the pending
18562         state, which will be different from the new state soon.
18563
18564 2005-10-08  Wim Taymans  <wim@fluendo.com>
18565
18566         * gst/gstbus.c: (gst_bus_pop):
18567         * gst/gstclock.c:
18568         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
18569         Small cleanups and doc updates.
18570
18571 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18572
18573         * gst/gst.c: (init_pre):
18574         * gst/gstbin.c: (gst_bin_add_func):
18575           log distributing clocks and base time
18576         * gst/gstregistry.c: (gst_registry_add_plugin),
18577         (gst_registry_scan_path_level), (gst_registry_scan_path):
18578           clean up the debugging output a little
18579         * gst/gstutils.c: (gst_element_state_get_name):
18580           warn about a memleak (I've actually seen this be used, though
18581           it was probably a bug)
18582
18583 2005-10-07  Wim Taymans  <wim@fluendo.com>
18584
18585         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18586         (gst_base_src_init), (gst_base_src_default_newsegment),
18587         (gst_base_src_newsegment), (gst_base_src_do_seek),
18588         (gst_base_src_loop), (gst_base_src_start):
18589         * gst/base/gstbasesrc.h:
18590         Make the newsegment event customizable by subclasses.
18591
18592 2005-10-07  Wim Taymans  <wim@fluendo.com>
18593
18594         * gst/gstevent.c: (gst_event_new_buffersize),
18595         (gst_event_parse_buffersize):
18596         * gst/gstevent.h:
18597         New event for future idea.
18598
18599 2005-10-07  Andy Wingo  <wingo@pobox.com>
18600
18601         * gst/gstelement.c (gst_element_post_message): Doc update.
18602
18603         * docs/gst/gstreamer-sections.txt: Update.
18604
18605         * gst/gstmessage.c (gst_message_new_application): Made into a
18606         function like honest API calls.
18607         (gst_message_new_element): New message type.
18608
18609         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
18610
18611         * check/elements/fakesrc.c (test_no_preroll): New check, checks
18612         that setting a live fakesrc to PAUSED returns NO_PREROLL both
18613         times.
18614
18615         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
18616         NO_PREROLL from gst_element_change_state to fall through.
18617
18618 2005-10-07  Wim Taymans  <wim@fluendo.com>
18619
18620         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
18621         (gst_ghost_pad_do_activate_push):
18622         Activating a ghostpad with no internal pad in push mode
18623         is ok.
18624
18625 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18626
18627         * gst/gstobject.h:
18628           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
18629           Fixes compilation on Windows.
18630
18631 2005-10-07  Michael Smith <msmith@fluendo.com>
18632
18633         * tools/gst-inspect.c:
18634           Print out feature and plugin count at the end when printing out
18635           all features.
18636
18637 2005-10-04  Michael Smith <msmith@fluendo.com>
18638
18639         * gst/gsterror.c: (_gst_stream_errors_init):
18640           Add another error string used in a few existing plugins.
18641
18642         * gst/gstplugin.c:
18643         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18644         * tools/gst-inspect.c: (print_element_info):
18645           When a feature disappears from a plugin (and the feature exists in
18646           the cached registry file), things went horribly wrong. This isn't a
18647           complete fix, we should actually be removing the 'missing' features
18648           from the features list when we load the actual plugin. That's not
18649           yet implemented. 
18650
18651 2005-10-04  Johan Dahlin  <johan@gnome.org>
18652
18653         * check/gst/gstiterator.c: (GST_START_TEST):
18654         * gst/gstbin.c: (gst_bin_iterate_elements),
18655         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
18656         * gst/gstelement.c: (gst_element_iterate_pads):
18657         * gst/gstformat.c: (gst_format_iterate_definitions):
18658         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18659         (gst_iterator_new_list), (gst_iterator_filter):
18660         * gst/gstiterator.h:
18661         * gst/gstquery.c: (gst_query_type_iterate_definitions):
18662         Add a GType to GstIterator, update callsites and tests.
18663
18664 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18665
18666         * gst/gstpad.c: (gst_pad_event_default_dispatch):
18667           give events a chance to be handled by event probes when the pad
18668           is not linked
18669
18670 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18671
18672         * gst/gstevent.c: (gst_event_type_get_name),
18673         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
18674         * gst/gstevent.h:
18675           add string representations for event types
18676
18677 2005-10-06  Wim Taymans  <wim@fluendo.com>
18678
18679         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
18680         Don't use NULL pointers.
18681
18682 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18683
18684         * gst/gst_private.h:
18685         * gst/gstbus.c:
18686         * gst/gstelement.c:
18687         * gst/gstinfo.c:
18688         * gst/gstpluginfeature.c:
18689           widen the debug category in output to fit the biggest one we have
18690           add a bus category and use it
18691           play with the colors
18692           fix up some categories
18693
18694 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18695
18696         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
18697           add push activation of sink ghost pads.
18698           Andye, please verify
18699
18700 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18701
18702         * gst/gstutils.c: (gst_element_link_pads):
18703           fix a bug in the case where neither element has a pad
18704         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18705           add a test for that case
18706
18707 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18708
18709         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
18710           emit have-data before checking for peers.  This allows
18711           for probe handlers to connect elements.  This helps autopluggers.
18712         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
18713         (gst_pad_suite):
18714           add six checks, linked/unlinked with no/true/false probe
18715
18716 2005-10-04  Wim Taymans  <wim@fluendo.com>
18717
18718         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
18719         (gst_fake_sink_event), (gst_fake_sink_preroll),
18720         (gst_fake_sink_render), (gst_fake_sink_change_state):
18721         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
18722         (gst_fake_src_get_property), (gst_fake_src_create),
18723         (gst_fake_src_stop):
18724         * gst/elements/gstidentity.c: (gst_identity_stop):
18725         Protect last_message with lock.
18726
18727 2005-10-04  Edward Hervey  <edward@fluendo.com>
18728
18729         * gst/gstformat.h: 
18730         Added precision in the comments for GST_FORMAT_DEFAULT
18731
18732 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
18733
18734         * tools/gst-launch.c: (main):
18735           Don't try to run erroneous pipelines.
18736
18737 2005-10-04  Julien MOUTTE  <julien@moutte.net>
18738
18739         * gst/gstbus.c: We don't need this header.
18740
18741 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18742
18743         * configure.ac:
18744           back to development
18745
18746 === release 0.9.3 ===
18747
18748 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18749
18750         * README:
18751         * configure.ac:
18752           Releasing 0.9.3, "Unregistered"
18753
18754 2005-10-03  Andy Wingo  <wingo@pobox.com>
18755
18756         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
18757         whereby calling a pad's activatepush() function can start a thread
18758         that starts to push or pull before the pad gets the FLUSHING flag
18759         unset. Hack around it by holding the stream lock until the flag is
18760         set. Need to replace this with a proper solution. Together with
18761         the ghost pad fixes, this fixes mp3 playing/tagreading.
18762
18763         * docs/design/part-gstghostpad.txt: Add a note about activation of
18764         proxy pads outside of ghost pads.
18765
18766         * gst/gstghostpad.c: Implement the ghost pad activation design.
18767
18768 2005-10-02  Andy Wingo  <wingo@pobox.com>
18769
18770         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
18771         It is volatile, after all.
18772
18773         * docs/design/part-gstghostpad.txt: Flesh out activation with
18774         ghost pads.
18775
18776         * gst/base/gstbasesrc.c (gst_base_src_init): Use
18777         GST_DEBUG_FUNCPTR.
18778
18779 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
18780
18781         * configure.ac:
18782           Fix (unused) AM_CONDITIONAL tests.
18783
18784 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
18785
18786         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18787
18788         * gst/gstutils.c: (gst_pad_query_convert):
18789           Add assertion that makes sure src_val is >=0, just like
18790           gst_query_new_convert() has. (#315895)
18791
18792 2005-09-30  Edward Hervey  <edward@fluendo.com>
18793
18794         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
18795         Let's not iterate pads we're not interested in, it avoids getting 
18796         sky-high refcounts on sinkpad.
18797
18798 2005-09-30  Wim Taymans  <wim@fluendo.com>
18799
18800         * gst/gstelement.c: (gst_element_set_state),
18801         (gst_element_change_state):
18802         Small tweak, element in ASYNC remains ASYNC.
18803
18804 2005-09-30  Wim Taymans  <wim@fluendo.com>
18805
18806         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
18807         Only error is an error.
18808
18809         * gst/gstbin.c: (gst_bin_change_state):
18810         Better debugging.
18811
18812         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
18813         Also call pad_block in pad alloc.
18814
18815         * gst/gstutils.c: (gst_flow_get_name):
18816         Better debugging.
18817
18818 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18819
18820         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18821         (gst_base_src_get_range):
18822           Fix documentation typos. Add some more debug info.
18823
18824 2005-09-29  David Schleef  <ds@schleef.org>
18825
18826         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
18827           more end-user friendly.
18828         * tools/gst-inspect.c: (main): Check if command-line argument is
18829           a file and attempt to load that file as a plugin.
18830
18831 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18832
18833         * check/gst/gstbin.c:
18834         * check/states/sinks.c:
18835           fix tests for the new warning
18836         * check/gst/gstpipeline.c:
18837           add a test for pipeline and bus interaction
18838         * gst/gstelement.c:
18839           elements should be NULL if they get disposed; add a warning if not
18840
18841 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18842
18843         * gst/gstobject.c:
18844           for 2.6 refcounting, make debug log more correct by printing
18845           the actual refcounts at the time of swap (Wim)
18846
18847 2005-09-29  Andy Wingo  <wingo@pobox.com>
18848
18849         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
18850         removes signal watches previously added via
18851         gst_bus_add_signal_watch.
18852         (gst_bus_add_signal_watch): Don't return the source id, just store
18853         it on the bus if there wasn't an id already.
18854
18855         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
18856         add_signal_watch and remove_signal_watch.
18857
18858 2005-09-29  Edward Hervey  <edward@fluendo.com>
18859
18860         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
18861         Better if we actually iterate the list :)
18862
18863 2005-09-29  Wim Taymans  <wim@fluendo.com>
18864
18865         * check/gst/gstbin.c: (GST_START_TEST):
18866         Change for new bus API.
18867
18868         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
18869         (send_messages), (GST_START_TEST), (gstbus_suite):
18870         Change for new bus signal API.
18871
18872         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
18873         (gst_bus_source_prepare), (gst_bus_source_check),
18874         (gst_bus_create_watch), (gst_bus_add_watch_full),
18875         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
18876         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
18877         * gst/gstbus.h:
18878         Remove support for multiple GSources operating on different
18879         message types as it is too complex and unneeded when using
18880         signals.
18881         Added support for receiving signals from the bus.
18882
18883 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18884
18885         * docs/libs/tmpl/gstdataprotocol.sgml:
18886         * docs/manual/advanced-dataaccess.xml:
18887         * gst/elements/gstcapsfilter.c:
18888         * gst/gstutils.c:
18889           rename filter-caps to caps property
18890
18891 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18892
18893         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18894           More robust fraction string parsing.
18895
18896         * docs/pwg/appendix-porting.xml:
18897           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
18898
18899 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
18900
18901         * gst/gstcaps.c: (gst_caps_do_simplify):
18902           Thou shalt not free a structure and then continue using it
18903           in the next loop iteration.
18904
18905         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
18906         (gst_caps_suite):
18907           Add test case for caps simplification.
18908
18909 2005-09-29  Wim Taymans  <wim@fluendo.com>
18910
18911         * check/gst/gstbin.c: (GST_START_TEST):
18912         Oops.
18913
18914 2005-09-29  Wim Taymans  <wim@fluendo.com>
18915
18916         * check/gst/gstbin.c: (GST_START_TEST):
18917         Add bus to bin.
18918
18919         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
18920         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
18921         (find_element), (gst_bin_sort_iterator_next),
18922         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
18923         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
18924         (gst_bin_change_state), (gst_bin_dispose):
18925         A bin does not have a bus, it gets the bus from the parent.
18926
18927         * gst/gstelement.c: (gst_element_requires_clock),
18928         (gst_element_provides_clock), (gst_element_is_indexable),
18929         (gst_element_is_locked_state), (gst_element_change_state),
18930         (gst_element_set_bus_func):
18931         Small cleanups.
18932
18933         * gst/gstpipeline.c: (gst_pipeline_class_init),
18934         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
18935         The pipeline provides a bus.
18936
18937 2005-09-28  Johan Dahlin  <johan@gnome.org>
18938
18939         * gst/gstmessage.c (gst_message_parse_state_changed): Use
18940         gst_structure_get_enum instead of gst_structure_get_int
18941
18942         * gst/gststructure.c (gst_structure_get_enum): Impl.
18943
18944         * gst/gststructure.h (gst_structure_get_enum): Add
18945
18946         * docs/gst/gstreamer-sections.txt: Ditto
18947
18948         * gst/gstmessage.c (gst_message_new_state_changed): Use
18949         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
18950         which does introspection.
18951         Reviewed by Christian Schaller
18952
18953 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18954
18955         * gst/gstinfo.c: (gst_debug_log_default):
18956           don't do dummy g_strdup()s
18957         * libs/gst/controller/gstcontroller.c:
18958         (on_object_controlled_property_changed),
18959         (gst_controlled_property_new), (gst_controller_new_valist),
18960         (gst_controller_new_list),
18961         (gst_controller_remove_properties_valist), (gst_controller_set),
18962         (gst_controller_get), (gst_controller_sync_values),
18963         (gst_controller_get_value_array), (_gst_controller_class_init),
18964         (gst_controller_get_type):
18965         * libs/gst/controller/gstcontroller.h:
18966         * libs/gst/controller/gstinterpolation.c:
18967         (gst_controlled_property_find_timed_value_node):
18968           convert // to /**/ comments
18969
18970 2005-09-28  Wim Taymans  <wim@fluendo.com>
18971
18972         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
18973         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
18974         (gst_bus_sync_signal_handler):
18975         * gst/gstbus.h:
18976         Added async-message and sync-message signals to the bus.
18977         Added helper BusFunc to emit signals for all posted messages.
18978
18979         * gst/gstmessage.c: (gst_message_type_get_name),
18980         (gst_message_type_to_quark), (gst_message_get_type):
18981         * gst/gstmessage.h:
18982         Register quarks for message names.
18983
18984 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
18985
18986         * docs/libs/gstreamer-libs-sections.txt:
18987         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
18988         (gst_controller_new_list):
18989         * libs/gst/controller/gstcontroller.h:
18990           added another constructor for language bindings
18991
18992 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18993
18994         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
18995           add another check
18996         * gst/gstbus.c:
18997           add some doc
18998         * gst/gstinfo.c: (_gst_debug_init):
18999           slightly more readable color for refcount debugging
19000
19001 2005-09-28  Wim Taymans  <wim@fluendo.com>
19002
19003         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19004         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
19005         (find_element), (gst_bin_sort_iterator_next),
19006         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19007         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19008         (gst_bin_change_state), (gst_bin_dispose):
19009         Small doc fixes. get_clock -> provide_clock.
19010
19011         * gst/gstelement.c: (gst_element_class_init),
19012         (gst_element_provides_clock), (gst_element_provide_clock),
19013         (gst_element_get_clock), (gst_element_commit_state),
19014         (gst_element_lost_state):
19015         * gst/gstelement.h:
19016         Make get/set_clock() symetric. Add provide_clock vmethod since
19017         that is actually what this function does.
19018
19019         * gst/gstpipeline.c: (gst_pipeline_class_init),
19020         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
19021         (gst_pipeline_get_clock):
19022         get_clock -> provide_clock.
19023
19024 2005-09-28  Andy Wingo  <wingo@pobox.com>
19025
19026         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
19027         lieu of real docs...
19028
19029         * gst/elements/gstfdsrc.c: Cleaned up a bit.
19030
19031 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
19032
19033         * gst/elements/gstcapsfilter.c:
19034         * gst/elements/gstfakesink.c:
19035         * gst/elements/gstfakesrc.c:
19036         * gst/elements/gstfdsink.c:
19037         * gst/elements/gstfdsrc.c:
19038         * gst/elements/gstfilesink.c:
19039         * gst/elements/gstfilesrc.c:
19040         * gst/elements/gstidentity.c:
19041         * gst/elements/gsttee.c:
19042         * gst/elements/gsttypefindelement.c:
19043           Make element details static.
19044
19045 2005-09-28  Wim Taymans  <wim@fluendo.com>
19046
19047         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19048         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
19049         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19050         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19051         (gst_bin_change_state), (gst_bin_dispose):
19052         Some documentation updates.
19053         Clean up dispose handlers.
19054
19055         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
19056         * gst/gstpad.c: (gst_pad_dispose):
19057         Clean up dispose handler.
19058
19059         * gst/gstpipeline.c: (gst_pipeline_change_state):
19060         Removed spurious UNLOCK.
19061
19062 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
19063
19064         * docs/gst/gstreamer-sections.txt:
19065         * gst/base/gstbasesrc.h:
19066         * gst/gstelement.h:
19067         * gst/gstevent.h:
19068         * gst/gstobject.h:
19069         * gst/gstpad.h:
19070         * gst/gstpipeline.c:
19071         * gst/gstpipeline.h:
19072         * gst/gstutils.h:
19073         * gst/gstxml.h:
19074           added two new functions to the docs
19075                 documents all undocumented GstXXXFlags
19076                 completed some incomplete docs 
19077
19078 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19079
19080         * gst/gstbin.c: (gst_bin_dispose):
19081         * gst/gstelement.c: (gst_element_dispose):
19082           remove now useless and leaky resurrection code in dispose
19083         * gst/base/gstbasesrc.c: (gst_base_src_init):
19084         * gst/gstelementfactory.c: (gst_element_factory_create):
19085         * gst/gstobject.c: (gst_object_set_parent):
19086           add some debugging
19087
19088 2005-09-27  Wim Taymans  <wim@fluendo.com>
19089
19090         * docs/design/part-TODO.txt:
19091         Update TODO.
19092
19093         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19094         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
19095         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19096         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19097         (gst_bin_change_state):
19098         * gst/gstelement.h:
19099         Remove element variable, we keep element info in the iterator now.
19100
19101 2005-09-27  Andy Wingo  <wingo@pobox.com>
19102
19103         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
19104         values.
19105
19106 2005-09-27  Wim Taymans  <wim@fluendo.com>
19107
19108         * check/gst/gstbin.c: (GST_START_TEST):
19109         Enable check that works now.
19110
19111         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
19112         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
19113         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
19114         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
19115         (gst_bin_change_state):
19116         * gst/gstbin.h:
19117         Redid the state change algorithm using a topological sort algo.
19118         Handles all cases correctly.
19119         Exposed iterator for state change order.
19120
19121         * gst/gstelement.h:
19122         Temp storage for state changes. Need to get rid of this soon.
19123
19124 2005-09-27  Wim Taymans  <wim@fluendo.com>
19125
19126         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
19127         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
19128         (link_fold_func), (gst_pad_proxy_setcaps):
19129         Leak fixes, the fold functions need to unref the passed object and
19130         _get_parent_*() returns ref to parent.
19131
19132 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
19133
19134         * check/gst/gstbuffer.c: (test_make_writable):
19135           Plug leak in test case and fix 'make check-valgrind'
19136
19137 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
19138
19139         * gst/gstbuffer.c: (gst_subbuffer_init):
19140           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
19141           works correctly in all circumstances (we could have just copied
19142           the parent buffer's readonly flag, but conceptually it seems
19143           cleaner to mark all subbuffers as read-only). (based on patch
19144           by Alessandro Decina, #314710).
19145         
19146         * check/gst/gstbuffer.c: (create_read_only_buffer),
19147         (test_make_writable), (test_subbuffer_make_writable),
19148         (gst_test_suite):
19149           Add some tests for gst_buffer_make_writable().
19150
19151 2005-09-27  Wim Taymans  <wim@fluendo.com>
19152
19153         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
19154         use gst_object_has_ancestor().
19155
19156         * gst/gstobject.c: (gst_object_has_ancestor):
19157         * gst/gstobject.h:
19158         gst_object_has_ancestor() copied from gstbin.c as it is a
19159         useful function.
19160
19161         * tests/instantiate/create.c: (create_all_elements):
19162         * tests/lat.c: (handoff_src), (handoff_sink):
19163         * tests/sched/runxml.c: (main):
19164         * tests/seeking/seeking1.c: (main):
19165         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
19166         (main):
19167         Fix compilation of some tests.
19168
19169 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
19170
19171         * gst/gsterror.h:
19172           Remove comment. GST_TYPE_G_ERROR is here to stay,
19173           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
19174           (#316961, #300610).
19175
19176 2005-09-26  Wim Taymans  <wim@fluendo.com>
19177
19178         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19179         Added check that shows error in state change order.
19180
19181 2005-09-26  Wim Taymans  <wim@fluendo.com>
19182
19183         * gst/gstbin.c: (gst_bin_change_state):
19184         Make state change function use 3 queues again, we were
19185         adding elements in the wrong order.
19186
19187         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
19188         Some debug info,
19189
19190         * gst/gstpad.c: (gst_pad_dispose):
19191         Added some debug info first.
19192
19193 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
19194
19195         * docs/design/draft-push-pull.txt:
19196         * docs/design/part-events.txt:
19197         * docs/design/part-overview.txt:
19198         * docs/design/part-scheduling.txt:
19199           Replace all _pull_region() with _pull_range()
19200           
19201 2005-09-26  Andy Wingo  <wingo@pobox.com>
19202
19203         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
19204
19205         * check/gst-libs/controller.c: Update for controller api change.
19206
19207         * configure.ac: 
19208         * tests/Makefile.am:
19209         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
19210         over by GLib bug 118439.
19211         
19212         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
19213         routines to a function.
19214
19215         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
19216
19217         * libs/gst/controller/gsthelper.c:
19218         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
19219         (gst_object_sync_values): Renamed from sink_values. Ugh.
19220
19221         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
19222
19223         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
19224         Renamed from controller_key, as it is exported.
19225
19226         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
19227
19228 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
19229
19230         * gst/Makefile.am:
19231         * gst/gst.h:
19232         * gst/gstpad.h:
19233         * gst/gstpadtemplate.h:
19234         * gst/gstquery.c:
19235         * gst/gstquery.h:
19236         * gst/gstqueryutils.c:
19237         * gst/gstqueryutils.h:
19238           remove queryutils headers after moving the two used functions
19239           to gstquery.  also fixes build problem for gstsiddec
19240
19241 2005-09-26  Michael Smith <msmith@fluendo.com>
19242
19243         * tools/gst-launch.1.in:
19244         Correct documentation in manpage of debug syntax
19245
19246 2005-09-26  Wim Taymans  <wim@fluendo.com>
19247
19248         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19249         (gst_base_src_is_seekable), (gst_base_src_change_state):
19250         Some more debugging info.
19251
19252 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19253
19254         * docs/gst/gstreamer-sections.txt:
19255         * gst/base/gstbasetransform.h:
19256         * gst/gstindex.h:
19257           added more docs
19258
19259 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19260
19261         * docs/gst/.cvsignore:
19262         * docs/gst/tmpl/.cvsignore:
19263         * docs/gst/tmpl/gstpipeline.sgml:
19264         * docs/gst/tmpl/gstplugin.sgml:
19265         * gst/gstpipeline.c:
19266         * gst/gstplugin.c:
19267         * gst/gstplugin.h:
19268           inlined the last two docs files
19269           removed the tmpl directory from cvs (no more conflicts here!)
19270
19271 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
19272
19273         * docs/gst/gstreamer-sections.txt:
19274         * docs/gst/tmpl/.cvsignore:
19275         * docs/gst/tmpl/gstpad.sgml:
19276         * docs/gst/tmpl/gstpadtemplate.sgml:
19277         * gst/Makefile.am:
19278         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
19279         (gst_pad_finalize), (gst_pad_set_pad_template):
19280         * gst/gstpad.h:
19281         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
19282         (gst_pad_template_class_init), (gst_pad_template_init),
19283         (gst_pad_template_dispose), (name_is_valid),
19284         (gst_static_pad_template_get), (gst_pad_template_new),
19285         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
19286         (gst_pad_template_pad_created):
19287         * gst/gstpadtemplate.h:
19288           inlined two more docs
19289           factored gstpadtemplate out of gstpad
19290
19291 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
19292
19293         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
19294         (test_children_state_change_order_semi_sink):
19295           Fix test case: we can't rely on a fixed state change order when
19296           going from READY => PAUSED because the sink might commit its 
19297           new state first when the first buffer created by the source 
19298           reaches the sink before the source has finished its change state.
19299           (Test case still fails at times, see #316856, comment 5 onwards)
19300
19301 2005-09-24  Wim Taymans  <wim@fluendo.com>
19302
19303         * docs/design/part-events.txt:
19304         * docs/design/part-gstbus.txt:
19305         * docs/design/part-gstpipeline.txt:
19306         * docs/design/part-messages.txt:
19307         * docs/design/part-overview.txt:
19308         * docs/design/part-segments.txt:
19309         * gst/gstbin.c:
19310         * gst/gstbuffer.c:
19311         * gst/gstclock.c:
19312         * gst/gstelement.c:
19313         * gst/gstevent.c:
19314         * gst/gstfilter.c:
19315         * gst/gstiterator.c:
19316         Various documentation updates.
19317
19318 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19319
19320         * gst/gstclock.h:
19321           Well, that's embarassing.  Luckily we weren't using
19322           GST_CLOCK_DIFF anywhere.
19323
19324 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19325
19326         * common/gtk-doc.mak:
19327           don't fail on building XML, FC4 slave shows a bunch of doc
19328           missing bits that I don't get
19329         * gst/gstpad.c:
19330         * gst/gstpipeline.c:
19331         * gst/gststructure.c:
19332           some doc updates
19333
19334 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
19335
19336         * docs/design/part-gstbin.txt:
19337         * docs/design/part-gstbus.txt:
19338         * gst/gstbus.c:
19339           Add blurb about how the bus goes into flushing mode and
19340           drops all messages when its bin goes from READY into NULL 
19341           state.
19342
19343 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19344
19345         * docs/gst/gstreamer-sections.txt:
19346         * gst/gststructure.c: (gst_structure_get_clock_time):
19347         * gst/gststructure.h:
19348           add a method to get a GstClockTime out of a structure
19349
19350 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
19351
19352         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
19353         (test_children_state_change_order_semi_sink), (gst_bin_suite):
19354           Added test to check state change order in bins (can still be made
19355           to fail here under heavy disk load; bails out with 'Push on pad
19356           fakesink:sink0, but it was not activated in push mode').
19357
19358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
19359           Fix state change order when there is only a semi sink (#316856)
19360
19361         * gst/gstbus.c: (gst_bus_class_init):
19362           Use _class_peek_parent(), not _class_ref(); fix docs to say
19363           'default main context' instead of 'mainloop' where that is
19364           what's meant.
19365
19366         * gst/gstelement.c: (gst_element_commit_state),
19367         (gst_element_set_state):
19368           Fix typos in debug messages
19369
19370 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19371
19372         * docs/README:
19373         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
19374         * gst/gstpluginfeature.c:
19375         * gst/gstutils.c:
19376           various doc updates
19377         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19378           change an assert into an error until it gets fixed properly
19379
19380 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
19381
19382         * docs/gst/gstreamer-sections.txt:
19383         * docs/gst/tmpl/.cvsignore:
19384         * docs/gst/tmpl/gstelement.sgml:
19385         * docs/gst/tmpl/gstinfo.sgml:
19386         * docs/gst/tmpl/gstobject.sgml:
19387         * gst/gstelement.c:
19388         * gst/gstelement.h:
19389         * gst/gstinfo.c:
19390         * gst/gstinfo.h:
19391         * gst/gstobject.c: (gst_object_class_init):
19392         * gst/gstobject.h:
19393           inlined 3 more biiiig doc files and added some missing docs on the fly
19394
19395 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19396
19397         * check/gst/.cvsignore:
19398         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
19399         * gst/gstregistryxml.c: (load_plugin),
19400         (gst_registry_xml_save_plugin):
19401           put back source in registry.  add checks for find_plugin.
19402         * testsuite/states/bin.c: (assert_state), (empty_bin),
19403         (test_adding_one_element), (main):
19404         * testsuite/states/locked.c: (main):
19405           some compile/run fixes
19406
19407 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19408
19409         * check/gst/gstvalue.c: (GST_START_TEST):
19410           fix leaks in the test itself
19411
19412 2005-09-22  Wim Taymans  <wim@fluendo.com>
19413
19414         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19415         (gst_base_sink_send_event), (gst_base_sink_peer_query),
19416         (gst_base_sink_query):
19417         Prepare for more accurate position reporting and query
19418         handling.
19419
19420         * gst/gstelement.c: (gst_element_send_event),
19421         (gst_element_set_state):
19422         Add some comment.
19423
19424 2005-09-22  Wim Taymans  <wim@fluendo.com>
19425
19426         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
19427         (gst_query_parse_segment):
19428         * gst/gstquery.h:
19429         More documentation.
19430         Add segment query for future use.
19431
19432 2005-09-22  Wim Taymans  <wim@fluendo.com>
19433
19434         * gst/gstbin.c: (gst_bin_add_func):
19435         Some more debug info.
19436
19437         * gst/gstelement.c: (gst_element_send_event):
19438         Simplify send_event
19439
19440         * gst/gstelement.h:
19441         Don't know how flags got broken.
19442
19443         * gst/gstquery.h:
19444         Added new query.
19445
19446 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19447
19448         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
19449           Add simplistic test suite for GST_TYPE_DATE serialisation and
19450           deserialisation.
19451
19452 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
19453
19454         * docs/gst/gstreamer-sections.txt:
19455         * gst/gststructure.c: (gst_structure_set_valist),
19456         (gst_structure_get_date):
19457         * gst/gststructure.h:
19458         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
19459         (gst_date_copy), (gst_value_compare_date),
19460         (gst_value_serialize_date), (gst_value_deserialize_date),
19461         (gst_value_transform_date_string),
19462         (gst_value_transform_string_date), (_gst_value_initialize):
19463         * gst/gstvalue.h:
19464           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
19465           bunch of utility functions along with a hack that checks that
19466           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
19467           is required. Part of the grand scheme in #170777.
19468
19469 2005-09-22  Andy Wingo  <wingo@pobox.com>
19470
19471         * gst/gstconfig.h.in: Psych out gtk-doc.
19472
19473         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
19474
19475         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
19476
19477         * tools/gst-inspect.c (print_element_list): Plug some
19478         inconsequential leaks.
19479
19480         * gst/gstregistry.c (gst_registry_get_default): Doc.
19481
19482         * check/gst/gstplugin.c: 
19483         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
19484         * gst/gstelementfactory.c (gst_element_factory_create): 
19485         * gst/gstindexfactory.c (gst_index_factory_create): Update for
19486         refcount changes.
19487
19488         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
19489         (gst_plugin_feature_load): Doc, don't eat refs.
19490
19491         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
19492         (gst_plugin_list_free): Doc.
19493         (gst_plugin_load_file): Doc updates.
19494
19495         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
19496         accessors returning refcounted objects, return a ref.
19497
19498         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
19499         accessor for caps. IDEMPOTENCE. Oh yes.
19500
19501 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
19502
19503         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19504
19505         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
19506         (_gst_debug_register_funcptr):
19507           Add mutex to serialise access to the hash table with
19508           the function pointer => function name string mapping;
19509           make that hash table static scope (#316809).
19510
19511         * gst/registries/.cvsignore:
19512           Remove left-over file.
19513
19514 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19515
19516         * docs/pwg/appendix-porting.xml:
19517           And something about newsegment events and caps-on-buffers to
19518           the porting guide (feel free to improve).
19519
19520 2005-09-21  Andy Wingo  <wingo@pobox.com>
19521
19522         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
19523         data and event probes on the same pad.
19524         (test_buffer_probe_once): Test that removing probes from within
19525         the probe functions works.
19526
19527 2005-09-21  Andy Wingo  <wingo@pobox.com>
19528
19529         * check/gst/gstutils.c: New file.
19530         (test_buffer_probe_n_times): A simple buffer probe test. More to
19531         come, foolios.
19532
19533         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
19534         have-data::buffer, not have-data.
19535         (gst_pad_add_event_probe): Likewise for have-data::event.
19536         (gst_pad_add_data_probe): More docs. The part about 'resolving the
19537         peer' isn't quite right yet though.
19538         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
19539         (gst_pad_remove_data_probe): Change to take the guint handler_id
19540         as their arg, not the function+data, which is more glib-like.
19541
19542         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
19543         the signal emission to indicate if the data is a buffer or an
19544         event.
19545         (gst_pad_get_type): Initialize buffer and event quarks.
19546         (gst_pad_class_init): have-data is now a detailed signal, yes it
19547         is.
19548
19549 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
19550
19551         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
19552         * gst/gstutils.c: (gst_util_set_value_from_string),
19553         (gst_util_set_object_arg):
19554           Don't put functional code in g_return_if_fail() or
19555           g_return_val_if_fail() statements, otherwise things will 
19556           break when G_DISABLE_CHECKS is defined during compilation.
19557
19558 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19559
19560         * docs/gst/tmpl/.cvsignore:
19561         * docs/gst/tmpl/gstvalue.sgml:
19562         * gst/gstvalue.c:
19563         * gst/gstvalue.h:
19564           inlied another one and added  some obvious docs
19565
19566 2005-09-21  Wim Taymans  <wim@fluendo.com>
19567
19568         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19569         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
19570         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
19571         (gst_fdsrc_get_property), (gst_fdsrc_create):
19572         * gst/elements/gstfdsrc.h:
19573         Properly implement fdsrc. Removed signal and timeout,
19574         better implemented somewhere else.
19575
19576 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19577
19578         * docs/gst/tmpl/.cvsignore:
19579         * docs/gst/tmpl/gstimplementsinterface.sgml:
19580         * gst/gstinterface.c:
19581           inlined more docs
19582
19583 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19584
19585         * docs/gst/gstreamer-sections.txt:
19586         * docs/gst/tmpl/.cvsignore:
19587         * docs/gst/tmpl/gstenumtypes.sgml:
19588           remove obsolete doc file
19589
19590 2005-09-21  David Schleef  <ds@schleef.org>
19591
19592         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
19593         little beer, fix a little leak.
19594
19595 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
19596
19597         * docs/gst/gstreamer-docs.sgml:
19598         * docs/gst/gstreamer-sections.txt:
19599         * docs/gst/tmpl/.cvsignore:
19600         * gst/Makefile.am:
19601         * gst/gst.h:
19602         * gst/gstbin.c:
19603         * gst/gstelement.h:
19604         * gst/gstindex.c: (gst_index_class_init):
19605         * gst/gstindex.h:
19606         * gst/gstindexfactory.c: (gst_index_factory_get_type),
19607         (gst_index_factory_class_init), (gst_index_factory_init),
19608         (gst_index_factory_finalize), (gst_index_factory_new),
19609         (gst_index_factory_destroy), (gst_index_factory_find),
19610         (gst_index_factory_create), (gst_index_factory_make):
19611         * gst/gstindexfactory.h:
19612         * gst/gstpluginfeature.c:
19613         * gst/gstpluginfeature.h:
19614         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19615           more docs inlined, splitted gstindex.{c,h}
19616
19617 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19618
19619         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19620           fix a leak
19621
19622 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19623
19624         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19625           Set sync to FALSE by default.
19626
19627 2005-09-20  Wim Taymans  <wim@fluendo.com>
19628
19629         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19630         (gst_base_sink_init):
19631         Make sync property settable from subclass.
19632
19633         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
19634         (gst_fake_sink_change_state):
19635         Set sync to FALSE by default.
19636
19637 2005-09-20  Wim Taymans  <wim@fluendo.com>
19638
19639         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
19640         * tools/gst-launch.c: (main):
19641         The timeout handler should have lower priority than the source
19642         so we don't timeout before popping a message with 0 timeout.
19643         Dump error messages after failed state change.
19644
19645 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
19646
19647         * tools/gst-inspect.c: (print_element_properties_info):
19648           Fix two typos.
19649
19650 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19651
19652         * check/gst/gstevent.c:
19653         * gst/elements/gstfakesink.c:
19654         * gst/elements/gstfakesink.h:
19655           remove the sync property from fakesink.
19656           has the side effect of setting sync TRUE
19657           for fakesink, which is a change.  Anyone who knows how
19658           to fix this nicely in a GObject-y way, feel free.
19659
19660 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19661
19662         * docs/gst/gstreamer-docs.sgml:
19663           remove probe refsection
19664
19665 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19666
19667         * check/Makefile.am:
19668           disable valgrinding the controller test again
19669         * docs/gst/gstreamer-sections.txt:
19670           update for api-changes
19671
19672 2005-09-20  Wim Taymans  <wim@fluendo.com>
19673
19674         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19675         (gst_base_sink_set_property), (gst_base_sink_get_property),
19676         (gst_base_sink_do_sync):
19677         * gst/base/gstbasesink.h:
19678         Added sync property to basesink to disable clock sync.
19679
19680 2005-09-20  Andy Wingo  <wingo@pobox.com>
19681
19682         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
19683         eating the caller's refcount.
19684
19685         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
19686         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
19687         refcount.
19688
19689         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
19690         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
19691         of GLib 2.8 public, so we can know which refcount to check in
19692         tests.
19693
19694         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
19695         (gst_object_init): Only set the gst refcount if we're going ahead
19696         with the refcount hack.
19697
19698 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19699
19700         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19701         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
19702           more leaks plumbed, added more debug-logging
19703         * gst/gstmacros.h:
19704           whitespace fix
19705
19706 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19707
19708         * gst/gstmessage.c:
19709           remove include of gstmemchunk.h
19710
19711 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19712
19713         * gst/gstclock.c: (_gst_clock_id_free):
19714           Commit from the Political Party For More Atomic CVS Commits,
19715           so that people don't waste too much of their day fishing
19716           out obvious leaks out of massive commits.
19717           Oh, and fix a pretty damn obvious leak in the memchunk
19718           removal code.
19719
19720 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
19721
19722         * check/Makefile.am:
19723         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
19724           plug mem-leak, re-add to valgrindable tests
19725
19726 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
19727
19728         * gst/gstplugin.h:
19729           unbreak the build for those who have chronic arthritis
19730           and typing "make check" is just too taxing on the hands
19731
19732 2005-09-20  Andy Wingo  <wingo@pobox.com>
19733
19734         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
19735         really want it out, you should fix plugins at the same time.
19736
19737 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
19738
19739         * configure.ac:
19740         * docs/gst/gstreamer-sections.txt:
19741         * gst/gstobject.c:
19742           added missing symbols to api docs
19743           disable ref-count hack if we have glib >= 2.8
19744
19745 2005-09-19  David Schleef  <ds@schleef.org>
19746
19747         * docs/gst/Makefile.am: Ignore a few more internal headers
19748         * docs/gst/gstreamer-docs.sgml: Remove old sections
19749         * docs/gst/gstreamer-sections.txt: Remove old sections
19750         * docs/gst/tmpl/gstobject.sgml: update
19751         * docs/gst/tmpl/gstplugin.sgml: update
19752         * docs/gst/tmpl/gstpluginfeature.sgml: update
19753         * docs/random/ds/0.9-suggested-changes: update.
19754         * gst/Makefile.am: remove memchunk and trashstack, since they're
19755           not used.
19756         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
19757         * gst/gst.h: don't include some headers
19758         * gst/gstchildproxy.c: add gstmarshal.h
19759         * gst/gstclock.c: Don't use memchunks
19760         * gst/gstminiobject.c: Add some docs
19761         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
19762         * gst/gstobject.h: same
19763         * gst/gstplugin.c: include gstmacros.h
19764         * gst/gstplugin.h: don't include gstmacros.h, since it's private
19765         * gst/gstquery.c: don't use memchunks
19766         * gst/gstregistry.c: rename gst_registry_deinit()
19767         * gst/gstregistry.h: same
19768
19769 2005-09-19  David Schleef  <ds@schleef.org>
19770
19771         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
19772         * docs/libs/gstreamer-libs-sections.txt:
19773         * docs/libs/tmpl/gstgetbits.sgml:
19774         * docs/libs/tmpl/gstputbits.sgml:
19775
19776 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
19777
19778         * win32/gstenumtypes.c:
19779         * win32/gstenumtypes.h:
19780           Update.
19781
19782 2005-09-19  Wim Taymans  <wim@fluendo.com>
19783
19784         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
19785         Automatically PAUSE and RESUME a pipeline when a flushing seek
19786         is performed.
19787
19788 2005-09-19  Andy Wingo  <wingo@pobox.com>
19789
19790         * gst/gstregistry.h: Spacing fixen.
19791
19792 2005-09-19  Wim Taymans  <wim@fluendo.com>
19793
19794         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
19795         Handle state change failure more correctly.
19796
19797 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19798
19799         * check/Makefile.am:
19800         * check/pipelines/cleanup.c: (run_pipeline):
19801         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19802         (GST_START_TEST):
19803           enable cleanup again after fixing the leak
19804         * docs/README:
19805           some more info on docs
19806
19807 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19808
19809         * check/Makefile.am:
19810           re-enable tests now that leaks are plugged
19811         * check/gst/gst.c:
19812         * check/gst/gstbin.c:
19813         * check/gst/gstpipeline.c:
19814           add some more tests while fixing leaks
19815         * common/check.mak:
19816           make sure binaries are uptodate when valgrinding/gdbing
19817         * gst/gst.c:
19818         * gst/gstelementfactory.c:
19819           remove a ref too many, and add a FIXME for when we get
19820           round to disposing of classes
19821         * gst/gstplugin.c:
19822           fix the refcounting when loading a plugin from a file and
19823           the code pretends that the pointer is the same even though
19824           of course it can change
19825         * gst/gstpluginfeature.c:
19826           unref plugins marked cached (a bit confusing as a name)
19827           as the docs state should be done
19828           various doc additions to explain refcounting
19829         * gst/gstregistry.c:
19830         * gst/gstregistryxml.c:
19831           debugging
19832
19833 2005-09-19  Wim Taymans  <wim@fluendo.com>
19834
19835         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19836         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
19837         (send_messages), (GST_START_TEST), (gstbus_suite):
19838         * check/gst/gstpipeline.c: (GST_START_TEST):
19839         * check/pipelines/cleanup.c: (run_pipeline):
19840         * check/pipelines/simple_launch_lines.c: (run_pipeline),
19841         (GST_START_TEST):
19842         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
19843         (gst_bus_source_check), (gst_bus_source_dispatch),
19844         (gst_bus_create_watch), (gst_bus_add_watch_full),
19845         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
19846         * gst/gstbus.h:
19847         * tools/gst-launch.c: (event_loop):
19848         * tools/gst-md5sum.c: (event_loop):
19849         GstBusHandler -> GstBusFunc, return value has the same meaning as
19850         any other GSource (FALSE == remove source).
19851         _add_watch() and _add_watch_full() now take a MessageType mask to
19852         only handle specific types of messages.
19853         _poll() returns the GstMessage instead of the message type to avoid
19854         race conditions.
19855         _have_pending() takes a MessageType mask now too.
19856         Added testsuite for multiple bus watches.
19857         Fix testsuites and applications for new bus API.
19858
19859 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19860
19861         * check/Makefile.am:
19862           mark a bunch of the tests as to fix until we fix them
19863
19864 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19865
19866         * common/check.mak:
19867           use GST_PLUGIN settings for valgrind tests as well, so we're
19868           valgrinding the correct thing
19869         * gst/gst.c: (init_post):
19870           plug another leak
19871
19872 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19873
19874         * gst/gst.c: (init_post), (gst_deinit):
19875         * gst/gstelementfactory.c: (gst_element_factory_class_init),
19876         (gst_element_factory_finalize), (gst_element_factory_cleanup):
19877         * gst/gstindex.c: (gst_index_factory_class_init),
19878         (gst_index_factory_finalize):
19879         * gst/gstobject.c: (gst_object_dispose):
19880         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
19881         (gst_plugin_load_file), (gst_plugin_desc_free):
19882         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
19883         (gst_plugin_feature_finalize):
19884         * gst/gstregistry.c: (gst_registry_class_init),
19885         (gst_registry_init), (gst_registry_finalize),
19886         (gst_registry_get_default), (gst_registry_deinit):
19887         * gst/gstregistry.h:
19888         * gst/gstregistryxml.c: (load_feature), (load_plugin):
19889           various cleanups and memleak plugging.  make valgrind is happy now.
19890
19891 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19892
19893         * common/check.mak:
19894           add a check-valgrind target
19895
19896 2005-09-18  David Schleef  <ds@schleef.org>
19897
19898         * tools/gst-inspect.c: Revert the GOption code.
19899
19900 2005-09-17  David Schleef  <ds@schleef.org>
19901
19902         * check/Makefile.am: Fix environment variables.
19903         * check/gst/gstplugin.c: Fix for API changes.
19904         * tools/gst-inspect.c: Fix for API changes.
19905         * tools/gst-xmlinspect.c: Fix for API changes.
19906         * gst/gstelementfactory.c:
19907         * gst/gstplugin.c:
19908         * gst/gstplugin.h:
19909         * gst/gstpluginfeature.c:
19910         * gst/gstpluginfeature.h:
19911         * gst/gstregistry.c:
19912         * gst/gstregistry.h:
19913         * gst/gstregistryxml.c:
19914         * gst/gsttypefind.c:
19915         * gst/gsttypefindfactory.c:
19916         * gst/indexers/gstfileindex.c:
19917         * gst/indexers/gstmemindex.c:
19918         * gst/schedulers/Makefile.am:
19919           Change registry to keep track of both plugins and features,
19920           removing the feature tracking from plugins themselves.
19921
19922 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19923
19924         * check/Makefile.am:
19925         * tools/gst-register.1.in:
19926           remove gst-register
19927
19928 2005-09-15  David Schleef  <ds@schleef.org>
19929
19930         * check/gst/gstplugin.c:
19931         * gst/gstelementfactory.c:
19932         * gst/gstplugin.c:
19933         * gst/gstpluginfeature.c:
19934         * gst/gstregistry.c:
19935           Getting tired of debugging.  Disabled all the unreffing of
19936           plugins and features, which fixes the segfaults, but of
19937           course leaks like crazy.  At least playbin works.
19938
19939 2005-09-15  David Schleef  <ds@schleef.org>
19940
19941         * check/gst/gstplugin.c: (register_check_elements),
19942         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
19943         More testing
19944         * gst/elements/gsttypefindelement.c: Fix refcounting.
19945         * gst/gsttypefind.c:
19946         * gst/gsttypefindfactory.c:
19947         * gst/gsttypefindfactory.h:
19948
19949 2005-09-15  David Schleef  <ds@schleef.org>
19950
19951         * gst/gstindex.c: get refcounting correct.
19952         * gst/gstregistry.c: Handle the case where a feature/plugin is
19953           not found.
19954
19955 2005-09-15  David Schleef  <ds@schleef.org>
19956
19957         * check/Makefile.am:
19958         * check/gst/gstplugin.c: Add test
19959         * gst/gstplugin.c: Fix problems noticed by testsuite
19960         * gst/gstplugin.h:
19961         * gst/gstregistry.c: 
19962         * gst/gstregistry.h:
19963
19964 2005-09-15  David Schleef  <ds@schleef.org>
19965
19966         * gst/gstplugin.c: Implement semi-decent recounting and locking
19967           in plugins and plugin features.
19968         * gst/gstplugin.h:
19969         * gst/gstpluginfeature.c:
19970         * gst/gstpluginfeature.h:
19971         * gst/gstregistry.c:
19972
19973 2005-09-15  Michael Smith <msmith@fluendo.com>
19974
19975         * gst/gstregistry.c: (gst_registry_get_feature_list):
19976           Implement this. Makes oggdemux work; decodebin still broken.
19977
19978 2005-09-14  David Schleef  <ds@schleef.org>
19979
19980         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
19981           #316076)
19982         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
19983         * gst/check/Makefile.am:
19984         * libs/gst/controller/Makefile.am:
19985         * libs/gst/dataprotocol/Makefile.am:
19986
19987 2005-09-14  David Schleef  <ds@schleef.org>
19988
19989         * configure.ac: Remove getbits library.  Nothing uses it, and
19990           it should be in something like liboil if someone did want
19991           to use it.
19992         * libs/gst/Makefile.am:
19993         * libs/gst/getbits/Makefile.am:
19994         * libs/gst/getbits/gbtest.c:
19995         * libs/gst/getbits/getbits.c:
19996         * libs/gst/getbits/getbits.h:
19997         * libs/gst/getbits/gstgetbits_generic.c:
19998         * libs/gst/getbits/gstgetbits_i386.s:
19999         * libs/gst/getbits/gstgetbits_inl.h:
20000
20001 2005-09-14  David Schleef  <ds@schleef.org>
20002
20003         * gst/Makefile.am: Dist glib-compat.h
20004
20005 2005-09-14  David Schleef  <ds@schleef.org>
20006
20007         * configure.ac: Remove gst/registries, since it's no longer used.
20008         * gst/registries/Makefile.am:
20009         * gst/registries/gstlibxmlregistry.c:
20010         * gst/registries/gstlibxmlregistry.h:
20011         * gst/registries/gstxmlregistry.c:
20012         * gst/registries/gstxmlregistry.h:
20013         * gst/registries/registrytest.c:
20014
20015 2005-09-14  David Schleef  <ds@schleef.org>
20016
20017         * gst/glib-compat.h:
20018         * gst/gstregistryxml.c:
20019           Convergence is near.  Seriously.
20020
20021 2005-09-14  David Schleef  <ds@schleef.org>
20022
20023         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20024         * gst/glib-compat.h:
20025           Attempt #4 to appease the buildbots.
20026
20027 2005-09-14  David Schleef  <ds@schleef.org>
20028
20029         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20030           Attempt #3.
20031
20032 2005-09-14  David Schleef  <ds@schleef.org>
20033
20034         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20035         Attempt #2.
20036
20037 2005-09-14  David Schleef  <ds@schleef.org>
20038
20039         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
20040           the new functions.
20041
20042 2005-09-14  David Schleef  <ds@schleef.org>
20043
20044         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
20045         * gst/glib-compat.h: Add some functions that are in newer versions
20046           of glib than we care to require.
20047         * gst/gstregistryxml.c: Use them.
20048
20049 2005-09-14  David Schleef  <ds@schleef.org>
20050
20051         * po/POTFILES.in: remove gst-register.c
20052
20053 2005-09-14  David Schleef  <ds@schleef.org>
20054
20055         * docs/gst/gstreamer-docs.sgml:
20056         * docs/gst/gstreamer-sections.txt:
20057         * docs/gst/gstreamer.types:
20058         * docs/gst/tmpl/gstelement.sgml:
20059         * docs/gst/tmpl/gstplugin.sgml:
20060         * docs/gst/tmpl/gstpluginfeature.sgml:
20061           Documentation updates for registry changes.
20062
20063 2005-09-14  David Schleef  <ds@schleef.org>
20064
20065         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
20066           because we don't require glib-2.8.
20067
20068 2005-09-14  David Schleef  <ds@schleef.org>
20069
20070         * gst/gstregistryxml.c: Added.  Essentially moved out of the
20071           registries directory.
20072
20073 2005-09-14  David Schleef  <ds@schleef.org>
20074
20075         * check/Makefile.am:
20076         * check/generic/states.c:
20077         * gst/Makefile.am:
20078         * gst/gst.c:
20079         * gst/gst.h:
20080         * gst/gst_private.h:
20081         * gst/gstelementfactory.c:
20082         * gst/gstindex.c:
20083         * gst/gstinfo.c:
20084         * gst/gstplugin.c:
20085         * gst/gstplugin.h:
20086         * gst/gstpluginfeature.c:
20087         * gst/gstpluginfeature.h:
20088         * gst/gstregistry.c:
20089         * gst/gstregistry.h:
20090         * gst/gstregistrypool.c: remove
20091         * gst/gstregistrypool.h: remove
20092         * gst/gsttypefind.c:
20093         * gst/gsttypefindfactory.c:
20094         * gst/gsturi.c:
20095         * tools/Makefile.am:
20096         * tools/gst-compprep.c:
20097         * tools/gst-inspect.c:
20098         * tools/gst-register.c: remove
20099         * tools/gst-xmlinspect.c:
20100           Registry rewrite.  Changes registry from being a file created
20101           by a tool into a simple cache file created automatically by 
20102           libgstreamer.  Removed gst-register (because it's no longer
20103           needed).  Remove registry pools, because we only have one
20104           registry implementation (XML).  Fix up other subsystems as
20105           necessary.
20106
20107 2005-09-13  Michael Smith <msmith@fluendo.com>
20108
20109         * gst/gstconfig.h.in:
20110           Don't Use windows linking attributes for MinGW. Fixes #316157
20111
20112 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20113
20114         * gst/gstutils.c: (set_state_async_thread_func),
20115         (gst_element_set_state_async):
20116           Apparently people think it's better if this function doesn't
20117           try to set the state to whatever state was asked for on the first
20118           call to this function for any object.  Seriously.
20119
20120 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20121
20122         * check/gst/gstpipeline.c: (GST_START_TEST):
20123         * docs/gst/gstreamer-sections.txt:
20124         * gst/gstutils.c: (set_state_async_thread_func),
20125         (gst_element_set_state_async):
20126         * gst/gstutils.h:
20127           add a "gst_element_set_state_async" method that
20128           sets the state and starts a thread to make sure the state
20129           change completes as best as it can
20130
20131 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20132
20133         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20134           codify design+behaviour in testsuite after discussion
20135
20136 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
20137
20138         * docs/gst/tmpl/gstelement.sgml:
20139         * docs/manual/appendix-quotes.xml:
20140           add a quote
20141         * gst/gstelement.c: (gst_element_set_state):
20142           add some debug
20143
20144 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
20145
20146         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20147         (gst_base_transform_prepare_output_buf),
20148         (gst_base_transform_handle_buffer):
20149         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
20150         (gst_capsfilter_prepare_buf):
20151           Remove the requirement for sub-classes to call the parent
20152           implementation of prepare_output_buffer with a wrapper function.
20153           
20154         * gst/gsttaglist.h:
20155         * gst/gsttagsetter.h:
20156           Fix #define wrapper
20157
20158 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
20159
20160         * docs/gst/gstreamer-sections.txt:
20161           more doc cleanups
20162
20163 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20164
20165         * docs/gst/gstreamer-sections.txt:
20166         * docs/gst/tmpl/gstelement.sgml:
20167         * docs/gst/tmpl/gstplugin.sgml:
20168         * gst/gstminiobject.c:
20169         * gst/gstvalue.h:
20170           docs now stop throwing warnings
20171
20172 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20173
20174         * docs/gst/gstreamer-sections.txt:
20175         * docs/gst/gstreamer.types:
20176         * docs/gst/tmpl/gstpad.sgml:
20177         * docs/gst/tmpl/gsttypes.sgml:
20178         * gst/base/gstadapter.h:
20179         * gst/base/gstbasesink.h:
20180         * gst/base/gstbasesrc.h:
20181         * gst/gstbin.h:
20182         * gst/gstbuffer.h:
20183         * gst/gstbus.h:
20184         * gst/gstcaps.h:
20185         * gst/gstclock.h:
20186         * gst/gstelement.h:
20187         * gst/gstevent.h:
20188         * gst/gstmessage.h:
20189         * gst/gstpad.h:
20190         * gst/gststructure.c:
20191         * gst/registries/gstlibxmlregistry.h:
20192           various documentation fixes
20193
20194 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20195
20196         * docs/gst/gstreamer-sections.txt:
20197         * docs/gst/tmpl/gstvalue.sgml:
20198           rearrange gstvalue section
20199         * gst/gstutils.c: (gst_element_state_get_name):
20200           NONE -> VOID
20201         * gst/gstvalue.c: (_gst_value_initialize):
20202         * gst/gstvalue.h:
20203           doc updates
20204
20205 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
20206
20207         * check/gst-libs/controller.c:
20208           Header include fix.
20209         * gst/base/gstbasetransform.c:
20210         (gst_base_transform_default_prepare_buf),
20211         (gst_base_transform_handle_buffer):
20212         * gst/base/gstbasetransform.h:
20213           Some more basetransform changes and fixes to enable sub-classes
20214           that modify buffer metadata only.
20215         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20216         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
20217         (gst_capsfilter_prepare_buf):
20218           If the output pad has fixed allowed caps and input buffers 
20219           don't have any, set the fixed caps on outgoing buffers.
20220
20221 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
20222         * check/elements/identity.c: (GST_START_TEST):
20223           Make the error a little clearer when the test fails because
20224           identity made a copy of the buffer.
20225         * docs/gst/gstreamer-sections.txt:
20226           New symbols in gstbasetransform.h
20227         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20228         (gst_base_transform_init), (gst_base_transform_transform_size),
20229         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
20230         (gst_base_transform_default_prepare_buf),
20231         (gst_base_transform_get_unit_size),
20232         (gst_base_transform_buffer_alloc),
20233         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
20234         (gst_base_transform_change_state),
20235         (gst_base_transform_set_passthrough),
20236         (gst_base_transform_set_in_place),
20237         (gst_base_transform_is_in_place):
20238         * gst/base/gstbasetransform.h:
20239           Change BaseTransform to separate in_place operate from same_caps
20240           output. in_place implies that the element can perform the transform
20241           on incoming buffers in-place, even if the caps on the output are
20242           different.
20243           Sub-class elements can now implement special buffer allocation
20244           methods for outgoing buffers if they wish to.
20245           Big documentation addition.
20246         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
20247         * gst/elements/gstelements.c:
20248           Changes for basetransform modifications.
20249         * gst/elements/Makefile.am:
20250         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
20251           Compile fix. Extra debug output.
20252
20253 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20254
20255         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
20256         (gst_pad_suite):
20257           add tests for valid pad naming
20258         * gst/check/gstcheck.c: (gst_check_log_message_func),
20259         (gst_check_log_critical_func):
20260           add ASSERT_WARNING
20261           remove printing of code, it is fragile when the code contains
20262           % and the line number is enough info
20263         * gst/check/gstcheck.h:
20264         * gst/gstpad.c: (gst_pad_template_new):
20265           fix memleaks
20266
20267 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20268
20269         * configure.ac:
20270           say what CHECK flags we use
20271         * docs/libs/gstreamer-libs.types:
20272         * libs/gst/controller/Makefile.am:
20273         * libs/gst/controller/gst-controller.c:
20274         * libs/gst/controller/gst-controller.h:
20275         * libs/gst/controller/gst-helper.c:
20276         * libs/gst/controller/gst-interpolation.c:
20277         * libs/gst/controller/gstcontroller.c:
20278         * libs/gst/controller/gsthelper.c:
20279         * libs/gst/controller/gstinterpolation.c:
20280         * tools/gst-inspect.c: (print_plugin_info):
20281           we don't use dashes in header names
20282
20283 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20284
20285         * check/Makefile.am:
20286         * check/gst/.cvsignore:
20287         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
20288         (gst_pipeline_suite), (main):
20289           adding a test for pipelines and state changes
20290         * gst/gstutils.c: (get_state_func):
20291           add some debugging
20292         * gstreamer.spec.in:
20293           fix up spec file
20294
20295 2005-09-08  Michael Smith <msmith@fluendo.com>
20296
20297         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
20298         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
20299         (gst_file_src_is_seekable), (gst_file_src_get_size),
20300         (gst_file_src_start):
20301         * gst/elements/gstfilesrc.h:
20302           Various fixes for unseekable, unmmapable, and non-normal files, so
20303           that fallback to read() rather than mmap() works.
20304         * gst/gstevent.c: (gst_event_new_newsegment):
20305           Allow newsegment events with segment_start == segment_end, as will
20306           correctly happen if you use filesrc on a zero-size file, for
20307           example.
20308
20309 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
20310
20311         * gst/gstplugin.c: (gst_plugin_load_file):
20312           Call g_module_close when we don't load the module
20313
20314         * gst/registries/gstlibxmlregistry.c:
20315         (gst_xml_registry_get_property):
20316           Port leak fix from 0.8
20317
20318 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20319
20320         * docs/gst/gstreamer-docs.sgml:
20321         * docs/gst/tmpl/.cvsignore:
20322         * docs/gst/tmpl/gsttrace.sgml:
20323         * docs/gst/tmpl/gsttrashstack.sgml:
20324         * gst/Makefile.am:
20325         * gst/gst.h:
20326         * gst/gstelement.h:
20327         * gst/gstevent.h:
20328         * gst/gstmessage.c:
20329         * gst/gstmessage.h:
20330         * gst/gsttag.c:
20331         * gst/gsttag.h:
20332         * gst/gsttaginterface.c:
20333         * gst/gsttaginterface.h:
20334         * gst/gsttaglist.c:
20335         * gst/gsttaglist.h:
20336         * gst/gsttagsetter.c:
20337         * gst/gsttagsetter.h:
20338         * gst/gsttrace.c:
20339         * gst/gsttrace.h:
20340         * gst/gsttrashstack.c:
20341           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
20342           inlined docs for gsttrace, gsttrashstack
20343
20344 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20345
20346         * gst/Makefile.am:
20347         * gst/elements/gstbufferstore.h:
20348         * gst/elements/gsttypefindelement.c:
20349         * gst/elements/gsttypefindelement.h:
20350         * gst/gst.h:
20351         * gst/gsttypefind.c:
20352         * gst/gsttypefind.h:
20353         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
20354         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
20355         (gst_type_find_factory_dispose),
20356         (gst_type_find_factory_unload_thyself),
20357         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
20358         (gst_type_find_factory_get_caps),
20359         (gst_type_find_factory_get_extensions),
20360         (gst_type_find_factory_call_function):
20361         * gst/gsttypefindfactory.h:
20362         * gst/registries/gstlibxmlregistry.c:
20363         * gst/registries/gstxmlregistry.c:
20364           splitted gsttypefind into gsttypefind, gsttypefindfactory
20365
20366 2005-09-07  Andy Wingo  <wingo@pobox.com>
20367
20368         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
20369         condition whereby the pad's task function is entered before the
20370         pad_mode variable was set.
20371
20372 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
20373
20374         * gst/gstpad.c: (gst_pad_alloc_buffer):
20375           Catch misbehaving pad_alloc functions that don't
20376           set up caps and do it for them.
20377
20378 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
20379
20380         * check/pipelines/simple_launch_lines.c: (run_pipeline):
20381           test for pipe!=NULL
20382         * docs/gst/tmpl/.cvsignore:
20383         * docs/gst/tmpl/gstmemchunk.sgml:
20384         * docs/gst/tmpl/gstparse.sgml:
20385         * docs/gst/tmpl/gsttaglist.sgml:
20386         * docs/gst/tmpl/gsttagsetter.sgml:
20387         * docs/gst/tmpl/gsttypefind.sgml:
20388         * docs/gst/tmpl/gsttypefindfactory.sgml:
20389         * gst/gstmemchunk.c:
20390         * gst/gstparse.c:
20391         * gst/gsttag.c:
20392         * gst/gsttaginterface.c:
20393         * gst/gsttypefind.c:
20394         * gst/gsttypefind.h:
20395           inlined more docs
20396
20397 === release 0.9.2 ===
20398
20399 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20400
20401         * NEWS:
20402         * RELEASE:
20403         * configure.ac:
20404           releasing 0.9.2, "South"
20405
20406 2005-09-05  Andy Wingo  <wingo@pobox.com>
20407
20408         * gst/registries/gstxmlregistry.h:
20409         * gst/registries/gstxmlregistry.c: Um... resurrect...
20410         
20411         * gst/registries/gstxmlregistry.h:
20412         * gst/registries/gstxmlregistry.c: and update to newer API.
20413         Incidentally they should be a bit faster now that they don't have
20414         to parse the caps.
20415         
20416 2005-09-05  Andy Wingo  <wingo@pobox.com>
20417
20418         * gst/registries/gstxmlregistry.h:
20419         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
20420         replaced by the libxml registry a while back
20421
20422 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20423
20424         * docs/gst/tmpl/gstplugin.sgml:
20425         * gst/elements/gstelements.c:
20426         * gst/gst.c:
20427         * gst/gstplugin.c: (gst_plugin_register_func),
20428         (gst_plugin_desc_copy), (gst_plugin_desc_free),
20429         (gst_plugin_get_source):
20430         * gst/gstplugin.h:
20431         * gst/registries/gstlibxmlregistry.c: (load_plugin),
20432         (gst_xml_registry_save_plugin):
20433         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
20434         (gst_xml_registry_save_plugin):
20435         * tools/gst-inspect.c: (print_plugin_info):
20436           add a "source" plugin description field, to represent the source
20437           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
20438           will set it to PACKAGE, which is automake's idea of the name of
20439           the source project.
20440
20441 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20442
20443         * Makefile.am:
20444         * autogen.sh:
20445         * configure.ac:
20446         * docs/Makefile.am:
20447         * docs/faq/Makefile.am:
20448         * docs/gst/tmpl/gstelement.sgml:
20449         * docs/gst/tmpl/gsttypes.sgml:
20450         * docs/htmlinstall.mak:
20451         * docs/manual/Makefile.am:
20452         * docs/pwg/Makefile.am:
20453           reorganize doc build a little
20454           split out docbook and gtk-doc stuff
20455           have two separate --enable's and enable them through autogen
20456           but disable by default in configure (to be similar to other
20457           projects)
20458         * gstreamer.spec.in:
20459           clean up docs install
20460         * po/af.po:
20461         * po/az.po:
20462         * po/ca.po:
20463         * po/cs.po:
20464         * po/de.po:
20465         * po/en_GB.po:
20466         * po/fr.po:
20467         * po/it.po:
20468         * po/nb.po:
20469         * po/nl.po:
20470         * po/ru.po:
20471         * po/sq.po:
20472         * po/sr.po:
20473         * po/sv.po:
20474         * po/tr.po:
20475         * po/uk.po:
20476         * po/vi.po:
20477           translation updates
20478
20479 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
20480
20481         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
20482           Add comment.
20483           
20484         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
20485         (gst_fake_sink_change_state):
20486           Make state change function thread-safe.
20487           
20488         * gst/gstpad.c: (gst_pad_alloc_buffer):
20489           Set offset on generic buffer allocated by fallback.
20490
20491 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
20492
20493         * docs/gst/gstreamer-sections.txt:
20494         * docs/gst/tmpl/gstelement.sgml:
20495         * gst/gstpad.c:
20496         * libs/gst/controller/gst-controller.c:
20497         (gst_controlled_property_set_interpolation_mode),
20498         (gst_controlled_property_new),
20499         (gst_controller_find_controlled_property):
20500          run the wingo-magic script against the docs
20501
20502 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20503
20504         * docs/gst/gstreamer-docs.sgml:
20505         * docs/gst/gstreamer-sections.txt:
20506         * docs/gst/tmpl/.cvsignore:
20507         * docs/gst/tmpl/gstelementdetails.sgml:
20508         * docs/gst/tmpl/gstelementfactory.sgml:
20509         * gst/gst.c:
20510         * gst/gstbus.c:
20511         * gst/gstelementfactory.c:
20512         * gst/gstelementfactory.h:
20513           merged elementdetails docs into elementfactory docs
20514           inlined both
20515
20516 2005-09-02  Andy Wingo  <wingo@pobox.com>
20517
20518         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
20519         consider this enum an enum and not a flags.
20520
20521 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
20522
20523         * docs/gst/gstreamer-docs.sgml:
20524         * docs/gst/tmpl/.cvsignore:
20525         * docs/gst/tmpl/gstghostpad.sgml:
20526         * docs/gst/tmpl/gstiterator.sgml:
20527         * docs/gst/tmpl/gstmacros.sgml:
20528         * docs/gst/tmpl/gstrealpad.sgml:
20529         * docs/gst/tmpl/gstregistry.sgml:
20530         * docs/gst/tmpl/gstregistrypool.sgml:
20531         * docs/gst/tmpl/gststructure.sgml:
20532         * docs/gst/tmpl/gstsystemclock.sgml:
20533         * docs/gst/tmpl/gsttrace.sgml:
20534         * gst/gstghostpad.c:
20535         * gst/gstmacros.h:
20536         * gst/gstmemchunk.c:
20537         * gst/gstmemchunk.h:
20538         * gst/gstqueue.c:
20539         * gst/gstregistry.c:
20540         * gst/gstregistrypool.c:
20541         * gst/gststructure.c:
20542         * gst/gstsystemclock.c:
20543           more docs inlined
20544
20545 2005-09-02  Andy Wingo  <wingo@pobox.com>
20546
20547         * gst/gstelement.h (GstState): Renamed from GstElementState,
20548         changed to be a normal enum instead of flags.
20549         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
20550         munged to be GST_STATE_CHANGE_*.
20551         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
20552         work with the new state representation.
20553         (GstStateChange): New enumeration of possible state transitions.
20554         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
20555         (GstElementClass::change_state): Pass the GstStateChange along as
20556         an argument. Helps language bindings, so they don't have to use
20557         tricky lock-needing macros like GST_STATE_CHANGE ().
20558
20559         * scripts/update-states (file): New script. Run it on a file to
20560         update it for state naming and API changes. Updates files in
20561         place.
20562
20563         * All files updated for the new API.
20564
20565 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20566
20567         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
20568         * gst/gstutils.c: (gst_util_set_value_from_string),
20569         (gst_util_set_object_arg):
20570           fix a bunch of unchecked return values
20571         * tools/gst-complete.c: (main):
20572         * gstreamer.spec.in:
20573           clean up a little
20574
20575 2005-09-01  Wim Taymans  <wim@fluendo.com>
20576
20577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20578         (gst_base_sink_event), (gst_base_sink_do_sync),
20579         (gst_base_sink_handle_event):
20580         * gst/base/gstbasesink.h:
20581         Handle newsegments more correctly.
20582
20583         * gst/gstbus.c:
20584         Fix docs.
20585
20586         * gst/gstevent.c: (gst_event_new_newsegment):
20587         A newsegment cannot have a start_time of -1
20588
20589 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
20590
20591         * win32/gstenumtypes.c:
20592         * win32/gstenumtypes.h:
20593           Update
20594
20595 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20596
20597         * libs/gst/controller/gst-controller.c:
20598         (gst_controlled_property_set_interpolation_mode),
20599         (gst_controlled_property_new):
20600          fixed boolean again
20601
20602 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
20603
20604         * docs/faq/gst-uninstalled:
20605           add -good
20606         * gst/gstevent.c:
20607         * gst/gstevent.h:
20608           remove wrong docs
20609         * gst/gstutils.c: (gst_element_link_filtered):
20610         * gst/gstutils.h:
20611           add gst_element_link_filtered
20612
20613 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20614
20615         * docs/gst/gstreamer-docs.sgml:
20616         * docs/gst/gstreamer-sections.txt:
20617         * docs/gst/tmpl/.cvsignore:
20618         * docs/gst/tmpl/gsterror.sgml:
20619         * docs/gst/tmpl/gstfilter.sgml:
20620         * docs/gst/tmpl/gsturihandler.sgml:
20621         * docs/gst/tmpl/gsturitype.sgml:
20622         * docs/gst/tmpl/gstutils.sgml:
20623         * docs/gst/tmpl/gstxml.sgml:
20624         * gst/gsterror.c:
20625         * gst/gsterror.h:
20626         * gst/gstfilter.c:
20627         * gst/gsturi.c:
20628         * gst/gsturitype.c:
20629         * gst/gstutils.c:
20630         * gst/gstxml.c:
20631           inlined more docs, fixed double id-ref
20632
20633 2005-08-31  Wim Taymans  <wim@fluendo.com>
20634
20635         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20636         (gst_base_transform_handle_buffer):
20637         Passthrough elements don't need the caps as they don't care.
20638
20639 2005-08-31  Wim Taymans  <wim@fluendo.com>
20640
20641         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
20642         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
20643         Don't leak refcounts on buffers.
20644
20645 2005-08-31  Wim Taymans  <wim@fluendo.com>
20646
20647         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
20648         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
20649         (gst_base_transform_chain), (gst_base_transform_change_state):
20650         * gst/base/gstbasetransform.h:
20651         Handle the case where we are not negotiated more gracefully.
20652
20653 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
20654
20655         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
20656         (gst_file_src_map_region):
20657           Set READONLY flag on mmap'ed buffers, otherwise
20658           gst_buffer_make_writable() won't work properly (#314708).
20659
20660 2005-08-31  Wim Taymans  <wim@fluendo.com>
20661
20662         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
20663         passthrough elements can even do inplace on non writable
20664         buffers (as they don't touch them).
20665
20666 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
20667
20668         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
20669         (gst_test_mono_source_set_property),
20670         (gst_test_mono_source_class_init), (GST_START_TEST),
20671         (gst_controller_suite):
20672           more tests (hehe I have the most)
20673         * gst/gstbus.c:
20674           describe popping messages whenusing mulltiple sources
20675         * libs/gst/controller/gst-controller.c:
20676         (gst_controlled_property_set_interpolation_mode),
20677         (gst_controlled_property_new):
20678         * libs/gst/controller/gst-controller.h:
20679         * libs/gst/controller/gst-interpolation.c:
20680           implement boolean properties
20681
20682 2005-08-31  Wim Taymans  <wim@fluendo.com>
20683
20684         * gst/gstminiobject.c: (gst_mini_object_ref):
20685         Cannot assert that the refcount has to be positive
20686         since a disposed object can be resurrected.
20687
20688 2005-08-31  Wim Taymans  <wim@fluendo.com>
20689
20690         * gst/gstpad.c: (gst_pad_init):
20691         Revert change, need to first fix badly behaving 
20692         apps.
20693
20694 2005-08-30  Wim Taymans  <wim@fluendo.com>
20695
20696         * check/elements/fakesrc.c: (setup_fakesrc):
20697         * check/elements/identity.c: (setup_identity):
20698         Activate pads before using them.
20699
20700 2005-08-30  Wim Taymans  <wim@fluendo.com>
20701
20702         * gst/base/gstadapter.c: (gst_adapter_flush):
20703         Flushing out 0 bytes is ok for this function.
20704
20705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20706         no newsegment gives a warning and sets the start/stop to 
20707         invalid.
20708
20709         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
20710         (gst_base_transform_set_passthrough):
20711         Some debug info.
20712
20713         * gst/gstminiobject.c: (gst_mini_object_ref):
20714         Check refcount here too.
20715
20716         * gst/gstpad.c: (gst_pad_init):
20717         Pads are initially flushing and refusing data.
20718
20719         * gst/gstutils.c: (gst_element_link_pads_filtered):
20720         When adding a capsfilter element make sure it has the
20721         same state as the parent bin.
20722
20723 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20724
20725         * docs/gst/tmpl/.cvsignore:
20726         * docs/gst/tmpl/gstformat.sgml:
20727         * docs/gst/tmpl/gstversion.sgml:
20728         * gst/gstbus.h:
20729         * gst/gstformat.c:
20730         * gst/gstformat.h:
20731         * gst/gstversion.h.in:
20732           more docs and two more inlined
20733
20734 2005-08-30  Wim Taymans  <wim@fluendo.com>
20735
20736         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
20737         Don't sync to clock.
20738
20739 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20740
20741         * docs/gst/gstreamer-sections.txt:
20742           ultral33t func10ns deserve to appear in the docs actually
20743         * docs/gst/tmpl/.cvsignore:
20744         * docs/gst/tmpl/gstcompat.sgml:
20745         * docs/gst/tmpl/gstconfig.sgml:
20746         * gst/check/gstcheck.c:
20747         * gst/gstcompat.h:
20748         * gst/gstconfig.h.in:
20749           inlined more docs
20750
20751 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20752
20753         * docs/gst/tmpl/.cvsignore:
20754         * docs/gst/tmpl/gstquery.sgml:
20755         * docs/gst/tmpl/gstutils.sgml:
20756         * gst/gstquery.c:
20757         * gst/gstquery.h:
20758           inlined and extended docs
20759
20760 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
20761
20762         * check/gst-libs/controller.c: (GST_START_TEST),
20763         (gst_controller_suite):
20764           more tests
20765         * docs/gst/tmpl/gstutils.sgml:
20766         * docs/libs/gstreamer-libs-sections.txt:
20767         * docs/libs/tmpl/gstdataprotocol.sgml:
20768           include path fixes
20769         * examples/controller/audio-example.c: (main):
20770           controller example works now
20771         * gst/gstclock.h:
20772           doc fixes
20773         * tools/gst-inspect.c: (print_element_properties_info):
20774           show param spec flags
20775
20776 2005-08-29  Andy Wingo  <wingo@pobox.com>
20777
20778         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
20779
20780 2005-08-28  Andy Wingo  <wingo@pobox.com>
20781
20782         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
20783         as having two arguments instead of just one. Allows superclasses
20784         to access information on subclasses -- see the terrible for() loop
20785         in gtype.c:g_type_create_instance for the reason why. All callers
20786         changed.
20787
20788 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20789
20790         * docs/design/part-messages.txt:
20791           update info
20792         * docs/gst/tmpl/.cvsignore:
20793         * docs/gst/tmpl/gstcaps.sgml:
20794         * docs/gst/tmpl/gstclock.sgml:
20795         * gst/gstbus.c:
20796         * gst/gstcaps.c:
20797         * gst/gstcaps.h:
20798         * gst/gstclock.c:
20799         * gst/gstclock.h:
20800         * gst/gstmessage.c:
20801           added descriptions for bus and message
20802           inline caps and clock docs
20803
20804 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20805
20806         * gst/gstmessage.c:
20807         * gst/gstmessage.h:
20808           doc fixes
20809
20810 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
20811
20812         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20813           fix div-by-zero
20814
20815 2005-08-26  Andy Wingo  <wingo@pobox.com>
20816
20817         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
20818         element_set_state's return val.
20819         (test_2_elements): Add test that's been disabled for months.
20820
20821         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
20822         can-activate-pull properties.
20823
20824         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
20825         can-activate-pull properties. Implement is_seekable so fakesrc can
20826         operate in pull mode.
20827
20828         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
20829         properties.
20830         (gst_base_sink_activate, gst_base_sink_activate_pull)
20831         (gst_base_sink_activate_push): Make activation mode choosing work.
20832         Cleanups.
20833         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
20834         is right. Make pull mode work. Post an eos before pausing in pull
20835         mode.
20836         (gst_base_sink_change_state): Pay attention to the core's
20837         change_state() return val.
20838         
20839         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
20840         has-getrange properties. Cleanups.
20841         
20842         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
20843         has_getrange and replace with can_activate_pull and
20844         can_activate_push.
20845
20846         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
20847         locking comments. Remove has_loop, has_chain and replace with
20848         can_activate_pull and can_activate_push.
20849
20850 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
20851
20852         * configure.ac:
20853         * examples/Makefile.am:
20854         * examples/metadata/Makefile.am:
20855         * examples/metadata/read-metadata.c: (message_loop),
20856         (have_pad_handler), (make_pipeline), (print_tag), (main):
20857           Add metadata reading example that loops over a list of filenames,
20858           dumping any tags found.
20859
20860         * gst/gstbus.c: (gst_bus_dispose):
20861         * gst/gstelement.c: (gst_element_dispose):
20862           Release a few potentially-held references in dispose.
20863
20864 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20865
20866         * docs/gst/tmpl/gstminiobject.sgml:
20867           do *not* add tmpl/*.sgml files to CVS!
20868
20869 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20870
20871         * libs/gst/bytestream/.cvsignore:
20872         * libs/gst/bytestream/Makefile.am:
20873         * libs/gst/bytestream/adapter.c:
20874         * libs/gst/bytestream/adapter.h:
20875         * libs/gst/bytestream/bytestream.c:
20876         * libs/gst/bytestream/bytestream.h:
20877         * libs/gst/bytestream/filepad.c:
20878         * libs/gst/bytestream/filepad.h:
20879           removing obsolete files
20880
20881 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20882
20883         * docs/gst/gstreamer-docs.sgml:
20884         * docs/libs/gstreamer-libs-docs.sgml:
20885           disabed additional index entries again, as this makes docs-gen just
20886           slow and they aren't useful yet
20887         * docs/libs/gstreamer-libs-sections.txt:
20888           little -section.txt cleanup for libs
20889
20890 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20891
20892         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20893         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
20894           fix up some debugging
20895         (gst_base_transform_get_unit_size),
20896         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
20897         (gst_base_transform_handle_buffer):
20898         * gst/base/gstbasetransform.h:
20899           handle and store timed NEWSEGMENT events so that subclasses that
20900           calculate time by counting samples have a segment_start time they
20901           need to add to their timestamps - see audioresample
20902
20903 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
20904
20905         * gst/gstbin.h:
20906           removed ';' from the end of macro defs
20907         * docs/gst/gstreamer-docs.sgml:
20908         * docs/gst/gstreamer-sections.txt:
20909         * docs/gst/tmpl/.cvsignore:
20910         * gst/gstbus.h:
20911         * gst/gstelement.c: (gst_element_class_init),
20912         (gst_element_set_state), (activate_pads),
20913         (gst_element_save_thyself):
20914         * gst/gstevent.c: (gst_event_new_newsegment):
20915         * gst/gstevent.h:
20916         * gst/gstiterator.c:
20917         * gst/gstiterator.h:
20918         * gst/gstpad.c:
20919         * gst/gstprobe.h:
20920         * gst/gstutils.c: (gst_pad_query_convert):
20921         * gst/gstutils.h:
20922           fixed parameter name mismatches between source, header and docs
20923           added some more docs, resolved the last batch of unused elements in
20924           docs (now someone needs to doc them)
20925
20926 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20927
20928         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
20929         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
20930           don't walk through the plugins backwards.  Where is all this
20931           reversed logic coming from ?
20932
20933 2005-08-25  Wim Taymans  <wim@fluendo.com>
20934
20935         * gst/base/gstbasetransform.c: (gst_base_transform_init),
20936         (gst_base_transform_transform_size),
20937         (gst_base_transform_configure_caps),
20938         (gst_base_transform_get_unit_size),
20939         (gst_base_transform_buffer_alloc),
20940         (gst_base_transform_change_state):
20941         * gst/base/gstbasetransform.h:
20942         Cache caps unit_size.
20943         Make sure we cannot negotiate up and downstream at the
20944         same time.
20945
20946 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20947
20948         * gst/gst.c: (init_pre), (init_post):
20949           register the installed plugin path after the env var
20950         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
20951         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
20952           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
20953           directories, so the tests can prefer uninstalled over installed
20954
20955 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20956
20957         * gst/base/gstbasetransform.h:
20958           comment
20959         * gst/gstpad.c:
20960           add to docs
20961
20962 2005-08-25  Wim Taymans  <wim@fluendo.com>
20963
20964         * gst/gstbin.c: (bin_bus_handler):
20965         Be a bit more conservative about the posted message.
20966         
20967         * gst/gstbus.c: (gst_bus_post):
20968         Some cleanups, warn wrong return values.
20969
20970 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
20971
20972         * check/gst/gstbin.c: (GST_START_TEST):
20973         * gst/gstbin.c: (bin_bus_handler):
20974         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
20975         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
20976         (gst_message_new_warning), (gst_message_new_tag),
20977         (gst_message_new_state_changed), (gst_message_new_segment_start),
20978         (gst_message_new_segment_done), (gst_message_new_custom):
20979         * gst/gstmessage.h:
20980         * tools/gst-launch.c: (event_loop):
20981         * tools/gst-md5sum.c: (event_loop):
20982           Revert unpopular change for GST_MESSAGE_SRC to GObject.
20983
20984 2005-08-25  Wim Taymans  <wim@fluendo.com>
20985
20986         * check/generic/states.c: (GST_START_TEST):
20987         Cleanup can be done at the end.
20988
20989         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
20990         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
20991         (gst_task_get_state), (gst_task_start), (gst_task_pause):
20992         Oh boy.. Thanks for finding this, Thomas. 
20993
20994 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
20995
20996         * docs/gst/gstreamer.types:
20997           added missing types
20998
20999 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
21000
21001         * docs/gst/gstreamer-docs.sgml:
21002         * docs/gst/gstreamer-sections.txt:
21003         * docs/gst/tmpl/.cvsignore:
21004         * gst/gstbin.c:
21005         * gst/gstiterator.c:
21006         * gst/gstutils.c:
21007         * gst/registries/gstxmlregistry.h:
21008           added missing classes and symbols (123 more to go)
21009           removed removed symbols from section file
21010           fixed many doc-comments
21011
21012 2005-08-24  Wim Taymans  <wim@fluendo.com>
21013
21014         * check/generic/states.c: (GST_START_TEST):
21015         Make sure all tasks are stopped.
21016
21017         * check/gst/gstbin.c: (GST_START_TEST):
21018         Unref after usage for proper valgrinding.
21019
21020         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
21021         Really wait for the task to stop before destroying the
21022         mutex.
21023
21024         * gst/gstqueue.c: (gst_queue_sink_activate_push),
21025         (gst_queue_src_activate_push):
21026         Small cleanups. Don't stop the task when we did not start
21027         it.
21028
21029         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
21030         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
21031         (gst_task_get_state), (gst_task_start), (gst_task_pause),
21032         (gst_task_join):
21033         * gst/gsttask.h:
21034         Protect the stream lock with the object lock.
21035         Disallow setting the stream lock when running.
21036         Add cleanup_all to wait for the threadpool to finish.
21037         Remove code to autoallocate a mutex if none was provided.
21038         Add _join() to wait for a task to stop.
21039         Protect the thread pool with a global lock.
21040
21041 2005-08-24  Wim Taymans  <wim@fluendo.com>
21042
21043         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21044         (gst_base_sink_get_times), (gst_base_sink_do_sync),
21045         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
21046         * gst/base/gstbasesink.h:
21047         Handle newsegment events correctly.
21048         Drop buffers out of the segment range.
21049
21050 2005-08-22  Andy Wingo  <wingo@pobox.com>
21051
21052         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
21053         macro, implements an interface and gstimplementsinterface for a
21054         new type.
21055
21056 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21057
21058         * check/Makefile.am:
21059         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
21060           add a test that does a bunch of state changes on elements
21061           needs some fixing for valgrind
21062         * check/states/sinks.c: (gst_object_suite):
21063           whitespace
21064         * gst/gstcaps.h:
21065           add prototype for gst_caps_is_equal_fixed
21066         * gst/gstplugin.c:
21067         * gst/gstregistrypool.c:
21068           doc fixes
21069
21070 2005-08-24  Andy Wingo  <wingo@pobox.com>
21071
21072         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
21073         convert a negative value. Doesn't make much sense. Mostly this is
21074         here to force callers to ensure -1 maps to -1.
21075
21076 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
21077
21078         * docs/pwg/advanced-types.xml:
21079           Well done to Michael for catching my deliberate introduction
21080           of this spelling mistake. 
21081         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
21082         * gst/gstelement.h:
21083           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
21084           unlink pads before removing the element from the bin.
21085
21086 2005-08-24  Andy Wingo  <wingo@pobox.com>
21087
21088         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
21089         the same thing as GST_DEBUG=*:4.
21090         (parse_debug_level, parse_debug_category): New helper parsers.
21091
21092 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21093
21094         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21095         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
21096         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
21097         (gst_base_transform_buffer_alloc),
21098         (gst_base_transform_handle_buffer):
21099           use gboolean return values and pointers to size so we can use the
21100           full GST_BUFFER_SIZE range (guint) for buffer sizes
21101           use GstPadDirection for transform_caps
21102         * gst/base/gstbasetransform.h:
21103           rename get_size to get_unit_size since that's what it is
21104         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
21105           use GstPadDirection for transform_caps
21106         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
21107         * gst/gstutils.h:
21108           cleanup and debugging
21109
21110 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
21111
21112         * gst/gstelement.c: (gst_element_class_init),
21113         (gst_element_set_state), (activate_pads),
21114         (gst_element_save_thyself):
21115         * tools/gst-compprep.c: (main):
21116         * tools/gst-inspect.c: (print_element_properties_info):
21117         * tools/gst-xmlinspect.c: (print_element_properties):
21118           Fixed long standing mem-leak
21119
21120 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
21121
21122         * check/gst/gstbin.c: (GST_START_TEST):
21123         * gst/gstbin.c: (bin_bus_handler):
21124         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
21125         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
21126         (gst_message_new_warning), (gst_message_new_tag),
21127         (gst_message_new_state_changed), (gst_message_new_segment_start),
21128         (gst_message_new_segment_done), (gst_message_new_custom):
21129         * gst/gstmessage.h:
21130         * tools/gst-launch.c: (event_loop):
21131         * tools/gst-md5sum.c: (event_loop):
21132           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
21133           that applications can sensibly post custom messages with references
21134           to their own objects.
21135
21136 2005-08-24  Andy Wingo  <wingo@pobox.com>
21137
21138         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
21139         already.
21140
21141 2005-08-24  Wim Taymans  <wim@fluendo.com>
21142
21143         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21144         (gst_base_transform_transform_caps),
21145         (gst_base_transform_transform_size),
21146         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21147         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
21148         (gst_base_transform_handle_buffer):
21149         * gst/base/gstbasetransform.h:
21150         Many fixes and new features added by Thomas. Can now also do
21151         transforms with variable sizes and a custom fixate_caps function.
21152
21153 2005-08-24  Wim Taymans  <wim@fluendo.com>
21154
21155         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
21156         Some debugging.
21157
21158         * gst/gstclock.h:
21159         Cast to ClockTime before formatting to time.
21160
21161         * gst/gstutils.h:
21162         Cleanups.
21163
21164 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
21165
21166         * check/gst-libs/controller.c: (GST_START_TEST),
21167         (gst_controller_suite):
21168         * docs/gst/tmpl/gstcaps.sgml:
21169         * docs/gst/tmpl/gstghostpad.sgml:
21170         * docs/gst/tmpl/gstquery.sgml:
21171         * docs/gst/tmpl/gstutils.sgml:
21172         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
21173         (gst_object_sink_values), (gst_object_get_value_arrays),
21174         (gst_object_get_value_array):
21175           gracefully handle helper method calls to objects that are not beeing
21176           controlled, added test case for that          
21177
21178 2005-08-23  Wim Taymans  <wim@fluendo.com>
21179
21180         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
21181         (gst_event_new_newsegment), (gst_event_parse_newsegment),
21182         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
21183         (gst_event_parse_qos), (gst_event_new_seek),
21184         (gst_event_parse_seek):
21185         * gst/gstevent.h:
21186         Some more debugging output and doc cleanups.
21187
21188         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21189         Fix possible deadlock.
21190
21191 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
21192
21193         * docs/gst/gstreamer-docs.sgml:
21194         * docs/gst/gstreamer-sections.txt:
21195         * docs/gst/gstreamer.types:
21196         * docs/gst/tmpl/.cvsignore:
21197         * gst/gstbin.h:
21198         * gst/gstbus.c:
21199         * gst/gstelement.c:
21200         * gst/gstevent.h:
21201           added 100 symbols from gstreamer-unused.txt to the right sections
21202           fixed more broken comments
21203           added GstBus to docs
21204
21205 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
21206
21207         * docs/gst/gstreamer-sections.txt:
21208         * docs/gst/tmpl/.cvsignore:
21209         * docs/gst/tmpl/gstbin.sgml:
21210         * docs/gst/tmpl/gstbuffer.sgml:
21211         * gst/base/gstbasesrc.c:
21212         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
21213         * gst/gstbuffer.c:
21214         * gst/gstbuffer.h:
21215         * tools/gst-launch.1.in:
21216           inlined more doc comments, added missing comments and fixed comments
21217           fixed typos
21218
21219 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21220
21221         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
21222           some debugging
21223         * gst/gstcaps.h:
21224           whitespace fixes
21225         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
21226           more debugging
21227         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
21228         * gst/gststructure.h:
21229           add a fixate function for booleans; add a FIXME that these func
21230           names should probably be gst_structure_fixate_*
21231
21232 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
21233
21234         * docs/gst/gstreamer-docs.sgml:
21235         * docs/gst/gstreamer-sections.txt:
21236         * gst/Makefile.am:
21237         * gst/gstbin.c: (gst_bin_get_type),
21238         (gst_bin_child_proxy_get_child_by_index),
21239         (gst_bin_child_proxy_get_children_count),
21240         (gst_bin_child_proxy_init):
21241         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21242         (gst_child_proxy_get_child_by_index),
21243         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
21244         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
21245         (gst_child_proxy_get), (gst_child_proxy_set_property),
21246         (gst_child_proxy_set_valist), (gst_child_proxy_set),
21247         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
21248         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
21249         * gst/gstchildproxy.h:
21250         * gst/parse/grammar.y:
21251         * tools/gst-inspect.c: (print_interfaces),
21252         (print_element_properties_info), (print_element_info):
21253           ported gstchildproxy over from 0.8
21254           ported gst-inspect fixes and enhancements over from 0.8
21255
21256 2005-08-22  Wim Taymans  <wim@fluendo.com>
21257
21258         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
21259         (gst_base_transform_handle_buffer):
21260         Also call the transform function if we have ANY caps.
21261
21262         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
21263         Fix debug info.
21264
21265 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
21266
21267         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
21268           Don't pretend to handle seek events if the source is not seekable
21269
21270 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
21271
21272         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21273           Remove extra parameter to debug output
21274
21275         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21276         (gst_base_src_do_seek), (gst_base_src_activate_push):
21277           Fix seek event handling.
21278
21279         * gst/gstpipeline.c: (gst_pipeline_change_state):
21280         * gst/gstqueue.c: (gst_queue_handle_sink_event),
21281         (gst_queue_src_activate_push):
21282           Don't start the src pad task on FLUSH_STOP if the pad
21283           isn't linked.
21284           Debug changes.
21285
21286 2005-08-22  Wim Taymans  <wim@fluendo.com>
21287
21288         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
21289         Added check for gst_static_caps_get() refcounting.
21290
21291 2005-08-22  Wim Taymans  <wim@fluendo.com>
21292
21293         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
21294         Make _static_caps_get() refcounting sane.
21295         
21296         * gst/gstelement.c: (gst_element_set_state):
21297         Add g_return_val_if_fail() to protect against segfaults.
21298
21299 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
21300
21301         * docs/gst/tmpl/gstevent.sgml:
21302         * gst/gstevent.c:
21303         * gst/gstevent.h:
21304           inlined remaining docs, added missing doc comments
21305
21306 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21307
21308         * check/gst/gstbin.c: (GST_START_TEST):
21309           since we don't know when preroll is done, use refcount range
21310           check for the sink
21311         * gst/check/gstcheck.h:
21312           add macro for checking refcount range
21313
21314 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21315
21316         * check/Makefile.am:
21317           clean up environment for when registry gets built versus
21318           when actual tests are run; valgrind seems to not report
21319           leaks if GST_PLUGIN_PATH is set to some specific values
21320         * check/gst/gstbin.c: (GST_START_TEST):
21321           add more refcounting checks; maybe this exposes a
21322           preroll lock bug ?
21323         * common/check.mak:
21324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21325         * gst/check/gstcheck.h:
21326         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
21327         (gst_bin_change_state):
21328         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
21329           add/fix debugging/whitespace
21330
21331 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
21332
21333         * check/gst/gstevent.c: (event_probe), (test_event),
21334         (GST_START_TEST):
21335          Er, don't call gst_bin_watch_for_state_change you idiot.
21336
21337 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
21338
21339         * check/Makefile.am:
21340           Use CHECK_CFLAGS and CHECK_LIBS
21341         * check/gst/gstevent.c: (event_probe), (test_event),
21342         (GST_START_TEST):
21343           Don't leak events.
21344         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
21345         (gst_base_src_start), (gst_base_src_stop),
21346         (gst_base_src_activate_push), (gst_base_src_activate_pull),
21347         (gst_base_src_change_state):
21348           Sprinkle gst_base_src_stop liberally around error paths to fix
21349           problems reusing a source after failed state changes.
21350         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21351         (helper_find_suggest), (gst_type_find_helper):
21352           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
21353         * gst/gstevent.h:
21354         * docs/gst/tmpl/gstevent.sgml:
21355           Migrate part of the docs from the SGML file. Wait for ensonic to
21356           tell me how I did it wrong ;)
21357         * tools/gst-typefind.c: (main):
21358           Extra robustness to state changes between files.
21359
21360 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
21361
21362         * check/Makefile.am:
21363           don't valgrind the controller test - it's leaking - Stefan, HELP
21364         * gst/check/gstcheck.c: (gst_check_message_error),
21365         (gst_check_chain_func), (gst_check_setup_element),
21366         (gst_check_teardown_element), (gst_check_setup_src_pad),
21367         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
21368         (gst_check_teardown_sink_pad):
21369         * gst/check/gstcheck.h:
21370           add a bunch of methods to set up elements, and src and sink pads
21371         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
21372         * check/elements/identity.c: (setup_identity), (cleanup_identity),
21373         (GST_START_TEST):
21374           use them
21375         * gst/gstmessage.c:
21376         * gst/gsttag.h:
21377           whitespace/doc fixes
21378
21379 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21380
21381         * gst/gstelement.h:
21382           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
21383           be handled by the application and not always printed as well
21384
21385 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21386
21387         * check/Makefile.am:
21388           set GST_TOOLS_DIR
21389         * gst/check/gstcheck.c: (gst_check_message_error):
21390         * gst/check/gstcheck.h:
21391           add a fail_unless_equals_int
21392           add fail_unless for error messages
21393
21394 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21395
21396         * check/Makefile.am:
21397         * check/gst.supp:
21398         * common/Makefile.am:
21399         * common/check.mak:
21400         * common/gst.supp:
21401           factor out some of the common stuff so we can use it
21402
21403 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21404
21405         * check/Makefile.am:
21406         * check/gst/gstiterator.c: (GST_START_TEST):
21407         * check/gst/gstsystemclock.c: (GST_START_TEST),
21408         (gst_systemclock_suite):
21409         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
21410         * gst/gstclock.c:
21411           valgrind more tests
21412
21413 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21414
21415         * check/elements/.cvsignore:
21416         * check/elements/gstfakesrc.c:
21417           rename to name of element
21418         * check/elements/identity.c: (chain_func), (event_func),
21419         (setup_identity), (cleanup_identity), (GST_START_TEST),
21420         (identity_suite), (main):
21421           add a test for identity
21422         * check/Makefile.am:
21423         * pkgconfig/Makefile.am:
21424         * pkgconfig/gstreamer-check.pc.in:
21425         * pkgconfig/gstreamer-check-uninstalled.pc.in:
21426         * gst/check:
21427         * gst/Makefile.am:
21428         * configure.ac:
21429           move the check stuff to a library that gets installed
21430         * check/gst-libs/controller.c: (GST_START_TEST):
21431         * check/gst-libs/gdp.c:
21432         * check/gst/gst.c: (GST_START_TEST):
21433         * check/gst/gstbin.c:
21434         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21435         * check/gst/gstbus.c:
21436         * check/gst/gstcaps.c: (GST_START_TEST):
21437         * check/gst/gstelement.c:
21438         * check/gst/gstghostpad.c:
21439         * check/gst/gstiterator.c:
21440         * check/gst/gstmessage.c:
21441         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
21442         * check/gst/gstobject.c:
21443         * check/gst/gstpad.c: (GST_START_TEST):
21444         * check/gst/gststructure.c: (GST_START_TEST):
21445         * check/gst/gstsystemclock.c: (GST_START_TEST),
21446         (gst_systemclock_suite):
21447         * check/gst/gsttag.c: (gst_tag_suite):
21448         * check/gst/gstvalue.c:
21449         * check/pipelines/cleanup.c:
21450         * check/pipelines/simple_launch_lines.c:
21451         * check/states/sinks.c:
21452           change include statement
21453
21454         * docs/gst/gstreamer-sections.txt:
21455         * docs/gst/tmpl/gstpad.sgml:
21456           document more pad stuff
21457         * gst/gstminiobject.c: (gst_mini_object_ref),
21458         (gst_mini_object_unref):
21459           debug refcounting
21460
21461 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
21462
21463         * docs/gst/tmpl/gst.sgml:
21464         * gst/gst.c:
21465           eliminate another tmpl file, fix spelling in the long-description
21466
21467 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21468
21469         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21470         (test_event), (timediff), (gstevents_suite):
21471           Should fix build on 64-bit arch's
21472
21473 2005-08-18  Andy Wingo  <wingo@pobox.com>
21474
21475         Make sure that when a pipeline goes to PLAYING, that data has
21476         actually hit the sink.
21477
21478         * check/states/sinks.c (test_sink): A sink that doesn't get any
21479         data shouldn't return SUCCESS for going to either PLAYING or
21480         PAUSED. Test also the return values on the way back down.
21481
21482         * gst/gstelement.c (gst_element_set_state): When changing the
21483         state of an element currently changing state asynchronously, go to
21484         lost-state after commiting the pending state. Makes future calls
21485         to get_state continue to return ASYNC.
21486
21487         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
21488         ASYNC when going to PLAYING if we still don't have preroll, as can
21489         happen with live sources.
21490
21491 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21492
21493         * docs/pwg/advanced-types.xml:
21494           Hack long paragraph into 2 chunks as a workaround for buggy
21495           jadetex version in sid and breezy that loops infinitely and
21496           eats all RAM.
21497
21498 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21499
21500         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21501         (test_event), (timediff), (gstevents_suite):
21502           Provide more error margin in clock measurements to allow for 
21503           g_get_current_time inaccuracies.
21504
21505 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21506
21507         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21508         (test_event), (timediff), (gstevents_suite):
21509            Fix error message output so I might be able to tell why the
21510            test works here but fails on the build farm.
21511
21512 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
21513
21514         * check/Makefile.am:
21515         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
21516         (test_event), (timediff), (gstevents_suite), (main):
21517           I wrote a test!
21518
21519         * docs/design/part-seeking.txt:
21520           Spelling correction
21521
21522         * docs/gst/tmpl/gstevent.sgml:
21523         * docs/gst/tmpl/gstfakesrc.sgml:
21524           Docs updates.
21525
21526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21527           Treat a buffer-without-newsegment the same as a receiving 
21528           a newsegment not in time format, and disable syncing to the clock
21529           with a warning.
21530
21531         * gst/gstbus.c: (gst_bus_set_sync_handler):
21532           Assert if anyone tries to replace the existing sync_handler for bus, 
21533           as only the owner should be setting it.
21534
21535         * gst/gstevent.h:
21536           Have a fixed set of custom event enums with events identified by
21537           their structure name (as in 0.8), rather than a free-for-all
21538           allowing collisions between enum values from different plugins.
21539
21540         * gst/gstpad.c: (gst_pad_class_init):
21541           Docs change.
21542           
21543         * gst/gstqueue.c: (gst_queue_handle_sink_event):
21544           Handle out-of-band downstream events from the sending thread.
21545
21546 2005-08-17  Andy Wingo  <wingo@pobox.com>
21547
21548         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
21549         play-timeout==0 to mean no timeout at all. In that case, don't
21550         bother with a get_state or a warning, just return directly, even
21551         if it's ASYNC.
21552
21553         * gst/base/gstbasetransform.c: Debug changes.
21554
21555         * gst/gstutils.h:
21556         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
21557         ensure bins post state change messages. A bit of a hack but I can't
21558         think of a way to avoid it.
21559
21560         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
21561
21562 2005-08-16  Andy Wingo  <wingo@pobox.com>
21563
21564         * gst/base/gstadapter.h:
21565         * gst/base/gstadapter.c (gst_adapter_take): New function, like
21566         peek() but you own the data. Not terribly efficient atm.
21567
21568 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21569
21570         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
21571         (gst_element_found_tags):
21572         * gst/gstutils.h:
21573           Add two utility functions for tag handling.
21574
21575 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21576
21577         * docs/manual/advanced-dataaccess.xml:
21578         * docs/manual/basics-helloworld.xml:
21579           Fix docs to use _bin_add() before _link(), which fixes the examples
21580           with recent core versions (reported by Madhan Raj M
21581           <raj_madan@rediffmail.com>, #313199).
21582
21583 2005-08-16  Wim Taymans  <wim@fluendo.com>
21584
21585         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21586         Added subtract checks.
21587
21588         * docs/design/part-events.txt:
21589         Some more docs about newsegment
21590
21591         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
21592         Fix FIXME
21593
21594         * gst/gstcaps.c: (gst_caps_to_string):
21595         Add comments, cleanups.
21596         
21597         * gst/gstelement.c: (gst_element_save_thyself):
21598         cleanups
21599         
21600         * gst/gstvalue.c: (gst_value_collect_int_range),
21601         (gst_string_unwrap), (gst_value_union_int_int_range),
21602         (gst_value_union_int_range_int_range),
21603         (gst_value_intersect_int_int_range),
21604         (gst_value_intersect_int_range_int_range),
21605         (gst_value_intersect_double_double_range),
21606         (gst_value_intersect_double_range_double_range),
21607         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
21608         (gst_value_subtract_int_range_int),
21609         (gst_value_subtract_double_range_double),
21610         (gst_value_subtract_double_range_double_range),
21611         (gst_value_subtract_from_list), (gst_value_subtract_list),
21612         (gst_value_can_compare), (gst_value_compare_fraction):
21613         Cleanups, add comments, remove unneeded asserts.
21614
21615 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21616
21617         * tools/gst-launch.c: (event_loop):
21618           don't convert NULL structures to strings
21619
21620 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
21621
21622         * docs/gst/gstreamer-sections.txt:
21623           made some defines private
21624         * docs/gst/tmpl/gstconfig.sgml:
21625         * docs/gst/tmpl/gstqueue.sgml:
21626         * docs/gst/tmpl/gsttaglist.sgml:
21627         * docs/gst/tmpl/gsttypes.sgml:
21628         * docs/gst/tmpl/gstutils.sgml:
21629         * docs/pwg/appendix-porting.xml:
21630         * gst/base/gstbasesink.h:
21631         * gst/base/gstbasesrc.c:
21632         * gst/base/gstbasesrc.h:
21633         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
21634         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
21635         * gst/gstelement.c: (gst_element_class_init):
21636         * gst/gstpad.c: (gst_pad_class_init):
21637         * gst/gstqueue.c: (gst_queue_class_init):
21638         * gst/gstxml.c: (gst_xml_class_init):
21639           documented all undocumented signal inline
21640         * libs/gst/controller/gst-controller.h:
21641           added padding
21642
21643 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21644
21645         * docs/pwg/appendix-porting.xml:
21646           Document _set_link_function -> _set_setcaps_function.
21647
21648 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21649
21650         * check/Makefile.am:
21651           add a .check target for running the check
21652         * check/gst-libs/controller.c: (GST_START_TEST):
21653           cosmetic fixups
21654         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
21655           complete checks for gstbuffer; would be nice if I could get the
21656           gcov stuff to work so I can see if I actually completed gstbuffer.c
21657         * check/gstcheck.h:
21658           add ASSERT_BUFFER_REFCOUNT
21659
21660 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
21661
21662         * docs/gst/gstreamer-sections.txt:
21663         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
21664         * gst/gsttag.h:
21665           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
21666           spew out a warning if a tag that is already registered
21667           is re-registered, unless it is re-registered with a 
21668           different type (#308438).
21669
21670 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
21671
21672         * docs/pwg/appendix-porting.xml:
21673         * docs/pwg/building-state.xml:
21674           Add some paragraphs about state changes in 0.9 to the PWG
21675           and the porting guide, in particular about the new meaning
21676           of GST_STATE_PAUSED and how to write state change functions
21677           with concurrent access by multiple threads in mind.
21678
21679 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
21680
21681         * docs/gst/gstreamer-docs.sgml:
21682         * docs/libs/gstreamer-libs-docs.sgml:
21683           added deprecation and since indexes
21684         * libs/gst/controller/gst-controller.c:
21685         * libs/gst/controller/gst-helper.c:
21686           added since tags
21687
21688
21689 2005-08-11  Wim Taymans  <wim@fluendo.com>
21690
21691         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
21692         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
21693         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
21694         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
21695         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
21696         (gst_ghost_pad_set_target):
21697         Actually implement (re)setting the target on a ghostpad
21698         as described in the docs.
21699
21700 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21701
21702         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
21703           Check whether GST_DEBUG_NO_COLOR environment variable is
21704           set and disable coloured debug output if that is the case.
21705
21706 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
21707
21708         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21709         (gst_type_find_helper):
21710           The memory returned by gst_type_find_peek() needs to
21711           stay valid until the end of a typefind function, and
21712           typefind functions may keep results from different 
21713           offsets around, so we can't just unref the buffer from
21714           the previous _peek(), but have to save all buffers 
21715           returned by _peek() until typefinding is done and only
21716           free them then.
21717
21718 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
21719
21720         * docs/gst/gstreamer-sections.txt:
21721         * gst/gstutils.h:
21722           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
21723
21724 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21725
21726         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
21727           Fix a pretty good memleak.
21728
21729 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21730
21731         * gst/gstiterator.h:
21732           Fix wrong include and 'make distcheck'.
21733
21734 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21735
21736         * gst/gstbin.c: (bin_bus_handler):
21737           Use gst_element_post_message() instead.
21738
21739 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
21740
21741         * gst/base/gstadapter.h:
21742         * gst/base/gstbasesink.h:
21743         * gst/base/gstbasesrc.h:
21744         * gst/base/gstbasetransform.h:
21745         * gst/base/gstcollectpads.h:
21746         * gst/base/gstpushsrc.h:
21747         * gst/gstiterator.h:
21748           Add padding to our base elements' class and instance structs and
21749           to GstIterator (you will need to rebuild all plugins and apps!)
21750
21751 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21752
21753         * gst/gstbin.c: (bin_bus_handler):
21754           Make default message forwarding from child->bus to bin->bus
21755           threadsafe and make it not emit warnings if the parent has no bus.
21756
21757 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21758
21759         * gst/gstelement.c: (activate_pads):
21760           On paused->ready, set pad->caps to NULL, as is the documented
21761           behaviour in this state change. Fixes playback of series of
21762           media files when visualization is enabled in Totem.
21763
21764 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21765
21766         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
21767           Allow NULL as filter-caps (which means "any").
21768
21769 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21770
21771         * docs/libs/gstreamer-libs-sections.txt:
21772         * libs/gst/controller/gst-controller.c:
21773         * libs/gst/controller/gst-controller.h:
21774         * libs/gst/controller/gst-helper.c:
21775           adding more entries to the docs and fix small doc-bugs
21776
21777 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21778
21779         * docs/gst/gstreamer-docs.sgml:
21780         * docs/gst/gstreamer-sections.txt:
21781         * docs/gst/gstreamer.types:
21782         * docs/gst/tmpl/gstbasesink.sgml:
21783         * docs/gst/tmpl/gstbasesrc.sgml:
21784         * docs/gst/tmpl/gstbasetransform.sgml:
21785         * docs/gst/tmpl/gstfakesrc.sgml:
21786         * gst/base/gstcollectpads.c:
21787         * gst/base/gstcollectpads.h:
21788         * libs/gst/controller/gst-controller.c:
21789         * libs/gst/controller/gst-controller.h:
21790         * libs/gst/controller/gst-helper.c:
21791         * libs/gst/controller/gst-interpolation.c:
21792         * libs/gst/controller/lib.c:
21793           added long/short desc for controller docs
21794           added collectpads base class docs
21795           added correct includes to base-class docs
21796
21797 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
21798
21799         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
21800         (gst_test_mono_source_set_property),
21801         (gst_test_mono_source_class_init), (GST_START_TEST),
21802         (gst_controller_suite):
21803         * docs/gst/gstreamer-docs.sgml:
21804         * docs/gst/gstreamer-sections.txt:
21805         * docs/gst/gstreamer.types:
21806         * docs/libs/gstreamer-libs-docs.sgml:
21807         * docs/libs/gstreamer-libs-sections.txt:
21808         * gst/base/gstadapter.c:
21809         * libs/gst/controller/gst-controller.c:
21810         (gst_controlled_property_new), (gst_controlled_property_free),
21811         (gst_controller_new_valist),
21812         (gst_controller_remove_properties_valist),
21813         (gst_controller_sink_values), (_gst_controller_finalize):
21814         * libs/gst/controller/gst-controller.h:
21815         * libs/gst/controller/gst-helper.c:
21816         (gst_object_control_properties), (gst_object_uncontrol_properties),
21817         (gst_object_get_controller), (gst_object_set_controller),
21818         (gst_object_sink_values), (gst_object_get_value_arrays),
21819         (gst_object_get_value_array):
21820           more tests (and fixes) for the controller
21821           more docs for the controller
21822           integrated companies docs for the adapter 
21823
21824 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
21825
21826         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
21827         (GST_START_TEST), (fakesrc_suite):
21828           add tests for sizetype
21829
21830 2005-08-04  Andy Wingo  <wingo@pobox.com>
21831
21832         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
21833         fixes buffer_alloc proxying among other things.
21834
21835         * gst/base/gstbasetransform.c:
21836         * gst/base/gstbasetransform.h:
21837         Revert patch to gstbasetransform from 7-28 removing
21838         delay_configure.
21839
21840         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
21841         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
21842         Semantics changed, should return not the size of the output buffer
21843         but the byte size of a buffer with a given caps.
21844
21845         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
21846         debug object.
21847         (gst_base_transform_configure_caps): Don't set out_size here: (in,
21848         out) are not the pad caps until setcaps finishes.
21849         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
21850         not-in-place case as well. Deal with changing from in-place to
21851         not-in-place within calling pad_alloc_buffer. Still a bit
21852         concerned about the overhead here...
21853
21854 2005-08-03  Andy Wingo  <wingo@pobox.com>
21855
21856         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
21857         fixating is an error.
21858
21859 2005-08-04  Edward Hervey  <edward@fluendo.com>
21860
21861         * gst/base/gstadapter.h: 
21862         Added gst_adapter_get_type() to the header
21863
21864 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21865
21866         * check/Makefile.am:
21867         * check/gst-libs/controller.c:
21868         * libs/gst/controller/gst-controller.c:
21869         (gst_controller_new_valist):
21870           added check test suite for the controller
21871         * gst/base/gstpushsrc.c:
21872           fixed a doc typo
21873
21874 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21875
21876         * docs/gst/Makefile.am:
21877         * docs/gst/gstreamer-docs.sgml:
21878         * docs/gst/gstreamer-sections.txt:
21879         * docs/gst/gstreamer.types:
21880         * docs/gst/tmpl/gstfakesrc.sgml:
21881         * gst/base/README:
21882         * gst/base/gstbasesink.c:
21883         * gst/base/gstbasesink.h:
21884         * gst/base/gstbasesrc.c:
21885         * gst/base/gstbasesrc.h:
21886         * gst/base/gstbasetransform.c:
21887         * gst/base/gstpushsrc.c:
21888         * gst/base/gstpushsrc.h:
21889           add short/long description docs to base classes
21890           add pushsrc to the docs
21891           remove consolidated doc fragments
21892
21893 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
21894
21895         * configure.ac:
21896         * docs/libs/Makefile.am:
21897         * docs/libs/gstreamer-libs-docs.sgml:
21898         * docs/libs/gstreamer-libs-sections.txt:
21899         * docs/libs/gstreamer-libs.types:
21900         * examples/Makefile.am:
21901         * examples/controller/.cvsignore:
21902         * examples/controller/Makefile.am:
21903         * examples/controller/audio-example.c: (main):
21904         * libs/gst/Makefile.am:
21905         * libs/gst/controller/.cvsignore:
21906         * libs/gst/controller/Makefile.am:
21907         * libs/gst/controller/gst-controller.c:
21908         (on_object_controlled_property_changed), (gst_timed_value_compare),
21909         (gst_timed_value_find),
21910         (gst_controlled_property_set_interpolation_mode),
21911         (gst_controlled_property_new), (gst_controlled_property_free),
21912         (gst_controller_find_controlled_property),
21913         (gst_controller_new_valist), (gst_controller_new),
21914         (gst_controller_remove_properties_valist),
21915         (gst_controller_remove_properties), (gst_controller_set),
21916         (gst_controller_set_from_list), (gst_controller_unset),
21917         (gst_controller_get), (gst_controller_get_all),
21918         (gst_controller_sink_values), (gst_controller_get_value_arrays),
21919         (gst_controller_get_value_array),
21920         (gst_controller_set_interpolation_mode),
21921         (_gst_controller_finalize), (_gst_controller_init),
21922         (_gst_controller_class_init), (gst_controller_get_type):
21923         * libs/gst/controller/gst-controller.h:
21924         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
21925         (g_object_uncontrol_properties), (g_object_get_controller),
21926         (g_object_set_controller), (g_object_sink_values),
21927         (g_object_get_value_arrays), (g_object_get_value_array):
21928         * libs/gst/controller/gst-interpolation.c:
21929         (gst_controlled_property_find_timed_value_node),
21930         (interpolate_none_get), (interpolate_trigger_get),
21931         (interpolate_trigger_get_value_array):
21932         * libs/gst/controller/lib.c: (gst_controller_init):
21933         * pkgconfig/Makefile.am:
21934         * pkgconfig/gstreamer-control-uninstalled.pc.in:
21935         * pkgconfig/gstreamer-control.pc.in:
21936         * testsuite/Makefile.am:
21937         * testsuite/controller/.cvsignore:
21938         * testsuite/controller/Makefile.am:
21939         * testsuite/controller/interpolator.c: (main):
21940           added controller code
21941           removed dparam pc files
21942
21943 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21944         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
21945         (gst_collectpads_stop):
21946           Broadcast the condition when shutting down, to make sure we wake all
21947           threads up. Shut down pads on finalize, for safety.
21948
21949 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
21950         * gst/base/gstbasetransform.c: (gst_base_transform_init),
21951         (gst_base_transform_handle_buffer),
21952         (gst_base_transform_change_state):
21953           Handle PAUSED->READY->PAUSED transition after negotiation
21954           occurred already.
21955         * gst/gstmessage.c: (gst_message_init):
21956           Extra piece of debug for new messages.
21957
21958 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
21959
21960         * configure.ac:
21961         * docs/gst/tmpl/gstbasesrc.sgml:
21962         * docs/gst/tmpl/gstelement.sgml:
21963         * docs/gst/tmpl/gstevent.sgml:
21964         * docs/gst/tmpl/gstfakesrc.sgml:
21965         * docs/gst/tmpl/gstformat.sgml:
21966         * docs/gst/tmpl/gstghostpad.sgml:
21967         * docs/gst/tmpl/gstpad.sgml:
21968         * docs/gst/tmpl/gstquery.sgml:
21969         * docs/gst/tmpl/gststructure.sgml:
21970         * docs/gst/tmpl/gsttaglist.sgml:
21971         * docs/gst/tmpl/gstvalue.sgml:
21972         * docs/libs/gstreamer-libs-docs.sgml:
21973         * docs/libs/gstreamer-libs-sections.txt:
21974         * docs/libs/gstreamer-libs.types:
21975         * libs/gst/Makefile.am:
21976         * libs/gst/control/.cvsignore:
21977         * libs/gst/control/Makefile.am:
21978         * libs/gst/control/control.c:
21979         * libs/gst/control/control.h:
21980         * libs/gst/control/dparam.c:
21981         * libs/gst/control/dparam.h:
21982         * libs/gst/control/dparam_smooth.c:
21983         * libs/gst/control/dparam_smooth.h:
21984         * libs/gst/control/dparamcommon.h:
21985         * libs/gst/control/dparammanager.c:
21986         * libs/gst/control/dparammanager.h:
21987         * libs/gst/control/dplinearinterp.c:
21988         * libs/gst/control/dplinearinterp.h:
21989         * libs/gst/control/unitconvert.c:
21990         * libs/gst/control/unitconvert.h:
21991         * testsuite/Makefile.am:
21992         * testsuite/dynparams/.cvsignore:
21993         * testsuite/dynparams/Makefile.am:
21994         * testsuite/dynparams/dparamstest.c:
21995         * tools/Makefile.am:
21996         * tools/gst-inspect.c: (print_element_info), (main):
21997         * tools/gst-xmlinspect.c: (print_element_info), (main):
21998           deactivate and remove dparams (libgstcontrol)
21999
22000 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22001
22002         * gst/elements/gsttypefindelement.c:
22003         (gst_type_find_element_have_type), (gst_type_find_element_init),
22004         (stop_typefinding), (gst_type_find_element_handle_event),
22005         (gst_type_find_element_chain), (gst_type_find_element_getrange):
22006         * gst/elements/gsttypefindelement.h:
22007           Set caps on all outgoing buffers, not just the first one.
22008
22009 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22010
22011         * gst/elements/gsttypefindelement.c:
22012         (gst_type_find_element_have_type),
22013         (gst_type_find_element_check_set_buffer_caps),
22014         (gst_type_find_element_init), (stop_typefinding),
22015         (gst_type_find_element_handle_event),
22016         (gst_type_find_element_chain), (gst_type_find_element_getrange):
22017         * gst/elements/gsttypefindelement.h:
22018           Set caps on first outgoing buffer when we've found the type.
22019
22020 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
22021
22022         * docs/gst/gstreamer-docs.sgml:
22023         * docs/gst/gstreamer-sections.txt:
22024         * docs/gst/tmpl/gstscheduler.sgml:
22025         * docs/gst/tmpl/gstschedulerfactory.sgml:
22026           Remove some old cruft from docs.
22027
22028 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
22029
22030         * gst/gstpad.h:
22031           Fix inline docs for GstPadLinkReturn.
22032           
22033         * gst/gststructure.c: (gst_structure_has_name):
22034         * gst/gststructure.h:
22035         * docs/gst/gstreamer-sections.txt:
22036           New API: gst_structure_has_name().
22037
22038 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
22039
22040         * configure.ac:
22041           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
22042           and _LARGEFILE_SOURCE in config.h as required. Do not 
22043           export those flags in our .pc files any longer (#142209).
22044
22045           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
22046
22047         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
22048         (gst_file_sink_do_seek), (gst_file_sink_event),
22049         (gst_file_sink_get_current_offset), (gst_file_sink_render):
22050           Redo seek/tell calls with large file support in mind; add some
22051           debugging messages; add log message that tells us when large
22052           file support is unavailable or not enabled for some reason.
22053
22054         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
22055           Add log message that tells us when large file support 
22056           is unavailable or not enabled for some reason.
22057
22058 2005-07-29  Wim Taymans  <wim@fluendo.com>
22059
22060         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
22061         Added test for removing an element with ghostpad from a bin.
22062         Fixed test as current implementation does the right thing.
22063
22064         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
22065         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
22066         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
22067         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
22068         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
22069         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
22070         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
22071         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
22072         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
22073         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
22074         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
22075         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
22076         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
22077         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
22078         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
22079         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
22080         * gst/gstghostpad.h:
22081         Clean up ghostpads, remove properties for internal stuff.
22082         Make threadsafe.
22083         Fix refcounting.
22084         Prepare for switching targets, not all use cases work yet.
22085
22086 2005-07-29  Wim Taymans  <wim@fluendo.com>
22087
22088         * docs/design/part-gstghostpad.txt:
22089         Small update.
22090
22091         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
22092         (gst_bin_remove_func):
22093         Unlinking pads while holding the bin LOCK is not a good
22094         idea.
22095
22096         * gst/gstpad.c: (gst_pad_class_init),
22097         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
22098         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
22099         No prob setting template after creating the pad.
22100
22101 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
22102
22103         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
22104         (gst_bus_peek), (gst_bus_source_dispatch),
22105         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
22106         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
22107           gst_bus_poll may be called from other threads. Handle
22108           this nicely by not making poll_data disappear off the
22109           stack once gst_bus_poll returns.
22110           gst_bus_peek now increments the refcount on the returned
22111           message.
22112
22113 2005-07-29  Wim Taymans  <wim@fluendo.com>
22114
22115         * docs/design/part-gstghostpad.txt:
22116         Overview of current GhostPad datastructures and use
22117         cases for changing the target.
22118
22119 2005-07-28  Wim Taymans  <wim@fluendo.com>
22120
22121         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22122         Added checks for hierarchy consistency whan adding linked
22123         elements to bins.
22124
22125         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22126         Added check to test element scheduling without bin/pipeline.
22127
22128         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22129         First add elements to bin, then link.
22130         
22131         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
22132         (gst_bin_remove_func):
22133         Unlink pads from elements added/removed from bin to maintain
22134         hierarchy consistency.
22135
22136 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22137
22138         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22139         (gst_base_transform_handle_buffer):
22140         * gst/base/gstbasetransform.h:
22141           Remove broken delay_configure (fixes renegotiation of software
22142           scaling pipelines); remove some leftover printf()s.
22143
22144 2005-07-28  Wim Taymans  <wim@fluendo.com>
22145
22146         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
22147         Added some more tests for wrong hierarchy
22148
22149         * docs/design/part-overview.txt:
22150         Some updates.
22151
22152         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
22153         Cleanups.
22154
22155         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
22156         (gst_element_dispose):
22157         Some more cleanups.
22158
22159         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
22160         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
22161         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22162         (gst_pad_set_caps), (gst_pad_send_event):
22163         Check for correct hierarchy when linking pads. Moving to
22164         strict requirement for ghostpads when linking elements in
22165         different bins.
22166
22167         * gst/gstpad.h:
22168         Clean ups. Added WRONG_HIERARCHY return value.
22169
22170 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22171
22172         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22173           Better debug if no transform is possible.
22174
22175 2005-07-27  Wim Taymans  <wim@fluendo.com>
22176
22177         * docs/random/wtay/network-transp:
22178         Some old doc I had.
22179
22180 2005-07-27  Wim Taymans  <wim@fluendo.com>
22181
22182         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22183         (gst_dp_event_from_packet):
22184         Fix serialization of seek events.
22185
22186 2005-07-27  Wim Taymans  <wim@fluendo.com>
22187
22188         * check/gst-libs/gdp.c: (GST_START_TEST):
22189         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22190         Fix compilation and fix event serialization.
22191
22192 2005-07-27  Wim Taymans  <wim@fluendo.com>
22193
22194         * CHANGES-0.9:
22195         * docs/design/part-TODO.txt:
22196         * docs/design/part-events.txt:
22197         Some docs updates
22198
22199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22200         (gst_base_sink_event), (gst_base_sink_do_sync),
22201         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
22202         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22203         (gst_base_src_do_seek), (gst_base_src_event_handler),
22204         (gst_base_src_loop):
22205         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22206         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22207         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22208         (gst_base_transform_event), (gst_base_transform_handle_buffer),
22209         (gst_base_transform_set_passthrough),
22210         (gst_base_transform_is_passthrough):
22211         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22212         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22213         Event updates.
22214
22215         * gst/gstbuffer.h:
22216         Use faster casts.
22217
22218         * gst/gstelement.c: (gst_element_seek):
22219         * gst/gstelement.h:
22220         Update gst_element_seek.
22221
22222         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
22223         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
22224         (gst_event_new_flush_start), (gst_event_new_flush_stop),
22225         (gst_event_new_eos), (gst_event_new_newsegment),
22226         (gst_event_parse_newsegment), (gst_event_new_tag),
22227         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
22228         (gst_event_parse_qos), (gst_event_new_seek),
22229         (gst_event_parse_seek), (gst_event_new_navigation):
22230         * gst/gstevent.h:
22231         Make GstEvent use GstStructure. Add parsing code, make sure the
22232         API is sufficiently generic.
22233         Mark possible directions of events and serialization.
22234
22235         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
22236         (_gst_message_copy), (gst_message_new_segment_start),
22237         (gst_message_new_segment_done), (gst_message_new_custom),
22238         (gst_message_parse_segment_start),
22239         (gst_message_parse_segment_done):
22240         Small cleanups.
22241
22242         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22243         (gst_pad_set_caps), (gst_pad_send_event):
22244         Update for new events. 
22245         Catch events sent in wrong directions.
22246
22247         * gst/gstqueue.c: (gst_queue_link_src),
22248         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
22249         (gst_queue_handle_src_query):
22250         Event updates.
22251
22252         * gst/gsttag.c:
22253         * gst/gsttag.h:
22254         Remove event code from this file.
22255
22256         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22257         (gst_dp_event_from_packet):
22258         Event updates.
22259
22260 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22261
22262         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
22263         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22264         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
22265           Make debugging actually useful.
22266
22267 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22268
22269         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
22270         (gst_pad_fixate_caps):
22271           Implement default fixation once again, so that gst_pad_fixate()
22272           actually does anything at all. This probably needs to be some
22273           sort of a last resort, and use profile-based fixation first, but
22274           since that doesn't exist yet, this is the best we have. Fixes
22275           visualization in Totem.
22276
22277 2005-07-22  Wim Taymans  <wim@fluendo.com>
22278
22279         * docs/design/part-events.txt:
22280         Small update.
22281
22282         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22283         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
22284         (gst_base_sink_activate_pull):
22285         Some more comments.
22286
22287         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
22288         (gst_fake_src_create):
22289         Fix handoff marshall.
22290
22291         * gst/elements/gstidentity.c: (gst_identity_class_init),
22292         (gst_identity_transform_ip):
22293         We're a real inplace element.
22294
22295         * gst/gstbus.c: (gst_bus_post):
22296         Added some comments.
22297
22298         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
22299         * tests/muxing/case1.c: (main):
22300         * tests/sched/dynamic-pipeline.c: (main):
22301         * tests/sched/interrupt1.c: (main):
22302         * tests/sched/interrupt2.c: (main):
22303         * tests/sched/interrupt3.c: (main):
22304         * tests/sched/runxml.c: (main):
22305         * tests/sched/sched-stress.c: (main):
22306         * tests/seeking/seeking1.c: (event_received), (main):
22307         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22308         (main):
22309         * tests/threadstate/threadstate3.c: (main):
22310         * tests/threadstate/threadstate4.c: (main):
22311         * tests/threadstate/threadstate5.c: (main):
22312         Fix the tests.
22313
22314 2005-07-21  Wim Taymans  <wim@fluendo.com>
22315
22316         * docs/design/part-seeking.txt:
22317         Some small additions.
22318
22319         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22320         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22321         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
22322         * gst/base/gstbasesink.h:
22323         discont values are gint64, handle the math correctly.
22324
22325         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22326         Make the basesrc report error if the source pad is not linked.
22327
22328         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22329         (gst_queue_loop), (gst_queue_handle_src_query),
22330         (gst_queue_src_activate_push):
22331         Make queue collect data even if the srcpad is not linked.
22332         Start pushing out data as soon as it is linked.
22333
22334         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
22335         * gst/gstutils.h:
22336         Added gst_flow_get_name() to ease error reporting.
22337
22338 2005-07-20  Wim Taymans  <wim@fluendo.com>
22339
22340         * gst/gstmessage.c: (gst_message_new_segment_start),
22341         (gst_message_new_segment_done), (gst_message_parse_segment_start),
22342         (gst_message_parse_segment_done):
22343         * gst/gstmessage.h:
22344         Added a bunch of messages for advanced seeking.
22345
22346         * gst/parse/grammar.y:
22347         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
22348         (gst_dpman_state_changed):
22349         Fix some new-pad -> pad-added signals
22350
22351 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22352
22353         * docs/manual/appendix-porting.xml:
22354         * docs/pwg/appendix-porting.xml:
22355           Document new-pad/state-change signal renames and the FixedList
22356           type rename.
22357
22358 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22359
22360         * docs/manual/advanced-autoplugging.xml:
22361         * docs/manual/basics-helloworld.xml:
22362         * docs/manual/basics-pads.xml:
22363         * docs/random/ds/0.9-suggested-changes:
22364         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
22365         * gst/gstelement.h:
22366         * gst/gstevent.h:
22367         * gst/gstformat.h:
22368         * gst/gstquery.h:
22369         * gst/gststructure.c: (gst_structure_value_get_generic_type),
22370         (gst_structure_parse_array), (gst_structure_parse_value):
22371         * gst/gstvalue.c: (gst_type_is_fixed),
22372         (gst_value_list_prepend_value), (gst_value_list_append_value),
22373         (gst_value_list_get_size), (gst_value_list_get_value),
22374         (gst_value_transform_array_string), (gst_value_serialize_array),
22375         (gst_value_deserialize_array), (gst_value_intersect_array),
22376         (gst_value_is_fixed), (_gst_value_initialize):
22377         * gst/gstvalue.h:
22378           GstElement::new-pad -> pad-added, GstElement::state-change ->
22379           state-changed, GstValueFixedList -> GstValueArray, add format and
22380           flags as their own arguments in gst_element_seek() (should improve
22381           "bindeability"), remove function generators since they don't work
22382           under a whole bunch of compilers (they were deprecated already
22383           anyway).
22384
22385 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22386
22387         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22388         (_gst_debug_register_funcptr):
22389         * gst/gstinfo.h:
22390           Fix illegal cast on some platforms (#309253).
22391
22392 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22393
22394         * gst/gstmessage.c: (gst_message_new_custom):
22395         * gst/gstmessage.h:
22396           Add _new_custom, make _new_application a macro to _new_custom.
22397
22398 2005-07-20  Wim Taymans  <wim@fluendo.com>
22399
22400         * gst/base/gstbasesrc.c: (gst_base_src_init),
22401         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22402         * gst/base/gstbasesrc.h:
22403         Add a gboolean to decide when to push out a discont.
22404
22405         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22406         (gst_queue_loop), (gst_queue_handle_src_query),
22407         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
22408         (gst_queue_set_property), (gst_queue_get_property):
22409         Some cleanups.
22410
22411         * tests/threadstate/threadstate1.c: (main):
22412         Make a thread test compile and run... very silly..
22413
22414
22415 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22416
22417         * docs/manual/appendix-porting.xml:
22418           Mention removal of libgstgconf-0.9.la and existence of gconf
22419           elements.
22420
22421 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22422
22423         * docs/pwg/advanced-clock.xml:
22424         * docs/pwg/appendix-porting.xml:
22425         * docs/pwg/intro-preface.xml:
22426         * docs/pwg/other-base.xml:
22427         * docs/pwg/other-manager.xml:
22428         * docs/pwg/other-nton.xml:
22429         * docs/pwg/other-ntoone.xml:
22430         * docs/pwg/other-oneton.xml:
22431         * docs/pwg/pwg.xml:
22432           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
22433           demuxer), remove n-to-n (was never written), fix some code examples
22434           and links and update the porting section to include all this.
22435
22436 2005-07-19  Wim Taymans  <wim@fluendo.com>
22437
22438         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
22439         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
22440         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
22441         (gst_queue_src_activate_push), (gst_queue_change_state),
22442         (gst_queue_get_property):
22443         * gst/gstqueue.h:
22444         Propagate GstFlowReturn more intelligently upstream and output
22445         an ERROR/EOS when streaming stopped due to fatal error.
22446
22447 2005-07-19  Wim Taymans  <wim@fluendo.com>
22448
22449         * tools/gst-launch.c: (check_intr), (event_loop), (main):
22450         Don't block forever for the state change to complete, the
22451         pipeline already did with a sensible timeout.
22452
22453 2005-07-19  Wim Taymans  <wim@fluendo.com>
22454
22455         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22456         Make sure we never call the create function is we
22457         got deactivated.
22458
22459 2005-07-19  Andy Wingo  <wingo@pobox.com>
22460
22461         * gst/parse/parse.l: Attempt to solve bug #172815.
22462
22463 2005-07-19  Wim Taymans  <wim@fluendo.com>
22464
22465         * docs/design/part-clocks.txt:
22466         * docs/design/part-events.txt:
22467         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
22468         Small docs updates.
22469         Only update the seeking values when we are not
22470         busy streaming.
22471
22472 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22473
22474         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22475           Oops, ignore the result of gst_pad_push_event here.
22476
22477 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
22478
22479         * gst/base/gstbasesrc.c: (gst_base_src_loop),
22480         (gst_base_src_activate_push):
22481           Send discont event from the loop function, as pads
22482           aren't activated yet in the activate_push handler.
22483
22484         * gst/gstbin.c: (bin_bus_handler):
22485           Don't leak element name.
22486
22487 2005-07-18  Andy Wingo  <wingo@pobox.com>
22488
22489         * configure.ac: Use AS_LIBTOOL_TAGS.
22490
22491 2005-07-18  Wim Taymans  <wim@fluendo.com>
22492
22493         * docs/gst/gstreamer.types:
22494         Remove deleted types.
22495
22496 2005-07-18  Wim Taymans  <wim@fluendo.com>
22497
22498         * check/elements/gstfakesrc.c: (GST_START_TEST):
22499         * configure.ac:
22500         * gst/Makefile.am:
22501         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
22502         (init_popt_callback):
22503         * gst/gst.h:
22504         * gst/gst_private.h:
22505         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
22506         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
22507         * gst/gstbin.h:
22508         * gst/gstbus.h:
22509         * gst/gstconfig.h.in:
22510         * gst/gstelement.c: (gst_element_class_init),
22511         (gst_element_set_base_time), (gst_element_get_base_time),
22512         (iterator_fold_with_resync), (gst_element_change_state),
22513         (gst_element_dispose), (gst_element_get_bus):
22514         * gst/gstelement.h:
22515         * gst/gstelementfactory.h:
22516         * gst/gsterror.c: (_gst_core_errors_init):
22517         * gst/gsterror.h:
22518         * gst/gstevent.h:
22519         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22520         * gst/gstindex.c:
22521         * gst/gstinfo.c: (_gst_debug_init):
22522         * gst/gstmessage.c: (_gst_message_copy):
22523         * gst/gstmessage.h:
22524         * gst/gstminiobject.h:
22525         * gst/gstobject.c:
22526         * gst/gstobject.h:
22527         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22528         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
22529         * gst/gstpad.h:
22530         * gst/gstparse.h:
22531         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
22532         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22533         (gst_pipeline_get_last_stream_time):
22534         * gst/gstpipeline.h:
22535         * gst/gstpluginfeature.h:
22536         * gst/gstquery.h:
22537         * gst/gstscheduler.c:
22538         * gst/gstscheduler.h:
22539         * gst/gststructure.h:
22540         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22541         (gst_task_finalize), (gst_task_func), (gst_task_create),
22542         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
22543         (gst_task_stop), (gst_task_pause):
22544         * gst/gsttask.h:
22545         * gst/gsttypefind.h:
22546         * gst/gsttypes.h:
22547         * gst/registries/gstlibxmlregistry.c: (load_feature),
22548         (gst_xml_registry_load), (gst_xml_registry_save_feature):
22549         * gst/registries/gstxmlregistry.c:
22550         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
22551         * gst/schedulers/threadscheduler.c:
22552         * libs/gst/control/dparammanager.h:
22553         * tools/gst-inspect.c: (print_element_list),
22554         (print_plugin_features), (print_element_features):
22555         * tools/gst-xmlinspect.c: (print_element_list),
22556         (print_plugin_info), (main):
22557         Removed plugable schedulers.
22558         Removed Scheduler/Manager from elements.
22559         Removed gsttypes.h, rearranged includes.
22560         Removed dependency pad<->element, element<>pipeline, and
22561         various others,  fix includes.
22562         implement gst_pad_get_parent() with gst_object_get_parent()
22563         Make GstTask sefcontained.
22564         Fix _get_state() on GstBin, it did not return ASYNC with a 0
22565         timeout.
22566         Fix endless loop in iterator_fold_with_resync.
22567
22568
22569 2005-07-18  Wim Taymans  <wim@fluendo.com>
22570
22571         * gst/Makefile.am:
22572         * gst/gstarch.h:
22573         Remove old file.
22574
22575 2005-07-18  Wim Taymans  <wim@fluendo.com>
22576
22577         * gst/Makefile.am:
22578         No more cothreads.h
22579
22580 2005-07-18  Wim Taymans  <wim@fluendo.com>
22581
22582         * gst/cothreads.c:
22583         * gst/cothreads.h:
22584         Let's remove these.
22585
22586 2005-07-18  Wim Taymans  <wim@fluendo.com>
22587
22588         * docs/design/part-dynamic.txt:
22589         * docs/design/part-events.txt:
22590         * docs/design/part-seeking.txt:
22591         Some more docs in the works.
22592
22593         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22594         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
22595         (gst_base_transform_setcaps), (gst_base_transform_get_size),
22596         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22597         (gst_base_transform_handle_buffer),
22598         (gst_base_transform_sink_activate_push),
22599         (gst_base_transform_src_activate_pull),
22600         (gst_base_transform_set_passthrough),
22601         (gst_base_transform_is_passthrough):
22602         Refcounting fixes.
22603
22604         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
22605         Cleanups.
22606
22607         * gst/gstevent.c: (gst_event_finalize):
22608         Set SRC to NULL.
22609
22610         * gst/gstutils.c: (gst_element_unlink),
22611         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
22612         (gst_pad_proxy_setcaps):
22613         * gst/gstutils.h:
22614         Add _get_parent_element() to get a pads parent as an element.
22615
22616 2005-07-18  Wim Taymans  <wim@fluendo.com>
22617
22618         * check/gst/gstbin.c: (GST_START_TEST):
22619         Remove bogus test.
22620
22621 2005-07-18  Wim Taymans  <wim@fluendo.com>
22622
22623         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
22624         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
22625         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
22626         (gst_base_sink_event), (gst_base_sink_do_sync),
22627         (gst_base_sink_chain), (gst_base_sink_loop),
22628         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
22629         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
22630         Refcounting fixes.
22631         Fix logic for returning ASYNC when not prerolled.
22632
22633 2005-07-18  Wim Taymans  <wim@fluendo.com>
22634
22635         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22636         Fix nasty refcount bug.
22637
22638 2005-07-16 Philippe Khalaf <burger@speedy.org>
22639
22640         * gst/elements/gstfdsrc.c:
22641         * gst/elements/gstfdsrc.h:
22642         * gst/elements/gstelements.c:
22643         * gst/elements/Makefile.am:
22644         Ported fdsrc to 0.9.
22645
22646 2005-07-16  Wim Taymans  <wim@fluendo.com>
22647
22648         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22649         (gst_base_sink_do_sync):
22650         Fix compile error.
22651
22652 2005-07-16  Wim Taymans  <wim@fluendo.com>
22653
22654         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22655         (gst_base_sink_event), (gst_base_sink_get_times),
22656         (gst_base_sink_do_sync), (gst_base_sink_change_state):
22657         * gst/base/gstbasesink.h:
22658         Store and use discont values when syncing buffers as described
22659         in design docs.
22660         
22661         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22662         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
22663         (gst_base_src_activate_push):
22664         Push discont event when starting.
22665
22666         * gst/elements/gstidentity.c: (gst_identity_transform):
22667         Small cleanups.
22668
22669         * gst/gstbin.c: (gst_bin_change_state):
22670         Small cleanups in base_time  distribution.
22671
22672         * gst/gstelement.c: (gst_element_set_base_time),
22673         (gst_element_get_base_time), (gst_element_change_state):
22674         * gst/gstelement.h:
22675         Added methods for the base_time of the element.
22676         Some MT fixes.
22677
22678         * gst/gstpipeline.c: (gst_pipeline_send_event),
22679         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
22680         (gst_pipeline_get_last_stream_time):
22681         * gst/gstpipeline.h:
22682         MT fixes.
22683         Handle seeking as described in design doc, remove stream_time
22684         hack.
22685         Cleanups clock and stream_time selection code. Added accessors
22686         for the stream_time.
22687         
22688
22689 2005-07-16  Andy Wingo  <wingo@pobox.com>
22690
22691         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
22692         (#305291).
22693
22694 2005-07-16  Wim Taymans  <wim@fluendo.com>
22695
22696         * check/gst/gstbin.c: (GST_START_TEST):
22697         Make elements silent as the deep_notify refs the
22698         parent, which might make the test fail.
22699
22700         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
22701         Don't hold the lock for too long.
22702
22703 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
22704
22705         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
22706           Don't unref the caps we passed to gst_caps_make_writable() after
22707           passing them. gst_caps_make_writable() will do that for us.
22708
22709 2005-07-15  Andy Wingo  <wingo@pobox.com>
22710
22711         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
22712         (#157311).
22713
22714         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
22715         own marshalling function for the handoff signal. Properly type the
22716         buffer as a buffer. Fixes some warnings. Should do a more general
22717         solution.
22718         (gst_identity_class_init): Plug into the right marshaller.
22719
22720 2005-07-15  Wim Taymans  <wim@fluendo.com>
22721
22722         * docs/design/part-TODO.txt:
22723         * docs/design/part-clocks.txt:
22724         * docs/design/part-element-sink.txt:
22725         * docs/design/part-events.txt:
22726         * docs/design/part-gstpipeline.txt:
22727         Updated docs, mostly DISCONT related.
22728
22729 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
22730
22731         * docs/pwg/building-pads.xml:
22732           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
22733
22734 2005-07-15  Andy Wingo  <wingo@pobox.com>
22735
22736         * tools/gst-typefind.c: Update, add copyright block.
22737
22738         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
22739         Normalize and truncate caps before fixation.
22740
22741         * gst/gstcaps.h:
22742         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
22743         discards all but the first structure from its argument.
22744
22745 2005-07-15  Wim Taymans  <wim@fluendo.com>
22746
22747         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22748         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
22749         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22750         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22751         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
22752         (gst_base_transform_chain), (gst_base_transform_change_state),
22753         (gst_base_transform_set_passthrough),
22754         (gst_base_transform_is_passthrough):
22755         * gst/base/gstbasetransform.h:
22756         Make passthrough work using the bufferpools.
22757         Changed API a bit, subclasses have to write into a buffer
22758         provided by the base class.
22759         More debug info in nego functions.
22760         
22761         * gst/elements/gstidentity.c: (gst_identity_init),
22762         (gst_identity_transform):
22763         Port to new base class.
22764
22765 2005-07-15  Wim Taymans  <wim@fluendo.com>
22766
22767         * gst/gstmessage.c: (gst_message_new_state_changed):
22768         * tools/gst-launch.c: (event_loop), (main):
22769         Totally dump messages in -launch with the -m option.
22770         Fix message name for State messages,
22771
22772 2005-07-14  Wim Taymans  <wim@fluendo.com>
22773
22774         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22775         Post error messages on errors.
22776
22777 2005-07-14  Wim Taymans  <wim@fluendo.com>
22778
22779         * gst/gstcaps.c: (gst_caps_do_simplify):
22780         Remove debug info.
22781
22782         * gst/gsterror.h:
22783         Define error for stream stopped.
22784
22785         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
22786         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
22787         Do proper return values.
22788
22789         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
22790         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
22791         (gst_pad_get_range):
22792         Better return values.
22793
22794         * gst/gstpad.h:
22795         Reorganise return values, add macro to check for fatal errors.
22796
22797         * gst/gstqueue.c: (gst_queue_chain):
22798         Return proper GstFlowReturn values,
22799
22800 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
22801
22802         * docs/gst/gstreamer-sections.txt:
22803         * docs/gst/gstreamer.types:
22804         * docs/gst/tmpl/gst.sgml:
22805         * docs/gst/tmpl/gstbasesink.sgml:
22806         * docs/gst/tmpl/gstbasesrc.sgml:
22807         * docs/gst/tmpl/gstbasetransform.sgml:
22808         * docs/gst/tmpl/gstbin.sgml:
22809         * docs/gst/tmpl/gstbuffer.sgml:
22810         * docs/gst/tmpl/gstcaps.sgml:
22811         * docs/gst/tmpl/gstclock.sgml:
22812         * docs/gst/tmpl/gstcompat.sgml:
22813         * docs/gst/tmpl/gstconfig.sgml:
22814         * docs/gst/tmpl/gstelement.sgml:
22815         * docs/gst/tmpl/gstelementdetails.sgml:
22816         * docs/gst/tmpl/gstelementfactory.sgml:
22817         * docs/gst/tmpl/gstenumtypes.sgml:
22818         * docs/gst/tmpl/gsterror.sgml:
22819         * docs/gst/tmpl/gstevent.sgml:
22820         * docs/gst/tmpl/gstfakesink.sgml:
22821         * docs/gst/tmpl/gstfakesrc.sgml:
22822         * docs/gst/tmpl/gstfilesink.sgml:
22823         * docs/gst/tmpl/gstfilesrc.sgml:
22824         * docs/gst/tmpl/gstfilter.sgml:
22825         * docs/gst/tmpl/gstformat.sgml:
22826         * docs/gst/tmpl/gstghostpad.sgml:
22827         * docs/gst/tmpl/gstimplementsinterface.sgml:
22828         * docs/gst/tmpl/gstindex.sgml:
22829         * docs/gst/tmpl/gstindexfactory.sgml:
22830         * docs/gst/tmpl/gstinfo.sgml:
22831         * docs/gst/tmpl/gstiterator.sgml:
22832         * docs/gst/tmpl/gstmacros.sgml:
22833         * docs/gst/tmpl/gstmemchunk.sgml:
22834         * docs/gst/tmpl/gstminiobject.sgml:
22835         * docs/gst/tmpl/gstobject.sgml:
22836         * docs/gst/tmpl/gstpad.sgml:
22837         * docs/gst/tmpl/gstpadtemplate.sgml:
22838         * docs/gst/tmpl/gstparse.sgml:
22839         * docs/gst/tmpl/gstpipeline.sgml:
22840         * docs/gst/tmpl/gstplugin.sgml:
22841         * docs/gst/tmpl/gstpluginfeature.sgml:
22842         * docs/gst/tmpl/gstquery.sgml:
22843         * docs/gst/tmpl/gstqueue.sgml:
22844         * docs/gst/tmpl/gstregistry.sgml:
22845         * docs/gst/tmpl/gstregistrypool.sgml:
22846         * docs/gst/tmpl/gstscheduler.sgml:
22847         * docs/gst/tmpl/gstschedulerfactory.sgml:
22848         * docs/gst/tmpl/gststructure.sgml:
22849         * docs/gst/tmpl/gstsystemclock.sgml:
22850         * docs/gst/tmpl/gsttaglist.sgml:
22851         * docs/gst/tmpl/gsttagsetter.sgml:
22852         * docs/gst/tmpl/gsttrace.sgml:
22853         * docs/gst/tmpl/gsttrashstack.sgml:
22854         * docs/gst/tmpl/gsttypefind.sgml:
22855         * docs/gst/tmpl/gsttypefindfactory.sgml:
22856         * docs/gst/tmpl/gsttypes.sgml:
22857         * docs/gst/tmpl/gsturihandler.sgml:
22858         * docs/gst/tmpl/gsturitype.sgml:
22859         * docs/gst/tmpl/gstutils.sgml:
22860         * docs/gst/tmpl/gstvalue.sgml:
22861         * docs/gst/tmpl/gstversion.sgml:
22862         * docs/gst/tmpl/gstxml.sgml:
22863         * docs/libs/tmpl/gstcontrol.sgml:
22864         * docs/libs/tmpl/gstdataprotocol.sgml:
22865         * docs/libs/tmpl/gstdparam.sgml:
22866         * docs/libs/tmpl/gstdplinint.sgml:
22867         * docs/libs/tmpl/gstdpman.sgml:
22868         * docs/libs/tmpl/gstdpsmooth.sgml:
22869         * docs/libs/tmpl/gstgetbits.sgml:
22870         * docs/libs/tmpl/gstunitconvert.sgml:
22871         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
22872         (gst_push_src_base_init), (gst_push_src_class_init),
22873         (gst_push_src_init), (gst_push_src_create):
22874         * gst/base/gstpushsrc.h:
22875         * gst/elements/gstelements.c:
22876         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
22877         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
22878         (gst_fake_sink_init), (gst_fake_sink_set_property),
22879         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
22880         (gst_fake_sink_event), (gst_fake_sink_preroll),
22881         (gst_fake_sink_render), (gst_fake_sink_change_state):
22882         * gst/elements/gstfakesink.h:
22883         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
22884         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
22885         (gst_fake_src_base_init), (gst_fake_src_class_init),
22886         (gst_fake_src_init), (gst_fake_src_event_handler),
22887         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
22888         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
22889         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
22890         (gst_fake_src_create_buffer), (gst_fake_src_create),
22891         (gst_fake_src_start), (gst_fake_src_stop):
22892         * gst/elements/gstfakesrc.h:
22893         * gst/elements/gstfilesink.c: (_do_init),
22894         (gst_file_sink_base_init), (gst_file_sink_class_init),
22895         (gst_file_sink_init), (gst_file_sink_dispose),
22896         (gst_file_sink_set_location), (gst_file_sink_set_property),
22897         (gst_file_sink_get_property), (gst_file_sink_open_file),
22898         (gst_file_sink_close_file), (gst_file_sink_query),
22899         (gst_file_sink_event), (gst_file_sink_render),
22900         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
22901         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
22902         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
22903         * gst/elements/gstfilesink.h:
22904         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
22905         (gst_file_src_class_init), (gst_file_src_init),
22906         (gst_file_src_finalize), (gst_file_src_set_location),
22907         (gst_file_src_set_property), (gst_file_src_get_property),
22908         (gst_file_src_map_region), (gst_file_src_map_small_region),
22909         (gst_file_src_create_mmap), (gst_file_src_create_read),
22910         (gst_file_src_create), (gst_file_src_is_seekable),
22911         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
22912         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
22913         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
22914         (gst_file_src_uri_handler_init):
22915         * gst/elements/gstfilesrc.h:
22916           more autistic cleanliness in functions/names/defines
22917
22918 2005-07-13  Andy Wingo  <wingo@pobox.com>
22919
22920         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
22921         source couldn't negotiate.
22922
22923         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
22924         connections again.
22925
22926         * gst/gstutils.h:
22927         * gst/gstutils.c (gst_element_link_pads_filtered): New old
22928         function. I am channeling Hades. Put your boots on suckers!!!
22929
22930 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22931
22932         * testsuite/caps/Makefile.am:
22933         * testsuite/caps/value_compare.c:
22934         * testsuite/caps/value_intersect.c:
22935         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
22936           move two testsuite apps over to the check dir
22937
22938 2005-07-12  Wim Taymans  <wim@fluendo.com>
22939
22940         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
22941         Added more debug info in the negotiate process.
22942
22943         * gst/gstmessage.h:
22944         Prepare for segment playback.
22945
22946         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
22947         Better debugging.
22948
22949         * gst/gstutils.c:
22950         Some more docs.
22951
22952         * tools/gst-launch.c: (main):
22953         NULL pipeline on errors.
22954
22955 2005-07-12  Andy Wingo  <wingo@pobox.com>
22956
22957         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
22958         not it comes from a malloc region. Make sure our copy gets freed.
22959
22960 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22961
22962         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22963         * check/gst/gstmessage.c: (GST_START_TEST):
22964         * check/gst/gststructure.c: (GST_START_TEST),
22965         (gst_structure_suite), (main):
22966           more testing
22967         * gst/gstelement.c: (gst_element_message_full):
22968           clean up GError and debug string now that they get copied
22969         * gst/gstmessage.c: (gst_message_new_error),
22970         (gst_message_new_warning), (gst_message_parse_error),
22971         (gst_message_parse_warning):
22972           use GST_TYPE_G_ERROR for structure_new, and take copies of
22973           arguments, so that we don't mess up refcounting
22974
22975 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22976
22977         * check/Makefile.am:
22978           add per-test valgrind targets
22979         * check/gst-libs/gdp.c: (GST_START_TEST),
22980         (gst_data_protocol_suite), (main):
22981           clean up
22982
22983 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22984
22985         * check/Makefile.am:
22986           instate more valgrindable tests
22987         * check/elements/gstfakesrc.c: (chain_func), (event_func),
22988         (GST_START_TEST), (fakesrc_suite):
22989         * check/gst/gstpad.c: (GST_START_TEST):
22990         * check/gst/gststructure.c: (GST_START_TEST):
22991           fix test leaks
22992         * docs/gst/tmpl/gstminiobject.sgml:
22993         * gst/gstpad.c: (gst_pad_finalize):
22994           fix the static mutex leak
22995
22996 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22997
22998         * check/Makefile.am:
22999           add two more tests for valgrinding
23000         * check/gst/gstvalue.c: (GST_START_TEST):
23001           test refcount of deserialized buffer, found a leak
23002         * docs/gst/gstreamer-docs.sgml:
23003         * docs/gst/gstreamer-sections.txt:
23004         * docs/gst/gstreamer.types:
23005         * docs/gst/tmpl/gstminiobject.sgml:
23006           add miniobject to docs
23007         * gst/gstminiobject.c:
23008           add some docs
23009         * gst/gstvalue.c: (gst_value_deserialize_buffer),
23010         (gst_string_unwrap):
23011           fix a hard-to-find invalid write for one of the tests
23012           fix a leak for deserialized buffers
23013
23014 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23015
23016         * docs/pwg/advanced-events.xml:
23017         * docs/pwg/advanced-request.xml:
23018         * docs/pwg/advanced-scheduling.xml:
23019         * docs/pwg/appendix-porting.xml:
23020         * docs/pwg/building-boiler.xml:
23021         * docs/pwg/intro-preface.xml:
23022         * docs/pwg/other-ntoone.xml:
23023           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
23024           of example code and explanation for pad activation, loop() and
23025           getrange() functions and a bit more. Remove old comments pointing
23026           to loop-functions.
23027         * examples/pwg/Makefile.am:
23028           Add loop/getrange examples.
23029
23030 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23031
23032         * configure.ac:
23033           check for valgrind binary + some fixes
23034         * check/gst.supp:
23035           valgrind suppressions for the tests
23036         * check/Makefile.am:
23037           add a valgrind: target that valgrinds the unit tests
23038         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
23039         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23040         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23041         * check/gst/gstghostpad.c:
23042           added some cleanup
23043         * check/gst/gstdata.c:
23044           removed
23045         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
23046         (thread_unref), (gst_mini_object_suite), (main):
23047           added
23048         * gst/gst.c: (gst_deinit):
23049         * gst/gst.h:
23050           add a method to clean up.
23051         * gst/gstsystemclock.c: (gst_system_clock_dispose),
23052         (gst_system_clock_obtain):
23053           allow for disposing the system clock.
23054         * tools/gst-launch.c: (main):
23055           deinit
23056
23057 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23058
23059         * docs/gst/tmpl/gstbasesrc.sgml:
23060         * docs/gst/tmpl/gstfakesrc.sgml:
23061         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23062         (gst_base_src_init), (gst_base_src_set_property),
23063         (gst_base_src_get_property), (gst_base_src_get_range),
23064         (gst_base_src_start):
23065         * gst/base/gstbasesrc.h:
23066           add num-buffers property
23067         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23068         (gst_fakesrc_init), (gst_fakesrc_set_property),
23069         (gst_fakesrc_get_property), (gst_fakesrc_create),
23070         (gst_fakesrc_start):
23071           remove num-buffers property
23072
23073 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23074
23075         * docs/gst/gstreamer-sections.txt:
23076         * docs/gst/tmpl/gstbasesink.sgml:
23077         * docs/gst/tmpl/gstbasesrc.sgml:
23078         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
23079         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
23080         (gst_base_sink_finalize), (gst_base_sink_set_clock),
23081         (gst_base_sink_set_property), (gst_base_sink_get_property),
23082         (gst_base_sink_handle_object), (gst_base_sink_event),
23083         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
23084         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
23085         (gst_base_sink_loop), (gst_base_sink_deactivate),
23086         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
23087         (gst_base_sink_change_state):
23088         * gst/base/gstbasesink.h:
23089         * gst/base/gstbasesrc.h:
23090         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
23091         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
23092         (gst_filesink_init):
23093           more macro splitting
23094
23095 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23096
23097         * gst/gstelement.c: (gst_element_get_bus):
23098           add debug
23099         * tools/gst-launch.c: (check_intr), (event_loop):
23100           fix bus leaks
23101
23102 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23103
23104         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
23105           fix a caps leak
23106
23107 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23108
23109         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23110         (gst_base_src_finalize):
23111           add finalize method and clean up properly
23112         * gst/gstpipeline.c: (gst_pipeline_dispose):
23113           add debug
23114
23115 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23116
23117         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
23118         (gst_bin_suite):
23119           add more things to check
23120         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23121         * gst/gstelement.c:
23122           more debug
23123
23124 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23125
23126         * check/elements/gstfakesrc.c: (chain_func), (event_func),
23127         (GST_START_TEST), (fakesrc_suite):
23128         * check/gst-libs/gdp.c: (GST_START_TEST):
23129         * check/gst/gst.c: (GST_START_TEST):
23130         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23131         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23132         * check/gst/gstbus.c: (GST_START_TEST):
23133         * check/gst/gstcaps.c: (GST_START_TEST):
23134         * check/gst/gstdata.c: (GST_START_TEST):
23135         * check/gst/gstelement.c: (GST_START_TEST):
23136         * check/gst/gstghostpad.c: (GST_START_TEST):
23137         * check/gst/gstiterator.c: (GST_START_TEST):
23138         * check/gst/gstmessage.c: (GST_START_TEST):
23139         * check/gst/gstobject.c: (GST_START_TEST):
23140         * check/gst/gstpad.c: (GST_START_TEST):
23141         * check/gst/gststructure.c: (GST_START_TEST):
23142         * check/gst/gstsystemclock.c: (GST_START_TEST),
23143         (gst_systemclock_suite):
23144         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
23145         * check/gst/gstvalue.c: (GST_START_TEST):
23146         * check/pipelines/cleanup.c: (GST_START_TEST):
23147         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23148         * check/states/sinks.c: (GST_START_TEST):
23149         * check/gstcheck.c: (gst_check_init):
23150         * check/gstcheck.h:
23151           add debugging category
23152           use GST_START_TEST now, so we add a debug line
23153
23154 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23155
23156         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
23157           add test for state change message on a bin
23158         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
23159           add another test
23160         * gst/gstbin.c: (gst_bin_init):
23161         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
23162         * gst/gstelement.c: (gst_element_post_message),
23163         (gst_element_set_state):
23164         * gst/gstelementfactory.c: (gst_element_factory_create):
23165         * gst/gstmessage.c: (gst_message_new):
23166         * gst/gstscheduler.c:
23167           various debugging additions and cleanups
23168
23169 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23170
23171         * check/Makefile.am:
23172         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
23173         (main):
23174           adding tests for elements
23175         * gst/gstelement.c: (gst_element_dispose):
23176
23177 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23178
23179         * gst/registries/gstlibxmlregistry.c: (load_feature):
23180           plug more leaks.  A simple gst_init() now is leakfree, yay.
23181
23182 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23183
23184         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
23185         (gst_xml_registry_load):
23186           plug another memleak
23187
23188 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23189
23190         * configure.ac:
23191           use GST_SET_ERROR_CFLAGS
23192         * docs/faq/cvs.xml:
23193           change to ERROR_CFLAGS
23194
23195 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23196
23197         * configure.ac:
23198           make GST_ERROR_CFLAGS overridable and re-enable Werror
23199         * docs/faq/cvs.xml:
23200           add a note about error CFLAGS
23201         * docs/gst/tmpl/gstfakesrc.sgml:
23202         * gst/elements/gstfakesrc.c:
23203           comment out some unused code
23204         * gst/gst.c: (split_and_iterate):
23205         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
23206         (load_feature):
23207           plug some memleaks
23208
23209 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23210
23211         * common/Makefile.am:
23212         * common/gtk-doc.mak:
23213         * docs/gst/Makefile.am:
23214           factor out gtk-doc.mak
23215
23216 2005-07-07  Wim Taymans  <wim@fluendo.com>
23217
23218         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
23219         (gst_thread_scheduler_dispose):
23220         Unlock the STREAM_LOCK completely.
23221
23222 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23223
23224         * check/Makefile.am:
23225         * check/elements/.cvsignore:
23226         * check/elements/gstfakesrc.c: (chain_func), (event_func),
23227         (START_TEST), (fakesrc_suite), (main):
23228         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
23229         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
23230         (gst_fakesrc_create), (gst_fakesrc_start):
23231         * gst/elements/gstfakesrc.h:
23232           adding a first element test
23233
23234 2005-07-07  Andy Wingo  <wingo@pobox.com>
23235
23236         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
23237         debug message.
23238
23239 2005-07-07  Wim Taymans  <wim@fluendo.com>
23240
23241         * gst/gstquery.c:
23242         * gst/gstquery.h:
23243         Remove old types
23244
23245 2005-07-07  Wim Taymans  <wim@fluendo.com>
23246
23247         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23248         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
23249         Allow subclasses to implement their own negotiation.
23250
23251 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23252
23253         * docs/design/part-gstbin.txt:
23254         * docs/design/part-gstpipeline.txt:
23255           Update design notes to reflect the movement of
23256           responsibility for bus handling from GstPipeline to
23257           GstBin
23258
23259 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23260
23261         * configure.ac:
23262           Remove unnecessary queue2/3/4 examples.
23263
23264 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
23265
23266         * examples/Makefile.am:
23267         * examples/helloworld/helloworld.c: (event_loop), (main):
23268         * examples/queue/queue.c: (event_loop), (main):
23269         * examples/queue2/queue2.c: (main):
23270           Update a couple of the examples to work again.
23271
23272         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23273         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
23274          Spelling corrections and extra debug.
23275         
23276         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
23277         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
23278         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
23279         * gst/gstbin.h:
23280         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23281         (gst_pipeline_change_state):
23282         * gst/gstpipeline.h:
23283           Move the bus handler for children to the GstBin, and create a
23284           separate bus for receiving messages from children to the one the
23285           bus sends 'upwards' on.
23286
23287 2005-07-06  Wim Taymans  <wim@fluendo.com>
23288
23289         * gst/base/README:
23290         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23291         (gst_base_sink_handle_object), (gst_base_sink_loop),
23292         (gst_base_sink_change_state):
23293         * gst/base/gstbasesink.h:
23294         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23295         (gst_base_src_init), (gst_base_src_setcaps),
23296         (gst_base_src_getcaps), (gst_base_src_loop),
23297         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
23298         (gst_base_src_start), (gst_base_src_change_state):
23299         * gst/base/gstbasesrc.h:
23300         Make basesrc negotiate.
23301         Handle the case where preroll fails in basesink.
23302         Update README.
23303
23304 2005-07-06  Wim Taymans  <wim@fluendo.com>
23305
23306         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
23307         Implement the fixate function.
23308         Clean up acceptcaps.
23309
23310 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23311
23312         * docs/pwg/building-filterfactory.xml:
23313         * docs/pwg/pwg.xml:
23314           Remove never-written filter-factory chapter; I'll add the various
23315           base classes to part 4 ("other element types") later on.
23316
23317 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23318
23319         * docs/pwg/advanced-negotiation.xml:
23320         * docs/pwg/building-boiler.xml:
23321         * docs/pwg/building-pads.xml:
23322         * docs/pwg/pwg.xml:
23323         * examples/pwg/Makefile.am:
23324           Add a chapter on caps negotiation, simplify the original code
23325           samples a bit w.r.t. caps negotiation, add link to the advanced
23326           section. Add a bunch of examples showing different use cases of
23327           different types of caps negotiation. Upstream renegotiation isn't
23328           fully documented yet since nobody knows how that works.
23329
23330 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23331
23332         * check/gst/gstpad.c:
23333         * check/gstcheck.c:
23334         * gst/gstpad.c: (gst_pad_get_internal_links_default):
23335           if pad has no parent, return NULL as list of internal links
23336
23337 2005-07-05  Andy Wingo  <wingo@pobox.com>
23338
23339         * gst/elements/gstfilesrc.c:
23340         * gst/elements/gstfakesrc.c: 
23341         * gst/base/gstpushsrc.c:
23342         * gst/base/gstbasesrc.h: 
23343         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
23344         
23345 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
23346
23347         * Makefile.am:
23348           better report generation target (lcov needs a patch)
23349
23350 2005-07-05  Andy Wingo  <wingo@pobox.com>
23351
23352         * gst/elements, testsuite: Null if we got it...
23353
23354 2005-07-05  Wim Taymans  <wim@fluendo.com>
23355
23356         * configure.ac:
23357         * libs/gst/dataprotocol/Makefile.am:
23358         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
23359         * libs/gst/dataprotocol/dataprotocol.h:
23360         * pkgconfig/Makefile.am:
23361         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
23362         * pkgconfig/gstreamer-dataprotocol.pc.in:
23363         Ported dataprotol to 0.9. 
23364         Added pkgconfig files.
23365
23366 2005-07-05  Andy Wingo  <wingo@pobox.com>
23367
23368         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
23369         Default to returning TRUE for the case when tranform_caps returns
23370         a fixed caps, like for identity or volume.
23371
23372         * check/gst/gstbus.c (pound_bus_with_messages): 
23373         * check/gst/gstmessage.c (START_TEST): 
23374         * check/pipelines/simple_launch_lines.c (got_handoff): Application
23375         message API change.
23376
23377         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
23378         logic weaks here: always run transform_caps, trying passthrough
23379         operation only if the original caps intersects with the transform.
23380
23381         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
23382         source and sink caps.
23383
23384         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
23385         Intersect the peer caps with the pad template before going into
23386         transform_caps.
23387         (gst_base_transform_transform_caps): More debugging.
23388
23389         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
23390         src argument.
23391
23392 2005-07-04  Edward Hervey  <edward@fluendo.com>
23393
23394         * gst/gstutils.c:
23395         * gst/gstutils.h:
23396         (gst_pad_add_*_probe): now returns the signal id for better wrapping
23397         in bindings.
23398
23399 2005-07-04  Andy Wingo  <wingo@pobox.com>
23400
23401         * check/gst/gstpad.c: Only set explicit caps on pads.
23402
23403 2005-07-01  Andy Wingo  <wingo@pobox.com>
23404
23405         * tests/network-clock.scm: Commentary update.
23406
23407         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
23408         Didn't really make sense, not implementable with basetransform,
23409         etc.
23410         (gst_identity_transform): Unref inbuf via make_writable. Feeble
23411         attempt at implementing the sync property, needs an unlock method.
23412
23413         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
23414         New func, by default returns the same caps (the identity
23415         transformation).
23416         (gst_base_transform_getcaps): Uses transform_caps to return
23417         something sensible.
23418         (gst_base_transform_setcaps): Complicated logic to get caps on
23419         both pads, even if they are different, and to call set_caps once
23420         for every time both pads get their caps set.
23421         (gst_base_transform_handle_buffer): Give the ref to the transform
23422         function. Allows in-place modification of the buffer.
23423
23424         * gst/base/gstbasetransform.h (transform_caps): New class method.
23425         Given caps on one side, what can I do on the other.
23426         (set_caps): Take two caps, one for each side of the element.
23427
23428         * gst/gstpad.h:
23429         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
23430         caps in place. This is safe because we can check the mutability of
23431         the caps, and a good idea because fixate functions are just called
23432         as a matter of last resort. (Not actually implemented.)
23433         (gst_pad_set_caps): If the caps we're setting is actually the same
23434         as the existing pad caps, just update the pointer without calling
23435         setcaps. Assert that caps is either NULL or fixed, as per the
23436         docs.
23437
23438         * gst/gstghostpad.c: Update for fixate changes.
23439
23440 2005-07-02  Andy Wingo  <wingo@pobox.com>
23441
23442         * gst/gstcaps.c:
23443         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
23444         two refcounts makes it immutable, which is enough. Doc more.
23445
23446 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
23447
23448         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
23449           Put the mini_object into GValue as a mini_object,
23450           not a gpointer, since that's how we declared
23451           the signal.
23452
23453 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23454
23455         * examples/pwg/Makefile.am:
23456           Fix buildbot again.
23457
23458 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23459
23460         * docs/pwg/building-testapp.xml:
23461           Add extra check.
23462         * examples/pwg/Makefile.am:
23463           Fix buildbot.
23464
23465 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23466
23467         * configure.ac:
23468         * examples/Makefile.am:
23469         * examples/pwg/Makefile.am:
23470         * examples/pwg/extract.pl:
23471           Enable building the PWG examples.
23472         * docs/pwg/advanced-interfaces.xml:
23473           Add URI interface stub.
23474         * docs/pwg/advanced-types.xml:
23475         * docs/pwg/other-autoplugger.xml:
23476         * docs/pwg/appendix-porting.xml:
23477         * docs/pwg/pwg.xml:
23478           Add porting guide (mostly stubs), remove autoplugging (see ADM).
23479         * docs/pwg/building-boiler.xml:
23480         * docs/pwg/building-chainfn.xml:
23481         * docs/pwg/building-pads.xml:
23482         * docs/pwg/building-props.xml:
23483         * docs/pwg/building-state.xml:
23484         * docs/pwg/building-testapp.xml:
23485           Update the building-*.xml parts for 0.9 changes. All examples
23486           code blocks compile in examples/pwg/*.
23487
23488 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23489
23490         * docs/manual/advanced-autoplugging.xml:
23491         * docs/manual/appendix-checklist.xml:
23492         * docs/manual/appendix-integration.xml:
23493         * docs/manual/highlevel-components.xml:
23494           Fix playbin/decodebin examples, update docs a bit, mention bus
23495           instead of signals in various places, mention kmplayer and
23496           kaffeine since they have a working GStreamer backend in the KDE
23497           section.
23498
23499 2005-06-30  Wim Taymans  <wim@fluendo.com>
23500
23501         * CHANGES-0.9:
23502         * docs/design/draft-ghostpads.txt:
23503         * docs/design/draft-push-pull.txt:
23504         * docs/design/draft-query.txt:
23505         * docs/design/part-TODO.txt:
23506         * docs/design/part-query.txt:
23507         Added CHANGES-0.9 doc, updated status of other docs.
23508         
23509         * gst/gstquery.h:
23510         Remove "hmm" macro
23511
23512 2005-06-30  Wim Taymans  <wim@fluendo.com>
23513
23514         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
23515         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
23516         (gst_base_sink_change_state):
23517         * gst/base/gstbasesink.h:
23518         Some tweaks, only EOS and a buffer complete a preroll.
23519
23520 2005-06-30  Andy Wingo  <wingo@pobox.com>
23521
23522         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
23523         activate_push down to the internal pad as well.
23524
23525 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
23526
23527         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23528
23529         * gst/gsttaginterface.c:
23530           Some documentation fixes (#307394 and #307397).
23531
23532 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
23533
23534         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23535
23536         * gst/gstvalue.c: (gst_value_intersect_list):
23537           Fix memleak (#309125).
23538
23539 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23540
23541         * docs/manual/advanced-dataaccess.xml:
23542           Fix fakesrc example to compile; doesn't work, bug somewhere...?
23543         * docs/manual/basics-pads.xml:
23544           Add reference for filtered caps to above chapter.
23545
23546 2005-06-30  Wim Taymans  <wim@fluendo.com>
23547
23548         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
23549         (gst_bin_change_state):
23550         Probes are gone.
23551         Lame attempt at making the state change function a bit
23552         more readable.
23553
23554 2005-06-30  Wim Taymans  <wim@fluendo.com>
23555
23556         * docs/design/part-clocks.txt:
23557         * docs/design/part-element-sink.txt:
23558         * docs/design/part-events.txt:
23559         * docs/design/part-preroll.txt:
23560         * docs/design/part-states.txt:
23561         Some more tweeks and additions to the docs.
23562
23563 2005-06-30  Wim Taymans  <wim@fluendo.com>
23564
23565         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23566         (default_have_data), (gst_pad_class_init), (gst_pad_init),
23567         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23568         (gst_pad_check_pull_range), (gst_pad_get_range),
23569         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
23570         * gst/gstpad.h:
23571         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
23572         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23573         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23574         (gst_pad_remove_buffer_probe):
23575         Removed atomic operations, use existing LOCK.
23576         Move exception handling out of main code path.
23577
23578 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23579
23580         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23581         (silly_return_true_function), (gst_pad_class_init),
23582         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
23583         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
23584         (gst_pad_send_event):
23585           Fix accumulator, add default value by using _emitv() instead
23586           of _emit() for signal emission.
23587
23588 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23589
23590         * docs/manual/advanced-dataaccess.xml:
23591         * examples/manual/Makefile.am:
23592           Add probe example.
23593         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
23594           Make work (??).
23595
23596 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
23597
23598         * gst/elements/gstfilesink.c: (gst_filesink_render):
23599           Simplify code so that we don't have to handle short
23600           writes and return GST_FLOW_ERROR if an error occured.
23601
23602 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23603
23604         * docs/gst/gstreamer-docs.sgml:
23605           Remove probes more.
23606
23607 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23608
23609         * docs/gst/gstreamer-sections.txt:
23610         * docs/gst/tmpl/gstpad.sgml:
23611         * docs/gst/tmpl/gstprobe.sgml:
23612         * gst/Makefile.am:
23613         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
23614         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
23615         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
23616         (gst_pad_push_event), (gst_pad_send_event):
23617         * gst/gstpad.h:
23618         * gst/gstutils.c: (gst_pad_add_data_probe),
23619         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
23620         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
23621         (gst_pad_remove_buffer_probe):
23622         * gst/gstutils.h:
23623           Remove old probes, add new g-signal-based probes and some utility
23624           functions.
23625
23626 2005-06-29  Edward Hervey  <edward@fluendo.com>
23627
23628         * gst/gstelementfactory.c:
23629         * gst/gstutils.h:
23630         * gst/gstutils.c:
23631         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
23632         the definition to the header file.
23633
23634 2005-06-29  Andy Wingo  <wingo@pobox.com>
23635
23636         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
23637         plugins from the source directory.
23638
23639 2005-06-29  Wim Taymans  <wim@fluendo.com>
23640
23641         * docs/gst/tmpl/gstbuffer.sgml:
23642         * docs/gst/tmpl/gstclock.sgml:
23643         Some fixings for blantently wrong text.
23644
23645 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23646
23647         * check/Makefile.am:
23648         * gst/gst.c: (add_path_func), (init_pre):
23649         * gst/gstregistry.c: (gst_registry_add_path):
23650           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
23651           only scan the GST_PLUGIN_PATH locations, and not add
23652           system locations
23653
23654 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23655
23656         * docs/gst/gstreamer-sections.txt:
23657         * docs/gst/tmpl/gstbasesrc.sgml:
23658         * gst/gstelement.c:
23659         * gst/gstelement.h:
23660         * gst/gstevent.c:
23661         * gst/gstutils.c:
23662           doc fixes
23663
23664 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23665
23666         * docs/manual/advanced-autoplugging.xml:
23667           Fix autoplugging example.
23668
23669 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23670
23671         * docs/manual/advanced-autoplugging.xml:
23672         * docs/manual/mime-world.fig:
23673           Try to get autoplugging working, fix type detection. Fix text
23674           in hello-world image.
23675
23676 2005-06-29  Wim Taymans  <wim@fluendo.com>
23677
23678         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23679         (gst_base_sink_change_state):
23680         Small debug line.
23681
23682         * gst/gstclock.h:
23683         map SIGNAL and BROADCAST to the right function.
23684
23685         * gst/gstobject.h:
23686         Remove redundant braces.
23687
23688         * gst/gstpad.c: (gst_pad_set_caps):
23689         Don't call setcaps function when reseting caps to NULL.
23690
23691         * gst/gstsystemclock.c: (gst_system_clock_dispose),
23692         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
23693         (gst_system_clock_id_unschedule):
23694         Use BROADCAST as this is what we do.
23695
23696 2005-06-29  Wim Taymans  <wim@fluendo.com>
23697
23698         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23699         We are actually prerolling before commiting the state
23700         change. 
23701
23702 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23703
23704         * docs/manual/advanced-clocks.xml:
23705         * docs/manual/advanced-interfaces.xml:
23706         * docs/manual/advanced-metadata.xml:
23707         * docs/manual/advanced-position.xml:
23708         * docs/manual/advanced-schedulers.xml:
23709         * docs/manual/advanced-threads.xml:
23710         * docs/manual/appendix-porting.xml:
23711         * docs/manual/basics-bins.xml:
23712         * docs/manual/basics-bus.xml:
23713         * docs/manual/basics-elements.xml:
23714         * docs/manual/basics-helloworld.xml:
23715         * docs/manual/basics-pads.xml:
23716         * docs/manual/highlevel-components.xml:
23717         * docs/manual/manual.xml:
23718         * docs/manual/thread.fig:
23719           Update (until threads/scheduling) Application Development Manual;
23720           remove GstThread, add GstBus, add simple porting checklist, add
23721           documentation for tag writing, clocks, make all examples until this
23722           part compile and run.
23723         * examples/manual/Makefile.am:
23724           Update from changes to Application Development Manual; add bus
23725           example, remove thread example.
23726
23727 2005-06-28  Wim Taymans  <wim@fluendo.com>
23728
23729         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
23730         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
23731         (gst_bus_source_dispatch):
23732         Add debugging messages.
23733         Make internal methods static.
23734         Handle the case where the bus is flushed in the handler.
23735         
23736         * gst/gstelement.c: (gst_element_get_bus):
23737         Fix refcount in _get_bus();
23738
23739         * gst/gstpipeline.c: (gst_pipeline_change_state),
23740         (gst_pipeline_get_clock_func):
23741         Clock refcounting fixes.
23742         Handle the case where preroll timed out more gracefully.
23743         
23744         * gst/gstsystemclock.c: (gst_system_clock_dispose):
23745         Clean up the internal thread in dispose. This is needed
23746         for subclasses that actually get disposed.
23747         
23748         * gst/schedulers/threadscheduler.c:
23749         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
23750         (gst_thread_scheduler_dispose):
23751         Free thread pool in dispose.
23752
23753 2005-06-28  Andy Wingo  <wingo@pobox.com>
23754
23755         * tests/network-clock-utils.scm (debug, print-event): New utils.
23756
23757         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
23758         (*packet-loss*): Unified loss probability.
23759         (network-time): Report out-of-band events.
23760
23761         * tests/plot-data: Add support for out-of-band events. Hack it
23762         into this script instead of passing it down the pipe; should fix
23763         this later.
23764
23765 2005-06-28  Wim Taymans  <wim@fluendo.com>
23766
23767         * docs/gst/gstreamer.types:
23768         * docs/gst/tmpl/gstbasesrc.sgml:
23769         * docs/gst/tmpl/gstpad.sgml:
23770         Docs fixes.
23771
23772 2005-06-28  Wim Taymans  <wim@fluendo.com>
23773
23774         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23775         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
23776         (gst_proxy_pad_do_fixatecaps):
23777         Correctly proxy the check_pull_range function.
23778
23779 2005-06-28  Andy Wingo  <wingo@pobox.com>
23780
23781         * tests/network-clock.scm: Removed need for slib.
23782         
23783 2005-06-28  Wim Taymans  <wim@fluendo.com>
23784
23785         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
23786         (gst_basesink_preroll_queue_flush):
23787         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
23788         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
23789         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23790         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23791         (gst_proxy_pad_set_property):
23792         * gst/gstpad.c:
23793         * gst/gstpad.h:
23794         * gst/gstqueue.c: (gst_queue_init):
23795         The deprecated pad loop function is removed now.
23796
23797 2005-06-28  Andy Wingo  <wingo@pobox.com>
23798
23799         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
23800         New parameters, simulate network packet loss.
23801
23802         * tests/network-clock-utils.scm: Initialize the RNG.
23803
23804 2005-06-28  Wim Taymans  <wim@fluendo.com>
23805
23806         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
23807         (gst_basesink_event), (gst_basesink_deactivate):
23808         Flushing the preroll queue always needs to unlock the waiters.
23809
23810 2005-06-28  Edward Hervey  <edward@fluendo.com>
23811
23812         * gst/gstpipeline.c: (gst_pipeline_send_event): 
23813         Wheen a seek was successful on a pipeline, set the stream_time to the
23814         seek offset in order to have a synchronized stream_time.
23815
23816 2005-06-28  Wim Taymans  <wim@fluendo.com>
23817
23818         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
23819         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
23820         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
23821         (gst_proxy_pad_do_fixatecaps):
23822         Call wrapper function instead of just calling the function
23823         pointers. This takes care of any locking and whatmore.
23824
23825 2005-06-28  Wim Taymans  <wim@fluendo.com>
23826
23827         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
23828         (gst_pad_pull_range):
23829         * gst/gstpad.h:
23830         CONNECTED -> LINKED.
23831
23832 2005-06-28  Andy Wingo  <wingo@pobox.com>
23833
23834         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
23835         source-munging commit!!!
23836
23837         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
23838         (gst_object_sink): Take gpointer arguments, not GstObject --
23839         avoids casts. Like GLib.
23840
23841         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
23842         activate.
23843
23844 2005-06-27  Andy Wingo  <wingo@pobox.com>
23845
23846         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
23847         remaining buffer.
23848
23849         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
23850         returns a sorted copy of the trace list.
23851         (gst_alloc_trace_print_live): New API, only prints traces with
23852         live objects. Sort the list.
23853         (gst_alloc_trace_print_all): Sort the list.
23854         (gst_alloc_trace_print): Align columns.
23855
23856         * gst/elements/gstttypefindelement.c:
23857         * gst/elements/gsttee.c:
23858         * gst/base/gstbasesrc.c:
23859         * gst/base/gstbasesink.c:
23860         * gst/base/gstbasetransform.c:
23861         * gst/gstqueue.c: Adapt for pad activation changes.
23862
23863         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
23864         sched.
23865         (gst_pipeline_dispose): Drop ref on sched.
23866
23867         * gst/gstpad.c (gst_pad_init): Set the default activate func.
23868         (gst_pad_activate_default): Push mode by default.
23869         (pre_activate_switch, post_activate_switch): New stubs, things to
23870         do before and after switching activation modes on pads.
23871         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
23872         the pad's activate function to choose which mode to activate.
23873         Shortcut on deactivation and call the right function directly.
23874         (gst_pad_activate_pull): New API, (de)activates a pad in pull
23875         mode.
23876         (gst_pad_activate_push): New API, same for push mode.
23877         (gst_pad_set_activate_function) 
23878         (gst_pad_set_activatepull_function) 
23879         (gst_pad_set_activatepush_function): Setters for new API.
23880
23881         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
23882         Trace all miniobjects.
23883         (gst_mini_object_make_writable): Unref the arg if we copy, like
23884         gst_caps_make_writable.
23885
23886         * gst/gstmessage.c (_gst_message_initialize): No trace init.
23887
23888         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
23889         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
23890         Adapt for new pad API.
23891
23892         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
23893
23894         * gst/gstelement.h:
23895         * gst/gstelement.c (gst_element_iterate_src_pads) 
23896         (gst_element_iterate_sink_pads): New API functions.
23897         
23898         * gst/gstelement.c (iterator_fold_with_resync): New utility,
23899         should fold into gstiterator.c in some form.
23900         (gst_element_pads_activate): Simplified via use of fold and
23901         delegation of decisions to gstpad->activate.
23902
23903         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
23904         help in debugging.
23905
23906         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
23907         class once in init, like gstmessage. Didn't run into this issue
23908         but it seems correct. Don't initialize a trace, gstminiobject does
23909         that.
23910
23911         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
23912         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
23913         to the bus.
23914         (assert_live_count): New util function, uses alloc traces to check
23915         cleanup.
23916
23917         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
23918         To be modified when unlink drops the internal pad.
23919
23920 2005-06-27  Wim Taymans  <wim@fluendo.com>
23921
23922         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
23923         (gst_bin_change_state):
23924         Cleanup the get_state() function a little, make sure it
23925         iterates the same set of elements.
23926         Added stub iterate_state_order().
23927
23928 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
23929
23930         * docs/gst/gstreamer-docs.sgml:
23931         * docs/gst/gstreamer-sections.txt:
23932         * docs/gst/gstreamer.types:
23933         * docs/gst/tmpl/gstbasesink.sgml:
23934         * docs/gst/tmpl/gstbasesrc.sgml:
23935         * docs/gst/tmpl/gstbasetransform.sgml:
23936         * docs/gst/tmpl/gstelement.sgml:
23937         * docs/gst/tmpl/gstiterator.sgml:
23938         * gst/base/gstbasesrc.c:
23939         * gst/base/gstbasesrc.h:
23940         * gst/base/gstbasetransform.h:
23941         * gst/gstelement.c:
23942         * gst/gstiterator.h:
23943           adding basetransform and iterator docs
23944
23945 2005-06-27  Andy Wingo  <wingo@pobox.com>
23946
23947         * docs/design/part-activation.txt: Notes on how activation should
23948         work -- not quite implemented yet.
23949
23950 2005-06-25  Wim Taymans  <wim@fluendo.com>
23951
23952         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
23953         At least get the chain function correct, needs more
23954         fixing.
23955
23956 2005-06-25  Wim Taymans  <wim@fluendo.com>
23957
23958         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23959         (gst_basesink_handle_object), (gst_basesink_event),
23960         (gst_basesink_do_sync), (gst_basesink_handle_event),
23961         (gst_basesink_change_state):
23962         * gst/gsttask.h:
23963         Right, two problems here: ghostpads don't take locks and
23964         glib _rec_mutex_lock_full() with depth==0 still locks.
23965         Catch illegal locking and g_warn them.
23966
23967 2005-06-25  Wim Taymans  <wim@fluendo.com>
23968
23969         * check/states/sinks.c: (START_TEST), (gst_object_suite):
23970         Have to check for completion now...
23971
23972 2005-06-25  Wim Taymans  <wim@fluendo.com>
23973
23974         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
23975         (gst_basesink_handle_object), (gst_basesink_event),
23976         (gst_basesink_do_sync), (gst_basesink_handle_event),
23977         (gst_basesink_change_state):
23978         * gst/gstpad.h:
23979         Unlock STREAM_LOCK whatever the recursion was.
23980
23981 2005-06-25  Wim Taymans  <wim@fluendo.com>
23982
23983         * gst/base/gstbasesink.c: (gst_basesink_set_property),
23984         (gst_basesink_preroll_queue_empty),
23985         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
23986         (gst_basesink_event), (gst_basesink_do_sync),
23987         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
23988         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
23989         (gst_basesink_change_state):
23990         Reworked the base sink, handle event and buffer serialisation
23991         correctly and removed possible deadlock.
23992         Handle EOS correctly.
23993
23994 2005-06-25  Wim Taymans  <wim@fluendo.com>
23995
23996         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
23997         (gst_pipeline_change_state):
23998         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23999         Allow elements to post EOS in the state change function.
24000         Fix up -launch, make it exit the poll loop when the
24001         pipeline actually changed state.
24002         Fix up warning parsing in -launch.
24003
24004 2005-06-25  Wim Taymans  <wim@fluendo.com>
24005
24006         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
24007         (gst_tee_sink_activate):
24008         Core takes STREAM_LOCK for us now.
24009
24010 2005-06-25  Wim Taymans  <wim@fluendo.com>
24011
24012         * gst/gstelement.c: (gst_element_get_state_func),
24013         (gst_element_set_state):
24014         * gst/gstelement.h:
24015         * gst/gstmessage.c: (gst_message_parse_error),
24016         (gst_message_parse_warning):
24017         Keep track of current target state while performing a state
24018         change so that subclasses can do something interesting.
24019         Fix parsing of warning/error messages when GError is NULL.
24020
24021 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24022
24023         * docs/gst/Makefile.am:
24024         * docs/gst/gstreamer-docs.sgml:
24025         * docs/gst/gstreamer-sections.txt:
24026         * docs/gst/gstreamer.types:
24027         * docs/gst/tmpl/gstbasesink.sgml:
24028         * docs/gst/tmpl/gstbasesrc.sgml:
24029         * docs/gst/tmpl/gstbin.sgml:
24030         * docs/gst/tmpl/gstcompat.sgml:
24031         * docs/gst/tmpl/gstfakesink.sgml:
24032         * docs/gst/tmpl/gstfakesrc.sgml:
24033         * docs/gst/tmpl/gstfilesink.sgml:
24034         * docs/gst/tmpl/gstfilesrc.sgml:
24035         * docs/gst/tmpl/gstindex.sgml:
24036         * docs/manual/appendix-quotes.xml:
24037         * gst/base/gstbasesrc.h:
24038         * gst/elements/gstfakesrc.h:
24039         * gst/gstmessage.h:
24040           start pulling in base classes and elements in our docs
24041
24042 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
24043
24044         * docs/gst/Makefile.am:
24045         * docs/libs/Makefile.am:
24046           fixed make distcheck with gtk-doc 1.3
24047
24048 2005-06-23  Wim Taymans  <wim@fluendo.com>
24049
24050         * gst/gstelement.c: (gst_element_get_state_func),
24051         (gst_element_set_state), (gst_element_change_state):
24052         When the state did not change, also report NO_PREROLL
24053         when it matters.
24054
24055 2005-06-23  Wim Taymans  <wim@fluendo.com>
24056
24057         * gst/gstpad.c: (gst_pad_event_default):
24058         * gst/gstqueue.c: (gst_queue_loop):
24059         No unsafe task pausing please.
24060
24061 2005-06-23  Wim Taymans  <wim@fluendo.com>
24062
24063         * gst/schedulers/threadscheduler.c:
24064         (gst_thread_scheduler_task_start),
24065         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
24066         Ref the task before pushing it on the threadpool. This
24067         makes sure that we have a ref when the threadfunction is
24068         actually called.
24069
24070 2005-06-23  Andy Wingo  <wingo@pobox.com>
24071
24072         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
24073         offset is greater than the file's size.
24074
24075         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
24076         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
24077         * gst/gstobject.c (gst_object_class_init): Make the class lock
24078         recursive. Wim won't let me drop deep_notify. Decodebin works
24079         again, whoopdy doo.
24080
24081         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
24082         internal pad, and hacks accordingly. Doesn't do it on the target
24083         pad because we change its caps. Probably catches all cases of
24084         interest tho.
24085         (gst_ghost_pad_set_property): Connect to notify::caps as
24086         appropritate.
24087
24088         * tests/network-clock.scm (plot-simulation): Pipe data to the
24089         elite python skript.
24090
24091         * tests/network-clock-utils.scm (define-parameter): New macro,
24092         defines a parameter that can be set via the command line.
24093         (set-parameter!, parse-parameter-arguments): Command line args
24094         parser.
24095
24096         * tests/plot-data: Simple matplotlib-based plotter, takes input on
24097         stdin.
24098
24099 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
24100
24101         * gst/elements/gsttypefindelement.c:
24102         (gst_type_find_element_handle_event):
24103           Don't restart typefinding on a discont.
24104         * gst/gstelement.c: (gst_element_set_state):
24105           Debug spelling fix.
24106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
24107           Allow changing mode of an active pad.
24108           Debug output fixes.
24109         * gst/registries/gstlibxmlregistry.c: (load_feature):
24110           Don't cast a static pad template to a normal pad template.
24111
24112 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24113
24114         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
24115         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
24116           remove gst_strtoll completely, since it didn't actually do
24117           anything more than what g_ascii_strtoull already does.
24118           check for range errors when deserializing
24119           do a cast for the unsigned cases; but further fixing needs
24120           a decision on what the interpretation of "(int)" and
24121           deserialization should be for values that fall outside the
24122           type's boundaries (ie, refuse, or interpret as casting)
24123
24124 2005-06-23  Wim Taymans  <wim@fluendo.com>
24125
24126         * check/Makefile.am:
24127         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
24128         * docs/design/part-live-source.txt:
24129         * docs/design/part-states.txt:
24130         * gst/base/gstbasesrc.c: (gst_basesrc_init),
24131         (gst_basesrc_set_live), (gst_basesrc_is_live),
24132         (gst_basesrc_get_range), (gst_basesrc_activate),
24133         (gst_basesrc_change_state):
24134         * gst/base/gstbasesrc.h:
24135         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24136         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
24137         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
24138         * gst/gstelement.c: (gst_element_get_state_func),
24139         (gst_element_set_state):
24140         * gst/gstelement.h:
24141         * gst/gsttypes.h:
24142         * tools/gst-launch.c: (event_loop), (main):
24143         Added support for live sources and other elements that
24144         cannot do preroll.
24145         Updated design docs, added live-source design doc.
24146         Implemented live source functionality in basesrc
24147         Fix error condition in _bin_get_state()
24148         Implement live source handling in -launch.
24149         Added check for live sources.
24150         Fixed case in GstBin where elements were changed state
24151         multiple times.
24152
24153
24154 2005-06-23  Andy Wingo  <wingo@pobox.com>
24155
24156         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
24157         borken refcounting.
24158
24159         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
24160         gst_caps_replace takes care of this for us.
24161
24162         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
24163         gst_pad_set_caps on the target, not just its setcaps() function.
24164
24165         * tests/network-clock.scm: 
24166         * tests/network-clock-utils.scm: A network clock simulator.
24167         Something of an algorithmic testbed before doing something in C.
24168
24169 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24170
24171         * check/Makefile.am:
24172         * check/gst/capslist.h:
24173           copy over from 0.8, and add two with bitmasks specified with
24174           (int) 0xFF...
24175         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
24176           add test to parse everything from capslist.h
24177         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
24178         (main):
24179           add test for structure deserialization
24180         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
24181           add tests for deserialization of strings to int types
24182         * gst/gststructure.c: (gst_structure_nth_field_name):
24183         * gst/gststructure.h:
24184           add a way to get the name of a field referenced by index
24185         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
24186           instead of checking if the resulting long long lies between
24187           min and max, we check if the long long would fit into
24188           a number of bytes for the final type.
24189           This fixes cases where a string represents 2^32 - 1, which
24190           when cast to int would be the (valid) -1, but is bigger than
24191           G_MAXINT
24192
24193 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24194
24195         * gst/parse/grammar.y:
24196           add a log line for type deserialization
24197
24198 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24199
24200         * check/gst/gstvalue.c: (START_TEST):
24201         * gst/gstvalue.c: (gst_value_deserialize):
24202           return long long, not int, so gint64 deserialization actually
24203           works.  Is there any flag that makes the compiler check this ?
24204           Fixes #308559
24205
24206 2005-06-22  Wim Taymans  <wim@fluendo.com>
24207
24208         * gst/gstbuffer.h:
24209         Added convenience macros for setting buffers in GValue.
24210
24211 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24212
24213         * check/gst/.cvsignore:
24214         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
24215           add a test deserializing int64, and comment part out because
24216           it fails, yay !
24217
24218 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24219
24220         * check/Makefile.am:
24221         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
24222         * testsuite/Makefile.am:
24223         * testsuite/caps/Makefile.am:
24224         * testsuite/caps/value_serialize.c:
24225         * testsuite/test_gst_init.c:
24226           move a value_serialize test over
24227
24228 2005-06-20  Wim Taymans  <wim@fluendo.com>
24229
24230         * gst/gstpad.c:
24231         Small doc updates.
24232         
24233         * gst/gstvalue.c: (gst_value_compare_buffer),
24234         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
24235         (gst_value_compare_flags), (gst_value_serialize_flags),
24236         (gst_value_deserialize_flags), (_gst_value_initialize):
24237         Fix serialisation of buffers, they are not boxed types anymore
24238
24239 2005-06-20  Wim Taymans  <wim@fluendo.com>
24240
24241         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
24242         Testcase to show error in buffer-on-caps serialisation.
24243
24244 2005-06-20  Andy Wingo  <wingo@pobox.com>
24245
24246         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
24247         will be adding to later.
24248
24249         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
24250         if its socks fill with rocks.
24251         (gst_system_clock_obtain): Set the name on object construction.
24252         Avoid double-checked locking.
24253
24254 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
24255
24256         * gst/gsturi.c: (gst_element_make_from_uri):
24257           Fix potential endless loop.
24258
24259 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24260
24261         * check/Makefile.am:
24262           add gsttag
24263         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
24264         (main):
24265           move over from testsuite dir and clean up
24266         * configure.ac:
24267         * gst/gsttag.c:
24268         * testsuite/Makefile.am:
24269         * testsuite/tags/.cvsignore:
24270         * testsuite/tags/Makefile.am:
24271         * testsuite/tags/merge.c:
24272           remove testsuite/tags
24273
24274 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24275
24276         * docs/gst/gstreamer-sections.txt:
24277         * docs/gst/tmpl/gstenumtypes.sgml:
24278         * win32/gstenumtypes.c:
24279           clean up documentation build a little
24280
24281 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24282
24283         * check/gstcheck.h:
24284           add macros for checking refcounts on objects and caps
24285         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
24286           add some more unit tests
24287         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
24288         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
24289           fix leaked refcounts (I hope :)) so unittest works
24290         * gst/gstpad.h:
24291           whitespace removal
24292
24293 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24294
24295         * configure.ac: back to HEAD
24296
24297 === release 0.9.1 ===
24298
24299 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24300
24301         * NEWS:
24302         * RELEASE:
24303           updated
24304
24305 2005-06-17  Andy Wingo  <wingo@pobox.com>
24306
24307         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
24308         assert; it's always possible that the pad gets deactivated in
24309         between the checks in gstpad.c and the implementation. Rely on
24310         finish_preroll() to return a FLUSHING or similar instead of on the
24311         assert.
24312         
24313         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
24314         clock and post an EOS message if we come out of finish_preroll in
24315         the playing state.
24316
24317 2005-06-16  David Schleef  <ds@schleef.org>
24318
24319         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24320         (gst_capsfilter_set_property): Allow NULL as possible value
24321         for filter_caps property, indicating GST_CAPS_ANY.
24322
24323 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24324
24325         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
24326           fix debug output
24327         * gst/schedulers/Makefile.am:
24328           use libgst prefix
24329         * gstreamer.spec.in:
24330           fix spec for it
24331
24332 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24333
24334         * gstreamer.spec.in:
24335           clean up
24336
24337 2005-06-08  Andy Wingo  <wingo@pobox.com>
24338
24339         * gst/gstutils.c: RPAD fixes all around.
24340         (gst_element_link_pads): Refcounting fixes.
24341
24342         * tools/gst-inspect.c:
24343         * tools/gst-xmlinspect.c:
24344         * parse/grammar.y:
24345         * gst/base/gsttypefindhelper.c:
24346         * gst/base/gstbasesink.c:
24347         * gst/gstqueue.c: RPAD fixes.
24348
24349         * gst/gstghostpad.h:
24350         * gst/gstghostpad.c: New ghost pad implementation as full proxy
24351         pads. The tricky thing is they provide both source and sink
24352         interfaces, since they proxy the internal pad for the external
24353         pad, and vice versa. Implement with lower-level ProxyPad objects,
24354         with the interior proxy pad as a child of the exterior ghost pad.
24355         Should write a doc on this.
24356         
24357         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
24358         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
24359         gst_object API.
24360         
24361         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
24362         pads are real pads. No ghost pads in this file. Not documenting
24363         the myriad s/RPAD/PAD/ and REALIZE fixes.
24364         (gst_pad_class_init): Add properties for "direction" and
24365         "template". Both are construct-only, so they can't change during
24366         the life of the pad. Fixes properly deriving from GstPad.
24367         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
24368         derived objects, just set properties when creating the objects via
24369         g_object_new.
24370         (gst_pad_get_parent): Implement as a function, return NULL if the
24371         parent is not an element.
24372         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
24373         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
24374         
24375         * gst/gstobject.c (gst_object_class_init): Make name a construct
24376         property. Don't set it in the object init.
24377
24378         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
24379         with UNKNOWN direction.
24380         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
24381         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
24382         (gst_element_remove_pad): Remove ghost-pad special cases.
24383         (gst_element_pads_activate): Remove rpad cruft.
24384
24385         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
24386         catch the pad's-parent-not-an-element case.
24387
24388         * gst/gst.h: Include gstghostpad.h.
24389
24390         * gst/gst.c (init_post): No more real, ghost pads.
24391
24392         * gst/Makefile.am: Add gstghostpad.[ch].
24393
24394         * check/Makefile.am:
24395         * check/gst/gstbin.c:
24396         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
24397         into a bin creates ghost pads, and that the refcounts are right.
24398         Partly moved from gstbin.c.
24399
24400 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24401
24402         * check/gst-libs/.cvsignore:
24403         * check/gst/.cvsignore:
24404         * check/pipelines/.cvsignore:
24405           ignore more
24406         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
24407         (START_TEST), (cleanup_suite), (main):
24408           add some tests related to cleanup after running pipelines
24409
24410 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24411
24412         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
24413           add a testsuite for GstBuffer
24414
24415 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24416
24417         * gst/gstminiobject.h:
24418           add defines for accessing the refcount
24419
24420 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
24421
24422         * Makefile.am: added support for html unit test coverage reports
24423
24424 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
24425
24426         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
24427           Free existing caps if the capsfilter changes. Add a FIXME about
24428           setting those caps on the pads.
24429
24430         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
24431           Before adding a ghost pad to a parent bin, check that there isn't
24432           already one for the element on the bin. Prevents infinite recursion
24433           when using decodebin in parse pipelines. Andy says he'll rewrite the
24434           way this works anyway, so ignore the hack.
24435
24436 2005-06-02  Andy Wingo  <wingo@pobox.com>
24437
24438         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
24439         file size, pass it on to the type find helper.
24440
24441         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
24442         segment_start and segment_end properly according to the seek
24443         method. Segment_end is still a bit flaky because offset can be
24444         negative for CUR and END cases, but it takes -1 as an "unset"
24445         value.
24446
24447 2005-06-02  Wim Taymans  <wim@fluendo.com>
24448
24449         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
24450         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
24451         (gst_basesink_activate):
24452         * gst/base/gstbasesink.h:
24453         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24454         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24455         (gst_pad_query), (gst_pad_start_task):
24456         * gst/gstpad.h:
24457         * gst/gstqueue.c: (gst_queue_bufferalloc),
24458         (gst_queue_handle_sink_event), (gst_queue_chain):
24459         Bufferalloc: return GstFlowReturn to more accuratly report
24460         why allocation failed.
24461
24462 2005-06-02  Wim Taymans  <wim@fluendo.com>
24463
24464         * gst/gstpipeline.c: (gst_pipeline_send_event):
24465         Take snapshot of state without blocking.
24466
24467 2005-06-02  Wim Taymans  <wim@fluendo.com>
24468
24469         * docs/design/part-TODO.txt:
24470         * docs/design/part-caps.txt:
24471         * docs/design/part-clocks.txt:
24472         * docs/design/part-negotiation.txt:
24473         * docs/design/part-preroll.txt:
24474         Small doc updates 
24475
24476 2005-05-30  Wim Taymans  <wim@fluendo.com>
24477
24478         * gst/elements/gstidentity.c: (gst_identity_event),
24479         (gst_identity_transform), (gst_identity_get_property):
24480         Protect last_message property as it is accessed from
24481         multiple threads.
24482
24483 2005-05-30  Wim Taymans  <wim@fluendo.com>
24484
24485         * gst/gstelement.c: (gst_element_init),
24486         (gst_element_pads_activate), (gst_element_change_state):
24487         Slicker pad activation code.
24488
24489 2005-05-30  Wim Taymans  <wim@fluendo.com>
24490
24491         * gst/Makefile.am:
24492         * gst/gstelement.h:
24493         * gst/gstelementfactory.h:
24494         * gst/gsttypes.h:
24495         Move elementfactory methods to separate .h file.
24496
24497 2005-05-30  Wim Taymans  <wim@fluendo.com>
24498
24499         * docs/design/part-overview.txt:
24500         * gst/gstsystemclock.h:
24501         Small typo fixes, doc updates.
24502
24503 2005-05-30  Wim Taymans  <wim@fluendo.com>
24504
24505         * gst/gst.c: (gst_init_get_popt_table), (init_post),
24506         (init_popt_callback):
24507         Remove cpu-opt flag.
24508
24509 2005-05-30  Wim Taymans  <wim@fluendo.com>
24510
24511         * gst/gstbuffer.c: (gst_subbuffer_finalize),
24512         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
24513         * gst/gstbuffer.h:
24514         Avoid typechecking in places where not needed.
24515         Added accessor for malloc_data.
24516
24517 2005-05-30  Wim Taymans  <wim@fluendo.com>
24518
24519         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
24520         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
24521         (gst_pad_configure_sink), (gst_pad_configure_src),
24522         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
24523         (gst_pad_start_task):
24524         Propagate errors from _set_caps() in configure_src/sink
24525         functions instead of returning TRUE.
24526         FLUSH events can travel up and downstream
24527
24528
24529 2005-05-30  Wim Taymans  <wim@fluendo.com>
24530
24531         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24532         (gst_basesink_activate):
24533         Handle EOS in preroll.
24534
24535 2005-05-30  Wim Taymans  <wim@fluendo.com>
24536
24537         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24538         (gst_queue_loop), (gst_queue_handle_src_event):
24539         Remove old pieces of code
24540         Flushing the queue in an upstream event is a very bad idea.
24541
24542 2005-05-26  Andy Wingo  <wingo@pobox.com>
24543
24544         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
24545         gst_value_set_mini_object so as to add a ref on the object (which
24546         will be removed when the value is unset).
24547
24548         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
24549         arg type in ::handoff.
24550
24551         * gst/gstelement.c (gst_element_change_state): Also deactivate
24552         pads in READY->NULL, just in case the element didn't make it to
24553         PAUSED. Wingo tested, Wim approved.
24554
24555 2005-05-26  Wim Taymans  <wim@fluendo.com>
24556
24557         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24558         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
24559         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
24560         A flushing pad cannot be used to alloc_buffer from.
24561
24562 2005-05-26  Wim Taymans  <wim@fluendo.com>
24563
24564         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
24565         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
24566         (gst_bus_source_dispatch), (gst_bus_source_finalize),
24567         (gst_bus_create_watch), (gst_bus_add_watch_full):
24568         * gst/gstbus.h:
24569         Implement a real GSource and use g_main_context_wakeup() to
24570         signal new messages instead of the socketpair.
24571
24572 2005-05-25  Wim Taymans  <wim@fluendo.com>
24573
24574         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
24575         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
24576         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24577         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24578         (gst_pad_send_event), (gst_pad_start_task):
24579         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
24580         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
24581         (gst_queue_sink_activate), (gst_queue_src_activate),
24582         (gst_queue_change_state):
24583         * gst/gstqueue.h:
24584         Fix state changes for non sinks. We now change sinks, then elements
24585         with unconnected srcpads, then the rest.
24586         More efficient queue unlocking in flush and state changes.
24587         Set the pad activate mode even if it does not have an activate
24588         function.
24589
24590 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24591
24592         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
24593           Don't go in pull mode for non-seekable sources.
24594         * gst/elements/gsttypefindelement.h:
24595         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
24596         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
24597         (free_entry), (stop_typefinding),
24598         (gst_type_find_element_handle_event), (find_peek),
24599         (gst_type_find_element_chain), (do_pull_typefind),
24600         (gst_type_find_element_change_state):
24601           Allow typefinding (w/o seeking) in push-mode, simplified version
24602           of what was in 0.8.
24603         * gst/gstutils.c: (gst_buffer_join):
24604         * gst/gstutils.h:
24605           gst_buffer_join() from 0.8.
24606
24607 2005-05-25  Wim Taymans  <wim@fluendo.com>
24608
24609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
24610         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
24611         (gst_pad_send_event), (gst_pad_start_task):
24612         Disable attempt at mode switching until it is figured out.
24613
24614 2005-05-25  Wim Taymans  <wim@fluendo.com>
24615
24616         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
24617         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
24618         (gst_basesink_finish_preroll), (gst_basesink_chain),
24619         (gst_basesink_loop), (gst_basesink_activate),
24620         (gst_basesink_change_state):
24621         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
24622         (gst_basesrc_get_range), (gst_basesrc_loop),
24623         (gst_basesrc_activate):
24624         * gst/elements/gsttee.c: (gst_tee_sink_activate):
24625         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
24626         (gst_real_pad_init), (gst_real_pad_set_property),
24627         (gst_real_pad_get_property), (gst_pad_set_active),
24628         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
24629         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
24630         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
24631         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
24632         (gst_pad_event_default_dispatch), (gst_pad_event_default),
24633         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
24634         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
24635         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
24636         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
24637         (gst_pad_stop_task):
24638         * gst/gstpad.h:
24639         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24640         (gst_queue_loop), (gst_queue_src_activate):
24641         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
24642         (gst_task_get_state):
24643         * gst/gsttask.h:
24644         * gst/schedulers/threadscheduler.c:
24645         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
24646         Implement gst_pad_pause/start/stop_task(), take STREAM lock
24647         in task function.
24648         Remove ACTIVE pad flag, use FLUSHING everywhere
24649         Added _pad_chain(), _pad_get_range() to call chain/getrange 
24650         functions.
24651         Add locks around IS_FLUSHING when reading.
24652         Take STREAM lock in chain(), get_range() functions so plugins
24653         don't need to take it anymore.
24654         
24655
24656
24657 2005-05-25  Wim Taymans  <wim@fluendo.com>
24658
24659         * tools/gst-launch.c: (event_loop):
24660         Unref message after using its contents instead of
24661         before.
24662
24663 2005-05-24  Wim Taymans  <wim@fluendo.com>
24664
24665         * docs/design/draft-ghostpads.txt:
24666         * docs/design/draft-push-pull.txt:
24667         * docs/design/draft-query.txt:
24668         * docs/design/part-overview.txt:
24669         Docs updates, added general overview doc.
24670
24671 2005-05-21  David Schleef  <ds@schleef.org>
24672
24673         * docs/gst/tmpl/old/GstBin.sgml:
24674         * docs/gst/tmpl/old/GstBuffer.sgml:
24675         * docs/gst/tmpl/old/GstCaps.sgml:
24676         * docs/gst/tmpl/old/GstClock.sgml:
24677         * docs/gst/tmpl/old/GstCompat.sgml:
24678         * docs/gst/tmpl/old/GstData.sgml:
24679         * docs/gst/tmpl/old/GstElement.sgml:
24680         * docs/gst/tmpl/old/GstEvent.sgml:
24681         * docs/gst/tmpl/old/GstIndex.sgml:
24682         * docs/gst/tmpl/old/GstStructure.sgml:
24683         * docs/gst/tmpl/old/GstTag.sgml:
24684         * docs/gst/tmpl/old/cothreads.sgml:
24685         * docs/gst/tmpl/old/cothreads_compat.sgml:
24686         * docs/gst/tmpl/old/gettext.sgml:
24687         * docs/gst/tmpl/old/gobject2gtk.sgml:
24688         * docs/gst/tmpl/old/grammar.tab.sgml:
24689         * docs/gst/tmpl/old/gst-i18n-app.sgml:
24690         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
24691         * docs/gst/tmpl/old/gst_private.sgml:
24692         * docs/gst/tmpl/old/gstaggregator.sgml:
24693         * docs/gst/tmpl/old/gstarch.sgml:
24694         * docs/gst/tmpl/old/gstatomic_impl.sgml:
24695         * docs/gst/tmpl/old/gstbufferstore.sgml:
24696         * docs/gst/tmpl/old/gstdata_private.sgml:
24697         * docs/gst/tmpl/old/gstdisksink.sgml:
24698         * docs/gst/tmpl/old/gstdisksrc.sgml:
24699         * docs/gst/tmpl/old/gstelementfactory.sgml:
24700         * docs/gst/tmpl/old/gstextratypes.sgml:
24701         * docs/gst/tmpl/old/gstfakesink.sgml:
24702         * docs/gst/tmpl/old/gstfakesrc.sgml:
24703         * docs/gst/tmpl/old/gstfdsink.sgml:
24704         * docs/gst/tmpl/old/gstfdsrc.sgml:
24705         * docs/gst/tmpl/old/gstfilesink.sgml:
24706         * docs/gst/tmpl/old/gstfilesrc.sgml:
24707         * docs/gst/tmpl/old/gsthttpsrc.sgml:
24708         * docs/gst/tmpl/old/gstidentity.sgml:
24709         * docs/gst/tmpl/old/gstindexfactory.sgml:
24710         * docs/gst/tmpl/old/gstmarshal.sgml:
24711         * docs/gst/tmpl/old/gstmd5sink.sgml:
24712         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
24713         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
24714         * docs/gst/tmpl/old/gstpadtemplate.sgml:
24715         * docs/gst/tmpl/old/gstpipefilter.sgml:
24716         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
24717         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
24718         * docs/gst/tmpl/old/gstshaper.sgml:
24719         * docs/gst/tmpl/old/gstspider.sgml:
24720         * docs/gst/tmpl/old/gstspideridentity.sgml:
24721         * docs/gst/tmpl/old/gststatistics.sgml:
24722         * docs/gst/tmpl/old/gsttee.sgml:
24723         * docs/gst/tmpl/old/gsttimecache.sgml:
24724         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
24725         * docs/gst/tmpl/old/gstxmlregistry.sgml:
24726         * docs/gst/tmpl/old/gthread-cothreads.sgml:
24727         * docs/gst/tmpl/old/types.sgml:
24728           I didn't intend to add these or check them in.
24729
24730 2005-05-19  David Schleef  <ds@schleef.org>
24731
24732         * configure.ac: Use -no-common everywhere.  In a sane world, it
24733           would be the default in libtool, because without it, you can't
24734           build DLLs on Windows.
24735         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
24736         * docs/gst/gstreamer-sections.txt:
24737         * docs/gst/tmpl/gstcpu.sgml:
24738         * docs/gst/tmpl/gstdata.sgml:
24739         * docs/gst/tmpl/gstthread.sgml:
24740
24741 2005-05-19  David Schleef  <ds@schleef.org>
24742
24743         * gst/gstminiobject.c: (gst_value_set_mini_object),
24744         (gst_value_take_mini_object), (gst_value_get_mini_object):
24745         * gst/gstminiobject.h: Add GValue set/get functions.
24746
24747 2005-05-19  Wim Taymans  <wim@fluendo.com>
24748
24749         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
24750         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
24751         (gst_subbuffer_init), (gst_buffer_is_span_fast):
24752         * gst/gstbuffer.h:
24753         * gst/gstbus.c: (gst_bus_post):
24754         * gst/gstelement.c: (gst_element_get_random_pad):
24755         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
24756         Make subbufer unref the parent in finalize.
24757         some more debugging info.
24758
24759
24760 2005-05-19  Wim Taymans  <wim@fluendo.com>
24761
24762         * gst/base/gstbasesink.c: (gst_basesink_class_init),
24763         (gst_basesink_init), (gst_basesink_finalize),
24764         (gst_basesink_activate), (gst_basesink_change_state):
24765         Don't free preroll queue too early.
24766
24767 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24768
24769         * gst/Makefile.am:
24770         * gst/ROADMAP:
24771           Hi, I'm outdated. Please shoot me.
24772
24773 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24774
24775         * gst/gstpipeline.c: (gst_pipeline_send_event):
24776           Do not access variables after they have been deleted.
24777
24778 2005-05-19  Wim Taymans  <wim@fluendo.com>
24779
24780         * tools/gst-inspect.c: (print_plugin_features):
24781         A plugin feature does unfortunatly not use the
24782         object name yet...
24783
24784 2005-05-18  Wim Taymans  <wim@fluendo.com>
24785
24786         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
24787         Port _span() functions to new subbuffers.
24788
24789 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24790
24791         * gst/gstbin.c: (gst_bin_add_func):
24792           Fix clock settery in bins when adding kids after the clock has
24793           been selected.
24794
24795 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24796
24797         * gst/elements/gstidentity.c: (gst_identity_class_init):
24798           Workaround until signals support GstMiniObject.
24799
24800 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
24801
24802         * gst/gstbuffer.c:
24803         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
24804
24805 2005-05-18  Wim Taymans  <wim@fluendo.com>
24806
24807         * gst/base/Makefile.am:
24808         * gst/base/gstadapter.c: (gst_adapter_base_init),
24809         (gst_adapter_class_init), (gst_adapter_init),
24810         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
24811         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
24812         (gst_adapter_flush), (gst_adapter_available),
24813         (gst_adapter_available_fast):
24814         * gst/base/gstadapter.h:
24815         Ported and added adapter to the base classes.
24816
24817 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
24818
24819         * gst/gst.c:
24820         * gst/gstmessage.c:
24821           Make sure the class is reffed/unreffed once before threads can be
24822           used.  Fixes #304551.
24823
24824 2005-05-17  Wim Taymans  <wim@fluendo.com>
24825
24826         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
24827         (gst_basesink_chain_unlocked), (gst_basesink_activate):
24828         * gst/gstminiobject.c: (gst_mini_object_get_type),
24829         (gst_mini_object_free):
24830         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
24831         (gst_pad_push), (gst_pad_push_event):
24832         * gst/gstqueue.c: (gst_queue_change_state):
24833         Don't queue buffers in basesink when we are flushing.
24834         Unref buffer when flushing in basesink.
24835         Flush queue when going to READY
24836         Unref buffer when _push() returns an error.
24837         Don't free MiniObject instance when refcount is incremented
24838         in _finalize() so that we can recover objects.
24839
24840 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
24841
24842         * docs/manual/advanced-schedulers.xml:
24843         * docs/manual/appendix-checklist.xml:
24844         * docs/pwg/advanced-clock.xml:
24845         * docs/pwg/advanced-interfaces.xml:
24846         * docs/pwg/advanced-request.xml:
24847         * docs/pwg/advanced-types.xml:
24848         * docs/pwg/intro-preface.xml:
24849         * examples/plugins/example.c: (gst_example_get_type),
24850         (gst_example_class_init), (gst_example_chain),
24851         (gst_example_set_property), (gst_example_get_property),
24852         (gst_example_change_state), (plugin_init):
24853         * examples/plugins/example.h:
24854           small doc fixes
24855
24856 2005-05-17  Wim Taymans  <wim@fluendo.com>
24857
24858         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
24859         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
24860         * gst/gstqueue.c: (gst_queue_change_state):
24861         Clear queue when going to READY.
24862         Remove IN_SETCAPS flag too.
24863
24864 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
24865
24866         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
24867           Remove implicit cast from gboolean to GstElementStateReturn;
24868           make sure we still return failure in paused => ready case if
24869           the parent class fails to change state and our own stop 
24870           vfunc succeeds.
24871
24872 2005-05-17  Wim Taymans  <wim@fluendo.com>
24873
24874         * tools/gst-launch.c: (event_loop):
24875         Message was unreffed too soon.
24876
24877 2005-05-16  Andy Wingo  <wingo@pobox.com>
24878
24879         * gst/gstbin.c (sink_iterator_filter): Err... um...
24880
24881         * check/gst/gstbin.c (test_ghost_pads): New test for the
24882         ghosting-if-elements-not-in-same-bin behavior.
24883
24884 2005-05-16  David Schleef  <ds@schleef.org>
24885
24886         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
24887         accessing refcount directly.
24888
24889 2005-05-15  David Schleef  <ds@schleef.org>
24890
24891         * check/Makefile.am: remove GstData checks
24892         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
24893         * gst/Makefile.am: add miniobject, remove data
24894         * gst/gst.h: add miniobject, remove data
24895         * gst/gstdata.c: remove
24896         * gst/gstdata.h: remove
24897         * gst/gstdata_private.h: remove
24898         * gst/gsttypes.h: remove GstEvent and GstMessage
24899         * gst/gstelement.c: (gst_element_post_message): fix for API changes
24900         * gst/gstmarshal.list: change BOXED -> OBJECT
24901
24902         Implement GstMiniObject.
24903         * gst/gstminiobject.c:
24904         * gst/gstminiobject.h:
24905
24906         Modify to be subclasses of GstMiniObject.
24907         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
24908         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
24909         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
24910         (gst_subbuffer_get_type), (gst_subbuffer_init),
24911         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
24912         (gst_buffer_span):
24913         * gst/gstbuffer.h:
24914         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
24915         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
24916         (_gst_event_copy), (gst_event_new):
24917         * gst/gstevent.h:
24918         * gst/gstmessage.c: (_gst_message_initialize),
24919         (gst_message_get_type), (gst_message_class_init),
24920         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
24921         (gst_message_new), (gst_message_new_error),
24922         (gst_message_new_warning), (gst_message_new_tag),
24923         (gst_message_new_state_changed), (gst_message_new_application):
24924         * gst/gstmessage.h:
24925         * gst/gstprobe.c: (gst_probe_perform),
24926         (gst_probe_dispatcher_dispatch):
24927         * gst/gstprobe.h:
24928         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
24929         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
24930         (_gst_query_copy), (gst_query_new):
24931
24932         Update elements for GstData -> GstMiniObject changes
24933         * gst/gstquery.h:
24934         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
24935         (gst_queue_chain), (gst_queue_loop):
24936         * gst/elements/gstbufferstore.c:
24937         (gst_buffer_store_add_buffer_func),
24938         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
24939         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
24940         (gst_fakesink_render):
24941         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
24942         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
24943         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
24944         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
24945         (gst_filesrc_create_read):
24946         * gst/elements/gstidentity.c: (gst_identity_class_init):
24947         * gst/elements/gsttypefindelement.c:
24948         (gst_type_find_element_src_event), (free_entry_buffers),
24949         (gst_type_find_element_handle_event):
24950         * libs/gst/dataprotocol/dataprotocol.c:
24951         (gst_dp_header_from_buffer):
24952         * libs/gst/dataprotocol/dataprotocol.h:
24953         * libs/gst/dataprotocol/dp-private.h:
24954
24955 2005-05-15  David Schleef  <ds@schleef.org>
24956
24957         * gst/elements/gstelements.c: Don't include headers that were
24958         just removed.
24959
24960 2005-05-15  David Schleef  <ds@schleef.org>
24961
24962         * gst/elements/Makefile.am: Remove some elements that don't
24963         need to be in the core (or even exist at all).
24964         * gst/elements/gstaggregator.c:
24965         * gst/elements/gstaggregator.h:
24966         * gst/elements/gstmd5sink.c:
24967         * gst/elements/gstmd5sink.h:
24968         * gst/elements/gstmultifilesrc.c:
24969         * gst/elements/gstmultifilesrc.h:
24970         * gst/elements/gstpipefilter.c:
24971         * gst/elements/gstpipefilter.h:
24972         * gst/elements/gstshaper.c:
24973         * gst/elements/gstshaper.h:
24974         * gst/elements/gststatistics.c:
24975         * gst/elements/gststatistics.h:
24976         * po/POTFILES.in: Remove above files.
24977
24978 2005-05-14  Andy Wingo  <wingo@pobox.com>
24979
24980         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
24981         so as to get the refs right.
24982         (sink_iterator_filter): New function, wraps bin_element_is_sink,
24983         unreffing objects that don't pass the filter.
24984
24985         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
24986         gst_element_set_bus.
24987         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
24988         normal cases, this will destroy the bus.
24989
24990         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
24991         object.
24992
24993         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
24994         has no sinks.
24995
24996 2005-05-13  Andy Wingo  <wingo@pobox.com>
24997
24998         * gst/gstutils.c (gst_element_link_pads): Instead of calling
24999         gst_pad_link, call pad_link_maybe_ghosting,
25000         (pad_link_maybe_ghosting): Links pads, making sure that the
25001         elements being linked are in the same bin.
25002         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
25003         Helpers for pad_link_maybe_ghosting.
25004
25005 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
25006
25007         * configure.ac:
25008           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
25009
25010 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
25011
25012         * docs/design/part-element-source.txt:
25013           Mention GstPushSrc
25014
25015 2005-05-12  Wim Taymans  <wim@fluendo.com>
25016
25017         * gst/base/gstbasesink.c: (gst_basesink_init),
25018         (gst_basesink_activate):
25019         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
25020         (gst_basesrc_is_seekable):
25021         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
25022         (bin_element_is_sink), (gst_bin_change_state):
25023         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
25024         * gst/gstelement.h:
25025         Identify sinks by their flag to avoid overly complicated
25026         checks (fow now).
25027         Do state changes even for elements not reachable from the
25028         sinks.
25029         BaseSink is a sink now :)
25030         Some more debugging info in the basesrc.
25031
25032
25033 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25034
25035         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
25036           Implement _query on a bin, similar to _send_event.
25037
25038 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
25039
25040         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
25041           Discont event offset format should be GST_FORMAT_BYTES,
25042           not GST_FORMAT_TIME.
25043
25044 2005-05-12  Wim Taymans  <wim@fluendo.com>
25045
25046         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
25047         Same fix as Ronald's but without the signal. 
25048
25049 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25050
25051         * gst/gstutils.c: (gst_element_query_position):
25052           No, an element is not a pad.
25053
25054 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25055
25056         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
25057         (gst_bin_get_state):
25058           If a child is removed from a bin while we remove the child from
25059           the bin and while we're retrieving its state, signal this to the
25060           get_state function so we abort the wait (instead of waiting for
25061           a timeout) and can immediately re-iterate over all other elements.
25062
25063 2005-05-12  Wim Taymans  <wim@fluendo.com>
25064
25065         * gst/base/Makefile.am:
25066         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
25067         (gst_basesrc_start):
25068         * gst/base/gstbasesrc.h:
25069         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
25070         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
25071         (gst_pushsrc_init), (gst_pushsrc_create):
25072         * gst/base/gstpushsrc.h:
25073         Added is_seekable to BaseSrc
25074         Added simple PushSrc.
25075
25076 2005-05-11  Wim Taymans  <wim@fluendo.com>
25077
25078         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
25079         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25080         (gst_element_link_pads), (gst_element_query_position),
25081         (gst_element_query_convert), (intersect_caps_func),
25082         (gst_pad_query_position), (gst_pad_query_convert):
25083         Fix refcounting in utils function.
25084         No point in trying to activate a pad when it's added, it could
25085         be added from the state change function and then we deadlock, the
25086         element has to decide what to do.
25087
25088 2005-05-10  Andy Wingo  <wingo@pobox.com>
25089
25090         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
25091         *all* the arguments.
25092
25093         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
25094         stream lock if it's a FLUSH_DONE; normal flushes don't get the
25095         lock (according to the docs -- if this is wrong change the docs).
25096
25097         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
25098         flush messages in the NULL state.
25099
25100         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
25101         message immediately and return.
25102         (gst_bus_set_flushing): New function. If a bus is flushing, it
25103         flushes out any queued messages and immediately unrefs new
25104         messages. This is so when an element goes to NULL, all of the
25105         unhandled messages coming from it can be freed, and their
25106         references to the element dropped. In other words: message source
25107         ref considered harmful :P
25108
25109         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
25110         we're finished with it.
25111
25112         * gst/gstmessage.c (gst_message_new_state_changed): 
25113
25114 2005-05-10  Wim Taymans  <wim@fluendo.com>
25115
25116         * gst/gstvalue.c: (gst_value_compare_flags),
25117         (gst_value_serialize_flags), (gst_value_deserialize_flags),
25118         (_gst_value_initialize):
25119         Added flags serialize/deserialize/compare code.
25120
25121 2005-05-09  Andy Wingo  <wingo@pobox.com>
25122
25123         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
25124         Intersect the peer's caps with our caps.
25125
25126 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25127
25128         * gst/base/gsttypefindhelper.c: (helper_find_peek):
25129         * gst/elements/gsttypefindelement.c: (find_peek):
25130           Handle negative offsets better. Fixes decodebin.
25131
25132 2005-05-09  Wim Taymans  <wim@fluendo.com>
25133
25134         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
25135         (gst_base_transform_event):
25136         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
25137         Implement accept_caps.
25138         Fix silly lock/unlock mismatch in base class.
25139
25140 2005-05-09  Wim Taymans  <wim@fluendo.com>
25141
25142         * docs/design/draft-push-pull.txt:
25143         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
25144         * gst/elements/gstfilesink.c: (gst_filesink_init),
25145         (gst_filesink_query):
25146         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
25147         (gst_type_find_handle_src_query), (find_element_get_length):
25148         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
25149         * gst/gstelement.h:
25150         * gst/gstmessage.c:
25151         * gst/gstmessage.h:
25152         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
25153         (gst_real_pad_get_caps_unlocked),
25154         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
25155         (gst_pad_event_default_dispatch), (gst_pad_event_default),
25156         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
25157         (gst_real_pad_dispose), (gst_real_pad_finalize),
25158         (gst_pad_load_and_link), (gst_pad_save_thyself),
25159         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
25160         (gst_pad_check_pull_range), (gst_pad_pull_range),
25161         (gst_pad_template_get_type), (gst_pad_template_class_init),
25162         (gst_pad_template_init), (gst_pad_template_dispose),
25163         (name_is_valid), (gst_static_pad_template_get),
25164         (gst_pad_template_new), (gst_static_pad_template_get_caps),
25165         (gst_pad_template_get_caps), (gst_pad_set_element_private),
25166         (gst_pad_get_element_private), (gst_pad_start_task),
25167         (gst_pad_pause_task), (gst_pad_stop_task),
25168         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
25169         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
25170         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
25171         (gst_ghost_pad_new):
25172         * gst/gstpad.h:
25173         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
25174         (gst_query_new_position), (gst_query_set_position),
25175         (gst_query_parse_position), (gst_query_new_convert),
25176         (gst_query_set_convert), (gst_query_parse_convert):
25177         * gst/gstquery.h:
25178         * gst/gstqueryutils.c:
25179         * gst/gstqueryutils.h:
25180         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
25181         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
25182         (gst_queue_handle_src_query):
25183         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25184         (gst_element_query_position), (gst_element_query_convert),
25185         (intersect_caps_func), (gst_pad_query_position),
25186         (gst_pad_query_convert):
25187         * gst/gstutils.h:
25188         * tools/gst-inspect.c: (print_pad_info):
25189         * tools/gst-xmlinspect.c: (print_element_info):
25190         Remove old query functions. Ported old code.
25191         Added position/convert helper functions to gstutils.
25192         Reordered gstpad.c code, grouping relevant things.
25193         Remove gst_message_new(), always need to speficy a specific
25194         message.
25195
25196
25197 2005-05-09  Andy Wingo  <wingo@pobox.com>
25198
25199         * gst/gstiterator.h: Add some includes.
25200
25201         * gst/gstqueryutils.h: Include more headers.
25202
25203         * gst/gstpad.h:
25204         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
25205         some uses of gst_pad_query.
25206
25207         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
25208         NULL out parameters.
25209         (gst_query_new_position): New proc, allocates a new position
25210         query.
25211
25212         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
25213         gstqueryutils.c to the build.
25214
25215         * gst/gststructure.c (gst_structure_set_valist): Implement with
25216         the generic G_VALUE_COLLECT.
25217         
25218 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
25219
25220         * gst/Makefile.am: (gst_headers):
25221         Added gstqueryutils.h to the list of headers to install, that was
25222         a 'nachty' move wingo :)
25223
25224 2005-05-06  Andy Wingo  <wingo@pobox.com>
25225
25226         * gst/gstquery.h
25227         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
25228         GstData, init a memchunk.
25229         (standard_definitions): Add a few query types, deprecate a few.
25230         (gst_query_get_type): New proc.
25231         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
25232         implementation.
25233         (gst_query_new_application, gst_query_get_structure): New public
25234         procs.
25235
25236         * docs/design/draft-query.txt: Removed LINKS from the query types,
25237         because all the rest can be dispatched to other pads -- seemed
25238         ugly to have a query that couldn't be dispatched. internal_links
25239         is fine as a pad method.
25240
25241         * gst/gstpad.h: Add query2 as a pad method, add the new functions
25242         in gstpad.c, but maintain binary compatibility for the moment.
25243         Will fix before 0.9 is out.
25244
25245         * gst/gstqueryutils.c: 
25246         * gst/gstqueryutils.h: New files, implement 3 methods for each
25247         query type: parse_query, parse_response, and set. Probably need an
25248         allocator as well.
25249
25250         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
25251
25252         * gst/elements/gstfilesink.c (gst_filesink_query2):
25253         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
25254         query_types, and formats methods.
25255
25256         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
25257         (gst_pad_set_query2_function): New functions.
25258         (gst_real_pad_init): Set query2_default as the default query2
25259         function. Basically just dispatches to internally linked pads.
25260
25261         Needs review!
25262         
25263         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
25264         without using the atomic operations. Only one thread can possibly
25265         be accessing the data at this point. Changed so as to avoid
25266         gst_atomic operations.
25267
25268 2005-05-06  Wim Taymans  <wim@fluendo.com>
25269
25270         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
25271         Also set caps if we use the fallback buffer alloc.
25272
25273 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
25274
25275         * docs/gst/Makefile.am:
25276         * docs/gst/gstreamer-docs.sgml:
25277         * docs/gst/gstreamer-sections.txt:
25278         * docs/gst/tmpl/gstatomic.sgml:
25279         * docs/gst/tmpl/gstmemchunk.sgml:
25280         * testsuite/elements/struct_i386.h:
25281         * win32/GStreamer.vcproj:
25282         * win32/Makefile:
25283           Purge GstAtomic stuff from docs and win32 makefiles as well
25284
25285 2005-05-06  Wim Taymans  <wim@fluendo.com>
25286
25287         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
25288         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
25289         * gst/gstpad.c: (gst_pad_peer_get_caps):
25290         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
25291         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
25292         (gst_queue_src_activate), (gst_queue_change_state):
25293         * gst/gstqueue.h:
25294         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25295         (intersect_caps_func):
25296         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
25297         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
25298         Some fixes for the peer_get_caps() change.
25299
25300 2005-05-06  Wim Taymans  <wim@fluendo.com>
25301
25302         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25303         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
25304         (gst_basesink_activate):
25305         Actually do something with error codes returned from the push
25306         functions.
25307
25308 2005-05-06  Wim Taymans  <wim@fluendo.com>
25309
25310         * docs/design/part-element-sink.txt:
25311         * docs/design/part-element-source.txt:
25312         * gst/base/gstbasesink.c: (gst_basesink_class_init),
25313         (gst_basesink_event), (gst_basesink_activate):
25314         * gst/base/gstbasesink.h:
25315         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
25316         (gst_basesrc_activate):
25317         * gst/base/gstbasesrc.h:
25318         * gst/gstelement.c: (gst_element_pads_activate):
25319         Some more documentation.
25320         Fixed scheduling decision in _pads_activate().
25321
25322 2005-05-05  Andy Wingo  <wingo@pobox.com>
25323
25324         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
25325         the test suite.
25326
25327 2005-05-05  Wim Taymans  <wim@fluendo.com>
25328
25329         * gst/base/Makefile.am:
25330         * gst/base/gstbasesink.h:
25331         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25332         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
25333         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
25334         (gst_collectpads_class_init), (gst_collectpads_init),
25335         (gst_collectpads_finalize), (gst_collectpads_new),
25336         (gst_collectpads_set_function), (gst_collectpads_add_pad),
25337         (find_pad), (gst_collectpads_remove_pad),
25338         (gst_collectpads_is_active), (gst_collectpads_collect),
25339         (gst_collectpads_collect_range), (gst_collectpads_start),
25340         (gst_collectpads_stop), (gst_collectpads_peek),
25341         (gst_collectpads_pop), (gst_collectpads_available),
25342         (gst_collectpads_read), (gst_collectpads_flush),
25343         (gst_collectpads_chain):
25344         * gst/base/gstcollectpads.h:
25345         * gst/elements/Makefile.am:
25346         * gst/elements/gstelements.c:
25347         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25348         (gst_fakesink_get_times), (gst_fakesink_event),
25349         (gst_fakesink_preroll), (gst_fakesink_render):
25350         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
25351         (gst_filesink_init), (gst_filesink_set_location),
25352         (gst_filesink_open_file), (gst_filesink_close_file),
25353         (gst_filesink_pad_query), (gst_filesink_event),
25354         (gst_filesink_render), (gst_filesink_change_state):
25355         * gst/elements/gstfilesink.h:
25356         Added object to help in making collect pad based elements.
25357         Ported filesink.
25358         Make event function in sink baseclass return gboolean.
25359
25360 2005-05-05  Wim Taymans  <wim@fluendo.com>
25361
25362         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
25363         (gst_bin_get_by_name):
25364         * gst/gstbuffer.h:
25365         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
25366         (gst_clock_finalize):
25367         * gst/gstdata.c: (gst_data_replace):
25368         * gst/gstdata.h:
25369         * gst/gstelement.c: (gst_element_request_pad),
25370         (gst_element_pads_activate):
25371         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
25372         (gst_object_unref):
25373         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25374         (gst_pad_set_checkgetrange_function),
25375         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
25376         (gst_pad_check_pull_range), (gst_pad_pull_range),
25377         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25378         (gst_pad_pause_task), (gst_pad_stop_task):
25379         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
25380         (gst_element_request_pad), (gst_pad_proxy_getcaps):
25381         Fix name lookup in GstBin.
25382         Added _data_replace() function and _buffer_replace()
25383         Use finalize method to clean up clock.
25384         Fix refcounting on request pads.
25385         Fix pad schedule mode error.
25386         Some more object refcounting debug info,
25387
25388
25389 2005-05-04  Andy Wingo <wingo@pobox.com>
25390
25391         * check/Makefile.am:
25392         * docs/gst/tmpl/gstatomic.sgml:
25393         * docs/gst/tmpl/gstplugin.sgml:
25394         * gst/base/gstbasesink.c: (gst_basesink_activate):
25395         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
25396         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
25397         (gst_basesrc_query), (gst_basesrc_set_property),
25398         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
25399         (gst_basesrc_activate):
25400         * gst/base/gstbasesrc.h:
25401         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
25402         (gst_base_transform_src_activate):
25403         * gst/elements/gstelements.c:
25404         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25405         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25406         * gst/elements/gsttee.c: (gst_tee_sink_activate):
25407         * gst/elements/gsttypefindelement.c: (find_element_get_length),
25408         (gst_type_find_element_checkgetrange),
25409         (gst_type_find_element_activate):
25410         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
25411         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
25412         (gst_caps_load_thyself):
25413         * gst/gstelement.c: (gst_element_pads_activate),
25414         (gst_element_save_thyself), (gst_element_restore_thyself):
25415         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
25416         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
25417         * gst/gstpad.h:
25418         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
25419         (gst_xml_parse_file), (gst_xml_parse_memory),
25420         (gst_xml_get_element), (gst_xml_make_element):
25421         * gst/indexers/gstfileindex.c: (gst_file_index_load),
25422         (_file_index_id_save_xml), (gst_file_index_commit):
25423         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
25424         (read_enum), (load_pad_template), (load_feature), (load_plugin),
25425         (load_paths):
25426         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
25427         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
25428         * tools/gst-complete.c: (main):
25429         * tools/gst-compprep.c: (main):
25430         * tools/gst-inspect.c: (print_element_properties_info):
25431         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
25432         * tools/gst-xmlinspect.c: (print_element_properties):
25433         GCC 4 fixen.
25434         
25435 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25436
25437         * gst/gstplugin.c: (gst_plugin_check_module),
25438         (gst_plugin_check_file), (gst_plugin_load_file):
25439             apply patch from #172526 to make register work on MacOSX
25440
25441 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25442
25443         * docs/gst/tmpl/gstconfig.sgml:
25444         * gst/gstconfig.h.in:
25445           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
25446         * testsuite/debug/printf_extension.c: (main):
25447           Do not use GST_PTR_FORMAT on pointers to types with
25448           sizeof < sizeof(gpointer).  Fixes test on 64-bit
25449         * testsuite/elements/property.h:
25450           use correct printf format
25451
25452 2005-05-02  Wim Taymans  <wim@fluendo.com>
25453
25454         * docs/design/draft-push-pull.txt:
25455         * docs/design/draft-query.txt:
25456         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
25457         (gst_basesrc_start):
25458         Added draft for new query API.
25459         Added draft for better selecting scheduling methods.
25460         Make basesrc ignore length if the subclass does not support
25461         it.
25462
25463 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25464
25465         * gst/Makefile.am:
25466           possible fixes for automake-1.5 - _LIBADD is reserved
25467
25468 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25469
25470         * docs/faq/Makefile.am:
25471         * docs/manual/Makefile.am:
25472         * docs/manuals.mak:
25473         * docs/pwg/Makefile.am:
25474         * gst/Makefile.am:
25475           possible fixes for automake-1.5
25476
25477 2005-04-28  Wim Taymans  <wim@fluendo.com>
25478
25479         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25480         (gst_basesink_pad_getcaps), (gst_basesink_init),
25481         (gst_basesink_do_sync):
25482         * gst/gstclock.c: (gst_clock_entry_new):
25483         * gst/gstevent.c: (gst_event_discont_get_value):
25484         * gst/gstpipeline.c: (pipeline_bus_handler),
25485         (gst_pipeline_change_state):
25486         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
25487         Better debugging of clocking info.
25488         Allow NULL values when getting discont values.
25489
25490 2005-04-27  Wim Taymans  <wim@fluendo.com>
25491
25492         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
25493         * check/gst/gstpad.c: (gst_pad_suite):
25494         Increase timeout for checks.
25495
25496 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
25497
25498         * check/Makefile.am:
25499           fix the broken rule for cleanup.  Apparently this rule is
25500           only needed on FC2, so maybe this warrants further autotool
25501           inspection.
25502
25503 2005-04-26  Wim Taymans  <wim@fluendo.com>
25504
25505         * gst/gsttrashstack.h:
25506         Ooohh. a nasty one! After having a failed pop() from the stack,
25507         it's possible that the stack is empty. In that case, don't
25508         follow the NULL pointer.
25509
25510 2005-04-25  Wim Taymans  <wim@fluendo.com>
25511
25512         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25513         (gst_pad_set_checkgetrange_function),
25514         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
25515         (gst_pad_check_pull_range), (gst_pad_pull_range),
25516         (gst_static_pad_template_get_caps), (gst_pad_start_task),
25517         (gst_pad_pause_task), (gst_pad_stop_task):
25518         * gst/gstplugin.c: (gst_plugin_load):
25519         * gst/gstplugin.h:
25520         Remove gst_library_load as it does more harm than good with
25521         the new g_module flags.
25522         Revert bogus caps template check in pad linking, pad caps
25523         are important when linking not the template, which is more
25524         general than the current caps.
25525
25526 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25527
25528         * gst/autoplug/.cvsignore:
25529         * gst/autoplug/Makefile.am:
25530         * gst/autoplug/gstsearchfuncs.c:
25531         * gst/autoplug/gstsearchfuncs.h:
25532         * gst/autoplug/gstspider.c:
25533         * gst/autoplug/gstspider.h:
25534         * gst/autoplug/gstspideridentity.c:
25535         * gst/autoplug/gstspideridentity.h:
25536         * gst/autoplug/spidertest.c:
25537           Die, spider, die.
25538
25539 2005-04-25  Wim Taymans  <wim@fluendo.com>
25540
25541         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25542         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25543         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
25544         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
25545         * gst/gstpad.h:
25546         Added stubs for unimplemented functions. 
25547
25548 2005-04-24  David Schleef  <ds@schleef.org>
25549
25550         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
25551         please fix.
25552
25553 2005-04-24  David Schleef  <ds@schleef.org>
25554
25555         Convert everything from GstAtomicInt to g_atomic_int_*, and
25556         remove gstatomic.
25557         * gst/Makefile.am:
25558         * gst/gstatomic.c:
25559         * gst/gstatomic.h:
25560         * gst/gstatomic_impl.h:
25561         * gst/gstbuffer.c:
25562         * gst/gstcaps.c:
25563         * gst/gstcaps.h:
25564         * gst/gstclock.c:
25565         * gst/gstclock.h:
25566         * gst/gstdata.c:
25567         * gst/gstdata.h:
25568         * gst/gstdata_private.h:
25569         * gst/gstevent.c:
25570         * gst/gstinfo.c:
25571         * gst/gstinfo.h:
25572         * gst/gstmessage.c:
25573         * gst/gstobject.c:
25574         * gst/gstobject.h:
25575         * gst/gststructure.c:
25576         * gst/gststructure.h:
25577         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
25578         * gst/gstutils.h:
25579
25580 2005-04-24  David Schleef  <ds@schleef.org>
25581
25582         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
25583         make the regressions tests work.  Remove some code that is no
25584         longer true.
25585         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
25586         Disable warning for pads without templates.
25587
25588 2005-04-24  David Schleef  <ds@schleef.org>
25589
25590         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
25591         functions that handle filtered links.
25592         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
25593         removed functions.
25594         * gst/gstutils.c: Fix/remove utility functions that handle
25595         filtered caps.
25596         * gst/gstutils.h:
25597         * gst/gstvalue.c: Add serialization/deserialization of caps
25598         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
25599         requires fixing so that the filter caps notation creates
25600         a capsfilter element and sets the filter_caps property.  I
25601         think everyone probably wants to keep the shorthand notation.
25602         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
25603         * docs/gst/tmpl/gstpad.sgml:
25604
25605         * gst/elements/gstelements.c: Register capsfilter element.
25606         * gst/Makefile.am: fix spacing
25607         * docs/random/ds/0.9-suggested-changes: random
25608
25609 2005-04-23  David Schleef  <ds@schleef.org>
25610
25611         * gst/elements/Makefile.am:
25612         * gst/elements/gstcapsfilter.c: New element that acts like an
25613         identity, but filters caps.  Will eventually replace filtered
25614         caps in pad linking.
25615         * gst/gstutils.c: (gst_element_create_all_pads): New function
25616         to create all the ALWAYS pads that are registered with an
25617         element class.  This functionality should eventually be
25618         merged in with GstElement initialization.
25619         * gst/gstutils.h:
25620         * testsuite/trigger/README: part of trigger test code that should
25621         have been checked in a long time ago.
25622
25623 2005-04-23  David Schleef  <ds@schleef.org>
25624
25625         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
25626         needed with new versions of libtool (nobody will confirm this),
25627         and hard to carry around.
25628         * gst/autoplug/Makefile.am:
25629         * gst/base/Makefile.am:
25630         * gst/elements/Makefile.am:
25631         * gst/indexers/Makefile.am:
25632         * gst/schedulers/Makefile.am:
25633         * libs/gst/bytestream/Makefile.am:
25634         * libs/gst/control/Makefile.am:
25635         * libs/gst/dataprotocol/Makefile.am:
25636         * libs/gst/getbits/Makefile.am:
25637
25638 2005-04-21  Wim Taymans  <wim@fluendo.com>
25639
25640         * docs/design/draft-push-pull.txt:
25641         * docs/design/part-MT-refcounting.txt:
25642         * docs/design/part-TODO.txt:
25643         * docs/design/part-caps.txt:
25644         * docs/design/part-events.txt:
25645         * docs/design/part-gstbus.txt:
25646         * docs/design/part-gstpipeline.txt:
25647         * docs/design/part-messages.txt:
25648         * docs/design/part-push-pull.txt:
25649         * docs/design/part-query.txt:
25650         Some more docs.
25651
25652 2005-04-21  Wim Taymans  <wim@fluendo.com>
25653
25654         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
25655         (gst_message_new), (gst_message_new_error),
25656         (gst_message_new_warning), (gst_message_new_tag),
25657         (gst_message_new_state_changed), (gst_message_new_application),
25658         (gst_message_get_structure):
25659         * gst/gstmessage.h:
25660         * gst/gststructure.c: (gst_structure_set_parent_refcount),
25661         (gst_structure_copy_conditional):
25662         Use parent refcount in GstMessage to ensure GstStructure
25663         consistency.
25664         Cleaned up headers a bit.
25665         
25666
25667 2005-04-20  Wim Taymans  <wim@fluendo.com>
25668
25669         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25670         (gst_basesink_pad_getcaps), (gst_basesink_init),
25671         (gst_basesink_chain_unlocked):
25672         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
25673         (gst_type_find_helper):
25674         * gst/elements/gsttypefindelement.c:
25675         (gst_type_find_element_have_type), (gst_type_find_element_init),
25676         (stop_typefinding), (gst_type_find_element_handle_event),
25677         (find_suggest), (gst_type_find_element_chain),
25678         (gst_type_find_element_checkgetrange),
25679         (gst_type_find_element_getrange), (do_typefind),
25680         (gst_type_find_element_activate):
25681         * gst/gstbuffer.c: (_gst_buffer_sub_free),
25682         (gst_buffer_default_free), (gst_buffer_default_copy),
25683         (gst_buffer_set_caps):
25684         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
25685         (gst_caps_replace):
25686         * gst/gstmessage.c: (gst_message_new),
25687         (gst_message_new_state_changed):
25688         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25689         (gst_pad_set_checkgetrange_function),
25690         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
25691         (gst_pad_set_caps), (gst_pad_check_pull_range),
25692         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
25693         * gst/gstpad.h:
25694         * gst/gsttypefind.c: (gst_type_find_register):
25695         Make gst_caps_replace() work like other _replace() functions.
25696         Use _caps_replace() where possible.
25697         Make sure _message_new() initialises its field.
25698         Add gst_static_pad_template_get_caps()
25699
25700
25701 2005-04-18  Andy Wingo  <wingo@pobox.com>
25702
25703         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
25704         on the peer, not the pad. I think that was a typo. Pass an extra
25705         arg to see if random access is possible. Activate the pads as
25706         PULL_RANGE if possible.
25707
25708         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
25709
25710         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
25711         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
25712         to PROP_....
25713
25714 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25715
25716         * docs/faq/using.xml:
25717           Add note on gstreamer-properties (#154996).
25718
25719 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25720
25721         * docs/random/bbb/optional-properties:
25722           Some analysis on optional properties.
25723
25724 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25725
25726         * docs/gst/tmpl/gstelementfactory.sgml:
25727         * gst/gstelement.h:
25728         * gst/gstelementfactory.c: (gst_element_factory_init),
25729         (gst_element_factory_cleanup), (gst_element_register),
25730         (__gst_element_factory_add_static_pad_template),
25731         (gst_element_factory_get_static_pad_templates),
25732         (gst_element_factory_can_src_caps),
25733         (gst_element_factory_can_sink_caps):
25734         * gst/registries/Makefile.am:
25735         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
25736         (gst_xml_registry_class_init), (gst_xml_registry_init),
25737         (gst_xml_registry_new), (gst_xml_registry_set_property),
25738         (gst_xml_registry_get_property), (get_time), (make_dir),
25739         (gst_xml_registry_get_perms_func),
25740         (plugin_times_older_than_recurse), (plugin_times_older_than),
25741         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
25742         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
25743         (add_to_char_array), (read_string), (read_uint), (read_enum),
25744         (load_pad_template), (load_feature), (load_plugin), (load_paths),
25745         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
25746         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
25747         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
25748         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
25749         (gst_xml_registry_rebuild):
25750         * gst/registries/gstlibxmlregistry.h:
25751         * tools/gst-compprep.c: (main):
25752         * tools/gst-inspect.c: (print_pad_templates_info):
25753         * tools/gst-xmlinspect.c: (print_element_info):
25754           Use libxml2 for registry parsing, use staticpadtemplates in
25755           elementfactories. Makes gst_init() +/- 10x faster.
25756
25757 2005-04-12  Wim Taymans  <wim@fluendo.com>
25758
25759         * gst/base/Makefile.am:
25760         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25761         (gst_basesink_pad_getcaps), (gst_basesink_init),
25762         (gst_basesink_event), (gst_basesink_change_state):
25763         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25764         (gst_basesrc_init), (gst_basesrc_query),
25765         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25766         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25767         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25768         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25769         (gst_basesrc_stop), (gst_basesrc_activate),
25770         (gst_basesrc_change_state):
25771         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25772         (helper_find_suggest), (gst_type_find_helper):
25773         * gst/base/gsttypefindhelper.h:
25774         * gst/elements/Makefile.am:
25775         * gst/elements/gstelements.c:
25776         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
25777         (gst_fakesink_get_times), (gst_fakesink_event),
25778         (gst_fakesink_preroll), (gst_fakesink_render):
25779         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25780         (gst_fakesrc_init), (gst_fakesrc_event_handler),
25781         (gst_fakesrc_get_property), (gst_fakesrc_create),
25782         (gst_fakesrc_start), (gst_fakesrc_stop):
25783         * gst/elements/gstfakesrc.h:
25784         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
25785         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25786         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25787         (gst_filesrc_create_read), (gst_filesrc_create),
25788         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
25789         (gst_filesrc_start):
25790         * gst/elements/gsttypefindelement.c:
25791         (gst_type_find_element_have_type), (gst_type_find_element_init),
25792         (start_typefinding), (stop_typefinding), (push_buffer_store),
25793         (gst_type_find_element_handle_event),
25794         (gst_type_find_element_chain),
25795         (gst_type_find_element_checkgetrange),
25796         (gst_type_find_element_getrange), (do_typefind),
25797         (gst_type_find_element_activate),
25798         (gst_type_find_element_change_state):
25799         * gst/elements/gsttypefindelement.h:
25800         * gst/gstpipeline.c: (pipeline_bus_handler):
25801         Added typefind helper.
25802         Small preroll fix in the base sink.
25803         Disable typefind code in basesrc.
25804         Crude port of typefindelement.
25805         Fakesrc cleanups.
25806
25807
25808 2005-04-11  Wim Taymans  <wim@fluendo.com>
25809
25810         * check/gst/gstbus.c: (gstbus_suite):
25811         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
25812         * check/gstcheck.h:
25813           Fix up the timeout so that the test does not fail.
25814
25815 2005-04-06  Wim Taymans  <wim@fluendo.com>
25816
25817         * gst/base/README:
25818         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25819         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
25820         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
25821         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
25822         (gst_basesrc_check_get_range), (gst_basesrc_loop),
25823         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
25824         (gst_basesrc_stop), (gst_basesrc_activate),
25825         (gst_basesrc_change_state), (basesrc_find_peek),
25826         (basesrc_find_suggest), (gst_basesrc_type_find):
25827         * gst/base/gstbasesrc.h:
25828         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
25829         (gst_filesrc_class_init), (gst_filesrc_init),
25830         (gst_filesrc_finalize), (gst_filesrc_set_location),
25831         (gst_filesrc_set_property), (gst_filesrc_get_property),
25832         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
25833         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
25834         (gst_filesrc_create_read), (gst_filesrc_create),
25835         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
25836         * gst/elements/gstfilesrc.h:
25837         * gst/gstelement.c: (gst_element_get_state_func),
25838         (gst_element_lost_state), (gst_element_pads_activate):
25839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25840         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
25841         (gst_pad_pull_range):
25842         * gst/gstpad.h:
25843         More work on the generic source base class, implement seeking,
25844         query.
25845         Make filesrc extend the base source class.
25846         Added gst_pad_set_checkgetrange_function to GstPad.
25847
25848 2005-04-06  Andy Wingo  <wingo@pobox.com>
25849
25850         * pkgconfig/gstreamer-base.pc.in:
25851         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
25852
25853         * pkgconfig/Makefile.am:
25854         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
25855
25856 2005-04-04  Wim Taymans  <wim@fluendo.com>
25857
25858         * gst/base/Makefile.am:
25859         * gst/base/README:
25860         * gst/base/gstbasesink.c: (gst_basesink_base_init),
25861         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
25862         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
25863         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
25864         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
25865         (gst_basesrc_base_init), (gst_basesrc_class_init),
25866         (gst_basesrc_init), (gst_basesrc_get_formats),
25867         (gst_basesrc_get_query_types), (gst_basesrc_query),
25868         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
25869         (gst_basesrc_set_property), (gst_basesrc_get_property),
25870         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
25871         (gst_basesrc_loop), (gst_basesrc_activate),
25872         (gst_basesrc_change_state):
25873         * gst/base/gstbasesrc.h:
25874         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
25875         (gst_fakesrc_class_init), (gst_fakesrc_init),
25876         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
25877         (gst_fakesrc_get_property), (gst_fakesrc_create):
25878         * gst/elements/gstfakesrc.h:
25879         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
25880         (gst_filesrc_open_file), (gst_filesrc_loop),
25881         (gst_filesrc_activate), (filesrc_find_peek),
25882         (gst_filesrc_type_find):
25883         Made base source class, make fakesrc extend it.
25884         Add comments to basesink class.
25885         Some filesrc cleanup.
25886
25887 2005-03-31  David Schleef  <ds@schleef.org>
25888
25889         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
25890         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
25891         expected to link against libgstreamer.
25892         * gst/base/Makefile.am: link against libgstreamer
25893         * gst/elements/Makefile.am: same
25894
25895 2005-03-31  Andy Wingo  <wingo@pobox.com>
25896
25897         * tests/instantiate/Makefile.am:
25898         * tests/instantiate/caps.c: Add test to test speed of caps copy
25899         and free.
25900
25901         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
25902         GMemChunk to be fair.
25903
25904         * gst/gsttrashstack.h: Remove warning about using the fallback
25905         trash stack implementation, it's still faster than malloc.
25906
25907 2005-03-30  Andy Wingo  <wingo@pobox.com>
25908
25909         * tests/complexity.c: Add a copyright.
25910
25911 2005-03-31  Wim Taymans  <wim@fluendo.com>
25912
25913         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
25914         (gst_base_transform_class_init), (gst_base_transform_init),
25915         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25916         (gst_base_transform_get_property),
25917         (gst_base_transform_sink_activate),
25918         (gst_base_transform_src_activate),
25919         (gst_base_transform_change_state):
25920         * gst/base/gstbasetransform.h:
25921         * gst/elements/gstidentity.c: (gst_identity_class_init),
25922         (gst_identity_event), (gst_identity_check_perfect),
25923         (gst_identity_transform), (gst_identity_start),
25924         (gst_identity_stop):
25925         Added start/stop methods to transform base class so subclasses 
25926         don't need to deal with state changes even.
25927
25928 2005-03-31  Wim Taymans  <wim@fluendo.com>
25929
25930         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
25931         (gst_event_new_discontinuous), (gst_event_discont_get_value):
25932         * gst/gstevent.h:
25933         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25934         (gst_pad_pull_range):
25935         Added rate to the discont event to prepare for variable speed
25936         and reverse playback.
25937
25938 2005-03-29  David Schleef  <ds@schleef.org>
25939
25940         * configure.ac:
25941         * testsuite/trigger/Makefile.am:
25942         * testsuite/trigger/trigger.c: A little example program to show
25943         how trigger-based elements can work.
25944
25945 2005-03-29  Wim Taymans  <wim@fluendo.com>
25946
25947         * gst/base/Makefile.am:
25948         * gst/base/README:
25949         * gst/base/gstbasesink.c: (gst_basesink_get_type),
25950         (gst_basesink_base_init), (gst_basesink_class_init),
25951         (gst_basesink_pad_getcaps), (gst_basesink_init),
25952         (gst_basesink_activate), (gst_basesink_change_state):
25953         * gst/base/gstbasesink.h:
25954         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
25955         (gst_base_transform_base_init), (gst_base_transform_finalize),
25956         (gst_base_transform_class_init), (gst_base_transform_init),
25957         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
25958         (gst_base_transform_event), (gst_base_transform_getrange),
25959         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
25960         (gst_base_transform_set_property),
25961         (gst_base_transform_get_property),
25962         (gst_base_transform_sink_activate),
25963         (gst_base_transform_src_activate),
25964         (gst_base_transform_change_state):
25965         * gst/base/gstbasetransform.h:
25966         * gst/elements/gstidentity.c: (gst_identity_finalize),
25967         (gst_identity_class_init), (gst_identity_init),
25968         (gst_identity_event), (gst_identity_check_perfect),
25969         (gst_identity_transform), (gst_identity_set_property),
25970         (gst_identity_get_property), (gst_identity_change_state):
25971         * gst/elements/gstidentity.h:
25972         * gst/gstelement.c: (gst_element_get_state_func),
25973         (gst_element_lost_state), (gst_element_pads_activate):
25974         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
25975         (gst_pad_check_pull_range), (gst_pad_pull_range):
25976         * gst/gstpad.h:
25977         Simplify pad activation.
25978         Added function to check if pull_range can be performed.
25979         Error out when pulling inactive or flushing pads.
25980         Removed const from refcounted types as it does not make sense.
25981         Simplify pad templates in basesink
25982         Added base class for simple 1-to-1 transforms.
25983         Make identity subclass the base transform.
25984
25985 2005-03-29  Andy Wingo  <wingo@pobox.com>
25986
25987         * docs/libs/gstreamer-libs-overrides.txt: 
25988         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
25989         really don't understand what's going on, but like whatever. I want
25990         green buildbot!
25991
25992         * docs/gst/Makefile.am:
25993         * docs/libs/Makefile.am: Dist the overrides files.
25994
25995         * check/Makefile.am (clean-local): Remove .libs directories.
25996
25997         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
25998         elements to EXTRA_DIST, so po/ files are happy.
25999
26000         * po/POTFILES.in: Er, remove it here.
26001
26002         * po/POTFILES: Remove gstspider.c.
26003
26004         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
26005
26006         * docs/libs/gstreamer-libs-docs.sgml: 
26007         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
26008         bytestream.
26009
26010         * tests/complexity.c (main): Set the length of the preroll queue
26011         on the sinks to prevent a lockup.
26012
26013         * libs/gst/dataprotocol/Makefile.am: 
26014         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
26015         the same as the one in check/gst-libs/gdp.c.
26016
26017         * po/, docs/gst/: Commit automatic changes to docs and po files.
26018
26019         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
26020         the versioned libgstbase.
26021
26022         * check/Makefile.am: Depend on an unversioned gst-register, seems
26023         to make autoconf happier.
26024
26025         * gst/base/Makefile.am: Make libgstbase a versioned lib.
26026
26027 2005-03-28  Wim Taymans  <wim@fluendo.com>
26028
26029         * configure.ac:
26030         * docs/design/part-gstelement.txt:
26031         * docs/design/part-negotiation.txt:
26032         * docs/design/part-preroll.txt:
26033         * docs/design/part-scheduling.txt:
26034         * docs/design/part-states.txt:
26035         * gst/Makefile.am:
26036         * gst/base/Makefile.am:
26037         * gst/base/README:
26038         * gst/base/gstbasesink.c: (gst_basesink_get_template),
26039         (gst_basesink_base_init), (gst_basesink_class_init),
26040         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
26041         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
26042         (gst_basesink_set_pad_functions),
26043         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
26044         (gst_basesink_set_property), (gst_basesink_get_property),
26045         (gst_base_sink_get_template), (gst_base_sink_get_caps),
26046         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
26047         (gst_basesink_preroll_queue_push),
26048         (gst_basesink_preroll_queue_empty),
26049         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
26050         (gst_basesink_event), (gst_basesink_get_times),
26051         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
26052         (gst_basesink_chain_unlocked), (gst_basesink_chain),
26053         (gst_basesink_loop), (gst_basesink_activate),
26054         (gst_basesink_change_state):
26055         * gst/base/gstbasesink.h:
26056         * gst/elements/Makefile.am:
26057         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
26058         (gst_fakesink_class_init), (gst_fakesink_init),
26059         (gst_fakesink_set_property), (gst_fakesink_get_property),
26060         (gst_fakesink_get_times), (gst_fakesink_event),
26061         (gst_fakesink_preroll), (gst_fakesink_render),
26062         (gst_fakesink_change_state):
26063         * gst/elements/gstfakesink.h:
26064         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
26065         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
26066         * gst/gstelement.c: (gst_element_add_pad),
26067         (gst_element_get_state_func), (gst_element_abort_state),
26068         (gst_element_commit_state), (gst_element_lost_state),
26069         (gst_element_set_state), (gst_element_pads_activate):
26070         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
26071         * gst/gstpipeline.c: (gst_pipeline_send_event),
26072         (gst_pipeline_change_state):
26073         Added state change code.
26074         Added/updated docs.
26075         Added sink base class, make fakesink extend the base class.
26076         Small cleanups in GstPipeline.
26077
26078 2005-03-26  David Schleef  <ds@schleef.org>
26079
26080         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
26081         is broken and should be implemented in a different library.
26082         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
26083         * gst/gst.h: remove gstcpu.h
26084         * gst/gstcpu.c: remove
26085         * gst/gstcpu.h: remove
26086         * gst/Makefile.am.future: Remove this file.  It's ancient.
26087
26088 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26089
26090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
26091         (gst_bin_send_event):
26092           Add default event/set_manager handlers. The set_manager handler
26093           takes care that the manager is distributed over kids that were
26094           already in the bin before the manager was set. The event handler
26095           is a utility virtual function that sends the event over all sinks,
26096           so that gst_element_send_event (bin, event); has the expected
26097           behaviour.
26098         * gst/gstpad.c: (gst_pad_event_default):
26099           Re-install default event handling for discontinuities, so that
26100           seeking works without requiring hacks in applications or extra
26101           code in sinks.
26102         * gst/gstpipeline.c: (gst_pipeline_class_init),
26103         (gst_pipeline_send_event):
26104           Half hack, half utility: set a pipeline to PAUSED for seek events,
26105           since that is the only way we can guarantee a/v sync. Means that
26106           you can do gst_element_seek (pipeline, method, pos); on a pipeline
26107           and it "just works".
26108
26109 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26110
26111         * gst/gstpipeline.c: (gst_pipeline_use_clock):
26112           Lock/unlock mismatch.
26113
26114 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26115
26116         * docs/faq/gst-uninstalled:
26117           add gst-plugins-base
26118         * docs/gst/Makefile.am:
26119           don't error out until docs are fixed
26120         * docs/gst/gstreamer.types:
26121           remove thread
26122
26123 2005-03-22  Wim Taymans  <wim@fluendo.com>
26124
26125         * check/Makefile.am:
26126         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
26127         * gst/gststructure.c: (gst_structure_set_valist),
26128         (gst_structure_copy_conditional):
26129         Activated more tests.
26130         Added message test.
26131         Added G_TYPE_POINTER to GstStructure.
26132         
26133
26134 2005-03-22  Wim Taymans  <wim@fluendo.com>
26135
26136         * docs/design/part-TODO.txt:
26137         * docs/design/part-events.txt:
26138         * docs/design/part-gstbin.txt:
26139         * docs/design/part-gstbus.txt:
26140         * docs/design/part-gstpipeline.txt:
26141         * docs/design/part-messages.txt:
26142         * gst/gstbus.c:
26143         * gst/gstmessage.c:
26144         Docs updates
26145
26146 2005-03-21  Wim Taymans  <wim@fluendo.com>
26147
26148         * gst/gstbus.c: (gst_bus_post):
26149         Fix copy-and-paste error.
26150
26151 2005-03-21  Wim Taymans  <wim@fluendo.com>
26152
26153         * check/Makefile.am:
26154         * gst/Makefile.am:
26155         * gst/elements/Makefile.am:
26156         * gst/elements/gstelements.c:
26157         * gst/elements/gstfakesink.c: (gst_fakesink_init),
26158         (gst_fakesink_event), (gst_fakesink_chain):
26159         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26160         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
26161         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
26162         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
26163         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26164         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
26165         (gst_fakesrc_loop), (gst_fakesrc_activate),
26166         (gst_fakesrc_change_state):
26167         * gst/elements/gstfakesrc.h:
26168         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
26169         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
26170         (gst_filesrc_open_file), (gst_filesrc_loop),
26171         (gst_filesrc_activate), (gst_filesrc_change_state),
26172         (filesrc_find_peek), (filesrc_find_suggest),
26173         (gst_filesrc_type_find):
26174         * gst/elements/gstidentity.c: (gst_identity_finalize),
26175         (gst_identity_class_init), (gst_identity_init),
26176         (gst_identity_proxy_getcaps), (identity_queue_push),
26177         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
26178         (gst_identity_getrange), (gst_identity_chain),
26179         (gst_identity_sink_loop), (gst_identity_src_loop),
26180         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
26181         (gst_identity_set_property), (gst_identity_get_property),
26182         (gst_identity_change_state):
26183         * gst/elements/gstidentity.h:
26184         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
26185         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
26186         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
26187         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
26188         (gst_tee_sink_activate):
26189         * gst/elements/gsttee.h:
26190         * gst/gst.c: (gst_register_core_elements), (init_post):
26191         * gst/gst.h:
26192         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
26193         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
26194         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
26195         (gst_bin_change_state):
26196         * gst/gstbin.h:
26197         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
26198         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
26199         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
26200         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
26201         (gst_bus_set_sync_handler), (gst_bus_create_watch),
26202         (bus_watch_callback), (bus_watch_destroy),
26203         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
26204         (poll_timeout), (gst_bus_poll):
26205         * gst/gstbus.h:
26206         * gst/gstcaps.h:
26207         * gst/gstdata.h:
26208         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
26209         (gst_element_post_message), (gst_element_message_full),
26210         (gst_element_get_state_func), (gst_element_get_state),
26211         (gst_element_abort_state), (gst_element_commit_state),
26212         (gst_element_lost_state), (gst_element_set_state),
26213         (gst_element_pads_activate), (gst_element_change_state),
26214         (gst_element_dispose), (gst_element_set_manager_func),
26215         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
26216         (gst_element_set_manager), (gst_element_get_manager),
26217         (gst_element_set_bus), (gst_element_get_bus),
26218         (gst_element_set_scheduler), (gst_element_get_scheduler):
26219         * gst/gstelement.h:
26220         * gst/gstevent.c: (gst_event_new_segment_seek),
26221         (gst_event_new_flush):
26222         * gst/gstevent.h:
26223         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
26224         (_gst_message_free), (gst_message_get_type), (gst_message_new),
26225         (gst_message_new_eos), (gst_message_new_error),
26226         (gst_message_new_warning), (gst_message_new_tag),
26227         (gst_message_new_state_changed), (gst_message_new_application),
26228         (gst_message_get_structure), (gst_message_parse_tag),
26229         (gst_message_parse_state_changed), (gst_message_parse_error),
26230         (gst_message_parse_warning):
26231         * gst/gstmessage.h:
26232         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
26233         (gst_real_pad_set_property), (gst_pad_set_active),
26234         (gst_pad_is_active), (gst_pad_set_blocked_async),
26235         (gst_pad_set_blocked), (gst_pad_is_blocked),
26236         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
26237         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
26238         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
26239         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
26240         (gst_pad_link_filtered), (gst_pad_relink_filtered),
26241         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
26242         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
26243         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
26244         (gst_pad_set_caps), (gst_pad_configure_sink),
26245         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
26246         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
26247         (gst_real_pad_dispose), (gst_real_pad_finalize),
26248         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
26249         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26250         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
26251         * gst/gstpad.h:
26252         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
26253         (pipeline_bus_handler), (gst_pipeline_change_state),
26254         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
26255         * gst/gstpipeline.h:
26256         * gst/gstprobe.h:
26257         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
26258         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
26259         (gst_queue_link_src), (gst_queue_bufferalloc),
26260         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
26261         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
26262         (gst_queue_loop), (gst_queue_handle_src_event),
26263         (gst_queue_handle_src_query), (gst_queue_src_activate),
26264         (gst_queue_change_state):
26265         * gst/gstqueue.h:
26266         * gst/gstscheduler.c: (gst_scheduler_init),
26267         (gst_scheduler_dispose), (gst_scheduler_create_task),
26268         (gst_scheduler_factory_create):
26269         * gst/gstscheduler.h:
26270         * gst/gststructure.c: (gst_structure_get_type),
26271         (gst_structure_copy_conditional):
26272         * gst/gststructure.h:
26273         * gst/gsttaginterface.h:
26274         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26275         (gst_task_init), (gst_task_dispose), (gst_task_create),
26276         (gst_task_get_state), (gst_task_start), (gst_task_stop),
26277         (gst_task_pause):
26278         * gst/gsttask.h:
26279         * gst/gstthread.c:
26280         * gst/gstthread.h:
26281         * gst/gsttypes.h:
26282         * gst/schedulers/Makefile.am:
26283         * gst/schedulers/cothreads_compat.h:
26284         * gst/schedulers/entryscheduler.c:
26285         * gst/schedulers/faircothreads.c:
26286         * gst/schedulers/faircothreads.h:
26287         * gst/schedulers/fairscheduler.c:
26288         * gst/schedulers/gstbasicscheduler.c:
26289         * gst/schedulers/gstoptimalscheduler.c:
26290         * gst/schedulers/gthread-cothreads.h:
26291         * gst/schedulers/threadscheduler.c:
26292         (gst_thread_scheduler_task_get_type),
26293         (gst_thread_scheduler_task_class_init),
26294         (gst_thread_scheduler_task_init),
26295         (gst_thread_scheduler_task_start),
26296         (gst_thread_scheduler_task_stop),
26297         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
26298         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
26299         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
26300         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
26301         (plugin_init):
26302         * libs/gst/Makefile.am:
26303         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
26304         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
26305         (gst_file_pad_parent_set):
26306         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26307         (gst_dp_event_from_packet):
26308         * tests/complexity.c: (main):
26309         * tests/mass_elements.c: (main):
26310         * testsuite/states/locked.c: (message_received), (main):
26311         * testsuite/states/parent.c: (main):
26312         * tools/gst-inspect.c: (print_element_flag_info),
26313         (print_implementation_info), (print_pad_info):
26314         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
26315         (main):
26316         * tools/gst-md5sum.c: (event_loop), (main):
26317         * tools/gst-typefind.c: (main):
26318         * tools/gst-xmlinspect.c: (print_element_info):
26319         Next big merge.
26320         Added GstBus for mainloop integration.
26321         Added GstMessage for sending notifications on the bus.
26322         Added GstTask as an abstraction for pipeline entry points.
26323         Removed GstThread.
26324         Removed Schedulers.
26325         Simplified GstQueue for multithreaded core.
26326         Made _link threadsafe, removed old capsnego.
26327         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
26328         Added pad blocking functions.
26329         Reworked scheduling functions in GstPad to prepare for
26330         scheduling updates soon.
26331         Moved events out of data stream.
26332         Simplified GstEvent types.
26333         Added return values to push/pull.
26334         Removed clocking from GstElement.
26335         Added prototypes for state change function for next merge.
26336         Removed iterate from bins and state change management.
26337         Fixed some elements, disabled others for now.
26338         Fixed -inspect and -launch.
26339         Added check for GstBus.
26340
26341 2005-03-10  Wim Taymans  <wim@fluendo.com>
26342
26343         * docs/design/part-MT-refcounting.txt:
26344         * docs/design/part-clocks.txt:
26345         * docs/design/part-gstelement.txt:
26346         * docs/design/part-gstobject.txt:
26347         * docs/design/part-standards.txt:
26348         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26349         (gst_bin_remove_func), (gst_bin_remove):
26350         * gst/gstbin.h:
26351         * gst/gstbuffer.c:
26352         * gst/gstcaps.h:
26353         * testsuite/clock/clock1.c: (main):
26354         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
26355         (main):
26356         * testsuite/dlopen/loadgst.c: (do_test):
26357         * testsuite/refcounting/bin.c: (add_remove_test1),
26358         (add_remove_test2), (main):
26359         * testsuite/refcounting/element.c: (main):
26360         * testsuite/refcounting/element_pad.c: (main):
26361         * testsuite/refcounting/pad.c: (main):
26362         * tools/gst-launch.c: (sigint_handler_sighandler):
26363         * tools/gst-typefind.c: (main):
26364         Doc updates.
26365         Added doc about clock.
26366         removed gst_bin_iterate_recurse_up(), marked methods
26367         for removal.
26368         Fix more testsuites.
26369
26370 2005-03-09  Wim Taymans  <wim@fluendo.com>
26371
26372         * gst/gstpad.c: (gst_pad_get_direction),
26373         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
26374         (gst_pad_collect_valist):
26375         * testsuite/bins/interface.c: (main):
26376         * testsuite/caps/audioscale.c: (test_caps):
26377         * testsuite/caps/caps.c: (test1), (test2), (test3):
26378         * testsuite/caps/deserialize.c: (main):
26379         * testsuite/caps/enumcaps.c: (main):
26380         * testsuite/caps/filtercaps.c: (main):
26381         * testsuite/caps/intersect2.c: (main):
26382         * testsuite/caps/random.c: (main):
26383         * testsuite/caps/renegotiate.c: (my_fixate), (main):
26384         * testsuite/caps/sets.c: (check_caps):
26385         * testsuite/caps/simplify.c: (check_caps), (main):
26386         * testsuite/caps/subtract.c: (check_caps):
26387         Fix _pad_get_direction wrt ghostpads.
26388         Fix caps testsuite.
26389
26390 2005-03-09  Wim Taymans  <wim@fluendo.com>
26391
26392         * check/Makefile.am:
26393         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
26394         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
26395         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
26396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
26397         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
26398         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
26399         (gst_bin_remove), (gst_bin_iterate_recurse_up),
26400         (bin_element_is_sink), (gst_bin_iterate_sinks),
26401         (gst_bin_iterate_all_by_interface):
26402         * gst/gstbin.h:
26403         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
26404         (gst_element_change_state), (gst_element_dispose),
26405         (gst_element_finalize), (gst_element_set_loop_function):
26406         * gst/gstelement.h:
26407         * gst/gstiterator.c: (find_custom_fold_func):
26408         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26409         (gst_pad_collectv), (gst_pad_collect_valist),
26410         (gst_pad_template_new):
26411         * gst/gstpipeline.c: (gst_pipeline_class_init),
26412         (gst_pipeline_dispose), (gst_pipeline_set_property),
26413         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
26414         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
26415         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
26416         * gst/gstutils.h:
26417         * gst/schedulers/entryscheduler.c:
26418         * gst/schedulers/gstbasicscheduler.c:
26419         (gst_basic_scheduler_cothreaded_chain),
26420         (gst_basic_scheduler_chain_add_element):
26421         * testsuite/bins/interface.c: (main):
26422         Added GstBin test.
26423         Added GstSystemClock test.
26424         Implemented clock distribution code in GstBin.
26425         Implemented iterate sinks method for future use.
26426         Rearranged gstelement.h
26427         Fix GstIterator comparison bug.
26428         Moved some code to GstPipeline, mostly clocking related.
26429
26430 2005-03-09  Wim Taymans  <wim@fluendo.com>
26431
26432         * configure.ac:
26433         * gst/gst_private.h:
26434         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26435         (gst_bin_remove_func), (gst_bin_remove),
26436         (gst_bin_get_by_name_recurse_up):
26437         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
26438         (gst_clock_id_compare_func), (gst_clock_id_wait),
26439         (gst_clock_id_wait_async), (gst_clock_init),
26440         (gst_clock_adjust_unlocked), (gst_clock_get_time):
26441         * gst/gstelement.h:
26442         * gst/gstinfo.c: (_gst_debug_init):
26443         * gst/gstobject.h:
26444         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
26445         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
26446         * gst/gstpad.h:
26447         Bump version number, we're now 0.9.0
26448         Add future debugging category.
26449         Fix NULL _unref() in _get_by_name_recurse_up
26450         Rearrange gstpad.h.
26451         Update some docs.
26452
26453 2005-03-08  Wim Taymans  <wim@fluendo.com>
26454
26455         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
26456         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
26457         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26458         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
26459         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
26460         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
26461         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
26462         * gst/elements/gstidentity.c: (gst_identity_class_init):
26463         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
26464         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
26465         * gst/elements/gstshaper.c: (gst_shaper_class_init):
26466         * gst/elements/gststatistics.c: (gst_statistics_class_init):
26467         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
26468         (gst_tee_link):
26469         * gst/gstelement.c: (gst_element_class_init),
26470         (gst_element_base_class_init), (gst_element_init),
26471         (gst_element_get_random_pad), (gst_element_wait_state_change),
26472         (gst_element_change_state), (gst_element_dispose),
26473         (gst_element_finalize), (gst_element_set_loop_function):
26474         * gst/gstelement.h:
26475         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
26476         * gst/gstthread.c: (gst_thread_class_init),
26477         (gst_thread_release_children_locks), (gst_thread_change_state):
26478         * gst/schedulers/gstbasicscheduler.c:
26479         (gst_basic_scheduler_loopfunc_wrapper),
26480         (gst_basic_scheduler_chain_wrapper),
26481         (gst_basic_scheduler_src_wrapper),
26482         (gst_basic_scheduler_remove_element):
26483         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
26484         Remove threadsafe properties. Fix elements because GObject
26485         complains when installing a property before declaring a
26486         set/get_property handler.
26487         Rearrange gstelement.h file, use STATE macros for state locks.
26488         Free mutexes in the finalize method instead of dispose.
26489
26490 2005-03-08  Wim Taymans  <wim@fluendo.com>
26491
26492         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26493         * gst/gstthread.c: (gst_thread_release_children_locks):
26494         Added parentage check.
26495         Fix build og GstThread again.
26496
26497 2005-03-08  Wim Taymans  <wim@fluendo.com>
26498
26499         * docs/design/part-MT-refcounting.txt:
26500         * docs/design/part-conventions.txt:
26501         * docs/design/part-gstobject.txt:
26502         * docs/design/part-relations.txt:
26503         * docs/design/part-standards.txt:
26504         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
26505         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
26506         (gst_bin_get_by_name), (gst_bin_get_by_interface),
26507         (gst_bin_iterate_all_by_interface):
26508         * gst/gstbuffer.h:
26509         * gst/gstclock.h:
26510         * gst/gstelement.c: (gst_element_class_init),
26511         (gst_element_change_state), (gst_element_set_loop_function):
26512         * gst/gstelement.h:
26513         * gst/gstiterator.c:
26514         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
26515         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
26516         (gst_object_dispatch_properties_changed), (gst_object_set_name),
26517         (gst_object_set_parent), (gst_object_unparent),
26518         (gst_object_check_uniqueness):
26519         * gst/gstobject.h:
26520         Docs updates, clean up some headers.
26521
26522 2005-03-07  Wim Taymans  <wim@fluendo.com>
26523
26524         * check/.cvsignore:
26525         * check/Makefile.am:
26526         * check/gst-libs/.cvsignore:
26527         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
26528         * check/gst/.cvsignore:
26529         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
26530         (START_TEST), (gstbus_suite), (main):
26531         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
26532         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
26533         (gst_data_suite), (main):
26534         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
26535         (add_fold_func), (gstiterator_suite), (main):
26536         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
26537         (thread_name_object), (thread_name_object_default),
26538         (gst_object_name_compare), (gst_object_suite), (main):
26539         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
26540         (gst_pad_suite), (main):
26541         * check/gstcheck.c: (gst_check_log_message_func),
26542         (gst_check_log_critical_func), (gst_check_init):
26543         * check/gstcheck.h:
26544         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
26545         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
26546         Added checks.
26547
26548 2005-03-07  Wim Taymans  <wim@fluendo.com>
26549
26550         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
26551         (gst_list_iterator_next), (gst_list_iterator_resync),
26552         (gst_list_iterator_free), (gst_iterator_new_list),
26553         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
26554         (gst_iterator_free), (gst_iterator_push), (filter_next),
26555         (filter_resync), (filter_uninit), (filter_free),
26556         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
26557         (gst_iterator_foreach), (find_custom_fold_func),
26558         (gst_iterator_find_custom):
26559         * gst/gstiterator.h:
26560         Added missing files.
26561
26562 2005-03-07  Wim Taymans  <wim@fluendo.com>
26563
26564         * Makefile.am:
26565         * configure.ac:
26566         * docs/design/part-MT-refcounting.txt:
26567         * docs/design/part-conventions.txt:
26568         * docs/design/part-gstobject.txt:
26569         * docs/design/part-relations.txt:
26570         * examples/mixer/mixer.c: (main):
26571         * examples/thread/thread.c: (eos), (main):
26572         * gst/Makefile.am:
26573         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
26574         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
26575         (gst_spider_plug_from_srcpad):
26576         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
26577         (gst_spider_identity_change_state),
26578         (gst_spider_identity_sink_loop_type_finding):
26579         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
26580         * gst/elements/gstidentity.c: (gst_identity_init):
26581         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
26582         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
26583         * gst/elements/gsttypefindelement.c: (free_entry):
26584         * gst/gst.c:
26585         * gst/gst.h:
26586         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
26587         (gst_bin_set_clock_func), (gst_bin_auto_clock),
26588         (gst_bin_set_index), (gst_bin_set_element_sched),
26589         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
26590         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
26591         (gst_bin_iterate_elements), (iterate_child_recurse),
26592         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
26593         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
26594         (compare_interface), (gst_bin_get_by_interface),
26595         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
26596         * gst/gstbin.h:
26597         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
26598         (gst_buffer_default_free), (gst_buffer_default_copy),
26599         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
26600         (gst_buffer_create_sub):
26601         * gst/gstbuffer.h:
26602         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
26603         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
26604         (gst_caps_unref), (gst_static_caps_get),
26605         (gst_caps_remove_and_get_structure), (gst_caps_append),
26606         (gst_caps_append_structure), (gst_caps_remove_structure),
26607         (gst_caps_copy_nth), (gst_caps_set_simple),
26608         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
26609         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
26610         (gst_caps_structure_intersect_field), (gst_caps_intersect),
26611         (gst_caps_structure_subtract_field), (gst_caps_subtract),
26612         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
26613         (gst_caps_structure_figure_out_union),
26614         (gst_caps_switch_structures), (gst_caps_do_simplify),
26615         (gst_caps_replace), (gst_caps_from_string),
26616         (gst_caps_copy_conditional):
26617         * gst/gstcaps.h:
26618         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
26619         (_gst_clock_id_free), (gst_clock_id_unref),
26620         (gst_clock_id_compare_func), (gst_clock_id_wait),
26621         (gst_clock_id_wait_async), (gst_clock_class_init),
26622         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
26623         (gst_clock_get_time), (gst_clock_set_time_adjust),
26624         (gst_clock_set_property), (gst_clock_get_property):
26625         * gst/gstclock.h:
26626         * gst/gstcompat.h:
26627         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
26628         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
26629         * gst/gstdata.h:
26630         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
26631         (gst_element_requires_clock), (gst_element_provides_clock),
26632         (gst_element_set_clock), (gst_element_clock_wait),
26633         (gst_element_wait), (gst_element_set_time_delay),
26634         (gst_element_is_indexable), (gst_element_add_pad),
26635         (gst_element_add_ghost_pad), (gst_element_remove_pad),
26636         (pad_compare_name), (gst_element_get_static_pad),
26637         (gst_element_request_pad), (gst_element_get_request_pad),
26638         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
26639         (gst_element_class_get_pad_template_list),
26640         (gst_element_class_get_pad_template), (gst_element_error_func),
26641         (gst_element_get_random_pad), (gst_element_get_event_masks),
26642         (gst_element_send_event), (gst_element_seek),
26643         (gst_element_get_query_types), (gst_element_query),
26644         (gst_element_get_formats), (gst_element_convert),
26645         (gst_element_is_locked_state), (gst_element_set_locked_state),
26646         (gst_element_sync_state_with_parent), (gst_element_change_state),
26647         (gst_element_finalize), (gst_element_yield),
26648         (gst_element_interrupt), (gst_element_set_scheduler),
26649         (gst_element_get_scheduler), (gst_element_set_loop_function):
26650         * gst/gstelement.h:
26651         * gst/gstevent.h:
26652         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
26653         (gst_format_get_by_nick), (gst_format_get_details),
26654         (gst_format_iterate_definitions):
26655         * gst/gstformat.h:
26656         * gst/gstindex.c: (gst_index_gtype_resolver):
26657         * gst/gstinfo.c:
26658         * gst/gstinfo.h:
26659         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
26660         (gst_mem_chunk_free):
26661         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
26662         (gst_object_ref), (gst_object_unref), (gst_object_sink),
26663         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
26664         (gst_object_dispatch_properties_changed),
26665         (gst_object_set_name_default), (gst_object_set_name),
26666         (gst_object_get_name), (gst_object_set_name_prefix),
26667         (gst_object_get_name_prefix), (gst_object_set_parent),
26668         (gst_object_get_parent), (gst_object_unparent),
26669         (gst_object_check_uniqueness), (gst_object_save_thyself),
26670         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
26671         (gst_object_set_property), (gst_object_get_property),
26672         (gst_object_get_path_string):
26673         * gst/gstobject.h:
26674         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26675         (gst_real_pad_init), (gst_real_pad_get_property),
26676         (gst_pad_custom_new), (gst_pad_get_direction),
26677         (gst_pad_set_active), (gst_pad_is_active),
26678         (gst_pad_set_event_function), (gst_pad_is_linked),
26679         (gst_pad_link_free), (gst_pad_link_intersect),
26680         (gst_pad_link_fixate), (gst_pad_set_caps),
26681         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
26682         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
26683         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
26684         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
26685         (gst_pad_get_caps), (gst_pad_peer_get_caps),
26686         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
26687         (gst_pad_realize), (gst_pad_get_allowed_caps),
26688         (gst_real_pad_dispose), (gst_real_pad_finalize),
26689         (gst_pad_collectv), (gst_pad_collect_valist),
26690         (gst_pad_template_dispose), (gst_pad_template_new),
26691         (gst_pad_get_internal_links):
26692         * gst/gstpad.h:
26693         * gst/gstpipeline.c: (gst_pipeline_dispose),
26694         (gst_pipeline_change_state):
26695         * gst/gstpipeline.h:
26696         * gst/gstplugin.c:
26697         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
26698         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
26699         * gst/gstpluginfeature.h:
26700         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
26701         * gst/gstquery.c: (_gst_query_type_initialize),
26702         (gst_query_type_register), (gst_query_type_get_by_nick),
26703         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
26704         * gst/gstquery.h:
26705         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
26706         * gst/gstscheduler.c: (gst_scheduler_add_element),
26707         (gst_scheduler_factory_create):
26708         * gst/gststructure.c: (gst_structure_set_parent_refcount),
26709         (gst_structure_free), (gst_structure_set_name),
26710         (gst_structure_id_set_value), (gst_structure_set_value),
26711         (gst_structure_set_valist), (gst_structure_remove_field),
26712         (gst_structure_remove_fields),
26713         (gst_structure_remove_fields_valist),
26714         (gst_structure_remove_all_fields), (gst_structure_foreach),
26715         (gst_structure_map_in_place),
26716         (gst_caps_structure_fixate_field_nearest_int),
26717         (gst_caps_structure_fixate_field_nearest_double):
26718         * gst/gststructure.h:
26719         * gst/gstsystemclock.c: (gst_system_clock_class_init),
26720         (gst_system_clock_init), (gst_system_clock_dispose),
26721         (gst_system_clock_async_thread),
26722         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
26723         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
26724         * gst/gstsystemclock.h:
26725         * gst/gsttag.c: (gst_tag_list_add_value_internal),
26726         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
26727         * gst/gsttaginterface.c:
26728         * gst/gstthread.c: (gst_thread_dispose),
26729         (gst_thread_release_children_locks), (gst_thread_change_state),
26730         (gst_thread_main_loop):
26731         * gst/gsttrashstack.h:
26732         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
26733         * gst/gsttypes.h:
26734         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26735         (gst_element_request_pad), (gst_element_get_pad_from_template),
26736         (gst_element_request_compatible_pad),
26737         (gst_element_get_compatible_pad_filtered),
26738         (gst_element_get_compatible_pad), (gst_element_state_get_name),
26739         (gst_element_link_pads_filtered), (gst_element_link_filtered),
26740         (gst_element_link_many), (gst_element_link),
26741         (gst_element_link_pads), (gst_element_unlink_pads),
26742         (gst_element_unlink_many), (gst_element_unlink),
26743         (gst_pad_can_link_filtered), (gst_pad_can_link),
26744         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
26745         (gst_object_default_error), (gst_bin_add_many),
26746         (gst_bin_remove_many), (gst_element_populate_std_props),
26747         (gst_element_class_install_std_props), (gst_buffer_merge),
26748         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
26749         (link_fold_func), (gst_pad_proxy_setcaps):
26750         * gst/gstutils.h:
26751         * gst/gstvalue.c: (gst_value_deserialize_string):
26752         * gst/parse/grammar.y:
26753         * gst/schedulers/gstbasicscheduler.c:
26754         (gst_basic_scheduler_cothreaded_chain),
26755         (gst_basic_scheduler_chain_recursive_add),
26756         (gst_basic_scheduler_pad_link):
26757         * gst/schedulers/gstoptimalscheduler.c:
26758         (get_group_schedule_function),
26759         (gst_opt_scheduler_state_transition),
26760         (gst_opt_scheduler_add_element), (element_get_reachables_func):
26761         * libs/gst/bytestream/bytestream.c:
26762         * libs/gst/dataprotocol/dataprotocol.c:
26763         (gst_dp_header_from_buffer):
26764         * po/nb.po:
26765         * po/ru.po:
26766         * tests/threadstate/threadstate2.c: (eos):
26767         * tools/gst-compprep.c: (main):
26768         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
26769         (print_pad_info), (print_children_info):
26770         * tools/gst-launch.c: (idle_func), (main):
26771         * tools/gst-md5sum.c: (idle_func), (main):
26772         * tools/gst-xmlinspect.c: (print_element_info):
26773         First THREADED backport attempt, focusing on adding locks and
26774         making sure the API is threadsafe. Needs more work. More docs
26775         follow this week.
26776
26777 2005-02-24  Andy Wingo  <wingo@pobox.com>
26778
26779         * tests/bench-complexity.scm:
26780         * tests/complexity.gnuplot: New files, good for running complexity
26781         benchmarks.
26782
26783         * tests/Makefile.am:
26784         * tests/complexity.c: New test, sets up N elements, at each level
26785         teeing into M streams per element. Eeeenteresting.
26786
26787         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
26788         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
26789         running bench-mass_elements.scm.
26790
26791         * tests/bench-mass_elements.scm: New script, runs mass_elements
26792         for various numbers of identities, outputting the results to a
26793         file. Requires guile 1.6. Just for testing.
26794
26795 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26796
26797         * gst/schedulers/fairscheduler.c:
26798           compile with debug disabled
26799
26800 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26801
26802         * configure.ac:
26803           hunting season on 0.9 is now OPEN