libs/gst/base/gstbasetransform.c: Don't overwrite the outsize when calculating the...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * libs/gst/base/gstbasetransform.c:
4         (gst_base_transform_transform_caps),
5         (gst_base_transform_prepare_output_buffer),
6         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
7         Don't overwrite the outsize when calculating the expected size of a new
8         buffer because we still need it in case we cannot process the new
9         buffer.
10         When converting the size of the new buffer to an upstream size, actually
11         use the expected size of the buffer, not some other random value.
12         Use an atomic int to signal that a new upstream caps suggestion is
13         available.
14         When we can convert the current buffer to a new format, check if the
15         buffer size is of the expected size and allocate a new buffer of the
16         expected size when this is not the case.
17
18         * tests/check/libs/transform1.c: (GST_START_TEST):
19         remove ifdeffed code from the unit test.
20
21 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
22
23         * pkgconfig/gstreamer-uninstalled.pc.in:
24         * pkgconfig/gstreamer.pc.in:
25           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
26           called gstcontroller-0.10.
27
28 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
29
30         * gst/gstchildproxy.h:
31         * gst/gstpreset.h:
32           Remove double interface from doc-string.        
33
34 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
35
36         * libs/gst/base/gstbasesrc.c:
37         * libs/gst/base/gstbasetransform.c:
38           Fix headings in docs and gtk-doc warnings.
39
40 2008-08-11  Michael Smith <msmith@songbirdnest.com>
41
42         * gst/gstregistrybinary.c:
43           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
44           libc.
45           Fixes #544776.
46
47 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
48
49         * libs/gst/base/gstbasetransform.c:
50         (gst_base_transform_buffer_alloc):
51         Fix a "may be used unitialized" warning.
52
53 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
54
55         * docs/gst/gstreamer-sections.txt:
56         * gst/gstpreset.h:
57           Document preset-iface vmethods.
58
59 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
60
61         * docs/manual/advanced-interfaces.xml:
62           Turn thoughts about HAL into a note-tag. Remove mentioning that is
63           only used to discover devices.
64
65 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
66
67         Patch by: Frederic Crozat <fcrozat@mandriva.org>
68
69         * gst/gst.c: (init_pre):
70         Make sure gettext returns translations in UTF-8 encoding rather
71         than in the current locale encoding (#546822).
72
73 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
74
75         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
76         Fix subset test.
77
78         * tests/check/gst/gstcaps.c: (GST_START_TEST):
79         Improve unit test subset tests and add a testcase for the subset failure
80         cases.
81
82         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
83         Improve subtraction unit test.
84
85 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
86
87         * plugins/elements/gsttee.c:
88           Unlock, instead of locking again.
89
90 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
91
92         * gst/gstpad.h:
93         Clarify the docs a bit more.
94
95 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
96
97         * tests/examples/metadata/read-metadata.c:
98           Don't leak old taglist.
99
100 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
101
102         Patch by: Olivier Crete <tester at tester dot ca>
103
104         * gst/gststructure.c:
105         (gst_structure_fixate_field_nearest_fraction):
106         Avoid overflows in fixation code when dealing with MAXINT values, which
107         v4l2src seems to do.
108         Fixes #546328.
109
110         * tests/check/gst/gststructure.c: (GST_START_TEST):
111         Make a unit test to check the fix. 
112
113 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
114
115         * plugins/elements/gstcapsfilter.c: (copy_func),
116         (gst_capsfilter_set_property):
117         Use new caps suggestion feature of basetransform to request a caps
118         negotiation upstream.
119
120 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
121
122         * docs/libs/gstreamer-libs-sections.txt:
123         Add new function:
124         API: GstBaseTransform::gst_base_transform_suggest()
125
126         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
127         (gst_base_transform_init), (gst_base_transform_transform_caps),
128         (gst_base_transform_transform_size),
129         (gst_base_transform_configure_caps),
130         (gst_base_transform_can_transform),
131         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
132         (gst_base_transform_prepare_output_buffer),
133         (gst_base_transform_buffer_alloc),
134         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
135         (gst_base_transform_chain), (gst_base_transform_activate),
136         (gst_base_transform_set_passthrough),
137         (gst_base_transform_is_passthrough),
138         (gst_base_transform_set_in_place),
139         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
140         (gst_base_transform_set_qos_enabled),
141         (gst_base_transform_is_qos_enabled),
142         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
143         (gst_base_transform_reconfigure):
144         * libs/gst/base/gstbasetransform.h:
145         Rewrite of basetransform to perform negotiation outside of the
146         buffer_alloc functions.  Fixes #545853.
147
148         * tests/check/libs/transform1.c: (GST_START_TEST),
149         (buffer_alloc_ct2):
150         Update unit test.
151
152 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
153
154         * tests/check/gst/gstpreset.c:
155           Only run preset tests when $HOME is writable. Preliminary fix for
156           #545433.
157
158 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
159
160         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
161         (gst_bin_change_state_func), (bin_handle_async_done),
162         (gst_bin_handle_message_func):
163         Fix race for bins that simulate ASYNC state changes by inserting
164         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
165         pending ASYNC messages even when the bin does not have ASYNC children.
166         We note detect this behaviour because we will receive an ASYNC message
167         that is originating from the bin itself. 
168         Fixes races with decodebin2 state changes.
169
170         * tests/check/gst/gstbin.c: (GST_START_TEST):
171         Add some more debug.
172
173 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
174
175         * gst/gsttaglist.c: (_gst_tag_initialize):
176           Fix typo.
177
178 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
179
180         * gst/gsttaglist.c:
181           Argh. actually save the text before committing. Now adds
182           gst_tag_merge_strings_with_comma() to gst_tag_register().
183
184 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
185
186         * gst/gsttaglist.c:
187         * gst/gsttaglist.h:
188           Do as tim pointed out and actually register the new tag. Also improve
189           te docs and use gst_tag_merge_strings_with_comma() method to allow
190           retriving all keywords merged in one list.
191
192 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
193
194         * configure.ac:
195         * docs/gst/gstreamer.types:
196           Revert 'accidential' change of the configure option removal. We still
197           need to generate the types file in configure --disable-load-save.
198
199 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
200
201         * docs/gst/gstreamer-sections.txt:
202         * gst/gsttaglist.h:
203           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
204
205 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
206
207         * gst/gstpadtemplate.c:
208           (gst_pad_template_class_init), (gst_static_pad_template_get),
209           (gst_pad_template_new), (gst_pad_template_pad_created),
210           (gst_pad_template_set_property), (gst_pad_template_get_property):
211           Add "name-template", "direction", "presence" and "caps" properties,
212           so that gst_pad_template_new() is just a thin wrapper around
213           g_object_new(), which is better for bindings. (Fixes: #539772)
214
215 2008-07-31  Michael Smith <msmith@songbirdnest.com>
216
217         * gst/gsturi.c:
218           Be more liberal in what URIs we accept.
219           Do not unescape bits of the URI for no apparent reason before passing to
220           the element. Fixes #545352.
221
222 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
223
224         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
225
226         * gst/gst.c:
227         Include gstconfig.h as macros from it are used. Fixes bug #545607.
228
229 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
230
231         * configure.ac:
232         * docs/gst/gstreamer-sections.txt:
233         * docs/gst/gstreamer.types:
234         * docs/gst/gstreamer.types.in:
235         * gst/Makefile.am:
236         * gst/gst.c:
237         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
238         * gst/gstconfig.h.in:
239         * gst/gstelement.c: (gst_element_get_index):
240         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
241         (gst_registry_binary_load_feature),
242         (gst_registry_binary_read_cache):
243         * gst/gstregistryxml.c: (load_feature),
244         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
245         * plugins/Makefile.am:
246         * tools/gst-indent:
247         * tools/gst-inspect.c: (print_index_info), (print_element_list),
248         (print_plugin_features), (print_element_features):
249         * tools/gst-xmlinspect.c: (print_event_masks),
250         (print_element_info):
251         * win32/common/gstconfig.h:
252         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
253
254         Disabling the indexers and URI handler code will only reduce the
255         required amount of memory by a very small amount but on the other hand
256         requires much more maintaince work. Apart from that many places of
257         code are broken when disabling them.
258
259         Disabling the enum types doesn't reduce the required amount of memory
260         by more than a few bytes and makes it hard to fix bugs like #539772,
261         i.e. use the enums as GObject properties.
262
263 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
264
265         * docs/design/part-TODO.txt:
266         Add some thoughts and problems with upstream renegotiation.
267
268 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
269
270         * gst/gstpad.c: (gst_pad_acceptcaps_default),
271         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
272         Remove silly redundant debug.
273         Add some more debug info.
274         Clarify the docs regarding new caps received from pad_alloc.
275
276 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
277
278         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
279         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
280         Make setting the caps more threadsafe.
281
282 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
283
284         * docs/design/part-element-transform.txt:
285         Update docs.
286
287 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
288
289         * plugins/elements/gstqueue.c: (gst_queue_init),
290         (gst_queue_acceptcaps):
291         Add and use a custom acceptcaps function instead of falling back to the
292         potentially less optimized default implementation.
293
294 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
295
296         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
297           Only sanity-check the buffer size if requested_caps == buffer_caps
298           (ie. don't take pad caps into account, they're not relevant here)
299
300 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
301
302         * plugins/elements/gsttee.c:
303         * plugins/elements/gsttee.h:
304           Reverting as not everything is clear yet. Needs some general design
305           work.
306
307 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
308
309         * ChangeLog:
310           ChangeLog surgery for tee commit.
311
312 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
313
314         * docs/gst/gstreamer-sections.txt:
315           Cleanup section-file.
316
317 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
318
319         * plugins/elements/gsttee.c:
320         * plugins/elements/gsttee.h:
321           Relay tag events in tee. Fixes parts of #474016.
322           Downgrades 3 reoccurring debugs to log.
323
324 2008-07-28  Michael Smith <msmith@songbirdnest.com>
325
326         * configure.ac:
327         * libs/gst/Makefile.am:
328           Build the net library if we have winsock2.
329
330 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
331
332         patch by: Luc Pionchon <luc.pionchon@nokia.com>
333
334         * docs/manual/advanced-threads.xml:
335         * docs/manual/diagrams-pipelines.svg:
336         * docs/manual/hello-world.png:
337         * docs/manual/linked-elements.png:
338         * docs/manual/mime-world.png:
339         * docs/manual/queue.png:
340         * docs/manual/thread-buffering.png:
341         * docs/manual/thread-synchronizing.png:
342           Replace one diagram with two separate ones and updates others.
343           Fixes #542401.
344
345 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
346
347         * gst/gstelement.h:
348         Fix link in documentation.
349
350 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
351
352         * gst/gstmessage.c:
353         Fix confusing documentation.
354
355 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
356
357         * libs/gst/base/gstbasesrc.h:
358         revert the changes to the header file for the ABI.
359
360 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
361
362         * libs/gst/base/gstbasesrc.c:
363         * libs/gst/base/gstbasesrc.h:
364         Don't cache the seekable status.
365         Fixes bug #544174
366
367 2008-07-24  Rene Stadler  <mail@renestadler.de>
368
369         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
370         code to close the pipeline graph.  This prevents the program from
371         printing internal data flow errors.
372
373 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
374
375         * docs/manual/basics-bus.xml:
376         Correct typo. Fixes bug #544320.
377
378 2008-07-22  Michael Smith <msmith@songbirdnest.com>
379
380         * configure.ac:
381           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
382           Add check (taken from -base) for winsock, adds WIN32_LIBS
383         * gst/Makefile.am:
384           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
385           winsock.
386           Define GST_EXPORTS when building libgstreamer (only used on win32)
387         * gst/gst_private.h:
388         * gst/gstinfo.h:
389           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
390           for symbols that we need to export in both these files.
391         * gst/gstpoll.c:
392           Include gst_private.h higher up to avoid some compile problems on win32.
393
394 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
395
396         * gst/gstvalue.c:
397         Fix typos.
398
399 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
400
401         * gst/gstcaps.c:
402         Previous commit was wrong NULL caps does not exist
403         and indicate an error, so also add a FIXME to
404         gst_caps_is_equal where NULL caps are accepted.
405
406 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
407
408         * gst/gstcaps.c:
409         Allow passing of NULL to gst_caps_union
410
411 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
412
413         * gst/gstghostpad.c:
414         Add in doc that gst_ghost_pad_set_target can accept
415         NULL to clear target
416
417 2008-07-15  Michael Smith <msmith@songbirdnest.com>
418
419         * gst/gstplugin.c:
420         * gst/gstregistry.c:
421           GstRegistryPool doesn't exist; don't refer to it in docs.
422           Don't refer to functions that don't exist in docs, it's
423           unhelpful.
424
425 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
426
427         * gst/gst.c:
428         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
429
430 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
431
432         Patch by: tmatth <le dot businessman at gmail dot com>
433
434         * docs/pwg/building-testapp.xml:
435         Don't use an undeclared variable in the example program.
436         Fixes bug #542573.
437
438 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
439
440         * gst/gstdebugutils.c:
441           Squeeze ghost-pad links and remove <> from classname labels to save
442           more horizontal space.
443
444 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
445
446         * gst/gstdebugutils.c:
447           Give request and sometimes pads a different shpe style. Condense the
448           graphs a little more.
449
450 2008-07-09  Michael Smith <msmith@songbirdnest.com>
451
452         * configure.ac:
453           Don't require flex and bison if the parser is disabled.
454
455 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
456
457         * libs/gst/controller/gstinterpolationcontrolsource.c:
458         (_list_find_sorted_custom):
459         Don't use declarations after statements.
460
461 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
462
463         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
464         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
465         of the the child-added / -removed signals as GstChildProxy
466         only supports GstObjects.
467
468 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
469
470         * gst/gstdebugutils.c:
471         Fix memleak
472
473 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
474
475         Patch by: Alessandro Decina <alessandro at nnva dot org>
476
477         * gst/gstpoll.c:
478         Fix "ignored return value" compiler warning with newer glibc.
479
480 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
481
482         * gst/gstchildproxy.c:
483         Fix copy&paste error in gst_child_proxy_removed() documentation.
484
485 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
486
487         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
488           Print error debug message if plugin description fields that should
489           be set are NULL.
490
491         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
492           Don't crash if the string to serialise is NULL (it really should
493           not be, but apparently this used to work with the xml registry ...).
494
495 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
496
497         * tools/gst-plot-timeline.py:
498         Fix parsing of log messages
499
500 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
501
502         * win32/common/libgstbase.def::
503           Sort alphabetically so make check-exports doesn't barf.
504
505 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
506
507         * gst/gstevent.c:
508           Use gst_format_get_name() to improve debug output.
509
510         * gst/gstpreset.c:
511           Remove #ifdef'ed code. Add TODO comment.
512
513         * gst/gstsegment.c:
514           Add debug output to ease spotting format != segment.format assertions.
515
516 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
517
518         * tests/check/libs/gdp.c: (gst_dp_suite):
519         Also enable the GDP unit test again on PPC now that the bug
520         is fixed.
521
522 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
523
524         * libs/gst/dataprotocol/dataprotocol.c:
525         Don't write to the same region of memory as a uint64 and uint16
526         as this breaks strict aliasing rules and apparantly breaks on PPC
527         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
528
529 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
530
531         * libs/gst/controller/gstinterpolationcontrolsource.c:
532           Optimize list handling. Use own find function. Exploit that fact that
533           the list is sorted. Also pass back the node before, so that we can
534           insert quickly. Have a fast path for append.
535
536 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
537
538         * docs/design/draft-framestep.txt:
539         * docs/design/part-negotiation.txt:
540           Fix two typos.
541
542 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
543
544         * configure.ac:
545           Show configuration sumary after configure run. Based on patch by
546           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
547
548 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
549
550         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
551
552         * docs/manual/advanced-autoplugging.xml:
553         * docs/manual/advanced-threads.xml:
554         * docs/manual/basics-bins.xml:
555         * docs/manual/basics-elements.xml:
556         * docs/manual/basics-helloworld.xml:
557         * docs/manual/basics-pads.xml:
558           Add scale factor for pdf output.
559
560         * docs/manual/intro-basics.xml:
561           Switched sections "pads" and "bins" and added a pipeline diagram.
562
563         * docs/manual/intro-gstreamer.xml:
564           Added more info on gstreamer.
565
566         * docs/manual/intro-motivation.xml:
567           Commented out the whole section "current problem", which sounds
568           historical and somehow osolete; it could be turned in a positive
569           way and reused to improve the design principles.
570
571         * docs/manual/intro-preface.xml:
572           - Update URLs to library.gnome.org. 
573           - Do not mention GTK+ in preliminary reading (irrelevant). 
574           - Mention Plugin Writer's Manual and further reading only in the
575             previous section.
576           - Added a list of most relevant GObject/glib topics.
577
578         * docs/manual/Makefile.am:
579         * docs/manual/bin-element-ghost.fig:
580         * docs/manual/bin-element-ghost.png:
581         * docs/manual/bin-element-noghost.fig:
582         * docs/manual/bin-element-noghost.png:
583         * docs/manual/bin-element.fig:
584         * docs/manual/bin-element.png:
585         * docs/manual/filter-element-multi.fig:
586         * docs/manual/filter-element-multi.png:
587         * docs/manual/filter-element.fig:
588         * docs/manual/filter-element.png:
589         * docs/manual/gstreamer-overview.png:
590         * docs/manual/hello-world.fig:
591         * docs/manual/hello-world.png:
592         * docs/manual/linked-elements.fig:
593         * docs/manual/linked-elements.png:
594         * docs/manual/mime-world.fig:
595         * docs/manual/mime-world.png:
596         * docs/manual/queue.fig:
597         * docs/manual/queue.png:
598         * docs/manual/simple-player.png:
599         * docs/manual/sink-element.fig:
600         * docs/manual/sink-element.png:
601         * docs/manual/src-element.fig:
602         * docs/manual/src-element.png:
603         * docs/manual/diagrams-general.svg:
604         * docs/manual/diagrams-pipelines.svg:
605           Removed .fig, added .png counterpart.
606           
607           Fixes: #539137
608
609 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
610
611         * plugins/elements/gstmultiqueue.c:
612         * plugins/elements/gstmultiqueue.h:
613         revert extra-size-buffers stuff, caused some race conditions
614         and extra-size-buffers is not used anymore. Docs needs some updates
615
616 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
617
618         * win32/common/config.h:
619         * win32/common/gstenumtypes.c:
620         * win32/common/gstenumtypes.h:
621         * win32/common/gstversion.h:
622           Update win32 files.
623
624 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
625
626         * gst/gstdebugutils.h: (GstDebugGraphDetails),
627           (GST_DEBUG_BIN_TO_DOT_FILE):
628           Add missing Since' markers to gtk-doc blurbs.
629
630 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
631
632         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
633         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
634         (set_caps_1), (set_caps_ct1), (transform_ct1),
635         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
636         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
637         (transform_size_ct2), (buffer_alloc_ct2):
638         Add some more tests with switching caps in buffer_alloc.
639
640 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
641
642         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
643         (gst_test_trans_class_init), (result_sink_chain),
644         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
645         (gst_test_trans_push), (gst_test_trans_pop):
646         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
647         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
648         (set_caps_1), (set_caps_ct1), (transform_ct1),
649         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
650         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
651         (transform_size_ct2), (buffer_alloc_ct2),
652         (gst_basetransform_suite):
653         More tests, prepare for tests with switching caps in buffer_alloc.
654
655 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
656
657         * plugins/elements/gstmultiqueue.c:
658         * plugins/elements/gstmultiqueue.h:
659         Fix dead-lock in underrun_cb
660
661 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
662
663         * docs/design/part-states.txt:
664         Fix device open/close docs.
665
666 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
667
668         * ChangeLog:
669           Mention bugnumber for last commit.
670
671 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
672
673         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
674
675         * docs/manual/manual.xml:
676         - Reorganised the previous "introduction" bundle into Foreword,
677         Introduction, and About GStreamer. The two first are <preface>
678         docbook elements. The later is the first part of the book.
679         - added intro-gstreamer.xml (content partially from
680         intro-preface.xml)
681         - moved appendix-win32.xml into appendix-integration.xml
682
683         * docs/manual/intro-preface.xml: gstreamer section moved...
684         * docs/manual/intro-gstreamer.xml: ...here. new file.
685
686         * docs/manual/appendix-win32.xml: removed file. Content moved...
687         * docs/manual/appendix-integration.xml: ...here.
688         
689         * docs/manual/highlevel-components.xml: section about GstEditor moved...
690         * docs/manual/appendix-checklist.xml: ...here.
691         
692         Fixes: 538764
693
694 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
695
696         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
697
698         * docs/manual/basics-helloworld.xml:
699         * docs/manual/hello-world.fig:
700           - Explicitely include glib.h.
701           - Do not use global variables.
702           - Use g_printerr() instead of g_print().
703           - Minor formating/renaming to increase readibility.
704           - Renamed new_pad() to on_pad_added()
705           - Improved explenatory comments.
706           - renamed ogg parser to ogg demuxer
707           - Use "autoaudiosink" instead of "alsasink".
708           Fixes: #538619
709
710 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
711
712         * ChangeLog:
713           Remove cvs conflict marker.
714
715 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
716
717         * docs/README:
718           Document that for plgin-docs we extraxt he short-desc from the element
719           details.
720
721         * docs/design/part-states.txt:
722           Tell that devices should be closed in PAUSED -> READY.
723
724         * docs/manual/README:
725           Document how tests in the manual are handled.
726
727         * docs/manuals.mak:
728           Typo in comment.
729
730 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
731
732         * gst/gstbin.c: (bin_query_latency_fold):
733         Only care about latency min and max when the sink is actually a live
734         sink.
735
736 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
737
738         * docs/design/part-block.txt:
739         Fix typo.
740
741         * docs/design/part-element-transform.txt:
742         Add notes about why transform needs to know input/output sizes.
743         Add some issues that need to be solved.
744         Add some more use cases.
745
746         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
747         (gst_test_trans_class_init), (result_sink_chain),
748         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
749         (gst_test_trans_push), (gst_test_trans_pop):
750         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
751         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
752         (set_caps_1), (set_caps_ct1), (transform_ct1),
753         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
754         (gst_basetransform_suite):
755         Add suport for different pad templates and buffer-alloc.
756         Add more checks for caps and buffer-alloc.
757         Add checks for proxy buffer alloc.
758         Add unit test for copy transform.
759
760 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
761
762         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
763
764         * docs/manual/appendix-integration.xml:
765         * docs/manual/appendix-licensing.xml:
766         * docs/manual/basics-elements.xml:
767         * docs/manual/basics-helloworld.xml:
768         * docs/manual/basics-pads.xml:
769         * docs/manual/highlevel-components.xml:
770         * docs/manual/highlevel-xml.xml:
771         * docs/manual/intro-basics.xml:
772         * docs/manual/intro-preface.xml:
773           Typo and formatting fixes (#538594).
774
775 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
776
777         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
778         Fix some memory leaks and uses of object instances that we don't
779         actually own.
780
781 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
782
783         * plugins/elements/gstmultiqueue.c:
784         Add functionality to extra-size-buffers property.
785
786 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
787
788         * plugins/elements/gstmultiqueue.c:
789         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
790         activate the pads if they are added in STATE_NULL.
791
792 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
793
794         * docs/libs/gstreamer-libs-sections.txt:
795         Add new API to doc
796         * libs/gst/check/gstcheck.c:
797         * libs/gst/check/gstcheck.h:
798         API: gst_check_teardown_pad_by_name
799
800 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
801
802         * libs/gst/check/gstcheck.c:
803         * libs/gst/check/gstcheck.h:
804         Also setup request pads and allow setup pads by name (#537812)
805         API: gst_check_setup_src_pad_by_name
806         API: gst_check_setup_sink_pad_by_name
807
808 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
809
810         * tests/check/gst/gstbuffer.c:
811         * tests/check/pipelines/parse-launch.c:
812           Use HAVE_VALGRIND_H some more.
813
814 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
815
816         * scripts/cvs-update.sh:
817           Pass arguments to make.
818           Run autoregen.sh if Makefile is not there.
819
820 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
821
822         * configure.ac:
823         * gst/gstinfo.c:
824           Don't assume that <valgrind/valgrind.h> exists just because
825           the binary is there.
826
827 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
828
829         * tests/check/Makefile.am:
830         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
831         (gst_test_trans_class_init), (gst_test_trans_init),
832         (gst_test_trans_set_data), (result_sink_chain),
833         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
834         (gst_test_trans_pop):
835         * tests/check/libs/transform1.c: (GST_START_TEST),
836         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
837         Add some test basetransform element and the beginnings of various
838         unit tests for it.
839
840 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
841
842         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
843         Increase code readability.
844         Don't try to compare buffer offsets when ther are invalid.
845
846 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
847
848         * docs/design/Makefile.am:
849           Dist some more design docs.
850
851         * docs/random/moving-plugins:
852           Small addition: good plugins mustn't have functional code
853           within assertion macros.
854
855 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
856
857         * docs/design/draft-framestep.txt:
858         Some ideas about a framestep API
859
860         * docs/design/part-element-transform.txt:
861         Start design and use cases for basetransform in order to get it
862         fixed soon.
863
864 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
865
866         * gst/gsttaglist.h:
867           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
868           be in UTF-8 encoding.
869
870 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
871
872         * gst/gstbus.c:
873           Make it known that gst_bus_poll() is pure evil (fixes #538810).
874
875 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
876
877         * plugins/elements/gstcapsfilter.c:
878         * plugins/elements/gstfakesink.c:
879         * plugins/elements/gstfakesrc.c:
880         * plugins/elements/gstfdsink.c:
881         * plugins/elements/gstfdsrc.c:
882         * plugins/elements/gstfilesink.c:
883         * plugins/elements/gstfilesrc.c:
884         * plugins/elements/gstidentity.c:
885         * plugins/elements/gstmultiqueue.c:
886         * plugins/elements/gstqueue.c:
887         * plugins/elements/gsttee.c:
888         * plugins/elements/gsttypefindelement.c:
889           Remove short_description. Add basic docs for gsttypefindelement.
890           Simplify markup for fakesrc/fdsrc.
891
892 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
893
894         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
895         Added Since doc.
896
897 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
898
899         Patch by: joel larsson <tilljoel at gmail dot com>
900
901         * docs/plugins/gstreamer-plugins.args:
902         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
903         (gst_fd_src_init), (gst_fd_src_update_fd),
904         (gst_fd_src_set_property), (gst_fd_src_get_property),
905         (gst_fd_src_create):
906         * plugins/elements/gstfdsrc.h:
907         Add timeout property like udpsrc. Fixes #538628.
908         Add some more docs and example pipelines.
909
910 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
911
912         * docs/libs/gstreamer-libs-sections.txt:
913         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
914         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
915         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
916         (gst_base_sink_do_sync):
917         * libs/gst/base/gstbasesink.h:
918         * win32/common/libgstbase.def:
919         Add method to allow sinks to specify additional delay between the sync
920         times and the actual rendering of the data.
921         API: gst_base_sink_set_render_delay()
922         API: gst_base_sink_get_render_delay()
923
924 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
925
926         * configure.ac:
927         Bump version number back to dev -> 0.10.20.1
928
929 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
930
931         * docs/gst/gstreamer-sections.txt:
932         * gst/gsttaglist.c: (_gst_tag_initialize):
933         * gst/gsttaglist.h:
934         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
935         Fixes bug #538568.
936
937 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
938
939         * libs/gst/controller/gstcontroller.c:
940           Revert one change, that make ret value possible uninitialized.
941
942 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
943
944         * libs/gst/controller/gstcontroller.c:
945           Use freeze/thaw notify to sync notify emission a bit (its also more
946           efficient). Move debug output to LOG (is called a lot in a loop).
947           Always unset g_values if the have been initialized.
948
949 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
950
951         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
952         (gst_base_sink_wait_eos), (gst_base_sink_event):
953         If we have not seen a buffer before EOS, use the segment values to
954         report the current position instead of invalid positions.
955
956 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
957
958         * docs/plugins/tmpl/.cvsignore:
959         * tests/check/gst/.cvsignore:
960           Ignore more.
961
962 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
963
964         * libs/gst/controller/gstinterpolation.c:
965         * libs/gst/controller/gstinterpolationcontrolsource.c:
966         * tests/check/libs/controller.c:
967           Rewrite handling of default values. Fix overflow with unsigned types
968           in linear interpolation. Remove now obsolete _first_value() function.
969           Add more tests. Fixes #538201.
970
971 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
972
973         * libs/gst/base/gstbasetransform.c:
974         (gst_base_transform_class_init), (gst_base_transform_init),
975         (gst_base_transform_transform_caps),
976         (gst_base_transform_prepare_output_buffer):
977         Add debug info.
978         When a buffer is writable, its metadata is also writable so we don't
979         need to subbuffer (which then makes the buffer not-writable anymore).
980
981 === release 0.10.20 ===
982
983 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
984
985         * configure.ac:
986           releasing 0.10.20, "You Crazy Diamond"
987
988 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
989
990         * configure.ac:
991         0.10.19.3 pre-release
992
993 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
994
995         * configure.ac:
996         * gst/gstpreset.c:
997         Rename DATADIR to GST_DATADIR to avoid build problems
998         on win32. Patch By: David Schleef <ds@schleef.org>
999         Fixes: #536857
1000
1001 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
1002
1003         * configure.ac:
1004         Explicitely link with -ldl if dladdr() is found there. Before it was
1005         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
1006         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
1007
1008 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1009
1010         * gst/gsterror.c: (_gst_stream_errors_init):
1011           Fix typo (spotted by Fabricio Godoy, #536723).
1012
1013 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
1014
1015         * configure.ac:
1016         0.10.19.2 pre-release
1017
1018 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1019
1020         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
1021         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
1022         Add some debug.
1023         Make sure we don't generate invalid QoS messages.
1024
1025 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1026
1027         * gst/gstevent.c: (gst_event_new_qos):
1028         Add some assert and docs for invalid input to the qos function.
1029
1030 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1031
1032         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1033         (gst_base_sink_get_position):
1034         The reported position must always be smaller than the last seen
1035         timestamps (or timestamp + duration for reverse).
1036
1037 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
1038
1039         Patch by: Rob Bradford <rob at robster dot org dot uk>
1040
1041         * gst/gstregistry.c: (gst_registry_scan_path_level):
1042         Don't recurse into .debug directories as some distros install
1043         the debugging symbols next to the plugins in .debug directories
1044         and dlopen() crashes on them sometimes. Fixes bug #508070.
1045
1046         Add FIXME for 0.11 to not recurse into directories at all because
1047         it's very inconsistent to the behaviour of other PATH environment
1048         variables.
1049
1050 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1051
1052         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1053         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
1054         Fix position query range checks in reverse playback.
1055
1056 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
1057
1058         * gst/gstelement.c:
1059         * gst/gstelement.h:
1060         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
1061         clear of the reference to the resulting pad must be released later
1062         or not, resulting in possible leaks. Fixes bug #533865.
1063
1064 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1065
1066         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1067
1068         * gst/gstelementfactory.c:
1069         Small doc fix. Fixes #535285.
1070
1071 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
1072
1073         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
1074
1075         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1076         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1077         (gst_base_src_loop), (gst_base_src_set_flushing),
1078         (gst_base_src_change_state):
1079         Make sending an EOS event to the basesrc non-blocking even if the
1080         implementation does blocking waits in the create function. This is done
1081         by unlocking the create function when EOS is sent.
1082         Fixes #535218.
1083
1084 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1085
1086         * tools/gst-inspect.c: (print_element_properties_info):
1087         If possible print the element type of GValueArray properties.
1088
1089 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
1090
1091         * gst/gstiterator.c:
1092         Remove an unused field from the private GstListIterator struct.
1093
1094 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * libs/gst/controller/gstcontroller.c:
1097           Add parameter guards.
1098
1099 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1100
1101         * tests/check/gst/gstpipeline.c:
1102           Revert test change and add comment why it should not work.
1103
1104 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
1105
1106         * tests/check/gst/gstpipeline.c:
1107           Extending the test a little to verify that we also get the NULL state-
1108           change message.
1109
1110 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1111
1112         * gst/gstpreset.c: (gst_preset_default_get_meta),
1113           (gst_preset_get_preset_names), (gst_preset_get_property_names),
1114           (gst_preset_load_preset), (gst_preset_save_preset),
1115           (gst_preset_rename_preset), (gst_preset_delete_preset),
1116           (gst_preset_set_meta):
1117           Add Since: markers to docs blurbs.
1118
1119         * win32/common/libgstreamer.def:
1120           Add recently-added API.
1121
1122 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1123
1124         Patch by: Stefan Kost  <ensonic@users.sf.net>
1125
1126         * configure.ac:
1127         Add DATADIR for storing presets.
1128
1129         * docs/gst/gstreamer-docs.sgml:
1130         * docs/gst/gstreamer-sections.txt:
1131         * docs/gst/gstreamer.types.in:
1132         Add GstPreset to docs.
1133
1134         * gst/Makefile.am:
1135         * gst/gst.h:
1136         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
1137         (preset_open_and_parse_header), (preset_parse_version),
1138         (preset_merge), (preset_get_keyfile),
1139         (gst_preset_default_get_preset_names),
1140         (gst_preset_default_get_property_names),
1141         (gst_preset_default_load_preset),
1142         (gst_preset_default_save_presets_file),
1143         (gst_preset_default_save_preset),
1144         (gst_preset_default_rename_preset),
1145         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
1146         (gst_preset_default_get_meta), (gst_preset_default_randomize),
1147         (gst_preset_default_reset), (gst_preset_get_preset_names),
1148         (gst_preset_get_property_names), (gst_preset_load_preset),
1149         (gst_preset_save_preset), (gst_preset_rename_preset),
1150         (gst_preset_delete_preset), (gst_preset_set_meta),
1151         (gst_preset_get_meta), (gst_preset_class_init),
1152         (gst_preset_base_init), (gst_preset_get_type):
1153         * gst/gstpreset.h:
1154         Add GstPreset to core. Fixes #396779
1155
1156         * tests/check/Makefile.am:
1157         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
1158         (gst_preset_test_set_property), (gst_preset_test_class_init),
1159         (gst_preset_test_base_init), (gst_preset_test_get_type),
1160         (gst_preset_test_plugin_init), (GST_START_TEST),
1161         (remove_preset_file), (test_setup), (test_teardown),
1162         (gst_preset_suite):
1163         Add GstPreset unit tests.
1164
1165 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1166
1167         * gst/gstpad.c: (gst_pad_event_default_dispatch):
1168         The default event function on a sinkpad should return TRUE when
1169         there are no internal links but should collect the return values from
1170         the internal links otherwise.
1171
1172 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
1173
1174         * plugins/elements/gsttypefindelement.c:
1175         (gst_type_find_element_src_event),
1176         (gst_type_find_element_handle_event):
1177         Use faster and safer _pad_push_event().
1178
1179 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
1180
1181         * docs/gst/gstreamer-sections.txt:
1182         * gst/gstutils.c: (element_find_unlinked_pad),
1183           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
1184         * gst/gstutils.h:
1185           API: add gst_bin_find_unlinked_pad()
1186           API: deprecate gst_bin_find_unconnected_pad() (#401456)
1187
1188 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
1189
1190         * gst/gstclock.c:
1191         * gst/gstclock.h:
1192         * gst/gsttask.c:
1193         * gst/gsttask.h:
1194         Fixed a bunch of typos.
1195
1196 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1197
1198         * gst/gstpad.h:
1199         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
1200           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
1201           (gst_parse_bin_from_description_full):
1202         * gst/gstutils.h:
1203           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
1204
1205 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1206
1207         * docs/pwg/advanced-tagging.xml:
1208           Small docs update, can't be bothered to rewrite the nonsensical
1209           examples right now.
1210
1211 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1212
1213         * gst/gstevent.h:
1214           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
1215
1216 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1217
1218         * gst/parse/grammar.y:
1219           Remove unneeded casts.
1220
1221 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
1222
1223         * gst/parse/grammar.y:
1224         * tests/check/pipelines/parse-launch.c:
1225           Get all missing elements from a parse launch string if possible
1226           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
1227
1228 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1229
1230         * tests/check/Makefile.am:
1231         * tests/check/pipelines/parse-launch.c:
1232           Add some unit tests for the new gst_parse_launch*_full() API.
1233           (Exposes a previously-existing memory leak in the error code
1234           path, so adding to VALGRIND_TO_FIX for now).
1235
1236 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1237
1238         * docs/gst/gstreamer-sections.txt:
1239         * gst/gst.c: (init_post):
1240         * gst/gst_private.h: (_GstParseContext):
1241         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
1242           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
1243           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
1244           (gst_parse_launch_full):
1245         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
1246           (GstParseFlags), (GstParseContext):
1247         * gst/gstutils.c: (gst_parse_bin_from_description),
1248           (gst_parse_bin_from_description_full):
1249         * gst/gstutils.h:
1250         * gst/parse/grammar.y:
1251         * gst/parse/types.h:
1252         * win32/common/libgstreamer.def:
1253           Add new gst_parse_*_full API (#528178):
1254           API: gst_parse_launch_full()
1255           API: gst_parse_launchv_full()
1256           API: gst_parse_bin_from_description_full()
1257           API: gst_parse_context_new()
1258           API: gst_parse_context_free()
1259           API: gst_parse_context_get_missing_elements()
1260
1261 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
1262
1263         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
1264
1265         * docs/faq/gst-uninstalled:
1266           Also support ffmpeg in gst-uninstalled.
1267
1268 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1269
1270         * configure.ac:
1271         After discussion on IRC use the binary registry as default
1272         but allow to disable it with --disable-binary-registry.
1273
1274         * win32/common/libgstreamer.def:
1275         Add the two new symbols for the binary registry.
1276
1277 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
1278
1279         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
1280         * gst/gstutils.c: (gst_parse_bin_from_description):
1281         * gst/parse/grammar.y: (graph):
1282           More guards against bad input; typo fix; some minor clean-ups.
1283
1284 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
1285
1286         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1287
1288         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1289         If nothing else can be used, use the last buffer's start time as
1290         the segment's last stop. Fixes bug #534258.
1291
1292 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
1293
1294         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1295           Move size sanity check to the right place: downstream may return
1296           a buffer with a smaller size if the buffer caps are different than
1297           the requested ones, as may happen when doing reverse negotiation.
1298
1299 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1300
1301         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
1302         (gst_file_sink_render):
1303         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
1304         (gst_file_src_start):
1305         Small cleanups. Add note adbout g_fopen() on windows and why we don't
1306         use it yet.
1307
1308 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1309
1310         * gst/gstpad.c: (gst_pad_load_and_link):
1311         * gst/gstutils.c: (gst_element_link_pads),
1312         (gst_element_unlink_pads):
1313         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
1314         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
1315         (gst_check_teardown_sink_pad),
1316         (gst_check_element_push_buffer_list):
1317         * tests/check/elements/fakesink.c: (GST_START_TEST):
1318         * tests/check/elements/filesink.c:
1319         * tests/check/elements/filesrc.c: (GST_START_TEST):
1320         * tests/check/elements/multiqueue.c: (setup_multiqueue),
1321         (mq_sinkpad_to_srcpad):
1322         * tests/check/elements/tee.c: (GST_START_TEST):
1323         * tests/check/generic/sinks.c: (GST_START_TEST):
1324         * tests/check/gst/gstbin.c: (GST_START_TEST):
1325         * tests/check/gst/gstevent.c: (GST_START_TEST):
1326         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1327         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
1328         * tests/check/gst/gstquery.c: (GST_START_TEST):
1329         * tests/check/gst/gstutils.c: (GST_START_TEST):
1330         * tests/check/libs/basesrc.c: (GST_START_TEST):
1331         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
1332         (gst_parse_test_element_change_state):
1333         Don't use gst_element_get_pad().
1334
1335 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
1336
1337         * docs/Makefile.am:
1338         Fix installing plugin documentation when gtk-doc is disabled.
1339
1340 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1341
1342         * docs/manual/advanced-autoplugging.xml:
1343         * docs/manual/basics-helloworld.xml:
1344         * docs/manual/basics-pads.xml:
1345         * docs/manual/highlevel-components.xml:
1346         Avoid using a bad function in the example code.
1347
1348 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1349
1350         * gst/gstclock.c: (gst_clock_set_calibration):
1351         Fix debug of the new clock rate.
1352
1353 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
1354
1355         * win32/common/libgstbase.def:
1356         Add gst_base_sink_wait_clock() to the exported symbols.
1357
1358 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
1359
1360         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
1361
1362         * libs/gst/base/gstbasetransform.c:
1363         (gst_base_transform_sink_event):
1364         Unref events that the GstBaseTransform::event vfunc didn't want to
1365         have forwarded by the base class. Closes a leak in identity.
1366         Fixes bug #446763.
1367
1368 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1369
1370         * docs/libs/gstreamer-libs-sections.txt:
1371         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
1372         * libs/gst/base/gstbasesink.h:
1373         Expose a method that was previously used internally to synchronize
1374         against the clock because it can be useful for subclasses too.
1375         API: GstBaseSink::gst_base_sink_wait_clock()
1376
1377 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1378
1379         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
1380           Add sanity check to make sure we don't get smaller buffers
1381           than requested (and fallback to normal buffer alloc if we do).
1382
1383 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1384
1385         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
1386         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
1387         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
1388         Refactor adjusting the running_time with latency and offset into a
1389         separate method.
1390         When doing clipping, we still want to use the subclass get_times method,
1391         just in case the DURATION or TIMESTAMP are not set.
1392
1393 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1394
1395         * docs/gst/gstreamer-sections.txt:
1396         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
1397         * gst/gsttypefind.h:
1398         * win32/common/libgstreamer.def:
1399           API: add gst_type_find_suggest_simple(), #533740.
1400
1401 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1402
1403         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
1404           Use right error code when typefinding fails, so we can use
1405           the default (translated) error messages.
1406
1407 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1408
1409         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1410         (gst_base_src_start):
1411         When the subclass did not set caps on outgoing buffers, configure the
1412         caps we negotiated on the source pad.
1413         When the typefind helper does not find caps, error out properly instead
1414         of doing things with NULL caps.
1415
1416 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1417
1418         * gst/gsttypefind.h:
1419           Tabs to spaces, oh yes!
1420
1421 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1422
1423         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
1424           Add David's and Benjamin's tests for array intersection to the
1425           unit test suite (#147931).
1426
1427 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1428
1429         * gst/gstevent.c:
1430           Document that gst_event_new_tag() and gst_event_new_navigation()
1431           take ownership of the taglist/structure passed to them. (#533635).
1432
1433 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
1434
1435         * docs/Makefile.am:
1436         Don't descend into the plugins dir if plugin docs building
1437         is disabled.
1438
1439         * docs/README:
1440         Add a note about the new type:GTypeName syntax for the plugin
1441         documentation .types file.
1442
1443 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1444
1445         * gst/gstmessage.c: (gst_message_new_error),
1446         (gst_message_new_warning), (gst_message_new_info):
1447         * gst/gstmessage.h:
1448         Mark the debug string parameters as const. Fixes bug #533490.
1449
1450 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
1451
1452         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1453         Sort buffer cache list by end offsets. This makes sure that we don't
1454         stop to search for a cached buffer that contains the requested data
1455         too early.
1456         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
1457         more efficient. Fixes bug #459862.
1458
1459 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
1460
1461         * gst/gstinfo.c:
1462           Explain why we copy the list.
1463
1464         * gst/gstpipeline.c:
1465           Improve docs.
1466
1467         * gst/gstutils.c:
1468           Add one debug-log statement to help tracing probelms with linking pads.
1469
1470 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
1471
1472         * tests/check/gst/gstinfo.c:
1473         Add a test for removing the default log handler. Seems to fail under
1474         windows.
1475
1476 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1477
1478         * gst/gstpad.c: (gst_pad_peer_accept_caps):
1479         Release pad lock before calling out to avoid a possible deadlock.
1480
1481 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1482
1483         * gst/parse/grammar.y:
1484         Remove unneeded value unset.
1485
1486         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1487         Add unit test for de/serialization of caps.
1488
1489 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1490
1491         * plugins/elements/gstfakesink.c:
1492         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
1493         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
1494         (gst_fake_src_class_init):
1495         Use custom marshalers that take GstMiniObject as first parameter.
1496         Using OBJECT as parameter while a GstMiniObject is given will lead
1497         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
1498
1499 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1500
1501         * plugins/elements/gsttypefindelement.c:
1502         (gst_type_find_element_handle_event),
1503         (gst_type_find_element_send_cached_events),
1504         (gst_type_find_element_change_state):
1505         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
1506         immediately.
1507
1508 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1509
1510         * plugins/elements/gsttypefindelement.c:
1511         (gst_type_find_handle_src_query), (stop_typefinding),
1512         (gst_type_find_element_handle_event),
1513         (gst_type_find_element_send_cached_events),
1514         (gst_type_find_element_change_state):
1515         Forward FLUSH_START events immediately and clean up instead of
1516         caching them.
1517
1518 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1519
1520         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1521
1522         * libs/gst/base/gstbasetransform.c:
1523         (gst_base_transform_buffer_alloc):
1524         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
1525         fall back to default negotiation in the chain function if the caps
1526         are different from what was requested. Fixes bug #526768.
1527
1528 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1529
1530         * gst/gstsegment.c:
1531         * tests/check/gst/gstsegment.c:
1532           No, let's not use g_slice_{dup|copy} here, since they only exist
1533           since GLib 2.14 and we still depend only on >= 2.12. Also add
1534           unit test for gst_segment_copy().
1535
1536 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1537
1538         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
1539           Try to fix 'dereferencing type-punned pointer will break strict
1540           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
1541           changed the default GType typedef from gulong to gsize at some point,
1542           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
1543           g_once_* functions all take a gsize * though, so work around the type
1544           mismatch for C++ by doing everything in gsize and casting to GType
1545           later.
1546
1547 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
1548
1549         * plugins/elements/gstmultiqueue.c:
1550         Add documentation for the signals to push our core plugin docs
1551         coverage back up to 100%.
1552
1553 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1554
1555         * gst/gstinfo.h (GST_FUNCTION):
1556           Reverted GST_FUNCTION to the old version as we don't want the
1557           full signature in C++ code. Also added support for MSVC.
1558
1559 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1560
1561         * gst/gstutils.h:
1562         Intern the type name string, similar to what G_DEFINE_TYPE does.
1563
1564 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1565
1566         * gst/gstutils.h:
1567         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
1568
1569 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1570
1571         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
1572
1573         * libs/gst/base/gstbasetransform.c:
1574         (gst_base_transform_buffer_alloc):
1575         Don't passthrough buffer allocation too easily if the caps change.
1576         This breaks when working in passthrough mode and upstream changes
1577         it's caps. Fixes bug #526768.
1578
1579 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1580
1581         * gst/gstinfo.c (gst_debug_log_valist):
1582           Improved the __FILE__ part of debug output for MSVC.
1583
1584 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1585
1586         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
1587           Declaration after statement fix for compilers like MSVC.
1588
1589 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1590
1591         * win32/common/config.h.in:
1592           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
1593           use the real thing than having "???" unconditionally.
1594
1595 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1596
1597         * gst/gstinfo.h (GST_FUNCTION):
1598           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
1599
1600 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1601
1602         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
1603         Small code cleanup.
1604
1605         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1606         (gst_base_sink_set_flushing):
1607         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1608         Fix some comments.
1609
1610 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1611
1612         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1613         (gst_fake_src_init), (gst_fake_src_set_property),
1614         (gst_fake_src_get_property), (gst_fake_src_start):
1615         * plugins/elements/gstfakesrc.h:
1616         Added format property to control the format of the newsegment events.
1617         API: GstFakeSrc:format
1618
1619 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1620
1621         * win32/common/libgstreamer.def:
1622         Add gst_pad_has_name() to the exported symbols.
1623
1624 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1625
1626         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1627         * libs/gst/base/gstbasetransform.c:
1628         (gst_base_transform_prepare_output_buffer):
1629         Don't allow negative sizes when allocating new buffers.
1630         Fixes bug #461253.
1631
1632 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1633
1634         Patch by: Sjoerd Simons <sjoerd at luon net>
1635
1636         * gst/gstbus.c: (gst_bus_source_dispatch):
1637           Don't print a warning if the queue is empty when we try to pop
1638           here. That could happen if another thread or callback set the
1639           bus to flushing between the source's check/prepare and the
1640           dispatch being called (#531538).
1641
1642 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1643
1644         * plugins/elements/gstmultiqueue.c:
1645           Small docs fix.
1646         
1647 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
1648
1649         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1650         Add unit test for deserializing uint64s and check some really large
1651         numbers in the int64 test.
1652
1653 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1654
1655         * tools/gst-inspect.c: (n_print), (print_hierarchy),
1656         (print_interfaces), (print_element_properties_info),
1657         (print_signal_info):
1658         Use "%s" as format string instead of printing strings directly.
1659
1660 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1661
1662         * gst/gstclock.c: (gst_clock_set_calibration):
1663         Make some checks actually useful.
1664
1665         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1666         Remove some unused code. Unsigned integers tend to be >= 0.
1667
1668 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1669
1670         * gst/gstminiobject.c: (gst_value_get_mini_object):
1671           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
1672           function was not in the unscheduled 0.10.19 release.
1673
1674 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1675
1676         * gst/gstregistry.c: (gst_registry_scan_path_level):
1677           Only print one log message per non-plugin file.
1678
1679 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1680
1681         * gst/gstinfo.c: (gst_debug_log_default):
1682           Fix alignment of debug log columns on 64-bit.
1683
1684 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1685
1686         * docs/libs/Makefile.am:
1687         * docs/libs/gstreamer-libs-sections.txt:
1688           Ignore private controller headers for docs.
1689
1690 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
1691
1692         * libs/gst/controller/gstcontrollerprivate.h:
1693         * libs/gst/controller/gsthelper.c:
1694         * libs/gst/controller/gstinterpolation.c:
1695         * libs/gst/controller/gstinterpolationcontrolsource.c:
1696         (gst_interpolation_control_source_set_interpolation_mode):
1697         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1698         * libs/gst/controller/lib.c:
1699         Move some private declarations into private headers.
1700
1701 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
1702
1703         * gst/gstdebugutils.c: (debug_dump_element_pad):
1704         Remove some code that is unused after Stefan's refactoring and uses
1705         uninitialized variables now, resulting in a compiler warning.
1706
1707 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1708
1709         * gst/gstregistry.c: (gst_registry_scan_path_level):
1710           Run g_str_has_suffix() only on the file name, not the
1711           entire file path.
1712
1713 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
1714
1715         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
1716           Since we're not called only from the chain function any longer,
1717           we can't assume that there's always data in the queue, so move
1718           the is_full check to the beginning of the loop (otherwise we'd
1719           hit the assert when changing the limit properties while the
1720           queue is empty or not running yet).
1721           Also, only set a discont if items were actually removed from
1722           the queue.
1723
1724         * tests/check/elements/queue.c: (test_leaky_downstream):
1725           Test case for the above.
1726
1727 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1728
1729         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
1730
1731         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
1732         (gst_queue_chain), (queue_capacity_change),
1733         (gst_queue_set_property):
1734         When changing thr max capacity of a leaky queue, immediatly drop buffers
1735         instead of waiting for a push on the sinkpad. Fixes #530637.
1736
1737 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
1738
1739         * gst/gstdebugutils.c:
1740           Refactor code and fix handling of ghostpads and their proxypads.
1741
1742 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1743
1744         * docs/gst/gstreamer-sections.txt:
1745         * gst/gstevent.c: (gst_event_has_name):
1746         * gst/gstevent.h:
1747         * tests/check/gst/gstevent.c: (GST_START_TEST):
1748         Add method to conveniently check the name of a custom event with
1749         gst_event_has_name().
1750         Reformat the event docs so that related methods are put together instead
1751         of the default alphabetical sort.
1752         Update unit test with new method.
1753         API: GstEvent::gst_event_has_name()
1754
1755 2008-04-28  Michael Smith <msmith@songbirdnest.com>
1756
1757         * libs/gst/check/Makefile.am:
1758           Don't add an explicit link to libgstreamer-0.10.la; it's already
1759           included in GST_OBJ_LIBS.
1760
1761 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
1762
1763         * gst/gst.c:
1764         Register GstClock type from a type-safe context. Fixes bug #530317.
1765
1766 2008-04-25  Michael Smith <msmith@songbirdnest.com>
1767
1768         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
1769         * tools/gst-run.c:
1770           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
1771
1772 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1773
1774         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1775         (gst_bin_dispose):
1776         Use the GLib stuff to create a private structure.
1777         Add some locking around some dispose methods to make them a little
1778         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1779
1780 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1781
1782         * libs/gst/base/gstbasesink.h:
1783         * libs/gst/base/gstbasesrc.h:
1784         * libs/gst/base/gstbasetransform.h:
1785         * libs/gst/base/gstcollectpads.h:
1786           Fix doc typos and unify caps a bit.
1787
1788 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1789
1790         * tools/gst-launch.1.in:
1791           Forgot to also add the envvar docs here.
1792
1793 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1794
1795         * gst/gst.c: (init_post), (gst_deinit):
1796         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
1797           (test_concurrent_create), (gst_pipeline_suite):
1798           Ref some more classes in gst_init() to work around thread-safety
1799           issues in pre-2.16 GLibs, and add basic unit test.
1800
1801 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1802
1803         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1804         (gst_base_sink_send_event):
1805         Rearrange the latency query code. We always want to do the upstream
1806         query, even if we are not live so that the upstream elements can get the
1807         latency results too. If we fail doing the query and we are live, we
1808         return TRUE afterwards.
1809
1810 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1811
1812         patch by: Jason Zhao <e3423c@motorola.com>
1813
1814         * docs/gst/running.xml:
1815         * gst/gst.c:
1816           Enable/disable scan_and_update_registry() based on commandline switch
1817           or environment variable. Fixes #520468.
1818           
1819         * ChangeLog:
1820           Fix typo in my previous commit.
1821
1822 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1823
1824         * gst/gstregistrybinary.c:
1825           Add a warning if we hit unhandled factories when saving.
1826           More debug logging detail, but move to LOG category.
1827
1828 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1829
1830         * gst/gstregistry.c:
1831           Tell the *truth* when improving the documentation.
1832
1833 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
1834
1835         * gst/gstelementfactory.c: (gst_element_factory_make):
1836         Unref the factory after it was used the last time, not before.
1837
1838         * gst/gstindexfactory.c: (gst_index_factory_make):
1839         Improve debugging a bit and don't leak a ref to the index factory with
1840         each call.
1841
1842 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1843
1844         * gst/gstregistry.c:
1845           Improve the documentation.
1846
1847 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1848
1849         * gst/gstsegment.c:
1850           The glib macro seems to be borked. Use g_slice_copy directly and cast
1851           in the hope that this fixes the warning on 64bit.
1852
1853 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1854
1855         * gst/gstsegment.c:
1856           Document the new function. Use g_slice_dup() (no need for
1857           gst_segment_init()).    
1858
1859 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1860
1861         * docs/gst/gstreamer-sections.txt:
1862           Move GParamSepc macros to standart section.
1863   
1864         * gst/gstbin.c:
1865           Dn't document _get_type - its in private section in docs anyway and
1866           this doc-blob was incomplete.
1867
1868         * gst/gstclock.h:
1869           Fix wrong symbol names in docs.
1870
1871         * gst/gstmacros.h:
1872           Add once doc sentence.
1873
1874         * tests/check/gst/.cvsignore:
1875           Ignore more.
1876
1877 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1878
1879         * docs/gst/Makefile.am:
1880           And remove those libs here.
1881
1882 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1883
1884         * docs/libs/Makefile.am:
1885           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
1886
1887 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1888
1889         Patch by: Olivier Crete <tester at tester dot ca>
1890
1891         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1892         Add the min-threshold to the min latency if possible. Fixes #529148.
1893
1894 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1895
1896         * docs/gst/gstreamer.types.in:
1897           Stupid editor, I removed that line as it should go in yet.
1898
1899 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1900
1901         * docs/gst/gstreamer.types.in:
1902         * docs/libs/gstreamer-libs.types:
1903           Remove library types fro core docs and have them in libs docs.
1904           Reformat and cleanup. Add comment for miniobject types.
1905
1906 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
1907
1908         * gst/gsturi.c: (gst_uri_get_protocol):
1909           Fix leak: g_strdown operates on the string in place, while
1910           g_ascii_strdown() returns a newly-allocated string.
1911
1912 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
1913
1914         * tools/gst-inspect.c: (print_uri_handler_info),
1915         (print_element_info):
1916         Print the URI protocols and the URI type supported by the element.
1917
1918 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1919
1920         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
1921         Use g_value_take_string() instead of the deprecated
1922         g_value_set_string_take_ownership().
1923
1924 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1925
1926         * gst/gstregistrybinary.c: (_gst_crc32):
1927         Return the old CRC instead of 0 if we give a NULL buffer
1928         or a buffer with a length of 0.
1929
1930 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1931
1932         * gst/gsturi.c: (gst_uri_protocol_check_internal),
1933         (gst_uri_get_protocol), (gst_uri_has_protocol),
1934         (gst_uri_construct), (gst_uri_handler_set_uri):
1935         A valid URI scheme can also include '+', '-' and '.' additional
1936         to alphanumeric characters as per RFC 3986 Section 3.1.
1937
1938         Handle URI schemes case insensitive in all places and convert
1939         to lower-case when constructing an URI or setting an URI with
1940         the GstURIHandler interface. Fixes bug #528868.
1941         All elements can still assume (as before) that they will
1942         get passed URIs with a lower-case URI scheme by the GstURIHandler
1943         interface.
1944
1945 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
1946
1947         * gst/gstcaps.c: (gst_static_caps_get):
1948         * gst/gstclock.c: (gst_clock_entry_new):
1949           Don't use g_atomic_set_int where it's not needed.
1950
1951 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1952
1953         * gst/gstvalue.c: (gst_value_deserialize_caps):
1954         * gst/parse/grammar.y:
1955         Fix 2 caps leaks.
1956
1957 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1958
1959         * gst/gstutils.c: (gst_atomic_int_set):
1960         Use g_atomic_int_set() here too instead of assignment +
1961         g_atomic_int_get().
1962
1963 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1964         
1965         * gst/gstutils.c:
1966         * gst/gstutils.h:
1967         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
1968         now that we depend on new enough GLib.
1969
1970         * gst/gstcaps.c: (gst_static_caps_get):
1971         * gst/gstclock.c: (gst_clock_entry_new):
1972         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
1973         (gst_debug_set_default_threshold), (_gst_debug_category_new),
1974         (gst_debug_category_set_threshold):
1975         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1976         (gst_base_sink_set_qos_enabled):
1977         * libs/gst/net/gstnettimeprovider.c:
1978         (gst_net_time_provider_set_property):
1979         Use g_atomic_int_set() instead of gst_atomic_int_set().
1980
1981 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1982
1983         * gst/gstquery.c:
1984           Also use G_GINT64_CONSTANT for the queries.
1985
1986 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1987
1988         * gst/gstmessage.c:
1989           Use G_GINT64_CONSTANT in varargs function.
1990
1991 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1992
1993         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
1994         Initialize the registry magic with zeroes.
1995
1996 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1997
1998         * gst/gstregistrybinary.c: (_gst_crc32),
1999         (gst_registry_binary_write),
2000         (gst_registry_binary_initialize_magic),
2001         (gst_registry_binary_write_cache),
2002         (gst_registry_binary_check_magic),
2003         (gst_registry_binary_read_cache):
2004         * gst/gstregistrybinary.h:
2005         Add crc32 checksum to the binary registry file and check this before
2006         accepting a registry file.
2007
2008         Also free the data list when writing to the registry file fails.
2009
2010 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
2011
2012         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
2013         (gst_registry_binary_load_feature),
2014         (gst_registry_binary_load_plugin):
2015         If an element supports the Uri interface, returns a valid pointer
2016         to the supported URI protocols but this pointer contains nothing
2017         don't try to save that as it will corrupt the registry.
2018
2019         Don't unref the plugin if we added it to the registry already but
2020         fail to load a feature as gst_registry_add_plugin() takes ownership
2021         of the plugin.
2022
2023         Improve debugging a bit.
2024
2025 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
2026
2027         * gst/gsttaglist.h:
2028           Clarify some tag item docs after discussion on irc.
2029
2030 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2031
2032         * docs/gst/gstreamer-docs.sgml:
2033           Remove commented out plugins (they have their own docs). Update
2034           comments.
2035
2036 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2037
2038         * docs/gst/gstreamer-docs.sgml:
2039         * docs/gst/gstreamer-sections.txt:
2040         * gst/gstparamspecs.c:
2041         * gst/gstparamspecs.h:
2042           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
2043           docs to own section.
2044
2045         * gst/gstvalue.c:
2046           This now only documents GValue.
2047           
2048         * docs/libs/gstreamer-libs-sections.txt:
2049         * libs/gst/controller/gstcontroller.h:
2050           Remove GST_PARAM_CONTROLLABLE.
2051
2052 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
2053
2054         * docs/README:
2055           Correct file path. Tell about how to use -overrides.txt.
2056         * docs/design/draft-tagreading.txt:
2057           Small design update.
2058
2059 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
2060
2061         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
2062         (gst_registry_binary_load_plugin):
2063         Fix a typo in a debug message and revert change from yesterday as
2064         gst_registry_add_plugin() will only fail if something is really wrong
2065         already and we can't survive it anyway.
2066
2067 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
2068
2069         * gst/gst.c: (init_post), (gst_deinit):
2070           Pre-register GstGError GType from a thread-safe context
2071           (fixes #527967); unref enum type classes in deinit.
2072
2073 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2074
2075         Patch by: Rene Stadler <mail at renestadler de>
2076
2077         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
2078           Merging an empty list with another list in KEEP_ALL mode should
2079           yield an empty list as result and not the second list (#512578).
2080
2081         * tests/check/gst/gsttagsetter.c:
2082           Add unit test for tag merge modes and the aforementioned bug.
2083
2084 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2085
2086         Patch by: Rene Stadler <mail at renestadler de>
2087
2088         * gst/gsttaglist.h:
2089           Fix description to match the order in the table (#512577).
2090   
2091 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
2092
2093         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
2094
2095         * libs/gst/net/gstnettimepacket.h:
2096         * docs/libs/gstreamer-libs-sections.txt:
2097           Define socklen_t as int if it's not defined yet. Fixes compilation
2098           with MSVC6 and other versions where socklen_t is not defined in
2099           the windows headers (#518022).
2100
2101 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
2102
2103         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2104         If gst_registry_add_plugin() fails our reference to the plugin is
2105         invalid so don't try to use it anymore and instead error out.
2106
2107 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2108
2109         * tools/gst-xmlinspect.c: (print_element_info), (main):
2110           De-cruft a bit. If no argument is specified, print all elements in
2111           XML syntax rather than a freestyle list of elements like gst-inspect.
2112           Also, don't print XML header chunk unless we actually have something
2113           to print (ie. don't print it before an error message); print error
2114           message to stderr not stdout. Remove support for printing plugin
2115           info (it would just output something freestyle along the lines of
2116           gst-inspect so far), which fixes #514507. Also add license header.
2117
2118 2008-04-11  Julien Moutte  <julien@fluendo.com>
2119
2120         Mac OS X love...
2121         * configure.ac: Merge platform specific defines, introduce a new
2122         define on OS X to remember that forking when updating registry is
2123         unsafe.
2124         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
2125         module.
2126         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
2127         is defined.
2128         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
2129         condition that leads to absolutely no plugins being registered on
2130         OS X.
2131
2132 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2133
2134         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2135
2136         * gst/gstutils.c: (gst_pad_add_data_probe),
2137           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
2138           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
2139           (gst_pad_add_buffer_probe_full):
2140         * gst/gstutils.h:
2141         * docs/gst/gstreamer-sections.txt:
2142         * win32/common/libgstreamer.def:
2143           Add gst_pad_add_*_probe_full() functions with a notify callback that
2144           lets the caller free the data it passes to the probe functions. This
2145           is useful for bindings such as gst-python or gstreamermm (#526814).
2146           API: gst_pad_add_data_probe_full
2147           API: gst_pad_add_buffer_probe_full
2148           API: gst_pad_add_event_probe_full
2149
2150         * tests/check/gst/gstutils.c:
2151           Add minimal unit test to make sure freeing the data actually works
2152           as expected.
2153
2154         * tests/benchmarks/.cvsignore:
2155           Random cvsignore addendum.
2156
2157 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
2158
2159         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
2160           (GST_DEBUG_BIN_TO_DOT_FILE):
2161           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
2162           to it in the docs (since these are macros the types of the arguments
2163           won't be shown in the docs otherwise).
2164
2165 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2166
2167         * gst/gstpad.c:
2168           Do not abort on out of memory for pad_alloc_buffer.
2169
2170 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
2171
2172         * libs/gst/check/gstcheck.c:
2173           Remove blank line between symbol name ad parameters to fix gtkdoc
2174           warning.
2175
2176 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2177
2178         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2179
2180         * docs/gst/gstreamer-sections.txt:
2181         * gst/gstsegment.c:
2182         * gst/gstsegment.h:
2183         * win32/common/libgstreamer.def:
2184           Expose gst_segment_copy() to make things easier for the c++ bindings.
2185           Fixes #518932.
2186           API: gst_segment_copy()
2187
2188 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2189
2190         * gst/gst.c: (gst_init_get_option_group), (init_post):
2191           Fix const position; ref GType classes for enum types to work
2192           around thread-safety issues in GLib versions < 2.16.
2193
2194 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2195
2196         * docs/design/part-buffering.txt:
2197         Fix some typos and set the estimated total for push mode to -1.
2198
2199         * gst/gstquery.c: (gst_query_new_buffering):
2200         Set buffering-left to 0 as we're not buffering by default.
2201
2202         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
2203         Implement BUFFERING query.
2204
2205 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2206
2207         Based on patch by: Milosz Derezynski <internalerror gmail com>
2208
2209         * gst/gsterror.c: (_gst_stream_errors_init):
2210         * gst/gsterror.h:
2211           Add two new error codes for encrypted content. Fixes #524659.
2212           API: GST_STREAM_ERROR_DECRYPT
2213           API: GST_STREAM_ERROR_DECRYPT_NOKEY
2214
2215 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
2216
2217         * gst/gstquery.h:
2218           Fix typo.
2219
2220         * win32/common/libgstreamer.def:
2221           Add new functions.
2222
2223 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
2224
2225         * plugins/elements/gstidentity.c: (gst_identity_event),
2226         (gst_identity_start):
2227         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
2228         event after processing some data. Fixes bug #526042.
2229
2230 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2231
2232         * docs/gst/gstreamer-sections.txt:
2233         * gst/gstquery.c: (gst_query_parse_latency),
2234         (gst_query_set_buffering_percent),
2235         (gst_query_parse_buffering_percent),
2236         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
2237         * gst/gstquery.h:
2238         Rename _avail -> _range
2239         API: gst_query_set_buffering_range
2240         API: gst_query_parse_buffering_range
2241
2242 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2243
2244         * docs/design/part-buffering.txt:
2245         * gst/gstquark.c:
2246         * gst/gstquark.h:
2247         * gst/gstquery.c: (gst_query_parse_latency),
2248         (gst_query_new_buffering), (gst_query_set_buffering_percent),
2249         (gst_query_parse_buffering_percent):
2250         * gst/gstquery.h:
2251         Add busy field and quark for the buffering query so that the app can
2252         only use the query to see if buffering is in progress.
2253
2254 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2255
2256         * docs/gst/gstreamer-sections.txt:
2257         * gst/gstmessage.c: (gst_message_set_buffering_stats),
2258         (gst_message_parse_buffering_stats):
2259         * gst/gstmessage.h:
2260         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
2261         (gst_query_parse_latency), (gst_query_new_buffering),
2262         (gst_query_set_buffering_percent),
2263         (gst_query_parse_buffering_percent),
2264         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
2265         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
2266         * gst/gstquery.h:
2267         Reorder the message docs and headers for clarity.
2268         Add aditional buffering stats API for messages.
2269         Add buffering query.
2270         Convert some leftover queries to use GstQuark.
2271         API: gst_message_set_buffering_stats
2272         API: gst_message_parse_buffering_stats
2273         API: GST_QUERY_BUFFERING
2274         API: GstBufferingMode
2275         API: gst_query_new_buffering
2276         API: gst_query_set_buffering_percent
2277         API: gst_query_parse_buffering_percent
2278         API: gst_query_set_buffering_stats
2279         API: gst_query_parse_buffering_stats
2280
2281 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2282
2283         * gst/gstmessage.c: (gst_message_new_error),
2284         (gst_message_new_warning), (gst_message_new_info),
2285         (gst_message_new_buffering), (gst_message_new_state_changed),
2286         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
2287         (gst_message_new_new_clock), (gst_message_new_segment_start),
2288         (gst_message_new_segment_done), (gst_message_new_duration),
2289         (gst_message_new_async_start), (gst_message_parse_buffering),
2290         (gst_message_parse_state_changed),
2291         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
2292         (gst_message_parse_new_clock), (gst_message_parse_error),
2293         (gst_message_parse_warning), (gst_message_parse_info),
2294         (gst_message_parse_segment_start),
2295         (gst_message_parse_segment_done), (gst_message_parse_duration),
2296         (gst_message_parse_async_start):
2297         Use GstQuark for messages.
2298
2299 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2300
2301         * gst/gstquark.c: (_priv_gst_quarks_initialize):
2302         * gst/gstquark.h:
2303         Add some more quarks needed for messages and queries.
2304
2305 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
2306
2307         * docs/design/part-buffering.txt:
2308         Remove the "none" buffering mode, STREAM is a good default.
2309         Move estimated-time to the avail query, that's when it will be needed.
2310         Other small typo fixes and updates.
2311
2312 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2313
2314         * gst/gstindex.c: (gst_index_resolver_get_type):
2315           Don't put descriptions into the nick field of a GEnumValue: it's not
2316           meant for that and some language bindings rely on the nick field to
2317           construct constants and the like. Fixes #526705.
2318
2319 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2320
2321         * NEWS:
2322         * RELEASE:
2323         * gstreamer.doap:
2324           Merge other changes from 0.10.19 release branch.
2325
2326 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
2327
2328         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2329
2330         * configure.ac:
2331         Actually build dlls when cross-compiling with mingw32.
2332         Fixes bug #526247.
2333
2334 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
2335
2336         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
2337
2338         * gst/gstpoll.c:
2339         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
2340
2341 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2342
2343         * docs/design/draft-latency.txt:
2344         Fix typo.
2345
2346         * docs/design/part-buffering.txt:
2347         Update design docs with more buffering ideas.
2348
2349 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
2350
2351         * configure.ac:
2352           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
2353
2354 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2355
2356         * configure.ac:
2357           Revert part that belongs to the preset patch.
2358
2359 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2360
2361         * configure.ac:
2362           Add qoutes to the define. Fixes # 525961.
2363
2364 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
2365
2366         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
2367         (gst_file_index_load), (gst_file_index_add_id),
2368         (gst_file_index_get_assoc_entry):
2369         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
2370         (gst_mem_index_free_id), (gst_mem_index_add_id),
2371         (gst_mem_index_index_format):
2372         Use GSlice when possible.
2373
2374 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
2375
2376         * libs/gst/controller/gstinterpolationcontrolsource.c:
2377         (gst_control_point_free),
2378         (gst_interpolation_control_source_set_internal):
2379         Use GSlice for allocating the control points.
2380
2381 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
2382
2383         * plugins/elements/gsttypefindelement.c:
2384         (gst_type_find_element_class_init),
2385         (gst_type_find_element_set_property),
2386         (gst_type_find_element_get_property),
2387         (gst_type_find_element_activate):
2388         * plugins/elements/gsttypefindelement.h:
2389         Cleanup properties.
2390         Fix pad leak when peer query fails.
2391         We can still typefind when the peer returns -1.
2392         Add property to force caps and bypass typefinding. This will be used in
2393         uridecodebin.
2394         API::force-caps
2395
2396 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2397
2398         * configure.ac:
2399         Require GLib 2.12.
2400
2401         * gst/glib-compat-private.h:
2402         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
2403         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2404         Unconditionally use GSlice for allocation.
2405
2406         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
2407         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
2408         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
2409         (gst_structure_free):
2410         Use GSlice for allocation.
2411
2412 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2413
2414         * gst/parse/Makefile.am:
2415         * gst/parse/grammar.tab.pre.c:
2416         * gst/parse/grammar.tab.pre.h:
2417         * gst/parse/lex._gst_parse_yy.pre.c:
2418         Require a new enough flex and bison and remove the parser hacks to use
2419         a pre-regenerated version.
2420
2421 2008-04-01  Julien Moutte  <julien@fluendo.com>
2422
2423         patch by: Jason Zhao <E3423C@motorola.com>
2424
2425         * configure.ac: Add a configure switch to disable option parsing
2426         in gst_init.
2427         Fixes #522882.
2428
2429 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2430
2431         * configure.ac:
2432         * gst/gstregistry.c:
2433           MacOS has plugins under .so or under .dylib. Add detection for MacOS
2434           and handle this case.
2435
2436         * gst/gst.c:
2437           Add a comment here describing, why we stat each plugin and not try to
2438           be smart.
2439
2440 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
2441
2442         * libs/gst/base/gstbasetransform.c:
2443         (gst_base_transform_prepare_output_buffer):
2444         Also unset the GAP flag on buffers if we're working inplace but
2445         the element is not GAP-aware.
2446
2447         Mark a comment as FIXME 0.11.
2448
2449 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2450
2451         * gst/gst.c:
2452           Fix type in log message and add one to ease seeing how long registry
2453           cache verification takes.
2454
2455         * gst/gstregistry.c:
2456           Only test plugin filenames against G_MODULE_SUFFIX.
2457
2458 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2459
2460         * gst/gstdebugutils.c:
2461           Improve handling ghost/proxy pads.
2462
2463 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
2464
2465         * docs/gst/gstreamer-sections.txt:
2466         * gst/gstpad.c:
2467         * gst/gstpad.h:
2468           Expose macro to docs and fix link to it.
2469
2470 2008-03-27  Michael Smith <msmith@fluendo.com>
2471
2472         * libs/gst/dataprotocol/dataprotocol.c:
2473         (gst_dp_packet_from_event_1_0):
2474           When calculating GDP body CRC, use the correct pointer. 
2475           Fixes part of #522401.
2476
2477 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2478
2479         Patch by: Mark Nauwelaerts <manauw at skynet be>
2480
2481         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2482         (gst_identity_init), (gst_identity_prepare_output_buffer):
2483         Identity is not always a passthrough element, it can modify the buffer
2484         timestamps when it has a datarate and operates in single-segment mode.
2485         We therefore make it an in_place filter with a custom buffer prepare
2486         function that conditionally makes the input buffer metadata writable
2487         when needed.  Fixes #523985.
2488
2489 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2490
2491         Patch by: Mark Nauwelaerts <manauw at skynet be>
2492
2493         * gst/gstclock.h:
2494         * libs/gst/base/gstbasesrc.h:
2495         * libs/gst/base/gstbasetransform.c:
2496         * libs/gst/check/gstcheck.c:
2497         Small documentation fixes. Fixes #523978.
2498
2499 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2500
2501         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2502         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2503         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
2504
2505 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2506
2507         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
2508         (single_queue_underrun_cb):
2509         When trying to make room in the queue, bump the max allowed buffers
2510         bigger than the current amount of buffers in the queue. this fixes some
2511         nasty deadlocks in multiqueue when dynamically changing the limits of
2512         the queue.
2513
2514 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2515
2516         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2517
2518         * gst/gstcaps.c: (gst_caps_set_simple),
2519         (gst_caps_set_simple_valist), (gst_caps_intersect):
2520         * gst/gstcaps.h:
2521         Constify the field gchar * params in set_simple and friends.
2522         Fixes #522326.
2523
2524 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2525
2526         * gst/gstvalue.c: (gst_value_transform_object_string):
2527         Transform a GstObject to a more meaningfull string that includes the
2528         object type in addition to its name.
2529
2530 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
2531
2532         * ChangeLog:
2533           ChangeLog surgery to add bugnumber to commit.
2534
2535 2008-03-23  Rene Stadler  <mail@renestadler.de>
2536
2537         * libs/gst/base/gstbasetransform.c:
2538         (gst_base_transform_set_gap_aware): Fix confusing documentation.
2539
2540 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2541
2542         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2543         Rename constant everywhere and don't forget one occurence.
2544
2545 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2546
2547         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2548         Align memory to the pointer size even if the architecture allows
2549         unaligned memory access. Unaligned memory access usually comes with
2550         performance penality.
2551
2552 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2553
2554         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2555         (gst_registry_binary_check_magic),
2556         (gst_registry_binary_load_pad_template),
2557         (gst_registry_binary_load_feature),
2558         (gst_registry_binary_load_plugin):
2559         Align memory to the pointer size instead of always 32 bit. Fixes
2560         unaligned memory accesses on ia64 and friends.
2561
2562         * gst/gstregistrybinary.h:
2563         Bump binary registry format version for this as it changes the
2564         format on those architectures that don't have unaligned access
2565         and 64 bit pointers.
2566
2567 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2568
2569         * docs/pwg/advanced-dparams.xml:
2570         * docs/pwg/building-props.xml:
2571         * docs/pwg/other-source.xml:
2572         * gst/glib-compat.h:
2573         * gst/gstbin.c: (gst_bin_class_init):
2574         * gst/gstclock.c: (gst_clock_class_init):
2575         * gst/gstindex.c: (gst_index_class_init):
2576         * gst/gstobject.c: (gst_object_class_init):
2577         * gst/gstpad.c: (gst_pad_class_init):
2578         * gst/gstpipeline.c: (gst_pipeline_class_init):
2579         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2580         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2581         * libs/gst/base/gstbasetransform.c:
2582         (gst_base_transform_class_init):
2583         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
2584         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
2585         (_gst_check_fault_handler_sighandler),
2586         (_gst_check_fault_handler_setup), (gst_check_init):
2587         * libs/gst/controller/gstcontroller.c:
2588         (_gst_controller_class_init):
2589         * libs/gst/controller/gstlfocontrolsource.c:
2590         (gst_lfo_control_source_class_init):
2591         * libs/gst/net/gstnetclientclock.c:
2592         (gst_net_client_clock_class_init):
2593         * libs/gst/net/gstnettimeprovider.c:
2594         (gst_net_time_provider_class_init):
2595         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2596         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2597         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2598         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2599         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2600         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2601         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2602         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2603         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
2604         * plugins/elements/gstqueue.c: (gst_queue_class_init):
2605         * plugins/elements/gsttee.c: (gst_tee_class_init):
2606         * plugins/elements/gsttypefindelement.c:
2607         (gst_type_find_element_class_init):
2608         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2609         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
2610         use it everywhere for GParamSpecs that use static strings (i.e. all).
2611         This gives us less memory usage, fewer allocations and thus less
2612         memory defragmentation. Fixes bug #523806.
2613
2614 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2615
2616         * gst/gstminiobject.c: (gst_value_dup_mini_object),
2617         (gst_param_spec_mini_object):
2618         * gst/gstminiobject.h:
2619         * win32/common/libgstreamer.def:
2620         * docs/gst/gstreamer-sections.txt:
2621         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
2622         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
2623         GstParamSpecMiniObject into a public header for this.
2624
2625         This make GstMiniObject a bit more consistent with GObject and makes
2626         it possible to extend the param specs.
2627
2628         gst_value_dup_mini_object is mainly useful for set_property methods.
2629
2630         Fixes bug #523798.
2631
2632         * tools/gst-inspect.c: (print_element_properties_info):
2633         Print something useful for GstMiniObject properties and not just
2634         "unknown type".
2635
2636 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2637
2638         * docs/gst/gstreamer-sections.txt:
2639         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2640         (gst_registry_binary_check_magic):
2641         * gst/gstregistrybinary.h:
2642         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
2643         and add it to the (private part) of the docs to fix the build.
2644
2645 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2646
2647         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2648         (gst_registry_binary_check_magic),
2649         (gst_registry_binary_read_cache):
2650         * gst/gstregistrybinary.h:
2651         Don't use GST_MAJORMINOR for the binary registry version. Instead
2652         hardcode a value that must be changed whenever the format changes
2653         in an incompatible way.
2654         Also don't GST_ERROR when there is a version mismatch, just
2655         regenerate the registry silently.
2656
2657 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
2658
2659         * configure.ac:
2660         Back to development - 0.10.18.1
2661
2662 === release 0.10.18 ===
2663
2664 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
2665
2666         * configure.ac:
2667           releasing 0.10.18, "So far away"
2668
2669 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
2670
2671         * configure.ac:
2672         * win32/common/config.h:
2673         0.10.17.4 pre-release
2674
2675 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
2676
2677         Patch by: Ole André Vadla Ravnås
2678             <ole dot andre dot ravnas at tandberg dot com>
2679
2680         * docs/gst/gstreamer-sections.txt:
2681         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
2682         (gst_poll_update_winsock_event_mask),
2683         (gst_poll_prepare_winsock_active_sets),
2684         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
2685         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
2686         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
2687         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2688         (gst_poll_check_ctrl_commands), (gst_poll_wait):
2689         * gst/gstpoll.h:
2690         * win32/common/libgstreamer.def:
2691         Add new function gst_poll_fd_ignored() for improved Windows
2692         compatibility.
2693         Various minor fixes and cleanups. See #520808.
2694
2695 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
2696
2697         * gst/gstindex.c: (gst_index_entry_free):
2698         * gst/gstindex.h:
2699           Don't free key strings which we don't own. Fixes crash in
2700           gst_index_entry_free() (#522741).
2701
2702         * tests/check/Makefile.am:
2703         * tests/check/gst/.cvsignore:
2704         * tests/check/gst/gstindex.c: (test_index_entries),
2705           (gst_index_suite), (gst_index):
2706           Add unit test for the above.
2707
2708 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
2709
2710         * win32/common/libgstreamer.def:
2711         Remove symbols that were removed recently. Fixes bug #521740.
2712
2713 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
2714
2715         * configure.ac:
2716         * win32/common/config.h:
2717         0.10.17.3 pre-release
2718
2719 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2720
2721         Patch by: Ole André Vadla Ravnås
2722             <ole dot andre dot ravnas at tandberg dot com>
2723
2724         * docs/gst/gstreamer-sections.txt:
2725         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
2726         (gst_poll_update_winsock_event_mask), (gst_poll_new),
2727         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
2728         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2729         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
2730         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2731         (gst_poll_fd_can_write), (gst_poll_wait),
2732         (gst_poll_set_controllable), (gst_poll_restart),
2733         (gst_poll_set_flushing):
2734         * gst/gstpoll.h:
2735         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2736         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
2737         (gst_net_time_provider_new):
2738         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2739         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
2740         * tests/benchmarks/gstpollstress.c: (main):
2741         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
2742         Remove GstPollMode from the API, it does not make sense to let the
2743         application control this.
2744         Add support for Win32.
2745         Fix the testsuite. Fixes #520671.
2746
2747 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
2748
2749         Patch by: Ole André Vadla Ravnås
2750             <ole dot andre dot ravnas at tandberg dot com>
2751
2752         * gst/gstregistrybinary.c:
2753         Include io.h for write() and close() when building with MSVC. Fixes
2754         bug #520877.
2755
2756 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
2757
2758         * configure.ac:
2759         * gst/gst_private.h:
2760         * gst/gstconfig.h.in:
2761         * gst/gstregistry.h:
2762         * gst/gstregistrybinary.c:
2763         * win32/common/gstconfig.h:
2764           Move registry backend API to private headers where we can. Add
2765           fixme-0.11 comments for the others. Add stubs for the xml backend when
2766           using the binary to ensure they functions exists (they should not be
2767           used though). Fixes #520756.
2768
2769 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
2770
2771         * configure.ac:
2772         * win32/common/config.h:
2773         0.10.17.2 prelease
2774
2775 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2776
2777         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2778         (gst_registry_binary_read_cache):
2779         * gst/gstregistryxml.c: (gst_registry_save):
2780         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
2781         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
2782         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2783         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2784         Switch to using portabl gsize/gssize instead of size_t/ssize_t
2785         Fixes #520152
2786
2787 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2788
2789         * gst/gstminiobject.c:
2790         Import gst_private.h before any other header that might include other
2791         glib headers. This fixes the build on windows using native compilers.
2792
2793 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2794
2795         * win32/common/gstconfig.h:
2796           Add here too, just for completeness.
2797
2798 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2799
2800         * configure.ac:
2801         * gst/gstconfig.h.in:
2802         * gst/gstregistry.h:
2803           Fix broken use of config.h-defined preprocessor directive in a public
2804           header file. Add a corresponding define to gstconfig.h, since we can't
2805           really remove those function declarations from the header file now
2806           (or can we? and why are they there in the first place?).
2807
2808 2008-03-03  Andy Wingo  <wingo@pobox.com>
2809
2810         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
2811         the new warning.
2812
2813         * gst/gststructure.c (gst_structure_from_string): Warn if
2814         structure_from_string didn't consume the whole string, but the
2815         caller did not provide an end pointer.
2816
2817 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
2818
2819         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
2820
2821         * gst/gstregistryxml.c: (read_string), (load_feature):
2822           Strings allocated by libxml2 should be freed with xmlFree(), not
2823           with g_free(). Fixes issues on windows in certain contexts (#519698).
2824
2825 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
2826
2827         * gst/gstinterface.c: (gst_element_implements_interface):
2828           Don't crash if the element supports the interface queried, but does
2829           not implement GstImplementsInterface. Fixes #519584.
2830
2831         * tests/check/Makefile.am:
2832         * tests/check/gst/.cvsignore:
2833         * tests/check/gst/gstinterface.c:
2834           Add unit test for the above.
2835
2836 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2837
2838         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2839         Small doc update.
2840
2841 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2842
2843         * gst/gstsegment.c: (gst_segment_set_seek),
2844         (gst_segment_to_stream_time):
2845         Improve some comment.
2846         Update variables where it makes more sense.
2847
2848 2008-02-29  Rene Stadler  <mail@renestadler.de>
2849
2850         * gst/gsturi.c: (gst_uri_handler_get_protocols):
2851         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
2852         URIHandlers implemented using language bindings.
2853
2854 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2855
2856         * gst/gstelementfactory.h:
2857         * tests/check/elements/fakesink.c:
2858         * tests/check/elements/fakesrc.c: (setup_fakesrc):
2859         * tests/check/elements/fdsrc.c: (setup_fdsrc):
2860         * tests/check/elements/filesink.c: (setup_filesink):
2861         * tests/check/elements/filesrc.c: (setup_filesrc):
2862         * tests/check/elements/identity.c: (setup_identity):
2863         * tests/check/elements/tee.c:
2864         * tests/check/generic/sinks.c:
2865         * tests/check/generic/states.c: (setup), (teardown):
2866         * tests/check/gst/gst.c:
2867         * tests/check/gst/gstabi.c:
2868         * tests/check/gst/gstbin.c:
2869         * tests/check/gst/gstbus.c: (pull_messages):
2870         * tests/check/gst/gstcaps.c:
2871         * tests/check/gst/gstelement.c:
2872         * tests/check/gst/gstevent.c:
2873         * tests/check/gst/gstghostpad.c:
2874         * tests/check/gst/gstiterator.c:
2875         * tests/check/gst/gstmessage.c:
2876         * tests/check/gst/gstminiobject.c: (my_foo_init):
2877         * tests/check/gst/gstobject.c: (thread_name_object),
2878         (gst_object_suite):
2879         * tests/check/gst/gstpad.c:
2880         * tests/check/gst/gstplugin.c:
2881         * tests/check/gst/gstpoll.c:
2882         * tests/check/gst/gstquery.c:
2883         * tests/check/gst/gstsegment.c:
2884         * tests/check/gst/gststructure.c:
2885         * tests/check/gst/gstsystemclock.c:
2886         * tests/check/gst/gsttask.c:
2887         * tests/check/gst/gstutils.c:
2888         * tests/check/gst/gstvalue.c:
2889         * tests/check/gst/struct_hppa.h:
2890         * tests/check/gst/struct_i386.h:
2891         * tests/check/gst/struct_ppc32.h:
2892         * tests/check/gst/struct_ppc64.h:
2893         * tests/check/gst/struct_x86_64.h:
2894         * tests/check/libs/adapter.c: (create_and_fill_adapter):
2895         * tests/check/libs/basesrc.c:
2896         * tests/check/libs/controller.c: (GST_START_TEST):
2897         * tests/check/libs/gdp.c:
2898         * tests/check/libs/gstnetclientclock.c:
2899         * tests/check/libs/gstnettimeprovider.c:
2900         * tests/check/libs/libsabi.c:
2901         * tests/check/libs/struct_hppa.h:
2902         * tests/check/libs/struct_i386.h:
2903         * tests/check/libs/struct_ppc32.h:
2904         * tests/check/libs/struct_ppc64.h:
2905         * tests/check/libs/struct_x86_64.h:
2906         * tests/check/pipelines/cleanup.c:
2907         * tests/check/pipelines/simple-launch-lines.c:
2908         * tests/check/pipelines/stress.c:
2909         And correct even more valid sparse warnings.
2910
2911         * win32/common/libgstreamer.def:
2912         Add gst_poll_fd_init to the list of symbols.
2913
2914 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2915
2916         * gst/gstconfig.h.in:
2917         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
2918         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
2919         (gst_check_log_critical_func), (gst_check_drop_buffers),
2920         (gst_check_element_push_buffer_list):
2921         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
2922         (gst_controller_get_type):
2923         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
2924         (gst_object_get_controller), (gst_object_get_control_source):
2925         * libs/gst/controller/gstinterpolationcontrolsource.c:
2926         (gst_interpolation_control_source_new):
2927         * libs/gst/controller/gstlfocontrolsource.c:
2928         (gst_lfo_control_source_new):
2929         * libs/gst/dataprotocol/dataprotocol.c:
2930         (gst_dp_event_from_packet_0_2):
2931         * plugins/elements/gstfdsrc.c:
2932         * plugins/elements/gstmultiqueue.c:
2933         * plugins/elements/gsttee.c:
2934         * plugins/elements/gsttypefindelement.c:
2935         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
2936         (gst_file_index_add_association):
2937         * plugins/indexers/gstmemindex.c:
2938         * tests/benchmarks/gstpollstress.c: (mess_some_more):
2939         * tests/check/elements/queue.c: (setup_queue):
2940         * tests/check/gst/gstpipeline.c:
2941         * tests/check/libs/collectpads.c: (setup), (teardown),
2942         (gst_collect_pads_suite):
2943         * tests/examples/adapter/adapter_test.c:
2944         * tests/examples/metadata/read-metadata.c: (make_pipeline):
2945         * tests/examples/xml/createxml.c:
2946         * tests/examples/xml/runxml.c:
2947         * tools/gst-inspect.c:
2948         * tools/gst-run.c:
2949         Correct all relevant warnings found by the sparse semantic code
2950         analyzer. This include marking several symbols static, using
2951         NULL instead of 0 for pointers, not using variable sized arrays
2952         on the stack, moving variable declarations to the beginning of
2953         a block and using "foo (void)" instead of "foo ()" for declarations.
2954
2955 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2956
2957         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2958         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2959         Don't reset GstPollFDs, this is not necessary at all.
2960
2961         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2962         (delayed_restart), (delayed_control):
2963         Use GST_POLL_FD_INIT.
2964
2965 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2966
2967         * gst/gstpoll.c: (gst_poll_fd_init):
2968         * gst/gstpoll.h:
2969         Added Since tags.
2970
2971         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2972         Use some more init macros.
2973
2974 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2975
2976         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2977         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2978         Use init macros and functions.
2979
2980 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2981
2982         * docs/gst/gstreamer-sections.txt:
2983         * gst/gstpoll.c: (gst_poll_fd_init):
2984         * gst/gstpoll.h:
2985         Add INIT macro and _init method for initializing the GstPollFD.
2986
2987 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
2988
2989         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
2990         (gst_fd_sink_update_fd):
2991         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2992         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2993         (delayed_restart), (delayed_control):
2994         Initialize some uninitialized variables as spotted by valgrind.
2995
2996 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2997
2998         * tests/benchmarks/Makefile.am:
2999         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
3000         (main):
3001         Add poll stress test.
3002
3003 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
3004
3005         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3006
3007         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3008         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
3009         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
3010         * plugins/elements/gstfdsink.h:
3011         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
3012         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
3013         (gst_fd_src_unlock_stop), (gst_fd_src_create),
3014         (gst_fd_src_uri_set_uri):
3015         * plugins/elements/gstfdsrc.h:
3016         Port to GstPoll. See #505417.
3017
3018 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
3019
3020         * win32/common/libgstreamer.def:
3021         Add new gst_poll_ symbols to win32 defs.
3022
3023 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3024
3025         * docs/libs/gstreamer-libs-sections.txt:
3026         * libs/gst/net/gstnetclientclock.c:
3027         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
3028         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3029         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3030         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3031         * libs/gst/net/gstnetclientclock.h:
3032         * libs/gst/net/gstnettimeprovider.c:
3033         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
3034         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3035         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3036         (gst_net_time_provider_new):
3037         * libs/gst/net/gstnettimeprovider.h:
3038         Use a private stuct to not break ABI.
3039
3040 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3041
3042         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3043
3044         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
3045         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
3046         (gst_net_client_clock_thread), (gst_net_client_clock_start),
3047         (gst_net_client_clock_stop), (gst_net_client_clock_new):
3048         * libs/gst/net/gstnetclientclock.h:
3049         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
3050         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
3051         (gst_net_time_provider_start), (gst_net_time_provider_stop),
3052         (gst_net_time_provider_new):
3053         * libs/gst/net/gstnettimeprovider.h:
3054         Massive code removal and cleanups because of GstPoll.
3055         Fixes #505417.
3056
3057 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
3058
3059         * configure.ac:
3060         Add checks for poll, ppoll and pselect.
3061
3062         * docs/gst/gstreamer-docs.sgml:
3063         * docs/gst/gstreamer-sections.txt:
3064         Add docs for GstPoll.
3065
3066         * gst/Makefile.am:
3067         * gst/gst.h:
3068         * gst/gstpoll.c: (find_index), (selectable_fds),
3069         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
3070         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
3071         (gst_poll_set_mode), (gst_poll_get_mode),
3072         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
3073         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3074         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
3075         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
3076         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
3077         (gst_poll_fd_can_write), (gst_poll_wait),
3078         (gst_poll_set_controllable), (gst_poll_restart),
3079         (gst_poll_set_flushing):
3080         * gst/gstpoll.h:
3081         Add generic poll abstraction. We ideally don't want to have this in core
3082         here but in glib intead...
3083         This code will be used in various network elements and ultimately for
3084         the nanosecond precision monotonic clock (that's why it's here in core).
3085         It'll allow us to implement cancelable socket operations for windows too.
3086
3087         * tests/check/Makefile.am:
3088         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
3089         (delayed_stop), (delayed_restart), (delayed_flush),
3090         (delayed_control), (gst_poll_suite):
3091         Add GstPoll unit test.
3092
3093 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
3094
3095         * gst/gstfilter.c:
3096           Improve documentation of gst_filter_run(). Fixes #518627.
3097
3098 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3099
3100         * docs/README:
3101           Add a few lines about the new 'check-inspected-versions' target.
3102
3103 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3104
3105         * tests/check/gst/gstevent.c:
3106           Add qos to the event test. Rename tcase/tsuite; is not only about
3107           custom events.
3108
3109 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
3110
3111         * plugins/elements/gstqueue.c:
3112           Ensure that buffer metadata is writeable, before modifying. Spotted by
3113           Mike.
3114
3115 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
3116
3117         * plugins/elements/gstqueue.c:
3118         * plugins/elements/gstqueue.h:
3119           When dropping buffers in leaky modes, mark next buffers we sent as
3120           DISCONT.
3121
3122 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3123
3124         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
3125           Also, if mmap() fails that would be a READ error, not OPEN_READ.
3126
3127 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
3128
3129         * plugins/elements/Makefile.am:
3130         * plugins/elements/gstbufferstore.c:
3131         * plugins/elements/gstbufferstore.h:
3132         * plugins/elements/gsttypefindelement.h:
3133           Remove GstBufferStore, no idea why we were still building it.
3134           It's not used anywhere and superseded by GstAdapter.
3135
3136         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3137           (gst_file_src_create_mmap):
3138         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
3139           Printf format fixes for 64-bit integers.
3140
3141 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3142
3143         * configure.ac:
3144         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
3145         We're not in 0.8 times anymore.
3146
3147 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
3148
3149         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
3150         (gst_check_element_push_buffer_list):
3151         * libs/gst/check/gstcheck.h:
3152         Make the declaration in the header for
3153         gst_check_element_push_buffer_list match the implementation.
3154
3155         Fix up spelling, grammar and wording of the documentation in a few
3156         places, and add the Since keyword to new API functions.
3157         Use g_list_delete_link instead of g_list_remove in
3158         gst_check_drop_buffers, since it's immeasurably more efficient.
3159
3160         * tests/check/elements/fakesrc.c: (GST_START_TEST):
3161         Use new gst_check_drop_buffers function where appropriate.
3162
3163         * win32/common/libgstbase.def:
3164         * win32/common/libgstreamer.def:
3165         Add new symbols gst_collect_pads_take_buffer, 
3166         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
3167         exports
3168
3169         Changelog surgery to add API keyword to new gst_check API.
3170
3171 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3172
3173         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
3174         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
3175         Update pre-generated flex files with flex 2.3.34.
3176
3177 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
3178
3179         * gst/gstminiobject.c:
3180           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
3181           friendly to subclasses and not require them to know all internals
3182           of their parent class.
3183
3184 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3185
3186         * docs/libs/gstreamer-libs-sections.txt:
3187         * libs/gst/base/gstcollectpads.c:
3188         * libs/gst/base/gstcollectpads.h:
3189           Add sub-buffer functions to collectpads. Fixes #516187.
3190           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
3191
3192 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
3193
3194         * gst/gstbuffer.c:
3195           Copy selected buffer-flags when creating subbuffers.
3196           Fixes #516395.
3197
3198 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
3199
3200         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
3201         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
3202         * gst/gstmessage.c: (gst_message_class_init),
3203         (gst_message_finalize):
3204         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
3205         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
3206         (gst_mmap_buffer_finalize):
3207         Properly chain up finalize functions to the parent class.
3208
3209 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
3210
3211         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
3212
3213         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
3214         (gst_index_set_resolver_full):
3215         * gst/gstindex.h:
3216         Add new function with option to dispose of user_data in resolver.
3217         Actually call the dispose function when finalizing the object and not
3218         just when changing the resolver/filter.
3219         API: GstIndex::gst_index_set_resolver_full()
3220
3221         * docs/gst/gstreamer-sections.txt:
3222         Add new function to docs. Fixes #515469.
3223
3224 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
3225
3226         * gst/gstindex.c: (gst_index_finalize):
3227         Chain up finalize to the parent class. Fixes leaking the GstObject
3228         name and other things.
3229
3230 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
3231
3232         * configure.ac:
3233         Make DISABLE_DEPRECATED defined *only* during CVS, not during
3234         pre-releases or releases.
3235
3236         * docs/faq/gst-uninstalled:
3237         Add gst-plugins-gl
3238
3239         * docs/random/release:
3240         Change one of the steps - we only upload core & base to Gnome FTP
3241
3242 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
3243
3244         * gst/gstconfig.h.in:
3245           Add 'id' for example.
3246
3247         * gst/gstpad.c:
3248         * gst/gstutils.c:
3249         * plugins/elements/gstfdsink.c:
3250           Link to signals. Doc and comment fixes.
3251
3252 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
3255         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
3256           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
3257           unused and unimplemented; finally, it is plugin features, not
3258           plugins, that have ranks.
3259           
3260 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3261
3262         * gst/gstpluginfeature.h:
3263           Clarify GstRank range docs.
3264
3265 2008-02-05  David Schleef  <ds@schleef.org>
3266
3267         * gst/gst.c: Add a separate gst_deinitialized that prevents
3268           gst_init() from being called after gst_deinit().  Fixes #509559
3269
3270 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
3271
3272         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
3273         (gst_bin_class_init):
3274         * gst/gstelement.c: (gst_element_base_class_init),
3275         (gst_element_class_add_pad_template):
3276         * gst/gstpadtemplate.c: (gst_pad_template_init):
3277         * gst/gstpipeline.c: (gst_pipeline_get_type),
3278         (gst_pipeline_base_init), (gst_pipeline_class_init):
3279         * libs/gst/base/gstbasesink.c:
3280         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3281         (gst_base_src_base_init), (gst_base_src_class_init):
3282         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3283         (gst_capsfilter_class_init):
3284         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3285         (gst_fake_sink_class_init):
3286         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3287         (gst_fake_src_class_init):
3288         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3289         (gst_fd_sink_class_init):
3290         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3291         (gst_fd_src_class_init):
3292         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3293         (gst_file_sink_class_init):
3294         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3295         (gst_file_src_class_init):
3296         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3297         (gst_identity_class_init):
3298         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3299         (gst_multi_queue_class_init):
3300         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3301         (gst_queue_class_init):
3302         * plugins/elements/gsttee.c: (gst_tee_base_init),
3303         (gst_tee_class_init):
3304         * plugins/elements/gsttypefindelement.c:
3305         (gst_type_find_element_base_init),
3306         (gst_type_find_element_class_init):
3307         * tests/check/gst/gstelement.c: (gst_element_suite):
3308         Revert previous changes to the behaviour of GstPadTemplates, etc
3309         and the possiblity to call them in class_init as it breaks too
3310         many elements. Reopens bug #491501.
3311
3312         Should be applied again for 0.11, thus added a few FIXME 0.11 at
3313         several places.
3314
3315 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
3316
3317         * tools/gst-launch.c:
3318         Dump one graph per pipeline state-change and state change name
3319         (if GST_DEBUG_DUMP_DOT_DIR is set).
3320
3321 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
3322
3323         * gst/gstpad.c:
3324         * tests/check/gst/gstpad.c:
3325         Be sure that we have a new copy of the caps and not
3326         reffed caps from a template
3327
3328 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3329
3330         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
3331         * gst/gstpipeline.c: (gst_pipeline_get_type),
3332         (gst_pipeline_class_init):
3333         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
3334         (gst_base_sink_class_init):
3335         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
3336         (gst_base_src_class_init):
3337         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3338         (gst_base_transform_class_init):
3339         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3340         (gst_collect_pads_class_init):
3341         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
3342         * libs/gst/net/gstnettimeprovider.c:
3343         (gst_net_time_provider_base_init),
3344         (gst_net_time_provider_class_init):
3345         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
3346         (gst_capsfilter_class_init):
3347         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
3348         (gst_fake_sink_class_init):
3349         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
3350         (gst_fake_src_class_init):
3351         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
3352         (gst_fd_sink_class_init):
3353         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
3354         (gst_fd_src_class_init):
3355         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
3356         (gst_file_sink_class_init):
3357         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
3358         (gst_file_src_class_init):
3359         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3360         (gst_identity_class_init):
3361         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3362         (gst_multi_queue_class_init):
3363         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3364         (gst_queue_class_init):
3365         * plugins/elements/gsttee.c: (gst_tee_base_init),
3366         (gst_tee_class_init):
3367         * plugins/elements/gsttypefindelement.c:
3368         (gst_type_find_element_base_init),
3369         (gst_type_find_element_class_init):
3370         Don't use base_init where not absolutely necessary. For example it's
3371         not necessary anymore for adding pad templates or setting element
3372         details.
3373
3374         Leave empty base_init functions in several places as GST_BOILERPLATE
3375         still defines and uses them.
3376
3377 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3378
3379         * gst/gstelement.c: (gst_element_base_class_init),
3380         (gst_element_class_add_pad_template):
3381         * gst/gstpadtemplate.c:
3382         Make it possible (and recommended) to set element details and add
3383         pad templates in the class_init functions by copying the details/pad
3384         templates in GstElement's base_init.
3385
3386         Also make it possible to replace existing pad templates by adding
3387         a new one with the same name. This was done in a hackish fashion
3388         in same elements before already.
3389
3390         Don't reference pad templates that are added a second time. A
3391         new pad template has a refcount of one and is not floating anymore
3392         and to be owned by the element's class. Make this more explicit by
3393         mentioning it in the docs of gst_element_class_add_pad_template().
3394
3395         These changes are backwards compatible. Fixes bug #491501.
3396
3397         * tests/check/gst/gstelement.c:
3398         Add unit test for setting element details, adding pad templates and
3399         replacing them in a subclass.
3400
3401 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3402
3403         * tools/gst-inspect.c: (print_interfaces),
3404         (print_element_properties_info), (print_pad_info),
3405         (print_signal_info), (print_element_info):
3406         Fix a few memory leaks.
3407
3408 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3409
3410         * docs/libs/gstreamer-libs-sections.txt:
3411         * libs/gst/check/gstcheck.c:
3412         * libs/gst/check/gstcheck.h:
3413         Add more functions for unit testing: gst_check_drop_buffers,
3414         gst_check_caps_equal, gst_check_element_push_buffer_list,
3415         gst_check_element_push_buffer
3416         API: gst_check_drop_buffers
3417         API: gst_check_caps_equal
3418         API: gst_check_element_push_buffer_list
3419         API: gst_check_element_push_buffer
3420
3421 2008-02-01  Julien Moutte  <julien@fluendo.com>
3422
3423         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
3424         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
3425         (gst_index_finalize), (gst_index_entry_free),
3426         (gst_index_add_association): Fix memory leaks.
3427         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
3428         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
3429         (gst_mem_index_free_format), (gst_mem_index_free_id),
3430         (gst_mem_index_finalize): Fix memory leaks.
3431         * win32/common/config.h: Updated to CVS HEAD.
3432
3433 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3434
3435         * docs/README:
3436           Some more details about how the plugin docs works.
3437
3438         * docs/plugins/gstreamer-plugins-sections.txt:
3439           Whitespace cleanup.
3440
3441 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3442
3443         * gst/parse/grammar.tab.pre.c:
3444         * gst/parse/grammar.tab.pre.h:
3445         * gst/parse/grammar.y:
3446         * gst/parse/lex._gst_parse_yy.pre.c:
3447           Add delayed set-property. This allows to set properties on dynamicaly
3448           created objects (pads in videomxer). Fixes #509391.
3449
3450 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3451
3452         * gst/gstutils.c:
3453         Check if caps are not NULL (fix bug #510194)
3454
3455 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3456
3457         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
3458         (gst_base_sink_get_position_paused):
3459         Add fixme regarding EOS in pull mode.
3460         Fix position reporting in PAUSED for negative rates.
3461
3462 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3463
3464         * gst/gstminiobject.c: (gst_mini_object_replace):
3465         When replacing a miniobject, do a quick equality check first so that we
3466         can avoid a ref/unref pair.
3467
3468 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3469
3470         * docs/design/part-synchronisation.txt:
3471         Update some docs.
3472
3473         * docs/plugins/Makefile.am:
3474         * docs/plugins/gstreamer-plugins-docs.sgml:
3475         * docs/plugins/gstreamer-plugins-sections.txt:
3476         * plugins/elements/gstmultiqueue.c:
3477         Add multiqueue to the docs.
3478
3479 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3480
3481         * configure.ac:
3482           Back to CVS
3483
3484 === release 0.10.17 ===
3485
3486 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
3487
3488         * configure.ac:
3489           releasing 0.10.17, "Due Negligence"
3490
3491 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3492
3493         * gst/gstutils.c:
3494         Revert caps != NULL check temporarily for 0.10.17 release.
3495
3496 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3497
3498         * gst/gstutils.c:
3499         Check if caps are not NULL (fix bug #510194)
3500
3501 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3502
3503         * gst/gstutils.c:
3504         Fix compilation on systems that have posix timers but no
3505         monotonic clock.
3506         Fixes: #512715
3507         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
3508         dot net>
3509
3510 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3511
3512         * tools/gst-inspect.c:
3513         Revert previous commit in preparation for an impromptu 0.10.17 release
3514
3515 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
3516
3517         * tools/gst-inspect.c: (print_interfaces),
3518         (print_element_properties_info), (print_pad_info),
3519         (print_signal_info), (print_element_info):
3520         Fix a few memory leaks.
3521
3522 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
3523
3524         * configure.ac:
3525         Back to CVS
3526
3527 === release 0.10.16 ===
3528
3529 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
3530
3531         * configure.ac:
3532           releasing 0.10.16, "Special Dispensation"
3533
3534 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3535
3536         * configure.ac:
3537           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
3538           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
3539           not fail when trying to crosscompile on OpenEmbedded (#511750).
3540
3541 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
3542
3543         * docs/manuals.mak:
3544         Use $(MAKE) instead of make to fix the build if GNU make is
3545         called different. Fixes bug #510747.
3546
3547 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         * gst/gstplugin.c: (_gst_plugin_initialize):
3550           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
3551           again, which I broke two commits ago when changing the API
3552           of gst_plugin_register_static(): the g_list_foreach() in
3553           _gst_plugin_register_static still assumed the old function
3554           signature and would therefore fail (re-fixes #510187).
3555
3556         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
3557           (_gst_plugin_register_static), (gst_plugin_register_static):
3558           Revert the (technically correct) change to call g_thread_init() from
3559           the pre-main() constructor. This will break programs which call
3560           g_thread_init() without an if (!g_thread_supported()) guard in their
3561           main function. We could just blame it on GLib or the application, but
3562           it's probably best to just avoid this altogether and simply not use
3563           any GLib functions here and use plain old malloc() with a simple
3564           array to store the plugins to register later when gst_init() is
3565           finally called (re-fixes #510187).
3566
3567         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
3568           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
3569           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
3570           (GST_START_TEST), (gst_plugin_suite):
3571           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
3572           works.
3573
3574 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3575
3576         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3577           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
3578           This makes gtk-doc complain, but results in slightly better
3579           compiler errors. The old _gst_plugin_register_static() is
3580           still guarded, so there'll be a compiler warning about that
3581           instead. Fixes #510187 too.
3582
3583 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3584
3585         * gst/gst.c: (init_post):
3586         * gst/gstplugin.c: (_gst_plugin_register_static),
3587           (gst_plugin_register_static), (_gst_plugin_initialize):
3588         * gst/gstplugin.h: (GstPluginFilter):
3589           Change API of gst_plugin_register_static() to not take
3590           a GstPluginDesc, but rather just take all the arguments
3591           in a GstPluginDesc directly. This is more intuitive and
3592           avoids certain mistakes when porting code from
3593           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
3594           Fixes #510187.
3595
3596         * tests/check/gst/gstplugin.c:
3597           Fix up for changed API.
3598
3599 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3600
3601         * docs/faq/legal.xml:
3602           Update FAQ, Totem actually has an exception these days.
3603
3604 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
3605
3606         * win32/common/libgstreamer.def:
3607         Add new API declarations
3608
3609 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3610
3611         * gst/gstminiobject.c:
3612           Spelling fixes for the API docs.
3613
3614 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3615
3616         * libs/gst/base/gstbasetransform.c:
3617           Fix long property description for QoS.
3618
3619 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
3620
3621         * gst/gst.c:
3622         _gst_trace_on is already provided by gsttrace.h, no need to declare
3623         it ourselves.
3624
3625         * docs/libs/gstreamer-libs-sections.txt:
3626         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
3627         and remove strange tcase_add_test which is outputting a warning.
3628
3629         * libs/gst/check/gstcheck.c:
3630         * libs/gst/check/gstcheck.h:
3631         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
3632         and define them in gstcheck.c instead of having every .c file whcih
3633         includes gstcheck.h be defining its own copy and relying on symbol
3634         interposing to marry them all, which doesn't work on Solaris.
3635
3636         * tests/check/elements/identity.c: (GST_START_TEST):
3637         Don't define 'buffers' locally, it comes from libgstcheck.
3638
3639         * tests/check/generic/sinks.c: (send_buffer):
3640         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
3641
3642         * tests/check/gst/gststructure.c: (GST_START_TEST):
3643         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
3644         * tests/check/gst/gstutils.c: (GST_START_TEST):
3645         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3646         Add a bunch of casts to make various constants fit the types
3647         they're being assigned to.
3648
3649 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
3650
3651         * gst/gstchildproxy.c:
3652           Improve docs and add some ideas for making this more general-purpose.
3653
3654 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3655
3656         * gst/gst_private.h: (GST_CAT_TYPES):
3657           Add GST_CAT_TYPES, for consistency, and so that the other
3658           debug categories don't make fun of it. Spotted by Saur on IRC.
3659
3660 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3661
3662         * gst/parse/Makefile.am:
3663           Move types.h from EXTRA_DIST to noinst_HEADERS.
3664
3665 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3666
3667         * autogen.sh:
3668           Add -Wno-portability to the automake parameters to stop warnings
3669           about GNU make extensions being used. We require GNU make in almost
3670           every Makefile anyway.
3671
3672         * configure.ac:
3673           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
3674           at the same time is required for per target flags.
3675
3676 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3677
3678         * gst/gstmacros.h:
3679           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
3680           __GNUC__ is defined before using it.
3681
3682 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3683
3684         * docs/gst/gstreamer-sections.txt:
3685         * gst/gst.c: (init_post):
3686         * gst/gstplugin.c: (_gst_plugin_register_static),
3687           (gst_plugin_register_static), (_gst_plugin_initialize),
3688           (gst_plugin_register_func):
3689         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3690           API: add gst_plugin_register_static() and deprecate
3691           GST_PLUGIN_DEFINE_STATIC, since it's not portable
3692           (#498924).
3693           Also, in _gst_plugin_register_static(), make sure to call
3694           g_thread_init() before calling GLib functions such as
3695           g_list_append() if we're not initialised yet, since that
3696           may lead to random crashes with older GSlice/GLib versions.
3697
3698         * tests/check/gst/gstplugin.c:
3699           Adapt unit test to above changes.
3700
3701 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3702
3703         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
3704         * gst/gstcaps.c: (gst_caps_to_string):
3705         * gst/gststructure.c: (GST_ASCII_IS_STRING),
3706           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
3707           Yet another gratuitous GString micro-optimisation: add a (private)
3708           function that serialises a structure appending to an existing
3709           GString, so that when we serialise caps we don't need to alloc+free
3710           a throwaway GString for each structure (each of which also entailing
3711           multiple reallocs on the way); also use g_string_sized_new() in
3712           various places with an approximate string length to avoid reallocs
3713           within GString. See #500143.
3714
3715 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * gst/gststructure.c: (gst_structure_id_set_value):
3718           Always check UTF-8 conformance of structure strings and not only
3719           if the debugging system is enabled; reasoning: the behaviour of
3720           the actual code shouldn't really change depending on whether the
3721           debugging system is enabled or not (#508291).
3722
3723 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
3724
3725         * Makefile.am:
3726           Remove old coverage target in favour of "make lcov".
3727
3728 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3729
3730         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3731         (gst_base_src_loop):
3732         The start segment for reverse playback goes from start to last_stop.
3733
3734 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3735
3736         Patch by: Peter Kjellerstedt <pkj axis com>
3737
3738         * gst/gstclock.h:
3739         Cast the results from the timeval/spec_to_time macros to what the
3740         docs say it casts to, a GstClockTime. fixes #508175.
3741
3742 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3743
3744         * gst/gstbuffer.c:
3745         Update some comments.
3746
3747         * tools/gst-inspect.c: (print_element_properties_info):
3748         Improve printing of flags.
3749
3750 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3751
3752         * libs/gst/base/gstbasetransform.c:
3753           (gst_base_transform_transform_size):
3754           Print element name with g_warning() if there's a problem
3755           with the unit size.
3756
3757 2008-01-07  David Schleef  <ds@schleef.org>
3758
3759         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
3760
3761         * libs/gst/controller/gstcontroller.h:
3762         * libs/gst/controller/gstcontrolsource.h:
3763         * libs/gst/controller/gstinterpolationcontrolsource.h:
3764         * libs/gst/controller/gstlfocontrolsource.h:
3765         * libs/gst/dataprotocol/dataprotocol.h:
3766           Fix empty prototypes.  Fixes bug #507957.
3767
3768 2008-01-07  David Schleef  <ds@schleef.org>
3769
3770         * docs/faq/dependencies.xml: Fix typo.
3771
3772 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3773
3774         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
3775         (gst_base_src_loop):
3776         Don't update the last_stop position in do_seek, that's the position we
3777         did a seek to.
3778         Read backwards when we have a negative rate.
3779
3780         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
3781         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
3782         (filesrc_suite):
3783         Add check for reverse reading.
3784
3785 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
3786
3787         Patch by: Alexis Ballier <aballier at gentoo org>
3788
3789         * tests/check/gst/gstabi.c:
3790         * tests/check/gst/struct_ppc64.h:
3791         * tests/check/libs/libsabi.c:
3792         * tests/check/libs/struct_ppc64.h:
3793           Decide which header to include based on the userland ABI target
3794           and not the kernel/cpu. Fix up structure sizes of ppc64 header
3795           for 64-bit userland (#503590).  Might need something similar for
3796           x86 too.
3797
3798 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3799
3800         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
3801           Log the reason why fopen fails in addition to the fact that it failed.
3802           
3803 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
3804
3805         * gst/parse/parse.l:
3806         Use "%option never-interactive" to prevent useless calls to isatty()
3807         on every input when parsing. Also use "%option noinput" to not define
3808         the static input/yyinput functions which we don't use anyway. This
3809         removes a compiler warning with gcc 4.3 and saves some bytes in the
3810         library.
3811         
3812         * gst/parse/lex._gst_parse_yy.pre.c:
3813         Regenerated for the above change.
3814
3815 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3816
3817         * gst/gstpad.c: (fixate_value):
3818         Don't crash when trying to fixate and empty list.
3819         Fixes #506643.
3820
3821 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
3822
3823         * docs/faq/gst-uninstalled:
3824         Clarify the comments to make the usage of this script and what it
3825         does easier to understand.
3826
3827 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3828
3829         * tools/gst-plot-timeline.py:
3830         Add more options to gst-plot-timeline
3831
3832 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
3833
3834         * docs/design/part-synchronisation.txt:
3835         Some more info on how the stream_time in GstBaseSink is done.
3836
3837 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
3838
3839         * tests/check/generic/sinks.c: (gst_sinks_suite):
3840           Put back the tcase_set_timeout(), apparently it's needed after
3841           all; fix it up in a way that makes things work with valgrind too.
3842
3843 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3844
3845         * gst/gstdebugutils.c:
3846           Add warning when failed to open file for writing.
3847
3848 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3849
3850         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
3851
3852         * gst/gstvalue.c: (gst_value_is_fixed):
3853           Optimisation: bail out of the loop as early as possible (#500143).
3854
3855 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3856
3857         * gst/gstcaps.c: (gst_caps_to_string):
3858         * gst/gstinfo.c: (gst_debug_construct_term_color):
3859         * gst/gstparse.c: (gst_parse_launchv):
3860         * gst/gstutils.c: (gst_util_dump_mem):
3861         * gst/gstvalue.c: (gst_value_serialize_any_list),
3862           (gst_value_transform_any_list_string):
3863           Bunch of gratuitous nano-optimisations.
3864
3865 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3866
3867         * tests/check/generic/sinks.c: (async_done_func),
3868           (async_done_eos_func):
3869           Fix leak in unit test (bus sync handler must unref the message
3870           if it returns GST_BUS_DROP). Don't fiddle with the default test
3871           timeout, this is smaller than the current preconfigured value
3872           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
3873           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
3874
3875 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3876
3877         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3878
3879         * configure.ac:
3880         Check for stdio_ext.h for the filesink changes.
3881
3882         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
3883         (gst_file_sink_class_init), (gst_file_sink_init),
3884         (gst_file_sink_dispose), (gst_file_sink_set_property),
3885         (gst_file_sink_get_property), (gst_file_sink_open_file),
3886         (gst_file_sink_close_file):
3887         * plugins/elements/gstfilesink.h:
3888         Add two properties to control the buffering mode and size.
3889         API: GstFileSink::buffer-mode
3890         API: GstFileSink::buffer-size
3891         Fixes #500150.
3892
3893 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3894
3895         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
3896         Add some more docs to explain why a FIXME was wrongly added. 
3897
3898 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
3899
3900         * gst/gstobject.c:
3901           Fix typo in the gst_object_{ref,unref} documentation.
3902
3903 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3904
3905         * tests/check/libs/controller.c:
3906         * tests/check/libs/typefindhelper.c:
3907         * tests/check/pipelines/parse-launch.c:
3908           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
3909           going to be deprecated (see #498924).
3910
3911 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3912
3913         * gst/gsttypefind.c: (gst_type_find_register):
3914           Make gst_type_find_register work for static typefind functions,
3915           ie. allow passing plugin == NULL (prerequisite for #498924).
3916
3917         * gst/gstelementfactory.c: (gst_element_register):
3918           Small docs addition.
3919
3920 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3921
3922         * gst/gstpad.c: (gst_pad_dispose):
3923         Really unlink the peer pad instead of setting the peer pointer to NULL
3924         when we dispose the pad.
3925         This correctly calls the unlink functions and makes sure that the peer
3926         does not have a handle to invalid memory. See #504671.
3927
3928         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3929         Add testsuite for above case.
3930
3931 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3932
3933         Patch by: Peter Kjellerstedt <pkj axis com>
3934
3935         * libs/gst/check/gstcheck.h:
3936           Fix detection of the check version we're compiling against (would
3937           otherwise break if check goes v0.10.0); correctly report the
3938           name of the failed test again in case of failure, instead of
3939           just 'tf' (fixes #504499).
3940
3941 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3942
3943         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
3944         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3945         (gst_base_src_loop), (gst_base_src_set_flushing),
3946         (gst_base_src_change_state):
3947         Allow sending EOS to the source to make it send out an EOS event from
3948         the streaming thread.
3949         Update docs and deprecate the old NULL/READY shutdown method.
3950
3951         * tests/check/libs/basesrc.c: (GST_START_TEST),
3952         (gst_basesrc_suite):
3953         Add unit test for controlled shutdown.
3954
3955 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3956
3957         * docs/design/part-synchronisation.txt:
3958         Small updates.
3959
3960         * gst/gstsegment.c: (gst_segment_set_seek),
3961         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3962         (gst_segment_to_running_time):
3963         The seek format can be different from the segment format when the start
3964         and stop values are not to be updated, when we only do a rate change for
3965         example.
3966
3967         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3968         (gst_segment_suite):
3969         Add a testcase for the rate-only seeks, checking that the format is
3970         correctly ignored when start and stop are not updated.
3971
3972 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
3973
3974         Patch by: Matthias Bolte <photon at mail dot upb dot de>
3975
3976         * win32/vs8/grammar.vcproj:
3977         * win32/vs8/libgstcontroller.vcproj:
3978         * win32/vs8/libgstreamer.vcproj:
3979         Fix compilation with VS8 and include some missing files.
3980
3981 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3982
3983         * gst/gsttaglist.c:
3984           Small docs addition: mention that the strings returned by
3985           gst_tag_list_get_string*() are in UTF-8 encoding.
3986
3987 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3988
3989         * Makefile.am:
3990           The check-exports stuff moved to common/win32.mak, so include that.
3991
3992 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3993
3994         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3995         (gst_base_src_perform_seek), (gst_base_src_get_range),
3996         (gst_base_src_set_playing), (gst_base_src_change_state):
3997         Make _wait_playing() not check any variables so that we can call this
3998         function from subclasses. Move the checks elsewhere similar to
3999         _wait_preroll() in basesink.
4000         Add some debugging.
4001         Only signal the LIVE cond when we are going back to PLAYING.
4002
4003 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
4006           Use g_remove() and g_rename(). Check result of g_rename(), and
4007           don't leak the open file descriptor if we error out when writing.
4008
4009         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
4010           Must check the return value of close() after writing out the new
4011           registry file.  Sometimes write problems such as out-of-diskspace
4012           are only reported when the file is closed and not already during
4013           the write.  This may have caused partial/broken registry files in
4014           some rare circumstances. Should fix #503675.
4015
4016 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
4017
4018         * docs/gst/.cvsignore:
4019         * docs/libs/.cvsignore:
4020         * docs/plugins/.cvsignore:
4021         Ignore files generated by new common/* modifications
4022
4023 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4024
4025         * win32/common/libgstbase.def:
4026           Yes, you can also have a <TAB> if you want.
4027
4028 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4029
4030         * win32/common/libgstbase.def:
4031           Add new basetransform API to win export file.
4032
4033 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
4034
4035         * tests/check/gst/gstbin.c:
4036           Adjust the test to the refcount change two days ago.
4037
4038 2007-12-14  David Schleef  <ds@schleef.org>
4039
4040         * docs/faq/getting.xml: Fix typo.
4041
4042 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
4043
4044         * docs/libs/gstreamer-libs-sections.txt:
4045         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
4046           (gst_base_transform_prepare_output_buffer),
4047           (gst_base_transform_set_gap_aware):
4048         * libs/gst/base/gstbasetransform.h:
4049           API: Add gst_base_transform_set_gap_aware() to control whether
4050           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
4051           get buffers with this flag at all. Fixes #503231.
4052
4053 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
4054
4055         * libs/gst/base/gstbasesink.c:
4056         * libs/gst/base/gstbasesrc.c:
4057         * libs/gst/base/gstbasetransform.c:
4058           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
4059           thread. Correct log message in gstbasesrc.c.
4060
4061 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4062
4063         * gst/gstutils.c: (element_find_unconnected_pad):
4064           Fix possible compiler warning (#503417).
4065
4066 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
4067
4068         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
4069           Don't use GST_CAT_EVENT here for logging, it makes no sense.
4070
4071 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
4072
4073         * tools/gst-inspect.c: (print_element_properties_info):
4074           Add support for GstFraction properties.
4075
4076 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4077
4078         * Makefile.am:
4079           Add check-exports target and run it as part of 'make check'
4080           (see #499140 and #493983).
4081
4082         * gst/gst_private.h:
4083         * gst/gstelementfactory.h:
4084         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
4085         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
4086           (_priv_gst_in_valgrind):
4087         * gst/gstinfo.h: (GstLogFunction):
4088         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
4089           (gst_type_find_register):
4090         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
4091           (gst_type_find_factory_get_type):
4092         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
4093           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
4094           (gst_controller_new_valist), (gst_controller_new_list),
4095           (_gst_controller_dispose), (_gst_controller_class_init):
4096         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
4097         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
4098           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
4099           (gst_object_get_controller), (gst_object_set_controller),
4100           (gst_object_suggest_next_sync), (gst_object_sync_values),
4101           (gst_object_set_control_source), (gst_object_get_control_source),
4102           (gst_object_get_value_arrays), (gst_object_get_value_array),
4103           (gst_object_get_control_rate), (gst_object_set_control_rate):
4104         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
4105         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
4106           Make some functions that should be static static; rename some
4107           private symbols so that they don't get exported; add some FIXME
4108           comments so we can move accidentally exported functions into
4109           our private section in 0.11.
4110
4111         * win32/common/libgstreamer.def:
4112           Add gst_utils_get_timestamp().
4113
4114 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4115
4116         * gst/gstvalue.c:
4117         * gst/gstvalue.h:
4118           Add more missing "Since:" tags to docs.
4119
4120 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
4121
4122         * gst/gstutils.c:
4123           Add mising "Since:" to docs.
4124
4125 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4126
4127         * gst/gstplugin.c:
4128           Include "glib-compat-private.h" to fix the build on system with
4129           glib < 2.10. Fixes #503131.
4130
4131 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4132
4133         * gst/gstutils.c:
4134         * gst/gstutils.h:
4135           Actually its not PURE as it gets the time from elsewhere.
4136
4137 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
4138
4139         * docs/gst/gstreamer-sections.txt:
4140         * gst/gstclock.h:
4141         * gst/gstdebugutils.c:
4142         * gst/gstinfo.c:
4143         * gst/gstutils.c:
4144         * gst/gstutils.h:
4145         * libs/gst/base/gstbasesink.c:
4146         * tools/gst-launch.c:
4147           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
4148           uses as we don't have HAVE_POSIX_TIMERS in public headers.
4149           Thanks Tim for spotting.
4150           API: gst_util_get_timestamp
4151
4152 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
4153
4154         * configure.ac:
4155           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
4156
4157 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         * gst/gststructure.c: (gst_structure_validate_name),
4160           (gst_structure_new_valist), (gst_structure_parse_value),
4161           (gst_structure_from_string):
4162           Don't crash in _from_string() if the structure name is not valid
4163           (fixes #501560).  Allow structure names to start with a number
4164           again (this apparently broke the ubuntu codec installer).
4165
4166         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
4167           (GST_START_TEST):
4168           Add unit test for the crash; update unit tests for new behaviour.
4169
4170 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
4171
4172         * gst/gstutils.c:
4173         Clarify gst_element_get_compatible_pad() documentation.
4174         Fixes #500919.
4175
4176 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
4177
4178         * tests/check/Makefile.am:
4179           Don't forget to dist {gst,libs}/struct_hppa.h.
4180
4181 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4182
4183         * libs/gst/base/gstbasesink.c:
4184           Use new API to get elapsed time.
4185
4186 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4187
4188         * gst/gstdebugutils.c:
4189         * gst/gstinfo.c:
4190           Fix wrong order of args in GST_CLOCK_DIFF() usage.
4191
4192         * tools/gst-launch.c:
4193           Use new API to get elapsed time.
4194
4195 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4196
4197         * docs/gst/gstreamer-sections.txt:
4198         * gst/gstclock.h:
4199         * gst/gstdebugutils.c:
4200         * gst/gstinfo.c:
4201           Rename new API + ChangeLog surgery to remove old name from last entry..
4202
4203 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4204
4205         * docs/gst/gstreamer-sections.txt:
4206         * gst/gstclock.h:
4207         * gst/gstdebugutils.c:
4208         * gst/gstinfo.c:
4209           Now hide the different clock stuff behind a macro.
4210
4211 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
4212
4213         * configure.ac:
4214         * gst/gstdebugutils.c:
4215         * gst/gstinfo.c:
4216           Apply the posix-timer check from #361155. Conditionally use the posix
4217           timer for logging. This gives better timestamp precission, less
4218           overhead and no ntp jitter.
4219
4220 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
4221
4222         * gst/gstminiobject.c: (gst_mini_object_get_type),
4223         (gst_mini_object_class_init), (gst_mini_object_copy_default),
4224         (gst_mini_object_finalize), (gst_mini_object_copy),
4225         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
4226         (gst_mini_object_replace), (param_mini_object_validate),
4227         (gst_param_spec_mini_object_get_type):
4228         Some cleanup and checking against invalid function parameters.
4229
4230 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
4231
4232         * docs/gst/gstreamer-sections.txt:
4233         * gst/gstclock.h:
4234         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4235         (gst_systemclock_suite):
4236         Start merging in the easy bits of #361155, the monotonic clock patch.
4237         This one adds a few handy macros with docs and a testsuite.
4238
4239 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
4240
4241         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
4242         Be a bit smarter when seeking, like, don't try to do a seek when it's
4243         not needed. This avoids errors when the file is not seekable.
4244         Fixes #499771.
4245
4246 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
4247
4248         * docs/gst/gstreamer-docs.sgml:
4249         * docs/gst/gstreamer-sections.txt:
4250         * docs/gst/gstreamer.types.in:
4251         * gst/Makefile.am:
4252         * gst/gst.h:
4253         * gst/gstpreset.c:
4254         * gst/gstpreset.h:
4255         * plugins/elements/gstqueue.c:
4256           Due to popular request remove preset interface again. :-(.
4257
4258 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4259
4260         * tools/gst-inspect.c:
4261           Print 'default value' for enums and flags too.
4262
4263 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4264
4265         * docs/random/ensonic/profiling.txt:
4266           More ideas.
4267
4268         * gst/gstbin.c:
4269           Fix typo and give better log output.
4270
4271         * gst/gstdebugutils.c:
4272         * gst/gstdebugutils.h:
4273           More ideas, make graphs a bit smaller and fix param name in macro.
4274
4275 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
4276
4277         * gst/gstpreset.c:
4278           Try harder to use the return value from fgets().
4279
4280 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
4281
4282         * gst/gstpreset.c:
4283           For theses two fgets we handle the error below.
4284
4285 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
4286
4287         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
4288         Only send upstream events upstream. Fixes #498746.
4289
4290 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
4291
4292         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4293
4294         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4295         (gst_identity_init), (gst_identity_transform_ip),
4296         (gst_identity_set_property), (gst_identity_get_property):
4297         * plugins/elements/gstidentity.h:
4298         Add property to disable handoff signal emission. Fixes #498694.
4299         API: GstIdentity::signal-handoffs
4300
4301 2007-11-21  Julien Moutte  <julien@fluendo.com>
4302
4303         * docs/faq/gst-uninstalled: Yet another missing library for the
4304         uninstalled script (fft)
4305
4306 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
4307
4308         * docs/faq/developing.xml:
4309         Add a question about how to submit new translations.
4310
4311         * docs/random/release:
4312         Update the contact email address for the Translation Project
4313
4314         * plugins/elements/gstfdsrc.c:
4315         The parent_class for fdsrc is pushsrc, not GstElement.
4316
4317 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
4318
4319         * gst/gstpreset.c:
4320           Plug a leak and fix saving.
4321
4322 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
4323
4324         * docs/gst/gstreamer-sections.txt:
4325         Add new gst_preset__get_property_names() function to the docs
4326         to fix the build.
4327
4328 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
4329
4330         * gst/gstpreset.c:
4331         * gst/gstpreset.h:
4332           Change _get_preset_names API to return a strv with copies. Add
4333           _get_property_names to allow implementations to filter and provide
4334           good default implementation.
4335
4336 2007-11-20  Julien MOUTTE  <julien@moutte.net>
4337
4338         * docs/faq/gst-uninstalled: Add another library to the uninstalled
4339         script (sdp).
4340
4341 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
4342
4343         * gst/gstpreset.c:
4344           More cleanups, docs, and TODOs from comments that now slowly come in.
4345
4346 2007-11-19  Julien MOUTTE  <julien@moutte.net>
4347
4348         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
4349         search path.
4350
4351 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
4352
4353         * gst/gstpreset.c:
4354           Fix bogus warning and make the property type specific code more
4355           similar.
4356
4357 2007-11-19  Julien MOUTTE  <julien@moutte.net>
4358
4359         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
4360         it build on OS X.
4361
4362 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
4363
4364         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4365         (gst_bin_add_func), (gst_bin_remove_func),
4366         (gst_bin_change_state_func), (gst_bin_continue_func):
4367         Change email, cleanups add some more debug and comments.
4368         Also set bus and clock on new elements when the pipeline was in error.
4369
4370 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
4371
4372         * gst/gstbin.c:
4373         * gst/gstdebugutils.c:
4374           Fix build with --disable-gst-debug. Fixes #497859.
4375           Spotted by Sameer Naik.
4376
4377 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4378
4379         * gst/gstevent.c:
4380           Little documentation improvment.
4381
4382         * gst/gstpreset.c:
4383           More TODO cleanups. Remove c++ comments.
4384
4385         * libs/gst/controller/gstcontroller.c:
4386           Add TODO and use quark from static string.
4387
4388         * tests/check/gst/gstmessage.c:
4389         * tests/check/gst/gststructure.c:
4390           Use quark from static string.
4391
4392 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4393
4394         * gst/gstpreset.c:
4395           Add some comments and TODOs.
4396
4397         * gst/gstpreset.h:
4398           Add padding for future changes.
4399
4400         * plugins/elements/gstqueue.c:
4401           Implement the iface.    
4402
4403 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4404
4405         * docs/gst/gstreamer-docs.sgml:
4406         * docs/gst/gstreamer-sections.txt:
4407         * docs/gst/gstreamer.types.in:
4408         * gst/Makefile.am:
4409         * gst/gst.h:
4410         * gst/gstpreset.c:
4411         * gst/gstpreset.h:
4412           Add the preset interface (Fixes #396779). Do some doc cleanups along.
4413
4414 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
4415
4416         * configure.ac:
4417
4418         Back to CVS
4419
4420 === release 0.10.15 ===
4421
4422 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
4423
4424         * configure.ac:
4425           releasing 0.10.15, "October"
4426
4427 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
4428
4429         * win32/vs6/libgstreamer.dsp:
4430         Convert line endings back to DOS.
4431
4432 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
4433
4434         * docs/design/draft-tagreading.txt:
4435         * docs/random/ensonic/profiling.txt:
4436         Update fast tagreading draft and performance profiling ideas.
4437
4438 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4439
4440         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
4441         Don't hold the object lock when unreffing a buffer because it could
4442         cause a deadlock when the finalize function wants to grab the object
4443         lock too. Fixes #495133.
4444
4445 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4446
4447         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
4448         (gst_segment_to_stream_time), (gst_segment_to_running_time):
4449         Also accumulate time correctly when doing reverse playback. Fixes
4450         #488201,
4451         When converting to running and stream time, use default values for
4452         start/stop/time/accum when comparing different formats. Fixes #494245.
4453
4454         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4455         Do running/stream time in TIME format.
4456
4457         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4458         (gst_segment_suite):
4459         2 new unit tests for segment accumulation.
4460
4461 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4462
4463         * gst/gst.c: (init_pre):
4464         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
4465           (_gst_debug_bin_to_dot_file):
4466           Move getenv() back into gst_init, so everyone can live happily
4467           ever after. Make sure the symbol isn't exported though.
4468
4469 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4470
4471         Patch by: Sebastien Moutte  <sebastien moutte net>
4472
4473         * win32/common/gstenumtypes.c:
4474         * win32/common/gstenumtypes.h:
4475           Update enum types.
4476
4477         * win32/vs6/libgstreamer.dsp:
4478           Update vs6 project files (#494343).
4479
4480 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4481
4482         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
4483         (gst_base_src_perform_seek), (gst_base_src_default_event),
4484         (gst_base_src_set_flushing), (gst_base_src_activate_push),
4485         (gst_base_src_activate_pull):
4486         Unify flushing code, remove some old unlock code that is no longer used.
4487         Take the streaming lock when seeking to avoid races. Fixes #492729.
4488         Added some more comments.
4489
4490 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4491
4492         * gst/gst.c: (_gst_disable_segtrap):
4493           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
4494           we can use gst_segtrap_is_enabled() there now that we have that API.
4495           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
4496           to do the getenv here (and export the variable).
4497
4498         * gst/gstdebugutils.c: (debug_dump_element),
4499           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
4500           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
4501
4502         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
4503           (gst_debug_log_default):
4504           Rename _gst_info_start_time to priv_gst_info_start_time so it
4505           doesn't get exported (was never in any header).
4506
4507         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
4508           (gst_plugin_loading_mutex):
4509           Make static mutex gst_plugin_loading_mutex really static (was never
4510           in any header), and use gst_segtrap_is_enabled() instead of
4511           _gst_disable_segtrap.
4512
4513         * gst/gsttrace.c: (_gst_trace_default):
4514           Make local _gst_trace_default static (was never in any header).
4515
4516 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4519
4520         * win32/common/libgstbase.def:
4521         * win32/common/libgstcontroller.def:
4522         * win32/common/libgstdataprotocol.def:
4523         * win32/common/libgstnet.def:
4524         * win32/common/libgstreamer.def:
4525           Add more missing symbols, remove some duplicates, and sort
4526           as the 'sort' command sorts it (partially fixes #493983).
4527
4528 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4529
4530         * gst/gstelement.c: (gst_element_set_state_func):
4531         Only change the state cookie if a different state was set on the
4532         element. See #492729.
4533
4534 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4535
4536         * gst/gstvalue.c:
4537           Remove unused and uninitialised type variables that were still
4538           exported for some reason (they were never in any header files
4539           though).
4540
4541 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4542
4543         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4544         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
4545         (gst_base_sink_event), (gst_base_sink_get_position_last),
4546         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4547         (gst_base_sink_change_state):
4548         Don't try to report a 0 position when we don't know, return -1 and FALSE
4549         instead. This mostly happens when we are prerolling.
4550         Make sure we can report the right position before we post the ASYNC_DONE
4551         message so that a message handler can query position without races.
4552
4553         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4554         (async_done_handoff), (async_done_func), (send_buffer),
4555         (async_done_eos_func), (gst_sinks_suite):
4556         Add two tests for the above.
4557
4558 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4559
4560         * MAINTAINERS:
4561         Update with new email address.
4562
4563         * docs/design/part-TODO.txt:
4564         Add some more info about future pad-block and negotiation changes.
4565
4566         * docs/design/part-buffering.txt:
4567         Add some ideas about buffering reporting.
4568
4569 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
4570
4571         * tests/check/gst/gstobject.c:
4572         Disable silly racy test that always fails on this combination of CPU
4573         and kernel.
4574
4575 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4576
4577         Patch by: Murray Cumming  <murrayc@murrayc.com>
4578
4579         * gst/gstobject.c:
4580           Corrected the registration of the parent-set and parent-unset
4581           signals: The parameter is a GstObject, not a GObject (#493134).
4582
4583 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4584
4585         * gst/gst_private.h:
4586         * gst/gstbuffer.h:
4587         * gst/gstevent.h:
4588         * gst/gstformat.h:
4589         * gst/gstmessage.h:
4590         * gst/gstplugin.h:
4591         * gst/gstquery.h:
4592         * gst/gsttaglist.h:
4593         * gst/gstvalue.h:
4594           Move declaration of private _gst_foo_initialize() functions into
4595           our private header file where they should have been all along.
4596
4597 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4598
4599         * docs/plugins/gstreamer-plugins-sections.txt:
4600         * gst/gstdebugutils.h:
4601         * gst/gstxml.h:
4602         * plugins/elements/gstqueue.c:
4603           gtk-doc fixes; trailing-comma-in-enum fix.
4604
4605 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4606
4607         * gst/gst.c: (gst_deinit):
4608           Clean up on deinit (not the external ones though, doesn't seem to be
4609           needed for some reason).
4610
4611 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4612
4613         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4614           Remove __declspec(dllimport) for MSVC that was copied over into core
4615           from a plugin, obviously without ever having been tested (note the
4616           single underscore in _declspec in the initial commit), and that doesn't
4617           really make sense.  See #492077.
4618
4619 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4620
4621         * gst/gst.c: (init_post):
4622         * gst/gstevent.c: (_gst_event_initialize):
4623         * gst/gstquery.c: (_gst_query_initialize):
4624         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
4625           g_type_class_ref() other types as well, see #349410 and #64764.
4626
4627         * gst/gstbuffer.c: (_gst_buffer_initialize):
4628         * gst/gstmessage.c: (_gst_message_initialize):
4629           Simplify existing g_type_class_ref().
4630
4631 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4632
4633         * gst/gstformat.c: (_gst_format_initialize):
4634           g_type_class_ref() our GstFormat type to make sure we avoid the
4635           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
4636           bug #64764. Should fix intermittent tee unit test failures (#474823).
4637
4638 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * tests/check/elements/tee.c: (test_num_buffers):
4641           Simplify, simplify, simplify - or not.  Rewrite unit test
4642           not to use gst_parse_launch(); allow N sub-streams. Increasing
4643           the number of sub-streams seems to reproduce #474823 more easily.
4644
4645 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4646
4647         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4648
4649         * gst/gsttrace.c:
4650         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4651         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4652         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
4653           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
4654           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
4655           so use _pipe() directly (#492077).
4656
4657         * win32/common/dirent.c: (_treaddir):
4658           Add a couple of casts to make it build without warnings with MSVC.
4659
4660         * win32/common/libgstreamer.def:
4661           Add some more symbols that need to be exported.
4662
4663 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         * tests/examples/metadata/read-metadata.c: (message_loop):
4666           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
4667           arriving in a second or third tag message are added to
4668           the tag list as well.
4669
4670 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
4671
4672         * libs/gst/base/gstbasesrc.c:
4673           Its "Since:" and not "@Since:". And remove an superflous cast.
4674
4675 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
4676
4677         * docs/libs/gstreamer-libs-sections.txt:
4678         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4679         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
4680         (gst_base_sink_get_property), (gst_base_sink_render_object),
4681         (gst_base_sink_preroll_object),
4682         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4683         (gst_base_sink_change_state):
4684         * libs/gst/base/gstbasesink.h:
4685         Add a new last-buffer property that contains the last buffer used in
4686         basesink for preroll or rendering. useful for making snapshots.
4687         API: gst_base_sink_get_last_buffer()
4688         API: GstBaseSink::last-buffer
4689
4690 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4691
4692         * docs/gst/running.xml:
4693         * gst/gst.c:
4694         * gst/gstdebugutils.c:
4695         * gst/gstdebugutils.h:
4696         * tools/gst-launch.c:
4697           Improve bin graph dumping, by using the envvar to specify a path.
4698           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
4699
4700 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
4701
4702         * plugins/elements/gsttypefindelement.c:
4703           (gst_type_find_element_handle_event),
4704           (gst_type_find_element_activate):
4705           Post special error message if we can't determine the type of a stream
4706           because it's empty.
4707
4708 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4709
4710         * docs/gst/running.xml:
4711         * gst/gstdebugutils.c:
4712           Document new env-var. Add one log-line after dumpng a graph.
4713
4714 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * configure.ac:
4717           Ugly hack to put the (recently removed and non-portable, apparently)
4718           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
4719           GNU ld, because without that 'make check' fails miserably on my debian
4720           stable box.  Someone with more knowledge of linker intricacies and
4721           portability issues than me fix this properly please.
4722
4723 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
4724
4725         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
4726         Reset last seen position after flushing so that we don't report the old
4727         position anymore.
4728
4729 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4730
4731         * gst/gstelementfactory.c: (gst_element_register):
4732         * gst/gsturi.h:
4733         Patch from Alessandro Decina adding get_type_full and
4734         get_protocols_full private vfuncs to the URIHandler interface
4735         to allow bindings to support creating URI handlers. 
4736         Partially fixes: #339279
4737         API: GstURIHandlerInterface::get_type_full
4738         API: GstURIHandlerInterface::get_protocols_full
4739
4740 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4741
4742         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4743         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
4744         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
4745         Make it so that pads are considered linked until a buffer is pushed
4746         and discovered otherwise. This avoids problems with decodebin2 hanging
4747         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
4748         case.
4749
4750         Make sure we lock the multiqueue when updating the max-size properties.
4751         
4752         Fix a crash on Solaris in a debug statement in get_request_pad that
4753         passes a NULL string to GST_DEBUG. 
4754
4755         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4756         (run_output_order_test):
4757         Fix the test to allow the first buffer on not-linked pads to come out
4758         of sequence while multiqueue discovers that they are not-linked.
4759
4760 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4761
4762         * configure.ac:
4763         * libs/gst/check/Makefile.am:
4764         Use a custom export symbol regex for libgstcheck, as it needs
4765         to export symbols that don't match the standard GStreamer gst_*
4766         pattern, and  --export-dynamic is not portable (only works on 
4767         GNU ld)
4768
4769         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4770         (gst_check_setup_sink_pad):
4771         Make sure to pass a message parameter to the fail_* macros.
4772
4773         * tests/check/gst/gstinfo.c: (GST_START_TEST):
4774         Fix some compiler warnings.
4775
4776 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
4777
4778         * tests/check/gst/gststructure.c: (test_to_string):
4779           Disable test that checks that white spaces are not allowed
4780           in structure names or field names, since we need to
4781           support that for now for backwards compatibility reasons.
4782
4783 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4784
4785         * docs/gst/gstreamer-sections.txt:
4786         * gst/gsttaglist.c:
4787         * gst/gsttaglist.h:
4788           API: add GST_TAG_ARTIST_SORTNAME
4789           API: add GST_TAG_ALBUM_SORTNAME
4790           API: add GST_TAG_TITLE_SORTNAME
4791           Add tag variants for sorting (#414539).
4792
4793 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4794
4795         * gst/gststructure.c:
4796           Also allow white space for names so we don't break
4797           backwards compatibility.
4798
4799 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
4800
4801         * docs/design/part-TODO.txt:
4802         * docs/design/part-segments.txt:
4803         * docs/design/part-streams.txt:
4804         Small updates.
4805
4806 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4807
4808         * docs/gst/gstreamer-sections.txt:
4809          Fixed documentation from my previous commit (added new API add
4810          gst_value_set_structure(), add gst_value_get_structure() and
4811          GST_VALUE_HOLDS_STRUCTURE).
4812
4813 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
4814
4815         * gst/gstdebugutils.c:
4816           Reflow code to fix uninitialized variable warning.
4817
4818 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4819
4820         * gst/gstcaps.c: (gst_caps_to_string),
4821         (gst_caps_from_string_inplace):
4822         * gst/gststructure.c: (gst_structure_get_abbrs),
4823         (gst_structure_to_string), (gst_structure_from_string):
4824         * gst/gstvalue.c: (gst_value_set_structure),
4825         (gst_value_get_structure), (gst_value_serialize_structure),
4826         (gst_value_deserialize_structure), (_gst_value_initialize):
4827         * gst/gstvalue.h:
4828         * tests/check/gst/gststructure.c: (GST_START_TEST),
4829         (gst_structure_suite):
4830         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4831          Added GstStructure to gst_value_table and its related functions.
4832          Changed gst_structure_to_string to print ';' in the end.
4833          Changed gst_caps_to_string to not print ';' beteween its
4834          fields (structures) anymore and remove the lastes ';' from latest
4835          structure. Now it is possible to have nested structures.
4836          In addition, backward compatibilty is assured by accepting '\0' as
4837          end delimiter. Fixes: #487969.
4838          API: add gst_value_set_structure()
4839          API: add gst_value_get_structure()
4840          API: add GST_VALUE_HOLDS_STRUCTURE
4841
4842 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
4843
4844         * gst/gstbus.c:
4845           When no GSource callback has been set up, tell developer
4846           to use a function that actually exists.
4847
4848 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
4849
4850         * docs/gst/gstreamer-sections.txt:
4851         * gst/Makefile.am:
4852         * gst/gst.c:
4853         * gst/gst.h:
4854         * gst/gstdebugutils.c:
4855         * gst/gstdebugutils.h:
4856         * gst/gstinfo.c:
4857         * gst/gstinfo.h:
4858         * tools/gst-launch.c:
4859           Allow dumping pipelines as dot graphs. Fixes #456573.
4860
4861 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4862
4863         * gst/gststructure.c:
4864           Allow '+' as well, it can be part of media or mime types
4865           such as image/svg+xml.
4866
4867 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         * docs/gst/gstreamer-sections.txt:
4870         * gst/gstbus.c:
4871         * gst/gstbus.h:
4872           API: add gst_bus_pop_filtered
4873           API: add gst_bus_timed_pop_filtered
4874           Two new functions for waiting for specific message types on the
4875           bus for a specified amount of time without iterating any main
4876           loops or main contexts.
4877
4878         * tests/check/gst/gstbus.c:
4879           Some tests for the new functions.
4880
4881 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4882
4883         * docs/libs/gstreamer-libs-sections.txt:
4884           Make gtk-doc ignore stuff it should ignore.
4885
4886 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4887
4888         * libs/gst/check/gstcheck.c:
4889         * libs/gst/check/gstcheck.h:
4890           Allow runtime selection of unit tests to run via the GST_CHECKS
4891           environment variable (test case function names, comma-separated).
4892
4893 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4894
4895         * gst/gststructure.c:
4896         * tests/check/gst/gststructure.c:
4897           Revert serialisation change and constrain structure-names after
4898           consensus on irc. Update api documentation to reflect the change.
4899
4900 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4901
4902         * gst/gststructure.c:
4903           Improve serialization and fix tests.
4904
4905         * tests/check/gst/gststructure.c:
4906           Add another test that covers why I actually did the previous structure
4907           change.
4908
4909 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4910
4911         * tools/gst-inspect.c: (print_element_info):
4912         Don't crash when inspecting an element.
4913
4914 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4915
4916         * tests/check/gst/gststructure.c:
4917           Add unit test for escaping of structure name when serialising
4918           and deserialising to/from strings.
4919
4920 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4921
4922         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4923         (gst_single_queue_new):
4924         * plugins/elements/gstqueue.c: (gst_queue_init),
4925         (gst_queue_push_one):
4926         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
4927         upstream is tricked into thinking it can suggest a format downstream
4928         while downstream does not support that format. The real problem is that
4929         core calls acceptcaps when pushing a buffer with new caps, for which we
4930         do a little workaround by setting the caps on the srcpad ourselves
4931         before pushing the buffer (until this is figured out). Fixes #486758.
4932
4933 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4934
4935         * gst/gststructure.c:
4936         * gst/gstvalue.c:
4937           Add some more comments and debug output. Quote structure name to fix
4938           deserialisation of some strings.
4939
4940 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4941
4942         * gst/gstbuffer.h:
4943           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
4944           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
4945
4946 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4947
4948         * tools/gst-inspect.c:
4949           Save approx. 400 1 byte allocs when printing. Use API to acces element
4950           details.
4951
4952         * tools/gst-run.c:
4953           Avoid a strdup.
4954
4955         * tools/gst-xmlinspect.c:
4956           Use API to acces element details.
4957
4958 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4959
4960         * gst/gstinfo.c:
4961           Fix some spelling errors.
4962
4963 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
4964
4965         * gst/gstbin.c: (bin_handle_async_done):
4966         Correctly set the next state if all of our async children commited their
4967         state. This makes sure we can actually cancel the state change in
4968         progress. Fixes a regression in Rhythmbox when seeking.
4969
4970 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4971
4972         * gst/gstbin.c:
4973           Don't shadow local variable.
4974
4975         * gst/gstinfo.c:
4976           Don't shadow global function name.
4977
4978 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4979
4980         * gst/gstelementfactory.c:
4981         * gst/gstpluginfeature.c:
4982         * gst/gstpluginfeature.h:
4983         * gst/gstregistrybinary.c:
4984         * gst/gstregistryxml.c:
4985         * gst/gsttypefind.c:
4986           Use already-interned string for the private GstPluginFeature
4987           plugin_name field.
4988
4989 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4990
4991         * docs/libs/gstreamer-libs-sections.txt:
4992           Add new API to docs; fixes the build.
4993
4994 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
4995         
4996         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
4997
4998         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
4999         (gst_base_sink_event):
5000         * libs/gst/base/gstbasesink.h:
5001         Add function to wait for EOS, subclasses can use this to correctly wait
5002         for devices to drain before performing the EOS logic. Fixes #485343.
5003         API: gst_base_sink_wait_eos()
5004
5005 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5006
5007         * gst/gstplugin.h:
5008           Cast description string constants in GST_PLUGIN_DEFINE macros
5009           to a (gchar*) to make C++ code using these macros compile
5010           without warning with g++-4.2 (see #462737).  Even if slightly
5011           ugly, this seems preferable to putting the description strings
5012           into the GLib quark table or making the structure member a
5013           const gchar * and doing casts in core code that allocs and
5014           frees these strings, or requiring a cast in the C++ code.
5015
5016 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5017
5018         * gst/gstinfo.h:
5019           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
5020           to print the entire class/function signature into the log
5021           file for C++ code.  This only affects C++ code, for C code
5022           everything remains the same.
5023
5024 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
5025
5026         * gst/gstbin.c: (remove_from_queue):
5027         Work around a problem with pipelines containing (semi)loops until a
5028         proper, more complicated solution is ready. See #475455.
5029
5030 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5031
5032         * gst/gstplugin.c:
5033         * gst/gstplugin.h:
5034         * gst/gstregistrybinary.c:
5035         * gst/gstregistryxml.c:
5036           Put more strings into the GLib quark table. No need to keep
5037           a hundred-something copies of identical version strings,
5038           license strings, package name strings and package origin
5039           strings around. 
5040
5041 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5042
5043         * docs/manual/advanced-dataaccess.xml:
5044           Don't imply that it's okay to unconditionally change
5045           buffer data or buffer metadata in a pad probe callback,
5046           and a bunch of other comments. Fixes #430031.
5047
5048 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5049
5050         * win32/common/gstenumtypes.c:
5051         * win32/common/gstenumtypes.h:
5052         * win32/common/gstversion.h:
5053           Update generated files.
5054
5055 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5056
5057         * docs/manual/advanced-autoplugging.xml:
5058           Prefix section with broken code with a warning (see #342432).
5059
5060 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5061
5062         * docs/manual/appendix-integration.xml:
5063         * docs/manual/basics-init.xml:
5064           Call g_thread_init() before g_option_context_new() to
5065           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
5066
5067 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5068
5069         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5070         (gst_base_sink_queue_object_unlocked),
5071         (gst_base_sink_queue_object), (gst_base_sink_event),
5072         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
5073         When we received EOS and are waiting for when to post the EOS message,
5074         our state is prerolled and we should not return ASYNC.
5075         Reorganize some code paths to implement this behavior.
5076
5077         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5078         (gst_sinks_suite):
5079         Add unit test to verify above EOS fix.
5080
5081 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5082
5083         * plugins/elements/gsttypefindelement.c:
5084         (gst_type_find_element_have_type), (gst_type_find_element_init),
5085         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
5086         Move detecting the input caps of the sinkpad to the setcaps function.
5087         This allows us to update the output caps when we receive new input caps
5088         instead of always using the first detected caps.
5089
5090 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
5091
5092         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
5093         (gst_base_sink_get_position):
5094         Don't try to preroll non-async elements after a flush.
5095         Subtract latency form clock times when reporting position.
5096
5097 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5098
5099         * gst/gstpad.c: (gst_pad_pause_task):
5100         * gst/gstutils.c:
5101         Small comment and documentation update.
5102
5103 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5104
5105         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5106         (gst_base_src_set_live), (gst_base_src_is_live),
5107         (gst_base_src_query_latency), (gst_base_src_perform_seek),
5108         (gst_base_src_default_event), (gst_base_src_wait),
5109         (gst_base_src_do_sync), (gst_base_src_get_range),
5110         (gst_base_src_pad_get_range), (gst_base_src_loop),
5111         (gst_base_src_unlock), (gst_base_src_unlock_stop),
5112         (gst_base_src_set_flushing), (gst_base_src_set_playing),
5113         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5114         (gst_base_src_change_state):
5115         Rework the locking of basesrc in a similar fashion to basesink. We
5116         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
5117         us to handle live sources and semi live ones much better.
5118         Simplify flushing.
5119         Fix unlocking when seeking, shutting down and pausing in live sources.
5120
5121 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
5122
5123         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
5124         Fix compilation again.
5125
5126 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * gst/gstelement.c:
5129           Use meaningful categories for the logs to clean the default one.
5130
5131 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5132
5133         * tests/check/pipelines/cleanup.c:
5134           Print message name and not just number.
5135
5136 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5137
5138         * docs/design/draft-tagreading.txt:
5139           Add some more thoughts.
5140
5141 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5142
5143         * tests/check/pipelines/simple-launch-lines.c:
5144           Print message name and not just number.
5145
5146 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5147
5148         * libs/gst/base/gsttypefindhelper.c:
5149           Speedup typefinding. This is work in progress (see #459862).
5150
5151 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
5152
5153         * gst/gstplugin.c:
5154           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
5155           Spotted by Josep Torra Valles <josep@fluendo.com>.
5156
5157 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * gst/gstclock.h:
5160           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
5161           field has moved to GstObject.
5162
5163 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
5164
5165         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
5166         (gst_base_src_get_range), (gst_base_src_change_state):
5167         Call unlock for live sources so that they can't get stuck in _create and
5168         produce a buffer before they are set back to PLAYING.
5169
5170 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
5171
5172         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5173         (gst_queue_locked_dequeue):
5174         Comment the segment-related code... in the PROPER function.
5175         See #482147 and my commit from yesterday.
5176
5177 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
5178
5179         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5180         Also initialize the counter that calculates the first timestamp on a
5181         buffer correctly for non-live sources.
5182
5183 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
5184
5185         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
5186         Disable code that's breaking the current-time-level reporting.
5187         See #482147
5188
5189 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
5190
5191         * docs/gst/gstreamer-sections.txt:
5192         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
5193         as they shouldn't show up. Fixes the docs build.
5194
5195 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
5196         
5197         * gst/gstinfo.h:
5198         Add an explicit variable importation needed on VS6 (only for MSC_VER)
5199         Define M_PI which is used in files which are including gstinfo.h. 
5200         VS6 includes doesn't define it.
5201         * win32/common/libgstbase.def:
5202         * win32/common/libgstcontroller.def:
5203         * win32/common/libgstreamer.def:
5204         Add new exported functions and variables.
5205         * win32/vs6/libgstcontroller.dsp:
5206         * win32/vs6/libgstreamer.dsp:
5207         Update the list of files to build.
5208         
5209 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5210
5211         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5212
5213         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
5214         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
5215         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
5216         Improve debugging. Fixes #480858.
5217
5218 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
5219
5220         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
5221
5222         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5223         First patch of code cleanups, use the macros and right arguments in the
5224         macros to signal and lock the queue. See #480858.
5225
5226 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
5227
5228         * gst/gstbus.c: (poll_func):
5229         Improve debugging when dealing with _poll().
5230
5231 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         * gst/gstregistryxml.c:
5234           Fix memory leak I introduced a few days ago.
5235
5236 2007-09-26  Michael Smith <msmith@fluendo.com>
5237
5238         * gst/gstbuffer.c: (gst_buffer_finalize):
5239           Make it once again possible to free GstBuffers in the default
5240           build.
5241           The poisoning scribbles on parts of the miniobject we need in
5242           order to free it.
5243           Fixes #480341
5244
5245 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
5246
5247         * docs/gst/gstreamer-sections.txt:
5248         * gst/gsttaglist.c:
5249         * gst/gsttaglist.h:
5250         API: add GST_TAG_COMPOSER, fixes #459809.
5251
5252 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
5253
5254         * gst/gstplugin.c:
5255         * gst/gstplugin.h:
5256         Add the 3-clause BSD license and the MIT/X11 license to the license
5257         list. Fixes #479784.
5258
5259 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * docs/faq/getting.xml:
5262           Add Q+A about different GStreamer versions (#364056).
5263
5264 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5265
5266         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5267         (gst_base_sink_event), (gst_base_sink_change_state):
5268         Return correct gboolean from query function.
5269
5270 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5271
5272         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5273         (gst_base_sink_event), (gst_base_sink_query),
5274         (gst_base_sink_change_state):
5275         Simplify latency query.
5276         When not synchronizing, we can report latency without querying the peer
5277         element.
5278
5279 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5280
5281         * gst/gstobject.h:
5282         * gst/gstvalue.c:
5283         Fix small typos in the docs.
5284
5285 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
5286
5287         * docs/design/draft-latency.txt:
5288         * docs/design/draft-push-pull.txt:
5289         * docs/design/draft-tagreading.txt:
5290         * docs/design/part-MT-refcounting.txt:
5291         * docs/design/part-activation.txt:
5292         * docs/design/part-block.txt:
5293         * docs/design/part-element-source.txt:
5294         * docs/design/part-events.txt:
5295         * docs/design/part-gstbin.txt:
5296         * docs/design/part-gstelement.txt:
5297         * docs/design/part-gstobject.txt:
5298         * docs/design/part-gstpipeline.txt:
5299         * docs/design/part-messages.txt:
5300         * docs/design/part-preroll.txt:
5301         * docs/design/part-push-pull.txt:
5302         * docs/design/part-qos.txt:
5303         * docs/design/part-query.txt:
5304         * docs/design/part-scheduling.txt:
5305         * docs/design/part-seeking.txt:
5306         * docs/design/part-segments.txt:
5307         * docs/design/part-states.txt:
5308         Documentation updates and typo fixes.
5309
5310 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
5311
5312         * plugins/elements/gstfakesink.c:
5313           Add some debug text to error message to indicate that
5314           we errored out on request.
5315
5316         * tools/gst-launch.c:
5317           When the state change to PLAYING fails, check for an
5318           error message on the bus and print it.
5319
5320 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5321
5322         translated by: Jorge González González <aloriel@gmail.com>
5323
5324         * po/LINGUAS:
5325         * po/es.po:
5326           Added Spanish translation.
5327
5328 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
5329
5330         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5331         Fix printf arguments.
5332
5333 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
5334
5335         * tests/check/generic/states.c:
5336           Improved state change unit test.
5337
5338 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
5339
5340         * gst/gstbin.h:
5341           Move priv to the right place.
5342
5343         * gst/gstsystemclock.c:
5344           Add FIXME: and improve log.
5345
5346         * tests/check/Makefile.am:
5347         * tests/examples/manual/Makefile.am:
5348           Work with all types of registries.
5349
5350 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
5351
5352         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5353         Don't unref the event after pushing it. Fixes #478401.
5354
5355 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5356
5357         * .cvsignore:
5358         * tests/examples/manual/.cvsignore:
5359           Ignore registries in any format.
5360
5361 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5362
5363         * gst/glib-compat-private.h:
5364           Add compatibility macro for g_intern_string() for
5365           GLib-2.8 (any reason we can't just bump the
5366           requirement to at least 2.10?)
5367
5368         * gst/gstpadtemplate.h:
5369         * gst/gstelementfactory.c:
5370         * gst/gstregistryxml.c:
5371         * gst/gstregistrybinary.c:
5372           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
5373           up the internal code accordingly.  This shouldn't be a problem, since
5374           there is no reason external code could ever assume the string in such
5375           a structure is dynamically allocated unless it did that itself;  the
5376           use of g_strdup() is private to element factories.  The new code also
5377           saves some memory by putting pad template name strings into the GLib
5378           quark table instead of allocating them dynamically.
5379           Declaring this field constant fixes warnings with g++-4.2 when using
5380           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
5381
5382 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5383
5384         * gst/gstelementfactory.c:
5385           Release static caps. Fixes #475723.
5386
5387 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
5388
5389         * gst/gstinfo.c:
5390         * gst/gstinfo.h:
5391           Make some internal API take const gchar * instead of just
5392           gchar * to avoid compiler warnings with g++-4.2.2 when
5393           passing string constants (partially fixes #478092).
5394
5395 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5396
5397         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
5398         A latency query fails when one of the sinks fail.
5399
5400         * gst/gstelement.c: (gst_element_set_base_time):
5401         Improve debugging.
5402
5403 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
5404
5405         * gst/gstbin.c: (gst_bin_continue_func):
5406         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5407         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
5408         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
5409
5410         Fix minor compilation warnings shown with Forte.
5411
5412 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5413
5414         * plugins/elements/gstqueue.c: (apply_buffer),
5415         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
5416         Measure queue level based on the diff between head and tail timestamps
5417         even when pushing the first buffer.
5418
5419 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5420
5421         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5422         (gst_base_sink_event), (gst_base_sink_change_state):
5423         Sinks that don't preroll can always be queried for the latency.
5424         Don't post ASYNC start when we are not async.
5425
5426 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5427
5428         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5429         (gst_queue_handle_sink_event), (gst_queue_chain),
5430         (gst_queue_push_one), (gst_queue_handle_src_query),
5431         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
5432         * plugins/elements/gstqueue.h:
5433         When downstream returns UNEXPECTED from pushing a buffer, don't try to
5434         push more buffers but allow pushing of EOS and NEWSEGMENT.
5435         Add some more debug info here and there. Fixes #476514.
5436
5437 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5438
5439         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5440         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
5441         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5442         (gst_base_sink_set_flushing), (gst_base_sink_query),
5443         (gst_base_sink_change_state):
5444         Latency query is allowed after we are prerolled. Introduce a new flag
5445         for this and stop abusing other variables.
5446
5447 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5448
5449         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5450         Push OOB events downstream when we get them in send_event. This allows
5451         the application to insert events in the pipeline.
5452         Add some more comments.
5453
5454 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5455
5456         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
5457         (do_bin_latency), (gst_bin_change_state_func):
5458         * gst/gstpipeline.c: (gst_pipeline_change_state):
5459         Move latency query from GstPipeline to GstBin so that we can also
5460         use it when async-handling is enabled on bins.
5461
5462 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5463
5464         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5465         (gst_base_src_do_sync), (gst_base_src_change_state):
5466         Update docs.
5467         Clean up the timestamping and syncing code for pseudo live sources.
5468
5469 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
5470
5471         Patch by: Steve Fink  <sphink gmail com>
5472
5473         * docs/manual/appendix-checklist.xml:
5474           Mention less -R switch in the section about debug output (#474055).
5475
5476 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5477
5478         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5479         Queue can latency to the pipeline up to the configured max size in time.
5480         Report this fact in the latency query.
5481
5482 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5483
5484         Patch by: Sebastien Moutte <sebastien at moutte dot net>
5485
5486         * libs/gst/controller/gstinterpolation.c:
5487         * libs/gst/controller/gstlfocontrolsource.c:
5488         Use gst_guint64_to_gdouble() when converting from a uint64 or
5489         GstClockTime to double to fix the build on win32. Fixes #474371.
5490
5491 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5492
5493         * gst/gstbuffer.c: (gst_buffer_finalize):
5494         Implement poisoning for GstBuffer if --enable-poisoning is specified.
5495         When finalizing a buffer the complete struct is filled with 0xff,
5496         thus making a use of the buffer after the final unref impossible.
5497
5498 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5499
5500         * tests/check/libs/controller.c: (GST_START_TEST):
5501         Use fail_unless_equals_int(a, b) instead of
5502         fail_unless_equals (a == b) to get better output on failures.
5503
5504 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * tests/check/gst/gsturi.c:
5507           Also check for the other file URI variant on win32.
5508
5509 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5510
5511         * gst/gsturi.c: (gst_uri_get_location):
5512           If there's no hostname, we want to return 'c:/foo/bar.txt'
5513           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
5514
5515         * tests/check/gst/gsturi.c:
5516           Unit test for the above and a few more things.
5517
5518 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5519
5520         * docs/design/part-live-source.txt:
5521         Add docs on how live sources should timestamp.
5522
5523         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5524         Add some more debug info.
5525         For subclasses that are live and like to sync, add aditional startup
5526         latency to sync time and timestamps so that we timstamp according to the
5527         design doc.
5528
5529 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5530
5531         * gst/gstbuffer.c:
5532           Also do a g_type_class_ref() for the subbuffer type in
5533           the init function.
5534
5535 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5536
5537         * docs/gst/gstreamer-sections.txt:
5538         * gst/gstpad.c: (gst_pad_peer_query):
5539         * gst/gstpad.h:
5540         Add function to perform a query on the peer of a pad.
5541         API: gst_pad_peer_query()
5542
5543 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
5544
5545         * tests/check/gst/gstsystemclock.c:
5546           Cleanup the test a little (use gst-logging and not g_message). Improve
5547           test to check if a wait reached the target.
5548
5549 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5550
5551         * docs/libs/gstreamer-libs-sections.txt:
5552           Add new API to docs and fix the build.
5553
5554 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
5555
5556         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5557         (gst_base_src_init), (gst_base_src_set_do_timestamp),
5558         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
5559         (gst_base_src_get_property), (gst_base_src_do_sync):
5560         * libs/gst/base/gstbasesrc.h:
5561         Add property to make the basesrc timestamp buffers based on the current
5562         running time.
5563         API: GstBaseSrc::do-timestamp
5564         API: gst_base_src_set_do_timestamp()
5565         API: gst_base_src_get_do_timestamp()
5566
5567 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
5568
5569         * docs/random/release:
5570           Really make sure translations are up-to-date before
5571           a release (#465010).
5572
5573 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
5574
5575         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5576         Always destroy the timer, also in error cases.
5577
5578 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5579
5580         * docs/manual/highlevel-xml.xml:
5581         Fix XML example code. Fixes #472714.
5582
5583 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5584
5585         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5586         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5587         (gst_base_sink_query):
5588         Protect eos and have_preroll with the OBJECT lock so we don't need to
5589         take the PREROLL lock when querying the latency. Fixes #473846.
5590
5591 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
5592
5593         * gst/gstelement.c:
5594           Give some log-messages a category.
5595
5596 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
5597
5598         * gst/gststructure.c:
5599         (gst_structure_fixate_field_nearest_fraction):
5600         Fix fraction list fixation code. Take the fraction with the smallest
5601         difference with the target instead of the first one in the list.
5602
5603         * tests/check/gst/gststructure.c: (GST_START_TEST),
5604         (gst_structure_suite):
5605         Added test to verify correct fraction list fixation behaviour.
5606
5607 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
5608
5609         * win32/common/libgstreamer.def:
5610           Export gst_bus_add_signal_watch too.
5611
5612 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
5613
5614         * docs/libs/gstreamer-libs-sections.txt:
5615         Add new methods to docs.
5616
5617         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5618         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
5619         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
5620         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
5621         * libs/gst/base/gstbasesink.h:
5622         Add ts-offset property to fine-tune the synchronisation.
5623         API: GstBaseSink::ts-offset property
5624         API: gst_base_sink_set_ts_offset()
5625         API: gst_base_sink_get_ts_offset()
5626
5627 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
5628
5629         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5630         (gst_base_sink_init), (gst_base_sink_set_sync),
5631         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5632         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
5633         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
5634         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
5635         (gst_base_sink_get_property), (gst_base_sink_change_state):
5636         * libs/gst/base/gstbasesink.h:
5637         Add async property to instruct the sink never to inform the parent about
5638         ASYNC state changes, update docs.
5639         Check argument with g_return_* for the public functions.
5640         API: GstBaseSink::async property
5641         API: gst_base_sink_set_async_enabled()
5642         API: gst_base_sink_is_async_enabled()
5643
5644 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
5645
5646         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
5647         Improve debugging.
5648
5649         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5650         (gst_base_src_default_query), (gst_base_src_wait),
5651         (gst_base_src_do_sync), (gst_base_src_change_state):
5652         Rearrange some code so that we can add support for measuring the 
5653         startup latency.
5654
5655 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
5656
5657         * docs/random/ensonic/dynlink.txt:
5658           More thoughs on this.
5659
5660         * plugins/elements/gstcapsfilter.c:
5661           Add bugzilla ticket number to FIXME comment.
5662
5663 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
5664
5665         * docs/design/part-TODO.txt:
5666         * docs/design/part-block.txt:
5667         Update some docs.
5668
5669 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5670
5671         * gst/Makefile.am:
5672           Revert patch which uses $(gst_headers) instead of $^ because it
5673           breaks make dist.
5674
5675 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5676
5677         * tests/check/gst/gstbin.c: (GST_START_TEST):
5678           Fix leaks in the new unit test.
5679
5680 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
5681
5682         * gst/gst.c:
5683           Don't use GST_INFO before the debug system is actually initialised
5684           (shouldn't do any harm, but won't print anything either, so we can
5685           just as well remove it).
5686
5687         * gst/gstinfo.h:
5688           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
5689           compilers that don't support variadic macros (such as MSVC), should
5690           check for debug_level <= __gst_debug_min as well, since that's the
5691           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
5692           inline helper functions. Should improve performance a bit, but also
5693           makes sure uses of GST_INFO et.al are ignored if the debugging
5694           system isn't initialised yet (instead of printing an assertion
5695           failure).
5696
5697 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
5698
5699         patch by: David Nečas <yeti@physics.muni.cz>
5700
5701         * gst/Makefile.am:
5702           Replace some non portable makefile constructs.
5703
5704 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * common/gtk-doc-plugins.mak:
5707           Grrrrr. Don't remove the types file on make clean.
5708
5709 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
5710
5711         * tools/gst-launch.1.in:
5712         Add colorspace to example pipeline. Fixes #458274.
5713
5714 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
5715
5716         * docs/random/release:
5717           The release manager should run 'make download-po' before making a
5718           release to make sure translations are up-to-date.
5719
5720         * po/LINGUAS:
5721         * po/be.po:
5722         * po/pl.po:
5723         * po/rw.po:
5724           Add some new translations.
5725
5726 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
5727
5728         * tools/gst-launch.c: (event_loop), (main):
5729         Don´t try to do any state management when a live pipeline posts
5730         buffering messages.
5731         Also make the buffering string translatable.
5732
5733 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5734
5735         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
5736         (bin_handle_async_start), (gst_bin_handle_message_func):
5737         Improve debugging.
5738         When adding elements, insert messages into the bus of the newly added
5739         element and make sure the element is the source of the message. This
5740         allows the parent bin to intercept the message and do the
5741         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
5742         messages to the app (which is not allowed).
5743         Update some docs.
5744
5745         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5746         Fix testsuite so that is does not work around messages that should not
5747         have been posted in the first place.
5748
5749 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5750
5751         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
5752         (update_degree), (gst_bin_sort_iterator_next):
5753         Fix annoying bug in the sorted iterator where a sink that is not really
5754         a sink (when it has downstream links) screwed up the iterator.
5755
5756         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5757         Unit test to verify the fix.
5758
5759 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5760
5761         * gst/gstmessage.h:
5762         Add some more docs for the messages.
5763
5764         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5765         (gst_base_sink_query):
5766         Add some more debugging.
5767
5768         * tools/gst-launch.c: (event_loop):
5769         When interrupting, don't try to set pipeline to PAUSED twice.
5770
5771 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5772
5773         
5774         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
5775         (bin_handle_async_start), (gst_bin_handle_message_func):
5776         Move ASYNC_START message posting to where it belongs, similar to
5777         async_done. 
5778         Don't post ASYNC_START when we are in error. 
5779         Post ASYNC_START when we added an async element to a bin.
5780
5781 2007-08-14  Julien MOUTTE  <julien@moutte.net>
5782
5783         * gst/gstindex.c: (gst_index_add_association): Fix index entry
5784         generation from vargs. Fixes #466595.
5785
5786 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5787
5788         * gst/gstbin.c: (gst_bin_element_set_state):
5789         Always change the state of a NO_PREROLL element even if it has ASYNC
5790         elements inside (in case of a bin).
5791
5792         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
5793         Unit test for this case.
5794
5795 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
5796
5797         * libs/gst/check/gstbufferstraw.c:
5798         * libs/gst/check/gstcheck.h:
5799         * libs/gst/controller/gstcontroller.c:
5800         * libs/gst/controller/gstcontrolsource.h:
5801         * libs/gst/controller/gstlfocontrolsource.h:
5802         * plugins/elements/gstcapsfilter.h:
5803         * plugins/elements/gstfdsink.h:
5804         * plugins/elements/gstfdsrc.h:
5805           Add more missing docs.
5806
5807 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5808
5809         * gst/gststructure.c:
5810         Add Since tag to docs.
5811
5812 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5813
5814         * docs/gst/gstreamer-sections.txt:
5815         * gst/gststructure.c: (gst_structure_get_uint):
5816         * gst/gststructure.h:
5817         Add function to get uint from a structure.
5818         API: gst_structure_get_uint()
5819
5820 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5821
5822         * gst/gstcaps.c: (gst_caps_set_simple_valist),
5823         (gst_caps_intersect):
5824         Fix proper check for simple caps.
5825
5826 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
5827
5828         * docs/gst/Makefile.am:
5829         * docs/libs/Makefile.am:
5830           Remove cruft and do some cleanups.
5831
5832         * docs/gst/gstreamer-docs.sgml:
5833         * docs/libs/gstreamer-libs-docs.sgml:
5834           Prepare for comming gtkdoc features (rebase against online docs).
5835
5836 2007-08-10  Michael Smith <msmith@fluendo.com>
5837
5838         * docs/gst/gstreamer-sections.txt:
5839           Add gst_registry_add_path to docs.
5840
5841 2007-08-10  Michael Smith <msmith@fluendo.com>
5842
5843         * gst/gstregistry.h:
5844           Add gst_registry_add_path, which was missing from this header.
5845
5846 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5847
5848         * libs/gst/controller/gstlfocontrolsource.c:
5849           Printf format fix.
5850
5851 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
5852
5853         * libs/gst/base/gstbasesink.c:
5854           Don't send an async_start message during downwards state change if 
5855           target state is less than READY
5856
5857 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5858
5859         translated by: Gabor Kelemen <kelemeng@gnome.hu>
5860
5861         * po/LINGUAS:
5862         * po/hu.po:
5863           Added Hungarian translation.
5864
5865 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5866
5867         * po/fi.po:
5868         * po/it.po:
5869         * po/nl.po:
5870         * po/sv.po:
5871         * po/uk.po:
5872           Updated translations.
5873
5874 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5875
5876         * libs/gst/controller/Makefile.am:
5877         Dist gstlfocontrolsourceprivate.h
5878
5879 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5880
5881         * docs/libs/gstreamer-libs.types:
5882         Don't register the enum type gst_lfo_waveform_get_type() in the
5883         .types file - only GObject derived types belong.
5884
5885 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5886
5887         Patch by: <arenevier at fdn dot fr>
5888
5889         * gst/gstbuffer.h:
5890         Remove comma from last element in enum to avoid compile errors when
5891         using -pendantic. Fixes #464366.
5892
5893 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5894
5895         * docs/design/part-TODO.txt:
5896         Add some more TODO items
5897
5898         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
5899         Improve debugging.
5900
5901         * gst/gstcaps.c: (gst_caps_intersect):
5902         Optimize trivial intersection case between identical caps pointers.
5903
5904         * gst/gstelement.c: (gst_element_continue_state),
5905         (gst_element_set_state_func):
5906         * gst/gstpad.c:
5907         Fix spelling and grammar mistakes.
5908
5909 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
5910
5911         * po/POTFILES.in:
5912         * po/POTFILES.skip:
5913           Update POTFILES. Fixes #461599.
5914
5915 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5916
5917         * gst/gst.c:
5918         Fix confusing typo in debug output.
5919
5920 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5921
5922         reviewed by: Stefan Kost <ensonic@users.sf.net>
5923
5924         * libs/gst/controller/Makefile.am:
5925         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
5926         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
5927         (gst_lfo_control_source_new),
5928         (gst_lfo_control_source_set_waveform),
5929         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
5930         (gst_lfo_control_source_finalize),
5931         (gst_lfo_control_source_dispose),
5932         (gst_lfo_control_source_set_property),
5933         (gst_lfo_control_source_get_property),
5934         (gst_lfo_control_source_class_init):
5935         * libs/gst/controller/gstlfocontrolsource.h:
5936         * libs/gst/controller/gstlfocontrolsourceprivate.h:
5937         API: Add GstLFOControlSource, a control source that gives values
5938         for specific timestamps based on several periodic waveforms.
5939         Fixes #459717.
5940
5941         * tests/check/libs/controller.c: (GST_START_TEST),
5942         (gst_controller_suite):
5943         * docs/libs/gstreamer-libs-docs.sgml:
5944         * docs/libs/gstreamer-libs-sections.txt:
5945         * docs/libs/gstreamer-libs.types:
5946         Add documentation and unit tests for GstLFOControlSource.
5947
5948 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
5949
5950         * configure.ac:
5951         Back to CVS
5952
5953 === release 0.10.14 ===
5954
5955 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
5956
5957         * configure.ac:
5958           releasing 0.10.14, "Breathing Vacuum"
5959
5960 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
5961
5962         * gst/gstelement.c: (gst_element_class_set_details_simple):
5963         * gst/gstelement.h:
5964           Make strings passed to gst_element_class_set_details_simple()
5965           constant, as they should be (#462752).
5966
5967 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
5968
5969         * gst/gstbin.c: (gst_bin_change_state_func),
5970         (bin_handle_async_done), (gst_bin_handle_message_func):
5971         Don't forget about the fact that some element went ASYNC even after a
5972         resync. This makes us post the ASYNC_DONE message correctly.
5973         Fixes #462558.
5974
5975 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5976
5977         * gst/gstregistry.c: (gst_registry_add_feature):
5978         When replacing an existing feature in the registry, make sure to
5979         continue holding a reference until we've replaced the name string
5980         within our feature hash table. Make sure to use g_hash_table_replace
5981         instead of g_hash_table_insert to ensure the new name string is used
5982         as a key instead of the old one that we're about to free.
5983         Fixes: #462085
5984
5985 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5986
5987         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5988         (gst_plugin_feature_set_name):
5989         Revert patch from #459466 until after the release and we can work
5990         out exactly what the problem is (if any).
5991
5992 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5993
5994         * docs/gst/gstreamer-sections.txt:
5995         * gst/gsttaglist.c:
5996         * gst/gsttaglist.h:
5997           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
5998
5999 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
6000
6001         * docs/libs/Makefile.am:
6002         Include our build-prefix libs and includes before the generic ones to
6003         avoid linking against the installed libs when we want the build-tree
6004         ones.
6005
6006 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
6007
6008         Patch by: Steve Fink  <sphink gmail com>
6009
6010         * docs/pwg/building-testapp.xml:
6011           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
6012           if people try to build or install the example from the plugin
6013           template against a GStreamer from package using the configure
6014           defaults.
6015
6016 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
6017
6018         Patch by: Steve Fink  <sphink gmail com>
6019
6020         * tools/gst-inspect.1.in:
6021           Document --print-all and --print-plugin-auto-install-info command
6022           line options in man page.
6023
6024 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6025
6026         * docs/gst/gstreamer-sections.txt:
6027         Add docs for new api function.
6028
6029 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
6030
6031         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
6032         * gst/gstelementfactory.h:
6033         API: gst_element_factory_has_interface()
6034         Added method to check if an element factory implements a named
6035         interface.
6036
6037 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
6038
6039         * configure.ac:
6040         * docs/gst/gstreamer.types.in:
6041           Another conditional doc check.
6042
6043         * gst/gstmessage.c:
6044         * gst/gstparamspecs.h:
6045         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6046         * gst/gstvalue.c:
6047         * gst/gstxml.h:
6048           API-doc fixes.
6049
6050 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6051
6052         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
6053         (gst_registry_binary_load_feature),
6054         (gst_registry_binary_load_plugin),
6055         (gst_registry_binary_read_cache):
6056           Print error just once and with additional info.
6057
6058 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6059
6060         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
6061         (helper_find_suggest), (helper_find_get_length),
6062         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
6063         (gst_type_find_helper_for_buffer):
6064           Cleanup the typefindhelper code and add private doc comments.
6065
6066 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
6067
6068         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6069         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
6070         Fix capsfilter for cases where the caps set on capsfilter will provide
6071         additional information.
6072         Fixes #449197
6073
6074 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
6075
6076         * gst/gsttypefindfactory.c:
6077           Fix docs that recommened wrong function to use.
6078
6079 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6080
6081         * tools/gst-inspect.c: (print_plugin_features):
6082           Also give media-type for typefinders in element output.
6083
6084 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6085
6086         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
6087         (gst_registry_remove_features_for_plugin_unlocked),
6088         (gst_registry_add_feature), (gst_registry_remove_feature),
6089         (gst_registry_lookup_feature_locked):
6090         * gst/gstregistry.h:
6091           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
6092           Fixes #459501.
6093
6094 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
6095
6096         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6097         (gst_plugin_feature_set_name):
6098           Avoid double memory usage for pluginfeature names. Fixes #459466.
6099
6100 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * gst/gstpad.h:
6103           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
6104           driving the pipeline may need to explicitly check for NOT_LINKED as
6105           well, since IS_FATAL doesn't cover that.
6106
6107 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
6108
6109         * docs/pwg/advanced-types.xml:
6110           Fix typo and duplicate entry in video formats list.
6111
6112 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
6113
6114         * libs/gst/controller/gstinterpolation.c:
6115         Also round to the nearest int when using cubic interpolation.
6116
6117 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
6118
6119         * libs/gst/controller/gstinterpolation.c:
6120         When linearly interpolating integer types, round to the nearest int
6121         by adding 0.5. Don't do it for float/double types.
6122         Fixes the failing controller test on my machine, which is somehow
6123         rounding differently than on the buildbots.
6124
6125 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6126
6127         * tools/gst-plot-timeline.py:
6128           Better log parsing (categories can have -). Adjust text vs. lines, so
6129           that they span the same y-range.        
6130
6131 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6132
6133         * docs/random/ensonic/audiobaseclasses.txt:
6134         * docs/random/ensonic/dynlink.txt:
6135         * docs/random/ensonic/profiling.txt:
6136           Save my thoughts.
6137
6138         * docs/random/moving-plugins:
6139           Add note to use g_assert type macros.
6140
6141 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
6142
6143         * configure.ac:
6144         * libs/gst/check/Makefile.am:
6145           Add libm check as we use in for plugins.
6146
6147 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
6148
6149         * gst/gstbin.c: (gst_bin_continue_func):
6150         Check that the state_cookie hasn't changed since the continue_func
6151         was scheduled. Avoids problems where the state changes back to
6152         something it shouldn't be because it was changed in the meantime.
6153
6154 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
6155
6156         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
6157         (gst_registry_binary_save_string),
6158         (gst_registry_binary_save_pad_template),
6159         (gst_registry_binary_save_feature),
6160         (gst_registry_binary_save_plugin),
6161         (gst_registry_binary_load_feature),
6162         (gst_registry_binary_load_plugin),
6163         (gst_registry_binary_read_cache):
6164           Fix memory leak. Be less verbose in the log.
6165
6166 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6167
6168         * tests/check/elements/.cvsignore:
6169         Add file to cvsignore as commanded.
6170
6171 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6172
6173         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6174         (mq_dummypad_event), (run_output_order_test):
6175         Use a GStaticMutex to protect all cases where libcheck
6176         fail_if/fail_unless macros might be called from multiple threads
6177         simultaneously to avoid errors like:
6178           "check_pack.c:107: :-1081725400:Bad message type arg"
6179
6180 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6181
6182         * tests/check/pipelines/stress.c: (GST_START_TEST):
6183         Make sure we set the pipeline back to the NULL state before
6184         dropping our final reference.
6185
6186 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
6187
6188         * tests/check/elements/tee.c: (GST_START_TEST):
6189         Make the tee stress-test a little less stressful so it doesn't just
6190         time out on slow-machines, and remove a small race when it's starting 
6191         up by adding a get_state() call.
6192
6193 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
6194
6195         * gst/gst.c:
6196           Avoid reading registry twice on startup. Fixes #457322.
6197
6198 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6199
6200         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6201         * pkgconfig/gstreamer-check.pc.in:
6202         Substitute the CFLAGS for libcheck into our .pc file too so that
6203         dependent modules will pick it up properly if libcheck is installed
6204         into some other prefix.
6205
6206 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
6207
6208         * configure.ac:
6209         Revert the pkg-config check for libcheck, since it pulls in the
6210         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
6211         a proper solution, either from the check project, or something else.
6212
6213 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * configure.ac:
6216           Use pkg-config to locate check.
6217
6218 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
6219
6220         * gst/gsttaglist.c:
6221           Fix doc syntax.
6222
6223         * gst/gstutils.c:
6224         * gst/gstutils.h:
6225           Add deprecation guards.
6226
6227         * libs/gst/base/gstcollectpads.h:
6228           Don't document object (this is implicitly private).
6229
6230 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
6231
6232         * gst/gststructure.c: (gst_structure_parse_value):
6233           When deserialising foo=bar without a type cast, check if it's a
6234           boolean before falling back to a string type, otherwise things like
6235           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
6236           because the filtercaps end up having a signed=(string)true field,
6237           which causes problems later when intersection caps.
6238
6239         * tests/check/gst/gststructure.c: (GST_START_TEST):
6240           Add a unit test for this.
6241
6242 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
6243
6244         Reviewed by: Stefan Kost <ensonic@users.sf.net>
6245
6246         * libs/gst/controller/Makefile.am:
6247         * libs/gst/controller/gstcontroller.c:
6248         (gst_controlled_property_add_interpolation_control_source),
6249         (gst_controlled_property_new), (gst_controlled_property_free),
6250         (gst_controller_find_controlled_property),
6251         (gst_controller_new_valist), (gst_controller_new_list),
6252         (gst_controller_new), (gst_controller_remove_properties_valist),
6253         (gst_controller_remove_properties_list),
6254         (gst_controller_remove_properties),
6255         (gst_controller_set_property_disabled),
6256         (gst_controller_set_disabled), (gst_controller_set_control_source),
6257         (gst_controller_get_control_source), (gst_controller_get),
6258         (gst_controller_sync_values), (gst_controller_get_value_array),
6259         (_gst_controller_dispose), (gst_controller_get_type),
6260         (gst_controlled_property_set_interpolation_mode),
6261         (gst_controller_set), (gst_controller_set_from_list),
6262         (gst_controller_unset), (gst_controller_unset_all),
6263         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
6264         * libs/gst/controller/gstcontroller.h:
6265         * libs/gst/controller/gstcontrollerprivate.h:
6266         * libs/gst/controller/gstcontrolsource.c:
6267         (gst_control_source_class_init), (gst_control_source_init),
6268         (gst_control_source_get_value),
6269         (gst_control_source_get_value_array), (gst_control_source_bind):
6270         * libs/gst/controller/gstcontrolsource.h:
6271         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
6272         (gst_object_get_control_source):
6273         * libs/gst/controller/gstinterpolation.c:
6274         (gst_interpolation_control_source_find_control_point_node),
6275         (gst_interpolation_control_source_get_first_value),
6276         (_interpolate_none_get), (interpolate_none_get),
6277         (interpolate_none_get_boolean_value_array),
6278         (interpolate_none_get_enum_value_array),
6279         (interpolate_none_get_string_value_array),
6280         (_interpolate_trigger_get), (interpolate_trigger_get),
6281         (interpolate_trigger_get_boolean_value_array),
6282         (interpolate_trigger_get_enum_value_array),
6283         (interpolate_trigger_get_string_value_array):
6284         * libs/gst/controller/gstinterpolationcontrolsource.c:
6285         (gst_control_point_free), (gst_interpolation_control_source_reset),
6286         (gst_interpolation_control_source_new),
6287         (gst_interpolation_control_source_set_interpolation_mode),
6288         (gst_interpolation_control_source_bind),
6289         (gst_control_point_compare), (gst_control_point_find),
6290         (gst_interpolation_control_source_set_internal),
6291         (gst_interpolation_control_source_set),
6292         (gst_interpolation_control_source_set_from_list),
6293         (gst_interpolation_control_source_unset),
6294         (gst_interpolation_control_source_unset_all),
6295         (gst_interpolation_control_source_get_all),
6296         (gst_interpolation_control_source_get_count),
6297         (gst_interpolation_control_source_init),
6298         (gst_interpolation_control_source_finalize),
6299         (gst_interpolation_control_source_dispose),
6300         (gst_interpolation_control_source_class_init):
6301         * libs/gst/controller/gstinterpolationcontrolsource.h:
6302         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
6303         API: Refactor GstController into the core controller which can take
6304         a GstControlSource for providing actual values for timestamps.
6305         Implement a interpolation control source and use this for backward
6306         compatibility, deprecate a bunch of functions that are now handled
6307         by GstControlSource or GstInterpolationControlSource.
6308         Make it possible to disable the controller completely or only for
6309         specific properties. Fixes #450711.
6310         * docs/libs/gstreamer-libs-docs.sgml:
6311         * docs/libs/gstreamer-libs-sections.txt:
6312         * docs/libs/gstreamer-libs.types:
6313         Add new functions and classes to the docs.
6314         * tests/check/libs/controller.c: (GST_START_TEST),
6315         (gst_controller_suite):
6316         * tests/examples/controller/audio-example.c: (main):
6317         Port unit test and example to the new API and add some new
6318         unit tests.
6319
6320 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
6321
6322         Patch by: Mark Nauwelaerts <manauw at skynet be>
6323
6324         * plugins/elements/gstmultiqueue.c:
6325         (gst_multi_queue_get_internal_links), (apply_buffer),
6326         (single_queue_overrun_cb), (gst_single_queue_new):
6327         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
6328         the pipeline layout can be tracked correctly. Fixes #453732.
6329
6330 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
6331
6332         * docs/gst/Makefile.am:
6333         * docs/libs/Makefile.am:
6334         * docs/plugins/Makefile.am:
6335           Simplify --extra-dir as gtkdoc scans recursively.
6336
6337 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
6338
6339         * tools/gst-launch.c: (main):
6340         When we got an error, there is no point in waiting for preroll when
6341         shutting down.
6342
6343 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
6344
6345         * plugins/elements/gsttee.c: (gst_tee_base_init),
6346         (gst_tee_request_new_pad), (gst_tee_release_pad),
6347         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
6348         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
6349         (gst_tee_chain):
6350         Be a lot smarter when deciding what srcpad to use for proxying
6351         the buffer_alloc. Also handle pad added/removed when doing so.
6352         Fixes #357959.
6353         Keep track of what pads we already pushed on in case we have pads
6354         added/removed while pushing. Fixes #374639 
6355
6356         * tests/check/Makefile.am:
6357         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
6358         (tee_suite):
6359         Added unit test for pad resync.
6360
6361 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6362
6363         * po/nl.po:
6364         * po/sv.po:
6365           Updated translations.
6366
6367 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6368
6369         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
6370
6371         * po/LINGUAS:
6372         * po/fi.po:
6373           Added new Finnish translation.
6374
6375 2007-06-28  Wim Taymans  <wim@fluendo.com>
6376
6377         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6378         (single_queue_overrun_cb):
6379         When figuring out when a queue is filled, use our internal time estimate
6380         based on segments, just like check_full does.
6381
6382 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6383
6384         * gst/gstminiobject.c: (gst_mini_object_get_type):
6385           Remove 3 do-nothing methods.
6386
6387 2007-06-27  Wim Taymans  <wim@fluendo.com>
6388
6389         Patch by: Tim Angus <tim at ngus dot net>
6390
6391         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6392         (gst_capsfilter_set_property):
6393         Take a reference instead of a copy when setting "caps".
6394         Fix documentation to clarify this behaviour. Fixes #449414.
6395
6396 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6397
6398         * gst/gstindexfactory.c: (gst_index_factory_get_type):
6399         * gst/gstplugin.c: (gst_plugin_init):
6400         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
6401         * gst/gstquery.c: (gst_query_get_type):
6402         * gst/gstregistry.c: (gst_registry_init):
6403         * gst/gsturi.c: (gst_uri_handler_base_init):
6404           Remove empty instance_init() functions to save relocs and lessen the
6405           noise. Remove some of the function prototypes that are doubled by
6406           G_DEFINE_TYPE.
6407           
6408 2007-06-27  Wim Taymans  <wim@fluendo.com>
6409
6410         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
6411
6412         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
6413         Add peer and direction in the XML serialisation of ghostpads.
6414         Fixes #449226.
6415
6416 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6417
6418         * configure.ac:
6419           Preserve useful information, thanks Tim.
6420
6421 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
6422
6423         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6424         (gst_single_queue_flush), (apply_segment), (apply_buffer),
6425         (gst_single_queue_push_one), (gst_multi_queue_loop),
6426         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6427         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
6428         (compute_high_id), (gst_single_queue_new):
6429         * plugins/elements/gstmultiqueue.h:
6430         Take the multiqueue lock when updating the fill level so we don't get
6431         confused. 
6432
6433         After applying a buffer or event on the src pad segment, make sure to
6434         call gst_data_queue_limits_changed() to get the data queue to unblock
6435         and check the filled state again.
6436         
6437         Rework the not-linked pad handling so the logic is that not-linked 
6438         pads can push as fast as they like, but only so they never get 
6439         ahead of any linked pads.
6440
6441         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
6442         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
6443         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
6444
6445         Add a test to check that not-linked pads always stay behind
6446         linked pads.
6447
6448         Fixes: #430682
6449
6450 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
6451
6452         * docs/random/release:
6453           Some updates to the release procedure.
6454
6455 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6456
6457         * gst/gstelementfactory.c: (__gst_element_details_clear):
6458           Microoptimization that saves stunning 80 bytes.
6459
6460 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
6461
6462         * docs/plugins/gstreamer-plugins.args:
6463         * docs/plugins/inspect/plugin-coreelements.xml:
6464         * docs/plugins/inspect/plugin-coreindexers.xml:
6465           Update docs with caps info.
6466
6467 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * po/it.po:
6470           Updated Italian translation.
6471
6472 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6473
6474         * ChangeLog:
6475         * po/vi.po:
6476           Update Vietnamese translations.
6477
6478 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6479
6480         * libs/gst/base/gstbasesink.c:
6481           Remove unused signal enum.
6482
6483 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6484
6485         * docs/gst/gstreamer-sections.txt:
6486         * gst/gstelement.c:
6487         * gst/gstutils.c: (gst_type_register_static_full):
6488         Beef up and include the docs for gst_type_register_static_full and
6489         gst_element_class_set_details_simple and add the API keyword
6490         in the ChangeLog.
6491
6492 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6493
6494         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6495         (update_time_level), (gst_single_queue_push_one),
6496         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
6497         (single_queue_overrun_cb), (single_queue_underrun_cb),
6498         (single_queue_check_full):
6499         Fix setting max-* properties after adding queues.
6500         Use IS_FILLED for checking visible items.
6501         Signal overrun if multiple queues overrun.
6502         Add extra debug output.
6503         Patch by: Wim Taymans <wim@fluendo.com>
6504
6505 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
6506
6507         * gst/gstelement.c: (gst_element_class_set_details_simple):
6508         * gst/gstelement.h:
6509         * gst/gstutils.c: (gst_type_register_static_full):
6510         * gst/gstutils.h:
6511         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
6512         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
6513         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
6514         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
6515         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
6516         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
6517         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
6518         * plugins/elements/gstidentity.c: (gst_identity_base_init):
6519         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
6520         * plugins/elements/gstqueue.c: (gst_queue_base_init),
6521         (apply_buffer), (gst_queue_chain):
6522         * plugins/elements/gsttee.c: (gst_tee_base_init):
6523         * plugins/elements/gsttypefindelement.c:
6524         (gst_type_find_element_base_init),
6525         (gst_type_find_element_class_init):
6526           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
6527           API: add gst_type_register_static_full
6528           API: add gst_element_class_set_details_simple
6529
6530 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6531
6532         * docs/pwg/advanced-types.xml:
6533           Fix typo in iana.org URI.
6534
6535 2007-06-19  Andy Wingo  <wingo@pobox.com>
6536
6537         * tests/check/pipelines/simple-launch-lines.c
6538         (test_state_change_returns): Enable pull-mode tests now that
6539         basesink has been fixed.
6540
6541         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
6542         Changed from gst_base_sink_is_prerolled, reversing the sense of
6543         the return value. Returns FALSE also if the sink is in pull mode,
6544         in which case it needs no preroll.
6545         (gst_base_sink_query, gst_base_sink_change_state): Update for
6546         needs_preroll change.
6547         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
6548         chaining up, in which we return SUCCESS directly if we activated
6549         in pull mode instead of ASYNC. Involves countering an async_start
6550         message sent before chaining up; not sure if this is correct, in
6551         an ideal world we only send async-start when activating in push
6552         mode.
6553
6554         * tests/check/pipelines/simple-launch-lines.c
6555         (test_state_change_returns): New test, partially disabled until
6556         basesink is fixed.
6557
6558 2007-06-19  Wim Taymans  <wim@fluendo.com>
6559
6560         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6561         (gst_multi_queue_sink_event):
6562         Fix event leak.
6563
6564 2007-06-19  Wim Taymans  <wim@fluendo.com>
6565
6566         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6567         (gst_bin_change_state_func), (bin_push_state_continue),
6568         (bin_handle_async_start), (bin_handle_async_done),
6569         (gst_bin_handle_message_func):
6570         Move the common code for posting state-change messages into
6571         one function.
6572         Broadcast the state signal after we posted the messages.
6573         Mark the bin as busy when it's doing a state-change.
6574         Make sure async-start/done messages don't interfere with the bin's
6575         state when it's busy.
6576         After the state change, let the bin check which elements completed the
6577         state change while it was busy so that it can update its state.
6578
6579 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
6580
6581         * docs/random/release:
6582         Add a note about updating the doap file to the release checklist
6583
6584 2007-06-18  Wim Taymans  <wim@fluendo.com>
6585
6586         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6587         (gst_single_queue_push_one), (gst_multi_queue_chain),
6588         (gst_multi_queue_sink_event):
6589         Make sure we don't reference the buffer/event after we have given away
6590         ownership in the queue.
6591
6592 2007-06-18  Wim Taymans  <wim@fluendo.com>
6593
6594         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6595         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
6596         Update queue state _after_ adding the item in the queue because else we
6597         could end up being full without the element added yet.
6598
6599 2007-06-18  Wim Taymans  <wim@fluendo.com>
6600
6601         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6602         (gst_bin_remove_func), (gst_bin_get_state_func),
6603         (gst_bin_element_set_state), (gst_bin_continue_func),
6604         (bin_push_state_continue), (bin_handle_async_start),
6605         (bin_handle_async_done), (gst_bin_handle_message_func):
6606         * gst/gstbin.h:
6607         Immediatly commit the toplevel bin state when receiving an async-done
6608         message. This enables us to avoid spawning a thread to commit the state
6609         in some common cases and it also avoids some races.
6610         Avoid spawning a state thread when adding/removing async elements to a
6611         toplevel bin. Instead we immediatly update the bin state.
6612         Get rid of iterating all the children when getting the state in the bin
6613         because it is now always up-to-date.
6614         Fix bug where locked elements would always return _SUCCESS even it they
6615         returned NO_PREROLL before being locked.
6616         Fix the order of the state_change, async-start/done messages that was
6617         sometimes incorrect.
6618         Mark the state_dirty field as deprecated, we don't need it anymore as we
6619         are always up-to-date.
6620
6621         * gst/gstelement.c: (gst_element_get_state_func),
6622         (gst_element_continue_state):
6623         Small debug inprovements.
6624         Return the previous element state return when nothing is pending instead
6625         of blindly returning SUCCESS.
6626
6627         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
6628         (gst_sinks_suite):
6629         Add a whole bunch of new testcases.
6630
6631 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6632
6633         * po/uk.po:
6634         * po/vi.po:
6635           Update translations.
6636
6637 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
6638
6639         * gst/gstpad.c:
6640         Fix typo in the docs.
6641
6642 2007-06-15  Wim Taymans  <wim@fluendo.com>
6643
6644         * docs/libs/gstreamer-libs-sections.txt:
6645         Add docs for new methods.
6646
6647 2007-06-15  Wim Taymans  <wim@fluendo.com>
6648
6649         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
6650         (gst_multi_queue_item_new):
6651         Don't use GSlice because we don't depend on >= 2.10 yet.
6652
6653 2007-06-15  Wim Taymans  <wim@fluendo.com>
6654
6655         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6656         (update_time_level), (apply_segment), (apply_buffer),
6657         (gst_single_queue_push_one), (gst_multi_queue_item_new),
6658         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
6659         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
6660         (single_queue_underrun_cb), (single_queue_check_full):
6661         Remove debug printf.
6662
6663 2007-06-15  Wim Taymans  <wim@fluendo.com>
6664
6665         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
6666         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
6667         (gst_data_queue_set_flushing), (gst_data_queue_push),
6668         (gst_data_queue_pop), (gst_data_queue_drop_head),
6669         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
6670         * libs/gst/base/gstdataqueue.h:
6671         Various cleanups.
6672         Added methods to get the current levels and to inform the queue that the
6673         'full' limits changed.
6674
6675         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6676         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6677         (gst_single_queue_flush), (update_time_level), (apply_segment),
6678         (apply_buffer), (gst_single_queue_push_one),
6679         (gst_multi_queue_item_steal_object),
6680         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6681         (gst_multi_queue_loop), (gst_multi_queue_chain),
6682         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6683         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
6684         (gst_multi_queue_src_query), (single_queue_overrun_cb),
6685         (single_queue_underrun_cb), (single_queue_check_full),
6686         (gst_single_queue_new):
6687         Keep track of time in the queue by measuring the difference between
6688         running_time on input and output. This gives more accurate results and
6689         can compensate for segments correctly.
6690         Make a queue by default only 5 buffers deep. We will now increase the
6691         buffer size depending on the filledness of the other queues.
6692         Factor out commong flush code.
6693         Make sure we don't add additional refcounts to buffers when we can avoid
6694         it.
6695         Propagate GstFlowReturn differently.
6696         Use GSlice for intermediate GstMultiQueueItems.
6697         Keep track of EOS.
6698         Resize queues on over and underruns based on filled level of other
6699         queues.
6700         When checking if the queue is filled, prefer to measure in time if we
6701         can and fall back to bytes when no time is known.
6702
6703         * plugins/elements/gstqueue.c:
6704         Fix return value.
6705
6706 2007-06-15  Wim Taymans  <wim@fluendo.com>
6707
6708         * libs/gst/base/gstbasetransform.c:
6709         (gst_base_transform_sink_event):
6710         Work around the brokenness of the event vmethod in basetransform. Prefer
6711         to return TRUE when the subclass returned FALSE (meaning don't forward
6712         the event). 
6713
6714         * libs/gst/base/gstbasetransform.h:
6715         Clarify the docs.
6716
6717 2007-06-15  Wim Taymans  <wim@fluendo.com>
6718
6719         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
6720         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6721         (gst_base_src_default_query), (gst_base_src_get_range),
6722         (gst_base_src_start):
6723         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
6724         Improve debugging.
6725
6726 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6727
6728         * docs/pwg/advanced-types.xml:
6729           Added more formats to caps table.
6730
6731 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6732
6733         * tools/gst-launch.c: (main):
6734           Remove crufy code. GOption does not need this workaround.
6735
6736 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6737
6738         * libs/gst/controller/gstcontroller.c:
6739         (gst_controlled_property_set_interpolation_mode):
6740           Fix wrong getter for enums in controller.
6741
6742 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6743
6744         * libs/gst/check/gstcheck.c: (gst_check_init):
6745           Intercept criticals and warnings in the Gst-Phonon log domain, so
6746           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
6747           well.
6748         
6749 2007-06-14  Edward Hervey  <edward@fluendo.com>
6750
6751         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
6752         Since this file doesn't include "gst.h" it will not go through the
6753         macros that disable GST_LOG if debugging was disabled.
6754
6755 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6756
6757         * libs/gst/check/Makefile.am:
6758         * libs/gst/check/gstcheck.h:
6759         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6760         * pkgconfig/gstreamer-check.pc.in:
6761           Ugly 'fix' for the controller unit test on the p5 bot: in
6762           fail_unless_equals_float() check whether the values are 'almost
6763           equal' by allowing a small absolute error, which should be good
6764           enough for our use cases (normal numbers and values close to 0).
6765           Proper fixage left to floating point arithmetic aficionados.
6766
6767 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6768
6769         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
6770         (gst_base_sink_render_object), (gst_base_sink_get_position):
6771           Add two breaks thats where missing.
6772
6773 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6774
6775         * docs/libs/gstreamer-libs-sections.txt:
6776         * libs/gst/check/gstcheck.h:
6777           API: add fail_unless_equals_float() and assert_equals_float().
6778           Add documentation for some of the macros.
6779
6780         * tests/check/libs/controller.c: (GST_START_TEST):
6781           Use newly-added asserts.
6782
6783 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6784
6785         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
6786           Show the caps change in the log to help spotting the case of not
6787           exactly matching caps.
6788
6789 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6790
6791         * docs/pwg/building-boiler.xml:
6792           Fix typos, spotted by Thijs Vermeir (#447190).
6793
6794 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6795
6796         * docs/plugins/tmpl/.cvsignore:
6797         Ignore file to keep the buildbots happy
6798
6799 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6800
6801         * docs/plugins/Makefile.am:
6802         * docs/plugins/gstreamer-plugins-docs.sgml:
6803         * docs/plugins/gstreamer-plugins-sections.txt:
6804         Pull fdsink into the docs too.
6805
6806 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
6807
6808         * libs/gst/controller/gstinterpolation.c:
6809         Actually use the new functions with min/max checks for the trigger and
6810         none interpolation modes for get() and get_value_array() instead of
6811         just the latter.
6812
6813 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
6814
6815         * libs/gst/controller/gstcontroller.c:
6816         (gst_controlled_property_free):
6817         Unset the minimum and maximum GValues when freeing the corresponding
6818         GstControllerProperty struct.
6819
6820 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
6821
6822         * libs/gst/controller/gstcontroller.c:
6823         (gst_controlled_property_new):
6824         * libs/gst/controller/gstcontrollerprivate.h:
6825         * libs/gst/controller/gstinterpolation.c:
6826         (gst_controlled_property_find_control_point_node),
6827         (interpolate_none_get), (interpolate_none_get_enum_value_array),
6828         (interpolate_none_get_string_value_array),
6829         (interpolate_trigger_get),
6830         (interpolate_trigger_get_enum_value_array),
6831         (interpolate_trigger_get_string_value_array):
6832         Protect against values larger or smaller than the minimum or maximum
6833         allowed value for the property when using values that can be compared.
6834
6835         Optimize trigger interpolator a bit by taking the last requested value
6836         into account instead of always looping through the complete list.
6837
6838         Fix coding style a bit, everywhere else we use "return foo" instead
6839         of "return (foo)".
6840         
6841         * tests/check/libs/controller.c: (GST_START_TEST),
6842         (gst_controller_suite):
6843         Add unit test for the protection against too large or too small
6844         values.
6845
6846 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
6847
6848         * docs/random/slomo/controller.txt:
6849         Add some thoughts about the future of the controller.
6850
6851 2007-06-08  Wim Taymans  <wim@fluendo.com>
6852
6853         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6854         Don't overflow in retimestamping code.
6855
6856 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
6857
6858         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
6859         Use gst_util_guint64_to_gdouble for conversions.
6860         * win32/common/libgstreamer.def:
6861         Add new exported functions.
6862
6863 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
6864
6865         * gst/gstutils.c:
6866           Small docs addition.
6867
6868 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6869
6870         * README:
6871           Remove that test line again.
6872
6873 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6874
6875         * README:
6876           Test commit mail sending.
6877
6878 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6879
6880         * configure.ac:
6881           Fix typo and test commit mail sending.
6882
6883 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6884
6885         * tests/examples/controller/audio-example.c:
6886           Improve comment and test commit mail sending.
6887
6888 2007-06-07  Wim Taymans  <wim@fluendo.com>
6889
6890         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
6891         (gst_bin_remove_func), (gst_bin_element_set_state),
6892         (bin_handle_async_start), (bin_handle_async_done),
6893         (gst_bin_handle_message_func):
6894         Add helper function to find messages.
6895         Generate the async-done messages together with the state change
6896         messages.
6897         Small cleanups in handling toplevel bins.
6898
6899 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6900
6901         * libs/gst/base/gstdataqueue.c:
6902         * libs/gst/base/gstdataqueue.h:
6903         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6904         (gst_multi_queue_item_new), (gst_multi_queue_chain),
6905         (gst_multi_queue_sink_event):
6906         * tests/check/elements/multiqueue.c: (multiqueue_suite):
6907           Fix multiqueue leaking buffers and events when downstream or the
6908           queue are flushing. Make refcounting assumptions explicit and
6909           document them (shouldn't break existing code that uses it other than
6910           maybe leak miniobjects, but that already happens anyway). Add unit
6911           test for the most common flushing case. Fixes #423700.
6912           
6913 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6914
6915         * libs/gst/controller/gstcontroller.c:
6916         Clarify docs: The get_all, get_value_array(s) functions
6917         don't modify the GObject properties.
6918
6919 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6920
6921         * libs/gst/controller/gstcontroller.c:
6922         (gst_controlled_property_set_interpolation_mode),
6923         (gst_controlled_property_prepend_default),
6924         (gst_controlled_property_new), (gst_controller_set_unlocked),
6925         (gst_controller_set), (gst_controller_set_from_list),
6926         (gst_controller_unset), (gst_controller_unset_all):
6927         * libs/gst/controller/gstcontrollerprivate.h:
6928         * libs/gst/controller/gstinterpolation.c:
6929         Factor out the 'set' logic into gst_controller_set_unlocked for the
6930         gst_controller_set and gst_controller_set_from_list functions.
6931
6932         To make life of the interpolators easier always add a control point
6933         at timestamp zero with the default value.
6934
6935         In the linear interpolator make things more obvious by better variable
6936         naming (slope).
6937
6938         Implement cubic interpolation mode (by using a natural cubic spline)
6939         and map the quadratic interpolation mode to this too (as quadratic
6940         doesn't make much sense, see discussion on the list).
6941
6942         * tests/check/libs/controller.c: (GST_START_TEST),
6943         (gst_controller_suite):
6944         Add unit test for the cubic interpolation mode and check everywhere
6945         if the interpolation mode could be set as expected.
6946
6947 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6948
6949         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
6950           Don't use GLib-2.10 functions, we still depend on
6951           GLib-how-old-is-it-again-2.8.
6952
6953 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6954
6955         * docs/gst/gstreamer-sections.txt:
6956         * gst/Makefile.am:
6957         * gst/gst.c:
6958         * gst/gst.h:
6959         * gst/gstparamspecs.c: (_gst_param_fraction_init),
6960         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
6961         (_gst_param_fraction_values_cmp),
6962         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
6963         * gst/gstparamspecs.h:
6964         * gst/gstvalue.c:
6965         * tests/check/Makefile.am:
6966         * tests/check/gst/.cvsignore:
6967         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
6968         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
6969         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
6970         (GST_START_TEST), (gst_param_spec_suite):
6971           API: add GstParamSpecFraction, so elements can have fraction
6972           properties without lots of painful string parsing (#444648).
6973
6974 2007-06-05  Wim Taymans  <wim@fluendo.com>
6975
6976         * gst/gstobject.c: (gst_object_class_init):
6977         Fix signal signature.
6978
6979         * gst/gstsegment.c:
6980         Add small clarification in the api docs.
6981
6982         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
6983         States are protected with object lock.
6984
6985 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6986
6987         * AUTHORS:
6988         I should probably be listed as an author by now.
6989
6990         * docs/random/release:
6991         Update the release doc
6992
6993 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
6994
6995         * gst/gstvalue.c:
6996           Make docs for gst_value_compare() mention return enums that
6997           actually exist.
6998
6999 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
7000
7001         * configure.ac:
7002           Back to CVS
7003
7004 === release 0.10.13 ===
7005
7006 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
7007
7008         * configure.ac:
7009           releasing 0.10.13, "With or without you"
7010
7011 2007-05-25  Wim Taymans  <wim@fluendo.com>
7012
7013         * gst/gstbin.c: (bin_handle_async_done):
7014         Make sure that the child bin stops after completing the async state
7015         change so that the parent can continue the state change to PLAYING.
7016         Fixes #441159.
7017
7018 2007-05-25  Wim Taymans  <wim@fluendo.com>
7019
7020         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
7021         (unref_data), (gst_collect_pads_remove_pad),
7022         (gst_collect_pads_check_pads):
7023         Use additional refcounting to avoid crashes when dynamically adding and
7024         removing pads. Fixes #420206.
7025
7026 2007-05-24  Wim Taymans  <wim@fluendo.com>
7027
7028         * tools/gst-launch.c: (event_loop):
7029         When buffering goes from a two digit to a single digit number, make sure
7030         to remove the old second digit by writing a blank over it.
7031
7032 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7033
7034         * libs/gst/base/gstdataqueue.c:
7035           Eliminate tabs and trailing comma in enum list; fix some typos.
7036
7037 2007-05-24  Wim Taymans  <wim@fluendo.com>
7038
7039         * tests/check/gst/gstbin.c: (GST_START_TEST):
7040         Allow refcount of 3 and 4 because some state thread might still be busy
7041         with it.
7042
7043 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
7044
7045         * plugins/elements/Makefile.am:
7046         * plugins/elements/gstmultiqueue.h:
7047         * plugins/elements/gstqueue.h:
7048           These are not installed headers, no need for padding.
7049
7050 2007-05-24  Wim Taymans  <wim@fluendo.com>
7051
7052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7053         (gst_bin_continue_func):
7054         Enable latency for next release.
7055         Restore STATE_LOCK around recalc_state that was left out during the
7056         rewrite and could result in racy behaviour when _get_state and
7057         recalc_state are run concurrently. See #440463.
7058
7059 2007-05-23  Wim Taymans  <wim@fluendo.com>
7060
7061         * tests/check/gst/gstsystemclock.c: (store_callback),
7062         (GST_START_TEST):
7063         Improve test_async_order to also work when both timers are already
7064         expired when we get scheduled to check it.
7065
7066 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7067
7068         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
7069         (gst_bin_set_property), (gst_bin_get_property),
7070         (gst_bin_remove_func), (gst_bin_handle_message_func):
7071         * gst/gstbin.h:
7072           'private' is a c++ keyword, let's not use that in header files,
7073           otherwise c++ compilers will throw a tantrum.
7074
7075 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7076
7077         * plugins/elements/gstelements.c:
7078         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
7079         (gst_file_sink_get_current_offset):
7080         * plugins/indexers/gstindexers.c: (plugin_init):
7081           Use #ifdef for HAVE_XYZ for consistency.
7082
7083         * tests/check/Makefile.am:
7084         * tests/check/elements/.cvsignore:
7085         * tests/check/elements/filesink.c: (setup_filesink),
7086         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
7087           Add some unit tests for filesink.
7088
7089 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
7090
7091         Patch by: Mark Nauwelaerts <manauw at skynet be>
7092
7093         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
7094         (gst_file_sink_query), (gst_file_sink_do_seek),
7095         (gst_file_sink_get_current_offset), (gst_file_sink_render):
7096         * plugins/elements/gstfilesink.h:
7097           Fix position reporting; rename data_written member to current_pos to
7098           reflect its real meaning (fixes #412648).
7099
7100 2007-05-22  Edward Hervey  <edward@fluendo.com>
7101
7102         * docs/gst/gstreamer-sections.txt:
7103         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7104         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
7105         (gst_bin_remove_func), (gst_bin_handle_message_func):
7106         * gst/gstbin.h:
7107         Add a property for bins that handle the state change of their childs.
7108         Fixes #435880
7109
7110 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
7111
7112         * libs/gst/controller/gstinterpolation.c:
7113         Use an array of the correct type when using _get_value_array with
7114         linear interpolation.
7115
7116 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
7117
7118         * gst/gstelement.c (gst_element_requires_clock,
7119           gst_element_provides_clock, gst_element_request_pad,
7120           gst_element_class_set_details, gst_element_class_set_details_simple,
7121           gst_element_default_send_event, gst_element_abort_state,
7122           gst_element_continue_state, gst_element_set_state,
7123           gst_element_set_state_func, iterator_activate_fold_with_resync):
7124         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
7125           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
7126           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
7127           gst_pad_get_range, gst_pad_pull_range):
7128         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
7129           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
7130           GstPadActivateModeFunction, GstPadChainFunction,
7131           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
7132           GstPadFixateCapsFunction, GstPadTemplate):
7133         * gst/gstpipeline.c (gst_pipeline_change_state,
7134           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
7135           gst_pipeline_set_clock, gst_pipeline_auto_clock,
7136           gst_pipeline_get_delay):
7137           Whitespace and docs fixes.
7138
7139 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7140
7141         * libs/gst/controller/gstinterpolation.c:
7142         (interpolate_trigger_get_enum_value_array),
7143         (interpolate_trigger_get_string_value_array):
7144         Add support for retrieving value arrays when using the trigger
7145         interpolation mode. 
7146
7147 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7148
7149         * libs/gst/controller/gstcontroller.c:
7150         (gst_controller_get_value_array):
7151         * libs/gst/controller/gstcontroller.h:
7152         Clarify the docs of gst_controller_get_value_array(): The array where
7153         the values should be written to must be allocated as there seems to be
7154         no way to get the size of a random GType. This doesn't change any
7155         behaviour. Also fix some typos all over the place and remove an unused,
7156         commented function that is not necessary as g_object_set() could be
7157         used instead.
7158         * tests/check/libs/controller.c: (GST_START_TEST),
7159         (gst_controller_suite):
7160         Add unit test for gst_controller_get_value_array().
7161
7162 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
7163
7164         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
7165
7166         Disable part of the gst_buffer_try_new_and_alloc test, because
7167         it can happily succeed on 64-bit systems where there's more address
7168         space available.
7169
7170 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
7171
7172         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
7173         Add unit test for the improved caps checking from bug #421543.
7174
7175 2007-05-21  Wim Taymans  <wim@fluendo.com>
7176
7177         * docs/design/part-synchronisation.txt:
7178         Small addition.
7179
7180         * gst/gstbin.c: (gst_bin_query):
7181         * plugins/elements/gstqueue.c: (apply_segment):
7182         Improve debugging.
7183
7184         * gst/gstmessage.h:
7185         Improve docs.
7186
7187 2007-05-21  Wim Taymans  <wim@fluendo.com>
7188
7189         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7190         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
7191         (gst_pad_configure_src):
7192         Added simple version of improved caps checking. It was previously
7193         assumed that a setcaps function would check the validity of the caps but
7194         people prefer us to check caps against the template automatically. 
7195         Fixes #421543.
7196
7197 2007-05-21  Wim Taymans  <wim@fluendo.com>
7198
7199         * libs/gst/base/gstbasetransform.h:
7200         Fix macro for locking/unlocking the transform lock.
7201
7202 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
7203
7204         * docs/plugins/tmpl/.cvsignore:
7205           Ignore more.
7206
7207 2007-05-18  Edward Hervey  <edward@fluendo.com>
7208
7209         * plugins/elements/gstqueue.c: (gst_queue_loop):
7210         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
7211         for the subtle art of warning a potentially blocking thread that it
7212         should check the source pad return value, and relay the information
7213         upstream.
7214
7215 2007-05-18  Edward Hervey  <edward@fluendo.com>
7216
7217         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
7218         Release the queue lock !
7219
7220 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7221
7222         * docs/libs/gstreamer-libs-sections.txt:
7223         Add the two new controller functions to the appropiate places.
7224
7225 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7226
7227         reviewed by: Stefan Kost <ensonic@users.sf.net>
7228
7229         * libs/gst/controller/gstcontroller.c:
7230         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
7231         (_gst_controller_get_property), (_gst_controller_set_property),
7232         (_gst_controller_init), (_gst_controller_class_init):
7233         * libs/gst/controller/gstcontroller.h:
7234         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
7235         (gst_object_get_control_rate), (gst_object_set_control_rate):
7236         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
7237         Add API that provides sync suggestion timestamps for elements that
7238         call gst_object_sync_values() from which those elements can subdivide
7239         their processing loop to get the best results for the controlled
7240         properties. For now it just suggests last_sync + control_rate as
7241         new timestamp but this will be improved in the future.
7242
7243         While doing that change the control-rate property to a GstClockTime
7244         from guint and change it's meaning from samples to nanoseconds as
7245         the GstController doesn't know anything about sampling rate. Strictly
7246         speaking this breaks ABI but as the control-rate property didn't do
7247         anything in the past and as such couldn't be used this should be no
7248         problem.        
7249
7250 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7251
7252         reviewed by: Stefan Kost <ensonic@users.sf.net>
7253
7254         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7255         (gst_controller_unset_all):
7256         * libs/gst/controller/gstcontrollerprivate.h:
7257         * libs/gst/controller/gstinterpolation.c:
7258         (gst_controlled_property_find_control_point_node):
7259         Save last synced value from the list to continue searching from there
7260         in future syncs. This speeds everything up a bit.
7261         
7262 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
7263
7264         reviewed by: Stefan Kost <ensonic@users.sf.net>
7265
7266         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
7267         (gst_control_point_find), (gst_controlled_property_new),
7268         (gst_control_point_free), (gst_controlled_property_free),
7269         (gst_controller_set), (gst_controller_set_from_list),
7270         (gst_controller_unset), (gst_controller_unset_all),
7271         (gst_controller_sync_values):
7272         * libs/gst/controller/gstcontroller.h:
7273         * libs/gst/controller/gstcontrollerprivate.h:
7274         * libs/gst/controller/gstinterpolation.c:
7275         (gst_controlled_property_find_control_point_node),
7276         (interpolate_none_get), (interpolate_trigger_get):
7277         Add a new private GstControlPoint struct which "inherits" from
7278         GstTimedValue to allow different interpolators to store internal
7279         values next to each control point. From the outside everything is
7280         still a GstControlPoint so we don't loose binary compatibility.
7281         Also fixup all the GValue handling to not leak GValues or list nodes.
7282         * tests/check/libs/controller.c: (GST_START_TEST):
7283         Free the list nodes and GValues in the controller_misc test.
7284
7285 2007-05-17  Edward Hervey  <edward@fluendo.com>
7286
7287         * gst/gstsegment.c:
7288         Small doc fix.
7289
7290 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
7291
7292         * gst/gstplugin.c: (gst_plugin_load_file):
7293           If we fail to load a plugin because of unresolved symbols or missing
7294           libraries and spew a warning to stderr, we may just as well mention
7295           which plugin it was that failed to load.
7296
7297 2007-05-13  David Schleef  <ds@schleef.org>
7298
7299         * docs/Makefile.am: the gtk-doc makefile snippet correctly
7300           handles the case when ENABLE_GTK_DOC is false, and installs
7301           the prebuilt documentation.  So gtk-doc subdirs are 
7302           unconditionally enabled.  Fixes: #349099.
7303
7304 2007-05-13  David Schleef  <ds@schleef.org>
7305
7306         * gst/gstutils.h: Reword some documentation.
7307
7308 2007-05-12  David Schleef  <ds@schleef.org>
7309
7310         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
7311           do anything with the passed "module" parameter, so remove it.
7312           Allows removal of additional vestigal code.
7313
7314 2007-05-12  David Schleef  <ds@schleef.org>
7315
7316         * gst/gstplugin.c:
7317           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
7318           Switch to using g_stat() because it's more portable.
7319
7320 2007-05-12  David Schleef  <ds@schleef.org>
7321
7322         * gst/gst.c:
7323           Add GST_DISABLE_OPTION_PARSING, in order to disable option
7324           parsing for embedded systems.
7325         * gst/gstelementfactory.c:
7326           Allow gst_element_register() to be called with plugin==NULL.
7327           Did nobody notice that static elements were broken?
7328
7329 2007-05-12  Wim Taymans  <wim@fluendo.com>
7330
7331         * tools/gst-launch.c: (event_loop):
7332         Give more interesting info when buffering starts and stops.
7333         Fix case where buffering starts but we fail to update the buffering flag
7334         because the target state is not PLAYING.
7335
7336 2007-05-12  Wim Taymans  <wim@fluendo.com>
7337
7338         * plugins/elements/gstqueue.c: (gst_queue_init),
7339         (gst_queue_finalize), (update_time_level), (apply_segment),
7340         (apply_buffer), (gst_queue_locked_flush),
7341         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
7342         (gst_queue_handle_sink_event), (gst_queue_chain),
7343         (gst_queue_push_one), (gst_queue_loop):
7344         * plugins/elements/gstqueue.h:
7345         Refactor an cleanup queue a bit.
7346         Do better time level calculations that also work when the srcpad is not
7347         yet running.
7348         Remove some unneeded debug lines.
7349
7350         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
7351         Added testcase for time level measurement.
7352         Try to make some stuff more racefree.
7353
7354 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7355
7356         * gst/gsturi.c: (gst_element_make_from_uri):
7357           Don't leak plugin feature.
7358
7359         * tests/check/Makefile.am:
7360         * tests/check/gst/.cvsignore:
7361         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
7362           Add brain-dead unit test.
7363
7364 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7365
7366         Patch by: Jeroen Wouters <woutersj at gmail com>
7367
7368         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
7369           Treat protocol strings in a case-insensitive way (#437563).
7370
7371 2007-05-11  Michael Smith <msmith@fluendo.com>
7372
7373         * gst/gstplugin.c: (gst_plugin_load_file):
7374         * gst/gstregistry.c: (gst_registry_scan_path_level):
7375           Don't print a g_warning for any failure to load a shared object.
7376           Instead, push this down into gstplugin.c, and warn _only_ if we
7377           failed to open the module (i.e. failure to link).
7378           Avoids warnings on normal, working, non-plugin .so files.
7379
7380 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
7381
7382         * gst/gstplugin.c (gst_plugin_load_file):
7383         * gst/gstregistry.c (GST_CAT_DEFAULT,
7384           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
7385           Print a g_warning if there was an error when loading a plugins during
7386           registry scan. The shuld help beginners starting with gst-plugin
7387           template.
7388
7389 2007-05-10  Wim Taymans  <wim@fluendo.com>
7390
7391         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7392         (update_time_level), (gst_queue_locked_flush),
7393         (gst_queue_handle_sink_event), (gst_queue_chain),
7394         (gst_queue_push_one), (gst_queue_loop):
7395         * plugins/elements/gstqueue.h:
7396         Be smarter when calculating the current amount of data in the queue by
7397         measuring the difference between start and end timestamps (in running
7398         time) inside the queue. Fixes #432876.
7399         API: GstQueue::pushing to notify elements that we are pushing data again
7400         since the running signal is rather broken for this purpose.
7401
7402 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
7403
7404         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
7405           gst_queue_base_init, gst_queue_init):
7406           use GST_BOILERPLATE
7407
7408 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
7409
7410         * win32/common/libgstreamer.def:
7411         Add new exported functions.
7412         * win32/vs6/grammar.dsp:
7413         Use grammar pre-generated files.
7414
7415 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7416
7417         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
7418
7419         * gst/Makefile.am:
7420         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
7421         * gst/gstparse.h:
7422         * gst/gstutils.c: (gst_parse_bin_from_description):
7423         * gst/gstutils.h:
7424           Maintain API and ABI when --disable-parse is used. Now that
7425           we have an appropriate error code, we can just return NULL and the
7426           appropriate error when gst_parse_launch() is used despite it having
7427           been disabled (#342564).
7428
7429         * tests/check/Makefile.am:
7430         * tests/check/pipelines/.cvsignore:
7431         * tests/check/pipelines/parse-disabled.c:
7432           Make sure these functions exist and return NULL plus a GError when
7433           --disable-parse is used.
7434
7435 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7436
7437         * tests/benchmarks/complexity.c: (main):
7438         * tests/benchmarks/mass-elements.c: (main):
7439           Set a good example and don't leak messages.
7440
7441 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
7442
7443         * docs/gst/Makefile.am:
7444         * docs/libs/Makefile.am:
7445           Correct fixxrefs options.
7446
7447         * docs/plugins/Makefile.am:
7448         * docs/plugins/gstreamer-plugins-docs.sgml:
7449         * docs/plugins/gstreamer-plugins-sections.txt:
7450         * plugins/elements/Makefile.am:
7451         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
7452         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
7453           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
7454           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
7455           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
7456           _GstCapsFilterClass, trans_class):
7457         * plugins/elements/gstelements.c (name, rank, type, _elements):
7458         * plugins/elements/gstidentity.c
7459           (gst_identity_check_imperfect_timestamp,
7460           gst_identity_check_imperfect_offset):
7461           Document capsfilter and add doc-blurb to identity.
7462
7463 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7464
7465         * libs/gst/controller/gstcontroller.c:
7466         (gst_controlled_property_set_interpolation_mode):
7467         * libs/gst/controller/gstinterpolation.c:
7468           Don't crash if someone tries to set an interpolation mode that
7469           is invalid or that isn't supported yet. Fixes #422295.
7470
7471         * tests/check/libs/controller.c: (GST_START_TEST),
7472         (gst_controller_suite):
7473           Add a test case for the above.
7474
7475 2007-05-03  Edward Hervey  <edward@fluendo.com>
7476
7477         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7478         Properly set the last_stop position on GstSegment. This will only happen
7479         if there is a buffer to push out.
7480
7481 2007-05-03  Wim Taymans  <wim@fluendo.com>
7482
7483         * libs/gst/base/gstbasetransform.c:
7484         (gst_base_transform_buffer_alloc):
7485         always_in_place does not mean that the sink and source caps are the
7486         same! Make sure we don't blindly proxy the buffer_alloc in this case.
7487
7488 2007-05-03  Wim Taymans  <wim@fluendo.com>
7489
7490         * docs/libs/gstreamer-libs-sections.txt:
7491         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7492         (gst_base_src_default_query), (gst_base_src_get_range):
7493         * libs/gst/base/gstbasesrc.h:
7494         API: gst_base_src_query_latency(). Added method so that subclasses can
7495         easily get the latency values of the base source class.
7496
7497 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
7498
7499         * tools/gst-inspect.c (print_implementation_info):
7500         Remove 0.8 cruft.
7501
7502 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
7503
7504         * tools/Makefile.am:
7505         * tools/gst-launch.1.in:
7506           Don't create a customised man page based on the host architecture,
7507           describe the default registry path generically. That way the man
7508           page is the same for all architectures and packagers have one
7509           multilib issue less to deal with. Fixes #434926.
7510
7511 2007-05-02  Wim Taymans  <wim@fluendo.com>
7512
7513         * gst/gstpad.c:
7514         Fix documentation as spotted by rg on IRC. 
7515
7516 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
7517
7518         * gst/gstutils.c:
7519           Improve docs for gst_element_{link,unlink}.
7520
7521 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
7522
7523         * docs/design/part-events.txt:
7524         * docs/design/part-overview.txt:
7525         * gst/gstevent.c:
7526         * gst/gsturi.c:
7527         * gst/gsturi.h:
7528         * libs/gst/base/gstbasesink.c:
7529           Typo fixes; minor docs addition.
7530
7531 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7532
7533         * docs/gst/gstreamer-sections.txt:
7534         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
7535         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
7536         * gst/gsturi.h:
7537         API: Add gst_uri_protocol_is_supported(), which checks if a sink
7538         or src that supports a given URI protocol exists.
7539
7540 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7541
7542         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7543         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7544         Set the location to NULL if "file://" is set as URI. Otherwise
7545         some random previous URI would still be set if "file://" is
7546         set on an already used filesink/filesrc.
7547
7548 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7549
7550         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7551         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7552         Special case the "file://" URI as as this is used by some
7553         applications to test with gst_element_make_from_uri if there's
7554         an element that supports the URI protocol.
7555         Also move the g_path_is_absolute() check for the location part
7556         of the URI to also check this for "file://localhost/bla" URIs.
7557
7558 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
7559
7560         * docs/gst/gstreamer-sections.txt:
7561         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
7562         * gst/gstbuffer.h:
7563         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7564         (gst_buffer_suite):
7565           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
7566
7567 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
7568
7569         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7570         (gst_registry_binary_load_pad_template),
7571         (gst_registry_binary_load_plugin),
7572         (gst_registry_binary_read_cache):
7573         * gst/gstregistrybinary.h:
7574           Implement no-mmap alternative for registry reading. Do code cleanups.
7575           Add more comments about avoiding strdups for all text data. Comments
7576           welcome.
7577
7578 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7579
7580         * gst/gstregistrybinary.h (GstBinaryPluginElement,
7581           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
7582           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
7583           Comment structs and reformat to fix the build (that stuff should go
7584           into a priv. header).
7585
7586 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7587
7588         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
7589         (gst_registry_binary_load_feature):
7590         * gst/gstregistrybinary.h:
7591           Refactor so that we can implement multiple features. Add support for
7592           TypeFindFactory features.
7593
7594 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
7595
7596         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
7597
7598         * configure.ac:
7599           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
7600
7601 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
7602
7603         * gst/gstbin.c: (gst_bin_element_set_state),
7604         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
7605         (bin_handle_async_done), (gst_bin_handle_message_func):
7606           Fix build with --gst-disable-gst-debug
7607
7608 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
7609
7610         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
7611           Make sure streaming has finished before calling the ::stop() vfunc,
7612           since that vfunc might clear state which is being used in the
7613           streaming thread. This fixes a race that caused crashes in
7614           audioresample when shutting down a pipeline (#420106).
7615
7616 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7617
7618         * docs/gst/gstreamer-sections.txt:
7619           That was one byte missing.
7620
7621 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7622
7623         * configure.ac:
7624         * docs/gst/gstreamer-sections.txt:
7625         * gst/Makefile.am:
7626         * gst/gstconfig.h.in:
7627         * gst/gstobject.c: (gst_object_class_init),
7628         (gst_signal_object_class_init):
7629         * gst/gstobject.h:
7630           2nd attempt to have a xml-less build as a joined effort of #413123
7631           and #421480.
7632
7633 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7634
7635         * docs/design/draft-tagreading.txt:
7636           Added open issues/thoughts to draft.
7637
7638 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7639
7640         * gst/parse/grammar.tab.pre.c:
7641         * gst/parse/grammar.tab.pre.h:
7642         * gst/parse/lex._gst_parse_yy.pre.c:
7643         Update the prebuild parser sources.
7644
7645 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7646
7647         * gst/parse/Makefile.am:
7648         And now fix the building of the flex sources. Now everything should
7649         work as expected.
7650
7651 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7652
7653         * gst/parse/Makefile.am:
7654         Now hopefully fix the build failures by setting proper rule
7655         dependencies and moving instead of copying.
7656
7657 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7658
7659         * tests/benchmarks/complexity.gnuplot:
7660         * tests/benchmarks/complexity.scm:
7661         * tests/benchmarks/mass-elements.gnuplot:
7662         * tests/benchmarks/mass-elements.scm:
7663           Total licensification.
7664
7665 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7666
7667         * gst/parse/Makefile.am:
7668           Fix the build by correcting the rule that gave wrong files to flex.
7669
7670 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7671
7672         * tests/benchmarks/complexity.c:
7673         * tests/benchmarks/mass-elements.c:
7674           Change licence to LGPL as granted by Benjamin and Andy.
7675
7676 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7677
7678         * gst/parse/Makefile.am:
7679         Add correct grammar.tab.h dependency if compiling without new enough
7680         flex. Fixes #431150.
7681
7682 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7683
7684         * gst/parse/Makefile.am:
7685         Fix typo and use outdated sources if the flex/bison sources are newer
7686         than the pregenerated ones but flex is too old. Print a warning in
7687         that case. This should fix the build on the build bot.
7688
7689 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7690
7691         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
7692         * gst/parse/Makefile.am:
7693         * gst/parse/grammar.y:
7694         * gst/parse/parse.l:
7695         Make the parser reentrant and recursively callable. This requires flex
7696         >= 2.5.31, for older versions pregenerated sources are used as we
7697         can't bump the build dependency. Finally fixes #349180.
7698
7699         * gst/gstparse.c: (gst_parse_launch):
7700         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
7701         now anyway.
7702
7703         * docs/gst/Makefile.am:
7704         * docs/gst/Makefile.am:
7705         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
7706         (__gst_parse_strfree), (__gst_parse_link_new),
7707         (__gst_parse_link_free), (__gst_parse_chain_new),
7708         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
7709         (gst_parse_element_set), (gst_parse_free_link),
7710         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
7711         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
7712         (_gst_parse_launch):
7713         * gst/parse/grammar.tab.pre.h:
7714         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
7715         (yy_get_previous_state), (yy_try_NUL_trans), (input),
7716         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
7717         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
7718         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
7719         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
7720         (_gst_parse_yypop_buffer_state),
7721         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
7722         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
7723         (yy_fatal_error), (_gst_parse_yyget_extra),
7724         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
7725         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
7726         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
7727         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
7728         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
7729         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
7730         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
7731         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
7732         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
7733         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
7734         (_gst_parse_yyfree):
7735         If the installed flex version is too old use pre-generated parser
7736         sources. These pre-generated parser sources are always updated when
7737         the actual flex/bison sources change but require everybody who wants
7738         to change something in the parser to have flex >= 2.5.31 installed.
7739
7740 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
7741
7742         * common/m4/gst-gettext.m4:
7743         * gst/gst-i18n-lib.h:
7744           Make --disable-nls to work
7745
7746 2007-04-17  Wim Taymans  <wim@fluendo.com>
7747
7748         * gst/gstconfig.h.in:
7749         Revert previous change that broke the build.
7750
7751 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
7752
7753         * configure.ac:
7754         * gst/Makefile.am:
7755         * gst/gstconfig.h.in:
7756           Drop libxml2 dependency when building with 
7757           --enable-binary-registry --disable-loadsave
7758
7759 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
7760
7761         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7762         (gst_registry_binary_read_cache):
7763         * gst/gstregistrybinary.h:
7764           Remove unnecessary <sys/mman.h> include which broke the win32 build
7765           with MingW; move includes from header file to .c file, even if the
7766           header file isn't installed; use g_strerror() where UTF-8 strings
7767           are expected, such as in GST_DEBUG messages.
7768
7769 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7770
7771         * docs/libs/gstreamer-libs-sections.txt:
7772         Remove bogus addition for API I didn't end up keeping.
7773
7774         * libs/gst/base/gstbasesrc.h:
7775         Mention Since: 0.10.13 in the documentation.
7776
7777         Add the API keyword to the previous ChangeLog entry.
7778
7779 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7780
7781         * docs/libs/gstreamer-libs-sections.txt:
7782         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7783         (gst_base_src_default_prepare_seek_segment),
7784         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
7785         * libs/gst/base/gstbasesrc.h:
7786         Allow basesrc derived classes to execute seeks in other formats
7787         by providing a prepare_seek_segment vmethod. Sub-classes can choose
7788         to prepare the GstSegment in any format that their perform_seek method
7789         will be able to understand. The default implementation provides the
7790         old behaviour of attempting to convert the seek offsets to the 
7791         configured native format.
7792
7793         API: basesrc::prepare_seek_segment vmethod.
7794
7795 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7796
7797         * gst/gstelement.c: (gst_element_get_state_func):
7798         Don't output the same debug statement twice.
7799
7800         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
7801         (gst_adapter_peek), (gst_adapter_take_buffer):
7802         Optimise the case where we have buffers at the head of the queue that
7803         can be joined quickly (because they're contiguous sub-buffers) by
7804         merging them together rather than copying data out into new memory.
7805
7806         * gst/parse/grammar.y:
7807         * tests/check/pipelines/parse-launch.c:
7808         Fix a leak in an error path for parse_launch, and add a check 
7809         for it to the testsuite.
7810
7811 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7812
7813         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7814           Don't deadlock when releasing a pad - gst_pad_set_active may try
7815           and take the multiqueue lock too.
7816
7817 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7818
7819         * gst/gsterror.c: (_gst_core_errors_init):
7820         * gst/gsterror.h:
7821           API: add GST_CORE_ERROR_DISABLED (#392804).
7822
7823 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7824
7825         * docs/faq/gst-uninstalled:
7826           don't get empty paths on the PATH variables
7827         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
7828           Don't format for the uncommon terminal width of 84 characters.
7829
7830 2007-04-06  Wim Taymans  <wim@fluendo.com>
7831
7832         * gst/gstpipeline.c: (reset_stream_time),
7833         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
7834         Only try to select a different pipeline clock when we went back to
7835         PAUSED and not when we merely got flushed.
7836
7837 2007-04-05  Michael Smith  <msmith@fluendo.com>
7838
7839         * tools/gst-launch.1.in:
7840           fractions are better supported in gstreamer than ractions, so
7841           suggest using those.
7842
7843 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7844
7845         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
7846
7847         * po/LINGUAS:
7848         * po/da.po:
7849           Added Danish translation.
7850
7851 2007-04-05  Wim Taymans  <wim@fluendo.com>
7852
7853         * libs/gst/base/gstbasesink.c:
7854         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
7855         Fix leak caused when refusing newsegment after EOS.
7856
7857         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7858         (gst_fake_sink_init), (gst_fake_sink_set_property),
7859         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
7860         (gst_fake_sink_render), (gst_fake_sink_change_state):
7861         * plugins/elements/gstfakesink.h:
7862         Add num-buffers property to make the element generate EOS after a
7863         configurable amount of buffers.
7864         API: fakesink::num-buffers property.
7865
7866         * tests/check/elements/fakesink.c: (GST_START_TEST),
7867         (fakesink_suite):
7868         Fix GstBus leak in test.
7869         Test for fakesink num-buffers.
7870
7871 2007-04-05  Wim Taymans  <wim@fluendo.com>
7872
7873         * libs/gst/base/gstbasesink.c:
7874         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
7875         (gst_base_sink_change_state):
7876         Don't accept anything after an EOS, return UNEXPECTED instead.
7877
7878         * tests/check/elements/fakesink.c: (GST_START_TEST),
7879         (fakesink_suite):
7880         Unit test for new EOS behaviour.
7881
7882 2007-04-05  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/gstelement.c: (gst_element_get_request_pad):
7885         Make padtemplates also work when they don't contain %s or %d.
7886
7887 2007-04-05  Wim Taymans  <wim@fluendo.com>
7888
7889         * docs/gst/gstreamer-sections.txt:
7890         * gst/gstclock.c: (gst_clock_adjust_unlocked),
7891         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
7892         * gst/gstclock.h:
7893         Improve _adjust_unlocked() so that it overflows less.
7894         Add gst_clock_unadjust_unlocked to convert from external time to
7895         internal time based on calibration.
7896         Add some more debug.
7897         API: GstClock::gst_clock_unadjust_unlocked()
7898
7899 2007-04-03  Wim Taymans  <wim@fluendo.com>
7900
7901         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7902
7903         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7904         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
7905         when releasing sink pad. Fixes #425400.
7906
7907 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
7908
7909         * docs/random/ensonic/dynlink.txt:
7910           More work on proposal for new core api.
7911
7912         * docs/libs/gstreamer-libs-sections.txt:
7913         * libs/gst/base/gstbasetransform.h:
7914           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
7915           
7916         * libs/gst/controller/gstcontroller.c:
7917         (on_object_controlled_property_changed),
7918         (gst_controller_sync_values),
7919         (gst_controller_set_interpolation_mode):
7920         * libs/gst/controller/gstcontroller.h:
7921           Less verbose logging add docs for unimplemented parts and correctly
7922           return when using unavailable parts.
7923
7924 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7925
7926         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
7927         Move all the debug to the CLOCK category, and associate it with
7928         the clock object.
7929
7930 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7931
7932         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
7933         Make take_buffer a bit quicker by removing redundant checks
7934         caused by calling gst_adapter_take.
7935
7936 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7937
7938         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
7939           Don't leak GCond.
7940
7941         * tests/check/Makefile.am:
7942         * tests/check/elements/.cvsignore:
7943         * tests/check/elements/multiqueue.c: (setup_multiqueue),
7944         (GST_START_TEST), (multiqueue_suite):
7945           Add some dead simple unit tests for the 'multiqueue' element
7946           (some bits don't work yet and are disabled for now).
7947
7948 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7949
7950         * gst/gstelement.c: (gst_element_get_request_pad),
7951         (gst_element_class_get_request_pad_template):
7952           Make gst_element_get_request_pad() create request pads only for
7953           request pad templates and not for, say, sometimes pad templates.
7954
7955 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
7956
7957         * docs/design/draft-klass.txt:
7958           Add example that needs more thinking.
7959         
7960         * docs/design/draft-missing-plugins.txt:
7961           More thoughts about wrapper plugins.
7962         
7963         * docs/random/ensonic/embedded.txt:
7964         * docs/random/ensonic/profiling.txt:
7965           More design work.
7966
7967 2007-03-25  Wim Taymans  <wim@fluendo.com>
7968
7969         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
7970         (gst_base_src_loop):
7971         Only push the segment events in the PLAYING state for live sources.
7972
7973 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
7974
7975         * gst/gstpipeline.c: (gst_pipeline_change_state):
7976         Modify the clock distribution path in PAUSED->PLAYING so that we 
7977         never attempt to choose a new clock unless we're actually leaving
7978         the PAUSED state for the first time. This prevents choosing a
7979         different clock when the state_change gets called for a 2nd time due
7980         to some element doing an async state change.
7981
7982 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7983
7984         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
7985         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
7986         (gst_pad_chain_unchecked), (gst_pad_push):
7987         Revert last commit. This needs some more thoughts.
7988
7989 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7990
7991         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
7992         (gst_pad_chain_unchecked), (gst_pad_push):
7993         Check in set_caps if the caps are compatible with the pad and remove
7994         two functions that are redundant now. Fixes #421543.
7995
7996 2007-03-22  Wim Taymans  <wim@fluendo.com>
7997
7998         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7999         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
8000         Unref some more to make valgrind happy.
8001
8002 2007-03-22  Wim Taymans  <wim@fluendo.com>
8003
8004         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
8005         (gst_system_clock_id_wait_jitter),
8006         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
8007         Fix anoying regression that survived a few releases. When adding an
8008         async entry while blocking on a sync entry, the sync entry will unblock
8009         but still be busy, so it should continue to wait instead of returning
8010         _BUSY to the app.
8011         Add some comments here and there.
8012
8013         * tests/check/gst/gstsystemclock.c: (mixed_thread),
8014         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
8015         Add testcase for this.
8016
8017 2007-03-22  Wim Taymans  <wim@fluendo.com>
8018
8019         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8020         Handle errors from the clock sync better, only UNSCHEDULED indicates a
8021         WRONG_STATE and can silently pause the task. All other cases should
8022         error out.
8023
8024 2007-03-22  Wim Taymans  <wim@fluendo.com>
8025
8026         Patch by: Ville Syrjala <syrjala at sci dot fi>
8027
8028         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
8029         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
8030         Improve debugging.
8031
8032 2007-03-21  Michael Smith  <msmith@fluendo.com>
8033
8034         * docs/pwg/advanced-types.xml:
8035           Fix some errors in the typefinding docs pointed out on irc.
8036
8037 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
8038
8039         * libs/gst/base/gstbasesrc.c:
8040         Clarify FIXME comment in the face of having added unlock_stop()
8041
8042 2007-03-21  Wim Taymans  <wim@fluendo.com>
8043
8044         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
8045         Prepare for release where we warn against possible app breakage in the
8046         case of live pipelines along with an env var to enable/disable live
8047         preroll mode (GST_COMPAT=[no-]live-preroll).
8048
8049 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8050
8051         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
8052         So we should use correct constants for checking for None offset.
8053
8054 2007-03-20  Wim Taymans  <wim@fluendo.com>
8055
8056         * docs/design/part-block.txt:
8057         Mention the fact that the newly switched element should be set to at
8058         least PAUSED.
8059
8060 2007-03-20  Wim Taymans  <wim@fluendo.com>
8061
8062         * gst/gst.c:
8063         Fix compilation with registry disabled as spotted by Saur.
8064
8065 2007-03-20  Wim Taymans  <wim@fluendo.com>
8066
8067         Patch by: Olivier Crete <tester at tester dot ca>
8068
8069         * gst/gstelement.c: (gst_element_sync_state_with_parent):
8070         Look at the pending state too when syncing the element state to the
8071         parent. Fixes #420133.
8072
8073 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
8074
8075         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
8076         (gst_base_sink_change_state):
8077         * libs/gst/base/gstbasesink.h:
8078         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
8079         (gst_base_src_default_event), (gst_base_src_unlock_stop),
8080         (gst_base_src_deactivate):
8081         * libs/gst/base/gstbasesrc.h:
8082         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
8083         for sub-classes to correctly clear any state they set trying to
8084         unlock, such as clearing out unlock commands from a command fd.
8085         API: basesrc::unlock_stop
8086         API: basesink::unlock_stop
8087
8088         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
8089         (gst_fd_sink_render), (gst_fd_sink_unlock),
8090         (gst_fd_sink_unlock_stop):
8091         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
8092         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
8093         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
8094
8095         Implement unlock_stop in fdsrc and fdsink.
8096         Implement seeking in fdsrc when a seekable fd is passed, as in
8097         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
8098
8099 2007-03-19  Wim Taymans  <wim@fluendo.com>
8100
8101         Patch by: Evan Nemerson <evan at coeus dash group dot com>
8102
8103         * gst/gstelement.c: (gst_element_class_init):
8104         Fix pad-added and pad-removed signal signatures so that the pad type is
8105         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
8106
8107 2007-03-19  Wim Taymans  <wim@fluendo.com>
8108
8109         * docs/gst/gstreamer-sections.txt:
8110         Add new element field and method.
8111
8112         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8113         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
8114         (gst_bin_recalc_state), (gst_bin_get_state_func),
8115         (gst_bin_element_set_state), (gst_bin_change_state_func),
8116         (gst_bin_continue_func), (bin_bus_handler),
8117         (bin_push_state_continue), (bin_handle_async_start),
8118         (bin_handle_async_done), (gst_bin_handle_message_func):
8119         Make async state changes a bit smarter by using new ASYNC_START and
8120         ASYNC_DONE messages. This reduces the number of times we run the state
8121         recalculation thread.
8122         Don't change state of element with a pending ASYNC_START message.
8123         Deprecate STATE_DIRTY messages.
8124         
8125         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
8126         (gst_element_get_state_func), (gst_element_continue_state),
8127         (gst_element_lost_state), (gst_element_set_state_func),
8128         (gst_element_change_state):
8129         * gst/gstelement.h:
8130         Keep the state that was last set by the app in a new element field.
8131         Don't allow state changes when handling an element event.
8132         Post ASYNC_START and ASYNC_DONE messages.
8133         Change lost_state so that we go to PAUSED and wait for the parent to set
8134         us to PLAYING again (so latency calculation can be performed)
8135         Export gst_element_change_state() method so that subclasses can use it.
8136         API: gst_element_change_state()
8137         API: GST_STATE_TARGET
8138
8139         * gst/gstpipeline.c: (gst_pipeline_class_init),
8140         (reset_stream_time), (gst_pipeline_change_state),
8141         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
8142         Using the new ASYNC_START message we can reset the base_time when
8143         needed. This can then be used to implement base_time redistribution in
8144         flushing seeks so that we can remove the explicit seek handling.
8145         Perform latency query and configuration when going to PLAYING.
8146
8147         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8148         (gst_base_sink_query), (gst_base_sink_change_state):
8149         Post new ASYNC_START/ASYNC_DONE messages.
8150
8151         * tests/check/generic/sinks.c: (GST_START_TEST):
8152         Fix test because the bin will not set the async element to PLAYING right
8153         away.
8154
8155         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
8156         Make the message check a little stronger.
8157         Handle ASYNC messages.
8158
8159         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
8160         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
8161         Expect ASYNC_DONE messages.
8162
8163 2007-03-19  Wim Taymans  <wim@fluendo.com>
8164
8165         * docs/gst/gstreamer-sections.txt:
8166         * gst/gstmessage.c: (gst_message_new_async_start),
8167         (gst_message_new_async_done), (gst_message_parse_info),
8168         (gst_message_parse_async_start):
8169         * gst/gstmessage.h:
8170         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
8171         support.
8172
8173 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
8174
8175         * tools/gst-inspect.c:
8176         (print_plugin_automatic_install_info_codecs):
8177           Now that we don't check for the 'Codec' keyword any longer in the
8178           klass, we shouldn't spew a warning if the klass isn't a decoder or
8179           encoder (since it might be a Source/Network, for example).
8180
8181 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
8182
8183         * tools/gst-inspect.c:
8184         (print_plugin_automatic_install_info_codecs):
8185           Don't require decoder/demuxer/depayloader elements or
8186           encoder/muxer/paylader elements to have 'Codec' as part of their
8187           factory class string when introspecting a plugin's capabilities.
8188           draft-klass.txt mentions that it might be removed in future, and
8189           flump3dec doesn't have it as part of its class string, so chances
8190           are others might also not have it.
8191
8192 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8193
8194         * po/af.po:
8195         * po/az.po:
8196         * po/bg.po:
8197         * po/ca.po:
8198         * po/cs.po:
8199         * po/de.po:
8200         * po/en_GB.po:
8201         * po/fr.po:
8202         * po/it.po:
8203         * po/nb.po:
8204         * po/nl.po:
8205         * po/ru.po:
8206         * po/sq.po:
8207         * po/sr.po:
8208         * po/sv.po:
8209         * po/tr.po:
8210         * po/uk.po:
8211         * po/vi.po:
8212         * po/zh_CN.po:
8213         * po/zh_TW.po:
8214           Update translations from translation project
8215
8216 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
8217
8218         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
8219         (gst_child_proxy_set_property):
8220           Invert precondition check to be alike the ones in the mimiced gobject
8221           api.
8222
8223 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
8224
8225         * docs/design/draft-tagreading.txt:
8226         * docs/random/ensonic/audiobaseclasses.txt:
8227           Do some Architect work.
8228
8229         * gst/gstobject.c: (gst_object_set_name):
8230           Add a WARNING.
8231
8232         * gst/gstpad.c:
8233           Add docs that point from gst_pad_get_range to gst_pad_pull_range
8234
8235 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
8236
8237         * gst/gstsystemclock.c: (gst_system_clock_init),
8238         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
8239         Defer starting the async system clock thread until the first async
8240         wait is scheduled. Fixes #414986.
8241
8242 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
8243
8244         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
8245         (gst_single_queue_free):
8246           Fix small leak (free GstSingleQueue structure too, not only contents).
8247
8248 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
8249
8250         * gst/gstbin.c:(gst_bin_add):
8251         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
8252         * win32/common/libgstbase.def:
8253         * win32/common/libgstreamer.def:
8254         Add new exported functions.
8255
8256 2007-03-09  Wim Taymans  <wim@fluendo.com>
8257
8258         * docs/plugins/gstreamer-plugins-sections.txt:
8259         Fix GstTee docs.
8260
8261 2007-03-09  Wim Taymans  <wim@fluendo.com>
8262
8263         * docs/gst/gstreamer-sections.txt:
8264         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
8265         * gst/gstbuffer.h:
8266         Add metadata copy functions. Fixes #393099.
8267         API: gst_buffer_copy_metadata()
8268
8269         * gst/gstutils.c: (gst_buffer_stamp):
8270         * libs/gst/base/gstbasetransform.c:
8271         (gst_base_transform_prepare_output_buffer):
8272         Use new metadata copy functions.
8273
8274 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8275
8276         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8277         (gst_identity_init), (gst_identity_check_perfect),
8278         (gst_identity_check_imperfect_timestamp),
8279         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
8280         (gst_identity_set_property), (gst_identity_get_property):
8281         * plugins/elements/gstidentity.h:
8282         Separate out check-imperfect-timestamp and check-imperfect-offset.
8283         Put back check-perfect as it was to keep compatibility.
8284
8285 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
8286
8287         * gst/gstelement.c: (gst_element_dispose):
8288         There's no need to warn if VOID_PENDING is not NONE here, as
8289         long as the state is NULL it's ok, and that's checked immediately
8290         above.
8291
8292 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8293
8294         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8295         Fix check for perfect stream to ignore buffers with -1 
8296         offsets/offset ends when checking data contiguity.
8297
8298 2007-03-08  Wim Taymans  <wim@fluendo.com>
8299
8300         * tools/gst-launch.c: (event_loop):
8301         Print INFO messages.
8302
8303 2007-03-08  Wim Taymans  <wim@fluendo.com>
8304
8305         * libs/gst/base/gstbasetransform.c:
8306         (gst_base_transform_sink_eventfunc),
8307         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8308         (gst_base_transform_activate):
8309         * libs/gst/base/gstbasetransform.h:
8310         Add support for dropping buffers with custom GstFlowReturn.
8311         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
8312         buffers or dropped buffers.
8313
8314         * docs/libs/gstreamer-libs-sections.txt:
8315         docs for new custom return code.
8316
8317         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8318         Use drop support in base class to implement drop-probability.
8319
8320 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8321
8322         * gst/gst.c: (load_plugin_func):
8323         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
8324         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8325         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8326           Remove newlines at end of debug log strings.
8327
8328 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8329
8330         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8331         Only post bus message at max, once per buffer received.
8332
8333 2007-03-07  Wim Taymans  <wim@fluendo.com>
8334
8335         * docs/design/Makefile.am:
8336         * docs/design/part-synchronisation.txt:
8337         Add doc about synchronisation
8338
8339         * docs/design/draft-latency.txt:
8340         * docs/design/part-TODO.txt:
8341         * docs/design/part-clocks.txt:
8342         * docs/design/part-events.txt:
8343         * docs/design/part-gstbus.txt:
8344         * docs/design/part-gstpipeline.txt:
8345         * docs/design/part-live-source.txt:
8346         * docs/design/part-messages.txt:
8347         * docs/design/part-overview.txt:
8348         * docs/design/part-streams.txt:
8349         * docs/design/part-trickmodes.txt:
8350         Documentation updates.
8351
8352 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8353
8354         * gstreamer.doap:
8355         Update the doap file.
8356
8357 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8358
8359         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8360         Rename non-perfect to imperfect for Mike and for the sanctity of the
8361         language.
8362         Also make sure bus message gets emitted for data-incontiguities.
8363
8364 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8365
8366         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
8367         (gst_identity_start):
8368         * plugins/elements/gstidentity.h:
8369         Emit bus message if check-perfect is true and we encounter a
8370         non-perfect stream between 2 consecutive buffers.
8371         Fixes #415394.
8372
8373 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8374
8375         * configure.ac:
8376         Back to CVS
8377
8378 === release 0.10.12 ===
8379
8380 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
8381
8382         * configure.ac:
8383           releasing 0.10.12, "Inevitable Demise"
8384
8385 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
8386
8387         * configure.ac:
8388          Version 0.10.11.2 (0.10.12 pre-release)
8389          Bump libtool versioning.
8390
8391 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
8392
8393         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8394           Log flow-names and not numbers.
8395
8396 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * configure.ac:
8399           Convert to new AG_GST style.
8400
8401 2007-02-28  Wim Taymans  <wim@fluendo.com>
8402
8403         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
8404         Don't unref query twice.
8405
8406 2007-02-28  Wim Taymans  <wim@fluendo.com>
8407
8408         * gst/gstvalue.c: (gst_value_transform_object_string),
8409         (_gst_value_initialize):
8410         Implement GstObject -> string transform so we print object names
8411         when serializing GValues containing GstObjects.
8412
8413 2007-02-28  Wim Taymans  <wim@fluendo.com>
8414
8415         * docs/gst/gstreamer-sections.txt:
8416         Add new stuff to docs.
8417
8418 2007-02-28  Wim Taymans  <wim@fluendo.com>
8419
8420         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
8421         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
8422         (gst_base_sink_change_state):
8423         Improve latency query code.
8424         Don't leak latency events.
8425
8426         * tests/check/gst/gstbin.c: (GST_START_TEST):
8427         Improve debugging.
8428
8429 2007-02-28  Wim Taymans  <wim@fluendo.com>
8430
8431         * gst/gstelement.c: (gst_element_message_full),
8432         (gst_element_get_state_func):
8433         * gst/gstelement.h:
8434         Improve docs a little. Added Since: for new macro.
8435
8436         * gst/gstobject.c: (gst_object_sink):
8437         * gst/gstpipeline.c: (gst_pipeline_change_state),
8438         (gst_pipeline_set_new_stream_time):
8439         * gst/gstpipeline.h:
8440         Improve debugging and docs.
8441
8442         * gst/gstutils.c: (gst_element_state_change_return_get_name):
8443         Improve debugging.
8444
8445 2007-02-28  Wim Taymans  <wim@fluendo.com>
8446
8447         * gst/gstelement.c: (gst_element_message_full),
8448         (gst_element_set_locked_state), (gst_element_get_state_func),
8449         (gst_element_change_state):
8450         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
8451         Documentation updates.
8452         Small code cleanups.
8453
8454         * gst/gstmessage.c: (gst_message_new_info),
8455         (gst_message_parse_info):
8456         * gst/gstmessage.h:
8457         API: gst_message_new_info()
8458         API: gst_message_parse_info()
8459         Add INFO message create and parse code.
8460
8461 2007-02-28  Wim Taymans  <wim@fluendo.com>
8462
8463         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
8464         (bin_query_latency_done):
8465         Also report the live parameter of a latency query.
8466
8467 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
8470           Copy the current generic/states example from -base and adapt so
8471           we can use the exact same code everywhere.
8472           Check a STATES_IGNORE_ELEMENTS env var which can be used
8473           to ignore certain element factories for this test, which is
8474           what is being done in -base
8475         * tests/check/Makefile.am:
8476           Mention this environment variable.
8477
8478 2007-02-27  Wim Taymans  <wim@fluendo.com>
8479
8480         * docs/gst/gstreamer-sections.txt:
8481         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8482         (gst_bus_timed_pop), (gst_bus_pop):
8483         * gst/gstbus.h:
8484         API: gst_bus_timed_pop()
8485         Implement gst_bus_timed_pop() to do a blocking timed wait for a
8486         message to arrive on the bus.
8487
8488         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
8489         (gst_bus_suite):
8490         Two unit tests for new _timed_pop() function.
8491
8492 2007-02-23  Wim Taymans  <wim@fluendo.com>
8493
8494         * gst/gstpipeline.c: (gst_pipeline_change_state),
8495         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
8496         Don't ref a NULL clock in _provide_clock_func().
8497         Don't allow an INVALID delay.
8498         Don't try to calculate base_time with an invalid start_time.
8499         Also distribute and notify a NULL clock when it was selected.
8500
8501         * tools/gst-launch.c: (event_loop):
8502         Don't crash when a NULL clock was selected in the pipeline.
8503
8504 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8505
8506         * docs/design/Makefile.am:
8507         * docs/design/draft-missing-plugins.txt:
8508         * docs/random/draft-missing-plugins.txt:
8509           Some small updates: update plugin system identifier prefix
8510           ('gstreamer.net' to 'gstreamer'), mention our new install
8511           API in libgstbaseutils rather than libgimme-codec, add
8512           reference to the online docs.
8513
8514 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8515
8516         * win32/common/config.h:
8517           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
8518           use moap cl ci to only check in what is mentioned in the ChangeLog.
8519
8520 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8521
8522         * docs/gst/gstreamer-sections.txt:
8523         * gst/gstelement.h:
8524           Fix up documentation to link to the correct GstGError section.
8525           Add GST_ELEMENT_INFO macro since someone else added a Info message.
8526
8527 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8528
8529         * tools/gst-launch.c: (event_loop):
8530           Make sure that we actually show the important message part of a
8531           warning message.
8532           No need to check if the gerror is not NULL to free; first of all
8533           g_free accepts NULL; and second the default error handler would
8534           segfault if gerror was NULL.
8535
8536 2007-02-21  Wim Taymans  <wim@fluendo.com>
8537
8538         * docs/gst/gstreamer-sections.txt:
8539         Removed docs as well.
8540
8541 2007-02-21  Wim Taymans  <wim@fluendo.com>
8542
8543         * gst/gstmessage.c: (gst_message_parse_duration):
8544         * gst/gstmessage.h:
8545         Remove new messages for release.
8546
8547 2007-02-20  Wim Taymans  <wim@fluendo.com>
8548
8549         * docs/design/part-gstghostpad.txt:
8550         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
8551         (gst_ghost_pad_new_full):
8552         Make the ghostpad a parent of the internal pad again for better backward
8553         compatibility. Don't write code that relies on this however.
8554
8555         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8556         (gst_pad_link_check_hierarchy):
8557         Require that parents should be GstElements in the hierarchy check.
8558
8559 2007-02-20  Wim Taymans  <wim@fluendo.com>
8560
8561         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
8562         (gst_bin_change_state_func), (bin_query_min_max_init),
8563         (bin_query_latency_fold), (bin_query_latency_done),
8564         (gst_bin_query):
8565         Improve debug info.
8566         Implement latency query.
8567
8568 2007-02-20  Wim Taymans  <wim@fluendo.com>
8569
8570         * docs/design/part-gstghostpad.txt:
8571         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
8572         (gst_ghost_pad_internal_do_activate_push),
8573         (gst_ghost_pad_internal_do_activate_pull),
8574         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8575         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
8576         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
8577         Do not set the internal pad as a parent anymore so we can avoid
8578         hierarchy linking errors when the ghostpad has no parent yet. This also
8579         fixes failed activation because of unlinked internal pads, which in
8580         turn fixes the impossible case where you have to activate a pad before
8581         you can add it to a running element.
8582         Also fix the docs.
8583
8584         * gst/gstpad.c: (pre_activate), (post_activate),
8585         (gst_pad_set_active), (gst_pad_activate_pull),
8586         (gst_pad_activate_push), (gst_pad_check_pull_range):
8587         Add some more debug info.
8588         Mark activation mode in pre_activate so that we don't try to activate in
8589         endless loops. Fixes #385084.
8590
8591 2007-02-19  Wim Taymans  <wim@fluendo.com>
8592
8593         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
8594         (gst_base_transform_check_get_range):
8595         Implement a checkgetrange function instead of relying on the default
8596         core behaviour that assumes we can operate in pull mode if we have a
8597         getrange function. First step at fixing #385084.
8598
8599 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
8600
8601         * gst/gstchildproxy.h:
8602         * libs/gst/base/gstbasesink.h:
8603         * libs/gst/base/gstbasesrc.h:
8604         * libs/gst/base/gstbasetransform.h:
8605         More docs coverage and some ChangeLog surgery (add missing names)
8606
8607 2007-02-15  Wim Taymans  <wim@fluendo.com>
8608
8609         * docs/design/part-TODO.txt:
8610         * docs/design/part-activation.txt:
8611         * docs/design/part-block.txt:
8612         * docs/design/part-buffering.txt:
8613         * docs/design/part-clocks.txt:
8614         * docs/design/part-element-source.txt:
8615         * docs/design/part-events.txt:
8616         * docs/design/part-gstbin.txt:
8617         * docs/design/part-gstbus.txt:
8618         * docs/design/part-gstpipeline.txt:
8619         * docs/design/part-live-source.txt:
8620         * docs/design/part-messages.txt:
8621         * docs/design/part-overview.txt:
8622         * docs/design/part-qos.txt:
8623         * docs/design/part-query.txt:
8624         * docs/design/part-states.txt:
8625         * docs/design/part-trickmodes.txt:
8626         Some doc updates. Start renaming from stream_time to running_time where
8627         it was used wrongly.
8628
8629 2007-02-15  Wim Taymans  <wim@fluendo.com>
8630
8631         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8632         Answer LATENCY query.
8633
8634 2007-02-15  Wim Taymans  <wim@fluendo.com>
8635
8636         * tests/check/gst/gstevent.c: (event_probe), (test_event),
8637         (GST_START_TEST):
8638         Improve debugging.
8639
8640 2007-02-15  Wim Taymans  <wim@fluendo.com>
8641
8642         * gst/gstpad.c: (gst_pad_get_internal_links_default),
8643         (gst_pad_dispatcher):
8644         Improve debugging of default pad dispatcher and query functions.
8645
8646 2007-02-15  Wim Taymans  <wim@fluendo.com>
8647
8648         * docs/gst/gstreamer-sections.txt:
8649         Remove old unused method.
8650
8651 2007-02-13  Wim Taymans  <wim@fluendo.com>
8652
8653         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8654         Fix check
8655
8656 2007-02-13  Wim Taymans  <wim@fluendo.com>
8657
8658         * docs/design/part-seeking.txt:
8659         Some small update.
8660
8661         * gst/gstsegment.c: (gst_segment_set_seek):
8662         Revert old bogus change that should make seeking work again.
8663
8664 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8665
8666         * docs/random/ensonic/dynlink.txt:
8667         * docs/random/ensonic/interfaces.txt:
8668         * docs/random/ensonic/receipies.txt:
8669           Possible dynamic reconnection api, plus some type fixes the other two
8670           docs.
8671
8672 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
8673
8674         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8675         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8676         Also check for an absolute path following file:// in the filesrc
8677         element. Remove redundant check and call g_path_is_absolute() on the
8678         unescaped location.
8679
8680 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8681
8682         * docs/design/draft-klass.txt:
8683           Add existing category analysis.
8684           
8685         * gst/gstcaps.c:
8686           Fix doc example, framerate is a fraction.
8687
8688 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8689
8690         * configure.ac:
8691         * docs/gst/Makefile.am:
8692         * docs/gst/gstreamer-sections.txt:
8693         * docs/libs/Makefile.am:
8694           Erm, forgot a bunch of --extra-dir.
8695
8696 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8697
8698         * configure.ac:
8699         * docs/gst/Makefile.am:
8700         * docs/libs/Makefile.am:
8701         * docs/plugins/Makefile.am:
8702           Add crossreferences to glib/gobject docs.
8703
8704 2007-02-12  Wim Taymans  <wim@fluendo.com>
8705
8706         * docs/design/draft-latency.txt:
8707         Small update.
8708
8709         * docs/libs/gstreamer-libs-sections.txt:
8710         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8711         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
8712         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
8713         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
8714         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
8715         (gst_base_sink_get_position), (gst_base_sink_query),
8716         (gst_base_sink_change_state):
8717         * libs/gst/base/gstbasesink.h:
8718         API: gst_base_sink_query_latency() to let subclasses query the upstream
8719         latency.
8720         API: gst_base_sink_get_latency() to let subclasses query the configured
8721         latency in the sink.
8722         Implement query and set latency.
8723         Update some docs.
8724         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
8725         don't continue preroll when we are flushing. Fixes #405284.
8726
8727         * tests/check/pipelines/stress.c: (change_state_timeout),
8728         (quit_timeout), (GST_START_TEST), (stress_suite):
8729         Test for #405284.
8730
8731 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         Patch by: René Stadler <mail at renestadler de>
8734
8735         * docs/gst/gstreamer-sections.txt:
8736         * gst/gsttaglist.c: (_gst_tag_initialize):
8737         * gst/gsttaglist.h:
8738           API: add GST_TAG_REFERENCE_LEVEL (#403597).
8739
8740 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
8741
8742         * docs/libs/Makefile.am:
8743           Fix path to core docs.
8744
8745         * gst/gstbin.c: (gst_bin_get_by_interface),
8746         (gst_bin_iterate_all_by_interface):
8747           Refix docs by also renaming 'interface' to 'iface' in implementation.
8748
8749         * docs/gst/gstreamer-sections.txt:
8750         * gst/gstcaps.c:
8751         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
8752         * gst/gstchildproxy.h:
8753         * gst/gstelementfactory.c:
8754         * gst/gstpadtemplate.h:
8755         * libs/gst/controller/gstcontroller.c:
8756         (gst_controlled_property_new):
8757           Document more.
8758
8759 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
8760
8761         * gst/gstbin.h:(gst_bin_get_by_interface),
8762         (gst_bin_iterate_all_by_interface):
8763         Replace interface parameter name by iface as interface is 
8764         a reserved keyword in Visual Studio for C++ projects so it removes
8765         a build error for application developpers using VS.
8766         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
8767         Fix a bug on Windows in uri format check. Now the prefix checked
8768         is file:// and next we check if the path after file:// is absolute.
8769         * win32/common/libgstbase.def:
8770         * win32/common/libgstdataprotocol.def:
8771         * win32/common/libgstgstreamer.def:
8772         Add new exported functions.
8773
8774 2007-02-09  Andy Wingo  <wingo@pobox.com>
8775
8776         * tests/check/pipelines/simple-launch-lines.c
8777         (simple_launch_lines_suite, test_tee): Disable tee test until I
8778         have time to fix it :-(
8779
8780         * tests/check/Makefile.am (noinst_HEADERS): 
8781         * tests/check/libs/libsabi.c: 
8782         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
8783         * tests/check/gst/gstabi.c: 
8784         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
8785
8786         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
8787         tests for push and pull tee behavior.
8788
8789         * plugins/elements/gsttee.h: 
8790         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
8791         mark as deprecated as well as unimplemented. It was a crack idea.
8792         Add support for tee operating in pull mode, off by default.
8793
8794         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
8795         normal-case logs down to LOG, raise errors to WARNING.
8796         (gst_registry_xml_read_cache): Don't log before calling a function
8797         that logs.
8798
8799         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
8800         exit (registry finalize).
8801         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
8802         DEBUG log when we emit signals that people don't even have the
8803         chance to connect to.
8804         (gst_registry_scan_path_level): Less logging in the normal case.
8805
8806 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8807
8808         Patch by: Michal Benes <michal dot benes at itonis dot tv>
8809
8810         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8811         Correctly generate EOS for non-seekable files. We don't have a total
8812         length for them and would get an unexpected end of file if we only
8813         special-cased for regular files. (Fixes: #404569)
8814
8815 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8816
8817         * tests/check/elements/filesrc.c: (GST_START_TEST),
8818         (filesrc_suite):
8819         Add unit test for the GstURIHandler interface in filesrc. This also
8820         tests the newly added file://localhost/foo/bar support.
8821
8822 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8823
8824         * gst/gstelementfactory.h:
8825           The klass string is not a hierarchy. Add reference to the design doc
8826           for more information and common types.
8827
8828 2007-02-02  Wim Taymans  <wim@fluendo.com>
8829
8830         * gst/gstquery.c: (gst_query_new_latency):
8831         Remove old structure field.
8832
8833 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * tools/gst-launch.1.in:
8836           Give example for network streaming (#351998)
8837
8838 2007-02-02  Wim Taymans  <wim@fluendo.com>
8839
8840         * docs/gst/gstreamer-sections.txt:
8841         Add docs for new methods.
8842
8843         * gst/gstevent.c: (gst_event_new_latency),
8844         (gst_event_parse_latency):
8845         * gst/gstevent.h:
8846         Add new LATENCY event to configure latency in a pipeline.
8847         API: gst_event_new_latency
8848         API: gst_event_parse_latency
8849
8850         * gst/gstmessage.c: (gst_message_new_buffering),
8851         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
8852         (gst_message_new_latency), (gst_message_parse_buffering),
8853         (gst_message_parse_lost_preroll):
8854         * gst/gstmessage.h:
8855         Added messages used in draft-latency.
8856         API: gst_message_new_lost_preroll
8857         API: gst_message_parse_lost_preroll
8858         API: gst_message_new_prerolled
8859         API: gst_message_new_latency
8860
8861         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
8862         (gst_query_parse_latency):
8863         * gst/gstquery.h:
8864         Implemented new latency query as in design doc.
8865         API: gst_query_new_latency
8866         API: gst_query_set_latency
8867         API: gst_query_parse_latency
8868
8869 2007-02-02  Wim Taymans  <wim@fluendo.com>
8870
8871         * docs/design/draft-latency.txt:
8872         Slight redesign to allow for dynamic latency adjustments.
8873
8874         * docs/design/part-negotiation.txt:
8875         Fix some typos.
8876
8877 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
8878
8879         reviewed by: Wim Taymans <wim@fluendo.com>
8880
8881         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8882         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8883         Allow file://localhost/foo/bar URLs and correctly fail for every other
8884         hostname that one sets. This was gnomevfssrc is linked for those if
8885         installed as it can handle it (#403172)
8886
8887 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8888
8889         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8890
8891         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8892         (unref_data), (gst_collect_pads_add_pad_full):
8893         * libs/gst/base/gstcollectpads.h:
8894         Don't put the previously added destroy notify in the GstCollectData
8895         struct as all it's padding is already used and we don't want to break
8896         ABI. Instead put in the pad's GObject data for now. This should be
8897         cleaned up for 0.11 (#402393).
8898
8899 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8900
8901         reviewed by: Wim Taymans <wim@fluendo.com>
8902
8903         * docs/libs/gstreamer-libs-sections.txt:
8904         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8905         (unref_data), (gst_collect_pads_add_pad),
8906         (gst_collect_pads_add_pad_full):
8907         * libs/gst/base/gstcollectpads.h:
8908         API: Add function to specify a destroy notification for custom
8909         GstCollectData when adding new pads in GstCollectPads (#402393).
8910
8911 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
8912
8913         * po/sv.po:
8914           Update Swedish translation (#378255).
8915
8916 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8917
8918         * docs/design/draft-klass.txt:
8919           Fix the previous change, this is a list of categories and not a hierarchy.
8920
8921 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8922
8923         * docs/design/draft-klass.txt:
8924           Add info about how to get a list of used classes.
8925
8926 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
8927
8928         * plugins/elements/gsttypefindelement.c:
8929         (gst_type_find_element_chain_do_typefinding),
8930         (gst_type_find_element_change_state):
8931           Don't leak found caps in chain function (no idea why that never
8932           showed up as a leak anywhere).
8933
8934 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
8935
8936         * gst/gstplugin.h:
8937           Fix and expand GstPluginDesc API docs.
8938
8939 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8940
8941         * gst/gstcaps.c:
8942         * gst/gstelementfactory.c:
8943         * gst/gstpadtemplate.h:
8944           api doc fixes
8945
8946         * libs/gst/controller/gstcontroller.c:
8947         (gst_controlled_property_new):
8948         * tests/examples/controller/audio-example.c:
8949           comment fixes
8950
8951 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8952
8953         * configure.ac:
8954           comment about refining the xml deps
8955
8956         * docs/manuals.mak:
8957           comments about moving away from jade for docs
8958         
8959         * gst/gst.c:
8960           recommit the ifdefs to use the binary registry
8961         
8962         * gst/gstbin.c: (gst_bin_change_state_func):
8963           this break is obsolete
8964
8965         * gst/gstelementfactory.h:
8966           better GST_ELEMENT_DETAILS docs, add comment about translation
8967
8968         * gst/gstinfo.h:
8969           remove eol slash
8970
8971         * gst/gstobject.c: (gst_signal_object_get_type):
8972           add G_UNLIKELY as usual
8973
8974         * gst/gstpad.c: (gst_pad_event_default):
8975           add fall trhu comment
8976
8977         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8978         (gst_registry_binary_initialize_magic),
8979         (gst_registry_binary_save_string),
8980         (gst_registry_binary_save_pad_template),
8981         (gst_registry_binary_save_feature),
8982         (gst_registry_binary_save_plugin),
8983         (gst_registry_binary_write_cache),
8984         (gst_registry_binary_check_magic),
8985         (gst_registry_binary_load_pad_template),
8986         (gst_registry_binary_load_feature),
8987         (gst_registry_binary_load_plugin),
8988         (gst_registry_binary_read_cache):
8989           comment typo and formatting
8990
8991         * gst/gstutils.c: (gst_element_state_get_name),
8992         (gst_element_state_change_return_get_name):
8993           remove obsolete breaks
8994
8995         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8996           add FIXME 0.11 and remove cpp comment
8997
8998 2007-01-29  Edward Hervey  <edward@fluendo.com>
8999
9000         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9001         Fix print statement in an even more portable way.
9002
9003 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
9004
9005         * docs/gst/gstreamer-sections.txt:
9006         * gst/gstutils.h:
9007           API: add GST_ROUND_DOWN_* macros (#401781).
9008
9009 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
9010
9011         * docs/gst/gstreamer.types.in:
9012         * gst/gstregistry.c: (gst_registry_class_init):
9013           Document registry signals and make gtk-doc pick them up (#401381).
9014
9015 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9016
9017         * docs/pwg/building-testapp.xml:
9018           Add some audioconverts and audioresample to the pipeline, and some
9019           more comments and error handling.
9020
9021 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
9022
9023         * docs/manual/manual.xml:
9024         * docs/pwg/pwg.xml:
9025           Fix typo (#400987).
9026
9027 2007-01-26  Wim Taymans  <wim@fluendo.com>
9028
9029         * gst/gstcaps.c: (gst_static_caps_get):
9030         Init caps flags too.
9031
9032 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
9033
9034         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
9035
9036         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9037         If not using mmap'ed files try to seek to the end instead of the
9038         start to determine whether we can seek at all. This fixes the case
9039         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
9040         seeks for everything afterwards fail. Fixes #400656
9041
9042 2007-01-25  Wim Taymans  <wim@fluendo.com>
9043
9044         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
9045         Add some refcount debugging.
9046         Make gst_static_caps_get threadsafe, which is needed when autoplugging
9047         in multiple streaming threads.
9048
9049 2007-01-25  Wim Taymans  <wim@fluendo.com>
9050
9051         Patch by: David Schleef <ds at schleef dot org>
9052
9053         * docs/libs/gstreamer-libs-sections.txt:
9054         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
9055         * libs/gst/base/gstadapter.h:
9056         API: gst_adapter_copy() that can reduce the amount of memcpy when
9057         getting data from the adapter. Fixes #388201.
9058
9059 2007-01-25  Edward Hervey  <edward@fluendo.com>
9060
9061         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9062         In print statements, "%x" is for guint. Fixes build on macosx.
9063
9064 2007-01-24  Edward Hervey  <edward@fluendo.com>
9065
9066         * plugins/elements/gstmultiqueue.c:
9067         (gst_multi_queue_loop):
9068         Small fix.
9069         (single_queue_overrun_cb), (single_queue_underrun_cb),
9070         (single_queue_check_full), (gst_single_queue_new):
9071         Implement single queue growth system.
9072         This uses the extra-size properties, and will grow single queues by
9073         that much if one goes full whereas there are others empty. This is
9074         called extra-mode in the code.
9075         When a single queue's levels go back below the initial max-size
9076         limits, it is no longer in extra-mode. This is to ensure we don't
9077         consume too much memory.
9078         Fixes #399875
9079
9080 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
9081
9082         * gst/gst.c: (gst_init_get_option_group):
9083           Make warning about late g_thread_init() calls a bit more explicit,
9084           so that it's more obvious to application developers what they need
9085           to do if a user files a bug against their application.
9086
9087 2007-01-22  Edward Hervey  <edward@fluendo.com>
9088
9089         * plugins/elements/gstmultiqueue.c:
9090         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
9091         Remove previous hack of unsetting the flushing flag for the source pad
9092         instead of activating it. Instead, fix the source pad activate function
9093         so that it no longer depends on having a parent set or not.
9094
9095 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
9098
9099         * docs/manual/basics-bus.xml:
9100           Fix example code, gst_element_unref() doesn't exist any longer.
9101
9102 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
9103
9104         Patch by: Mark Nauwelaerts <manauw at skynet be>
9105
9106         * gst/gstpad.c:
9107           Fix two docs typoes (#399094).
9108
9109 2007-01-19  Edward Hervey  <edward@fluendo.com>
9110
9111         * docs/faq/gst-uninstalled:
9112         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
9113         depending on libgstbaseutils can work in uninstalled environment.
9114
9115 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
9116
9117         * gst/gsttaglist.h:
9118         * gst/gsttagsetter.c:
9119         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
9120         statement for new tag.
9121
9122 2007-01-17  Edward Hervey  <edward@fluendo.com>
9123
9124         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
9125         When dynamically creating single queues, activate sinkpad before adding
9126         it.
9127         We should be doing the same thing for the source pad, but we can't
9128         since it would call a method which needs the parent to be set in order
9129         to work propertly. Instead of activating the source pad, we just unset
9130         the flushing flag, which is the minimal requirement for adding a pad
9131         to an element in a state greater than READY.
9132
9133 2007-01-17  Edward Hervey  <edward@fluendo.com>
9134
9135         * docs/faq/gst-uninstalled:
9136         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
9137         Mac OS X.
9138
9139 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
9140
9141         * tests/check/gst/gstabi.c:
9142         * tests/check/gst/struct_hppa.h:
9143         * tests/check/libs/libsabi.c:
9144         * tests/check/libs/struct_hppa.h:
9145           Add ABI structs for HPPA (see #393796).
9146
9147 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
9148
9149         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
9150           Actually write ABI structs to the file specified in the GST_ABI
9151           environment variable, as the message we print claims we would.
9152
9153 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9154
9155         * tests/check/gst/gsttask.c:
9156           Fix header comment.
9157
9158 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9159
9160         * gst/gsttaglist.c: (_gst_tag_initialize):
9161           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
9162           previous two entries.
9163
9164 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9165
9166         * docs/gst/gstreamer-sections.txt:
9167         * gst/gsttaglist.c: (_gst_tag_initialize):
9168         * gst/gsttaglist.h:
9169           Add tag support for beat-per-minute.
9170
9171 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
9172
9173         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9174         (gst_registry_binary_initialize_magic),
9175         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
9176         (gst_registry_binary_save_pad_template),
9177         (gst_registry_binary_save_feature),
9178         (gst_registry_binary_save_plugin),
9179         (gst_registry_binary_write_cache),
9180         (gst_registry_binary_check_magic),
9181         (gst_registry_binary_load_pad_template),
9182         (gst_registry_binary_load_feature),
9183         (gst_registry_binary_load_plugin),
9184         (gst_registry_binary_read_cache):
9185         * gst/gstregistrybinary.h:
9186           Use glib types, cleanup comments, impement interfaces and uri-types.
9187
9188 2007-01-13  Andy Wingo  <wingo@pobox.com>
9189
9190         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
9191         getrange() to return buffers with other caps, while we fix
9192         demuxers and typefind, or otherwise change part-negotiation.txt.
9193
9194 2007-01-12  Andy Wingo  <wingo@pobox.com>
9195
9196         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
9197         Factor start/stop into this private function instead of partially
9198         in activate functions and partially in the change_state function.
9199         Fixes setup before the element has changed from READY->PAUSED, as
9200         is the case in pull-mode pipelines.
9201         (gst_base_transform_sink_activate_push)
9202         (gst_base_transform_src_activate_pull): Refactor to use
9203         gst_base_transform_activate().
9204         (gst_base_transform_change_state): Removed, not needed any more.
9205
9206         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9207         Truncate before fixating.
9208         
9209         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
9210         Don't set_caps() if the result of fixating is ANY, as it's not
9211         supported, and not necessary in the case of a link with no
9212         template caps on either side. Fixes tests/check/libs/basesrc in
9213         some pull-mode tests.
9214
9215         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
9216         (gst_base_transform_init, gst_base_transform_sink_activate_push)
9217         (gst_base_transform_src_activate_pull): 
9218         Track the activation mode.
9219         (gst_base_transform_setcaps): In pull mode, when activating the
9220         src pad, after activating the sink pad, activate the sink pad's
9221         peer, as discussed in part-negotiation.txt.
9222
9223         * libs/gst/base/gstbasesrc.h: 
9224         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
9225         vmethod, as in basesink.
9226
9227         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
9228
9229         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
9230         mode, first proxy the setcaps to the peer pad.
9231         (gst_base_sink_pad_fixate): Add a fixate function that calls the
9232         new fixate vmethod.
9233         (gst_base_sink_default_activate_pull): Rename from
9234         gst_base_sink_activate_pull.
9235         (gst_base_sink_negotiate_pull): New function, performs negotiation
9236         in pull mode before calling ::activate_pull().
9237         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
9238         vmethod instead of the default implementation. I have no idea how
9239         this worked before. Negotiate before calling activate_pull.
9240
9241         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
9242         sink pads in pull mode. In addition to being correct, fixes
9243         filesrc ! decodebin ! identity ! fakesink.
9244         (gst_pad_get_range, gst_pad_pull_range): Don't call
9245         gst_pad_set_caps() if the caps changes; instead error out with
9246         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
9247
9248 2007-01-12  Andy Wingo  <wingo@pobox.com>
9249
9250         * docs/design/part-negotiation.txt: Update with more policy.
9251
9252 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9253
9254         * libs/gst/check/gstbufferstraw.h:
9255         * libs/gst/check/gstcheck.h:
9256           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
9257           belongs.
9258
9259 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9260
9261         * tests/check/Makefile.am:
9262         * tests/check/gst/.cvsignore:
9263         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
9264         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
9265         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
9266         (GST_START_TEST), (gst_tag_setter_suite):
9267           Add minimal unit test for beforementioned GstTagSetter bug.
9268
9269 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
9270
9271         Patch by: René Stadler <mail at renestadler dot de>
9272
9273         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
9274           gst_tag_list_merge() returns a new list, so it's not the best idea
9275           to ingore its return value. Effectively meant that tags could only
9276           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
9277           Also add function guard to require a non-NULL taglist as input (has
9278           always been so due to gst_tag_list_copy(), just making it explicit).
9279
9280 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9281
9282         * docs/random/draft-missing-plugins.txt:
9283           Some additions: mention new API that is supposed to be used at the
9284           various stages; short blob about new gst-inspect introspection
9285           option; mention potential future problem with plugins that have
9286           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
9287
9288 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9289
9290         * tools/gst-inspect.c:
9291         (print_plugin_automatic_install_info_codecs),
9292         (print_plugin_automatic_install_info_protocols),
9293         (print_plugin_automatic_install_info), (main):
9294         Add --print-plugin-auto-install-info option to gst-inspect, so we can
9295         introspect plugin files and get machine-parsable output that corresponds
9296         to the last bit of the missing-plugin installer string (small gotcha:
9297         doesn't take into account ranks).
9298
9299 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
9300
9301         * configure.ac:
9302         * docs/gst/gstreamer-sections.txt:
9303         * gst/Makefile.am:
9304         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
9305         (gst_registry_lookup_locked):
9306         * gst/gstregistry.h:
9307         * gst/gstregistrybinary.c: (gst_registry_binary_write),
9308         (gst_registry_binary_initialize_magic),
9309         (gst_registry_binary_save_string),
9310         (gst_registry_binary_save_pad_template),
9311         (gst_registry_binary_save_feature),
9312         (gst_registry_binary_save_plugin),
9313         (gst_registry_binary_write_cache),
9314         (gst_registry_binary_check_magic),
9315         (gst_registry_binary_load_pad_template),
9316         (gst_registry_binary_load_feature),
9317         (gst_registry_binary_load_plugin),
9318         (gst_registry_binary_read_cache):
9319         * gst/gstregistrybinary.h:
9320         * gst/gstregistryxml.c: (load_feature),
9321         (gst_registry_xml_read_cache):
9322           commit binary registry (disabled by default, see #359653)
9323
9324 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9325
9326         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
9327           Fix 'make check' too.
9328
9329 2007-01-10  Andy Wingo  <wingo@pobox.com>
9330
9331         * docs/design/part-negotiation.txt: Fix a typo, add a couple
9332         notes.
9333         
9334         * docs/design/part-negotiation.txt: Update with, um, one way that
9335         pull-mode negotiation might work?
9336
9337         * gst/gstpad.h: 
9338         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
9339         that the pad must be a src pad; makes sense to call it the other
9340         way in pull mode, and the logic is symmetric anyway.
9341
9342 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
9343
9344         * plugins/elements/gstfilesink.c:
9345           Include <stdio.h> for fseeko().
9346
9347 2007-01-10  Wim Taymans  <wim@fluendo.com>
9348
9349         * gst/gstevent.c:
9350         * gst/gstevent.h:
9351         Reserve LATENCY event.
9352
9353 2007-01-09  Wim Taymans  <wim@fluendo.com>
9354
9355         * docs/design/draft-latency.txt:
9356         Updates.
9357
9358 2007-01-09  Wim Taymans  <wim@fluendo.com>
9359
9360         * docs/design/draft-latency.txt:
9361         Updates.
9362
9363         * gst/gstelement.h:
9364         * gst/gststructure.c:
9365         * gst/gsttrace.c:
9366         Small typo fixes.
9367
9368 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9369
9370         * tests/check/.cvsignore:
9371           Ignore test-registry.xml as well.
9372
9373 2007-01-09  Wim Taymans  <wim@fluendo.com>
9374
9375         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9376         unref data at the end when we are done with the pad.
9377
9378 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9379
9380         * docs/gst/gstreamer-sections.txt:
9381         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
9382         (init_post), (gst_deinit), (gst_update_registry):
9383         * gst/gst.h:
9384           API: add gst_update_registry() (#391296).
9385
9386         * tests/check/Makefile.am:
9387         * tests/check/gst/gstregistry.c:
9388         * tests/check/gst/.cvsignore:
9389           Simple unit test for the above.
9390
9391 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9392
9393         * gst/gstregistry.c: (gst_registry_scan_path_level):
9394           Plugin extension on HP-UX is .sl, add that to the list of approved
9395           plugin extensions (see #393796).
9396
9397         * tests/check/gst/gstpad.c: (GST_START_TEST):
9398           ulong => gulong. Fixes compilation with HP-UX compiler.
9399
9400         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9401           Fix compilation if valgrind headers are not available.
9402
9403 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
9404
9405         * win32/common/libgstreamer.def: 
9406           Add new exported function.
9407         * win32/vs6/libgstbase.dsp: 
9408           Add gstdataqueue.c to the build.
9409         * win32/vs6/libgstcoreelements.dsp:
9410           Add gstmultiqueue.c to the build.
9411         
9412 2007-01-06  Andy Wingo  <wingo@pobox.com>
9413
9414         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
9415         activate_pull(), providing for a way to specialize the process of
9416         spawning a thread to pull on the sink pad. There is a default
9417         implementation.
9418
9419         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
9420         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
9421         (gst_base_sink_init): Renamed pad activation functions (inserting
9422         "_pad" in their names). Refactor to use the new activate_pull
9423         vmethod, as appropriate.
9424         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
9425         default activate_pull function to start a task pulling from the
9426         sink pad, as before.
9427
9428         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
9429         on the pads if necessary, as in push()/chain(). Update docs.
9430         Shouldn't affect existing pull() usage as it is currently only
9431         being used on buffers without caps.
9432
9433 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9434
9435         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9436         (init_pre):
9437           Call g_thread_init() first thing in gst_init() / gst_check_init().
9438           When initialisation is done via gst_init_get_option_group() and
9439           GOption parsing, issue a warning if the GLib thread system has not
9440           been initialised yet by the time gst_init_get_option_group() is
9441           called, as it's quite likely other GLib functions such as
9442           g_option_context_new() have been called already then, and
9443           g_thread_init() must be called before any other GLib function. The
9444           application in question must be fixed in that case, since memory
9445           corruption might happen otherwise.
9446           We issue the warning because even if the GLib folks decide to work
9447           around the problem on their end in future, this is still an issue
9448           with all GLib versions >= 2.10.0, so we should warn until we depend
9449           on a GLib version we know to be safe.
9450           Update documentation as well.
9451           Closes bug #391278.
9452
9453 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9454
9455         * tools/gst-inspect.c: (main):
9456         * tools/gst-launch.c: (main):
9457         * tools/gst-typefind.c: (main):
9458         * tools/gst-xmlinspect.c: (main):
9459           Call g_thread_init() really really early, before any other GLib
9460           function (see #342564 and recent discussion on gtk-devel-list).
9461
9462 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9463
9464         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
9465
9466         * gst/gst_private.h:
9467         * gst/gstconfig.h.in:
9468         * gst/gstinfo.h:
9469           On win32, all the __declspec stuff for symbol exporting is
9470           apparently only needed with MSVC, but doesn't work with MingW.
9471           Fixes compilation with MingW and #391909.
9472
9473 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9474
9475         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
9476           Change some GST_ERROR_OBJECT that aren't really errors to
9477           GST_WARNING_OBJECT in order to reduce terminal spam.
9478
9479 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9480
9481         * tests/check/Makefile.am:
9482           disable test again, as there seem to be still race problems
9483
9484 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * tests/check/Makefile.am:
9487         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9488         (GST_START_TEST), (queue_suite):
9489           enable queue test again, add tests for the leaky behaviour
9490
9491 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
9492
9493         * configure.ac:
9494         * tests/examples/Makefile.am:
9495           Compile adapter test/example only if the required headers are
9496           available (fixes #391915).
9497
9498 2007-01-01  David Schleef  <ds@schleef.org>
9499
9500         * gst/gstplugin.c:
9501           Restore the previous signal handler for SIGSEGV instead of
9502           setting to default, since we may have stolen it away from
9503           someone.  (i.e., Mono)
9504
9505 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9506
9507         * docs/random/draft-missing-plugins.txt:
9508           Some small additions and clarifications.
9509
9510 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9511
9512         * gst/gstregistryxml.c: (gst_registry_save_escaped):
9513           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
9514           since that can lead to random memory corruptions and crashes
9515           (may or may not be related to #383244, #386711, and #386711).
9516
9517 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9518
9519         * tests/check/.cvsignore:
9520         * tests/check/Makefile.am:
9521           sync .cvsignome and CLEANFILES
9522
9523 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9524
9525         * tests/check/Makefile.am:
9526           fix distcheck
9527
9528 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9529
9530         * docs/design/part-states.txt:
9531           two tiny additional comments
9532         
9533         * gst/gststructure.c:
9534           doc fixing
9535
9536         * tests/check/Makefile.am:
9537         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9538         (GST_START_TEST):
9539           disable test for now, unless it gets fixed
9540
9541 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9542
9543         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9544         (GST_START_TEST):
9545           fix race in underrun test
9546
9547 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9548
9549         * tests/check/elements/.cvsignore:
9550           ignore more
9551
9552         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9553         (GST_START_TEST):
9554           try to narrow test failure
9555
9556 2006-12-21  David Schleef  <ds@schleef.org>
9557
9558         * plugins/elements/gstfakesrc.c:
9559           Use g_random_int_range(), since it produces better random
9560           numbers in a range than almost-correct floating point code.
9561
9562 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9563
9564         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9565         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9566         (gst_check_teardown_sink_pad):
9567           do not automatically (de)activate pads
9568
9569         * tests/check/Makefile.am:
9570         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9571         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
9572           add new, yet simple tests for queue
9573
9574         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
9575         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
9576         * tests/check/elements/filesrc.c: (cleanup_filesrc),
9577         (GST_START_TEST):
9578         * tests/check/elements/identity.c: (cleanup_identity):
9579           consistent pad (de)activation
9580
9581 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
9582
9583         Patch by: Sebastian Dröge  <slomo ubuntu com>
9584
9585         * libs/gst/base/gstcollectpads.c:
9586           Fix two doc typos (#387866).
9587
9588 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9589
9590         * docs/manual/advanced-dparams.xml:
9591           Fix typo (g_object_control_properties() doesn't exist).
9592
9593 2006-12-19  Edward Hervey  <edward@fluendo.com>
9594
9595         * gst/gstsegment.c: (gst_segment_set_seek):
9596         Fine tune the cases where the segment start/stop values are really
9597         updated.
9598         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9599         Add tests for the return values of gst_segment_set_seek().
9600
9601 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9602
9603         * gst/gst.c:
9604           Docs typo fix.
9605
9606         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9607         (gst_queue_init):
9608           Fix incorrect documentation and flesh it out a bit more.
9609           Set default values for the max properties on the GParamSpec as well,
9610           so it shows up correctly in gst-inspect.
9611
9612 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
9613
9614         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9615           Correct docs of queue, add more detail and crosslink it more.
9616
9617 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9618
9619         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9620           Print additional debug info when the stream isn't perfectly
9621           timestamped; don't try to use invalid durations.
9622
9623 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9624
9625         * docs/design/Makefile.am:
9626           Dist new design docs.
9627
9628 2006-12-16  Wim Taymans  <wim@fluendo.com>
9629
9630         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9631
9632         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
9633         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9634         (gst_collect_pads_stop), (gst_collect_pads_event),
9635         (gst_collect_pads_chain):
9636         * libs/gst/base/gstcollectpads.h:
9637         Add refcounting to the collectpads data so we can track when it's safe
9638         to free the data. Fixes #383382.
9639
9640 2006-12-15  Wim Taymans  <wim@fluendo.com>
9641
9642         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9643         (gst_collect_pads_remove_pad):
9644         Automatically activate/deactivate pads when they are added to a
9645         started/stoped collectpads.
9646
9647 2006-12-15  Wim Taymans  <wim@fluendo.com>
9648
9649         * gst/gstelement.c: (gst_element_add_pad):
9650         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9651         * gst/gstpad.c: (gst_pad_init):
9652         Set pads to FLUSHING when they are created. Check, warn and fix when a
9653         demuxer adds an inactive pad to itself when running. Fixes #339326.
9654
9655 2006-12-15  Wim Taymans  <wim@fluendo.com>
9656
9657         * gst/gstelement.c: (gst_element_class_init),
9658         (gst_element_default_send_event), (gst_element_send_event),
9659         (gst_element_default_query), (gst_element_query):
9660         Expose default element send_event and query handling as vmethods that
9661         subclasses can chain up to.
9662
9663 2006-12-15  Wim Taymans  <wim@fluendo.com>
9664
9665         * gst/gstelement.c: (gst_element_set_state_func):
9666         Small documentation fixes.
9667
9668 2006-12-15  Wim Taymans  <wim@fluendo.com>
9669
9670         * docs/design/draft-latency.txt:
9671         Checked in draft for handling latency in pipelines.
9672
9673 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * Makefile.am:
9676         * gstreamer.doap:
9677         * gstreamer.spec.in:
9678           adding .doap file
9679
9680 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
9681
9682         * gst/gst.c: (init_pre), (init_post):
9683           init_pre() and init_post() might be called via our GOptionGroup or
9684           from gst_init(), and we should skip both of them if we've already
9685           been initialised, otherwise we will init some things twice or add
9686           two default log functions.
9687
9688 2006-12-13  Edward Hervey  <edward@fluendo.com>
9689
9690         * docs/manual/basics-bus.xml:
9691         No, gst_main_loop does not exist. Its g_main_loop.
9692         Discovered by somebody who abused the copy-paste technique of coding :)
9693
9694 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
9695
9696         * gst/gstghostpad.c:
9697           Log ghostpad debug stuff to the GST_PADS category as well rather
9698           than just to the default category.
9699
9700 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9701
9702         * configure.ac:
9703         * gst/gst.c: (init_pre):
9704           Add some basic system details such as OS and architecture
9705           to the debug output if possible, courtesy of uname().
9706
9707 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9708
9709         * docs/gst/running.xml:
9710           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
9711           environment variables.
9712
9713 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9714
9715         * tests/check/gst/gstbin.c: (GST_START_TEST):
9716         It is acceptable to have a refcount of 2 or 3 at this point in the
9717         test, because the pipeline might be just posting its state_change
9718         message. The next line then waits for that message to appear using
9719         bus_poll, so that should be fine too.
9720
9721 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9722
9723         * gst/gst.c: (ensure_current_registry_forking):
9724         Ignore EINTR when reading from the child registry pipe.
9725         Explicitly ignore the return value from close, since it makes no
9726         difference.
9727
9728         * gst/gstminiobject.c: (gst_mini_object_ref),
9729         (gst_mini_object_unref):
9730         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
9731
9732         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
9733         When removing cached plugins, remove their features too, so they're
9734         not visible after they've disappeared.
9735
9736         * gst/gstutils.c: (prepare_link_maybe_ghosting):
9737         In the unlikely case that we are linking pads with no parents, don't
9738         crash trying to get the non-existent parent bin.
9739
9740         * gst/parse/grammar.y:
9741         Output debug in the PIPELINE category
9742
9743 2005-03-08  Wim Taymans  <wim@fluendo.com>
9744
9745         Patch by: René Stadler <mail at renestadler dot de>
9746
9747         * gst/gstclock.c: (gst_clock_new_periodic_id):
9748         Reject invalid clock times for interval of periodic ids.
9749         Fixes ##383506.
9750
9751 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9752
9753         * gst/gstelementfactory.c: (gst_element_factory_create):
9754         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9755         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9756         * tools/gst-inspect.c: (print_element_info):
9757         Fix refcounting of gst_plugin_feature_load to match the docs. 
9758         Fixes: #380129
9759
9760 2006-12-07  Wim Taymans  <wim@fluendo.com>
9761
9762         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
9763         (gst_base_sink_get_position):
9764         Improve debugging of events.
9765
9766 2006-12-07  Wim Taymans  <wim@fluendo.com>
9767
9768         Patch by: René Stadler <mail at renestadler dot de>
9769
9770         * gst/gstclock.c: (gst_clock_id_wait):
9771         Make period ids add the interval to the origial requested time instead
9772         of the possibly updated time which can be wrong when there are multiple
9773         waiters for the same id. Fixes #382592.
9774
9775         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
9776         (gst_system_clock_id_wait_jitter_unlocked),
9777         (gst_system_clock_id_wait_jitter):
9778         Fix restart in the async notify thread when an async entry is added to
9779         the front of the list. Fixes #381492. 
9780
9781         * tests/check/gst/gstsystemclock.c: (store_callback),
9782         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
9783         Added test for multiple async waits.
9784         Added test for async wait order.
9785
9786 2006-12-07  Wim Taymans  <wim@fluendo.com>
9787
9788         * gst/gstbin.c: (gst_bin_query):
9789         Add some more docs about the POSITION query.
9790
9791 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9792
9793         * configure.ac:
9794         Bump version nano - back to CVS.
9795
9796 === release 0.10.11 ===
9797
9798 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
9799
9800         * configure.ac:
9801           releasing 0.10.11, "Love never runs on time"
9802
9803 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
9804
9805         * win32/common/libgstbase.def:
9806         * win32/common/libgstreamer.def:
9807         * win32/vs8/libgstbase.vcproj:
9808         * win32/vs8/libgstcoreelements.vcproj:
9809         * win32/vs8/libgstreamer.vcproj:
9810         Fix compilation on win32 under VS8
9811         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9812         Partially fixes #381175
9813
9814 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
9815
9816         * gst/gstvalue.c: (gst_value_compare_fraction):
9817         If someone is foolish enough to compare 2 fractions with denominator =
9818         0, return UNORDERED rather than aborting.
9819
9820 2006-11-28  Edward Hervey  <edward@fluendo.com>
9821
9822         * libs/gst/base/Makefile.am:
9823         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
9824         (gst_data_queue_base_init), (gst_data_queue_class_init),
9825         (gst_data_queue_init), (gst_data_queue_new),
9826         (gst_data_queue_cleanup), (gst_data_queue_finalize),
9827         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
9828         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
9829         (gst_data_queue_is_empty), (gst_data_queue_is_full),
9830         (gst_data_queue_set_flushing), (gst_data_queue_push),
9831         (gst_data_queue_pop), (gst_data_queue_drop_head),
9832         (gst_data_queue_set_property), (gst_data_queue_get_property):
9833         * libs/gst/base/gstdataqueue.h:
9834         New GstDataQueue object for threadsafe queueing. Most useful for
9835         elements that need some queueing functionnality.
9836         * docs/libs/gstreamer-libs-docs.sgml:
9837         * docs/libs/gstreamer-libs-sections.txt:
9838         Insert documentation for GstDataQueue
9839         * plugins/elements/Makefile.am:
9840         * plugins/elements/gstelements.c:
9841         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
9842         (gst_multi_queue_class_init), (gst_multi_queue_init),
9843         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
9844         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
9845         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
9846         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
9847         (gst_multi_queue_loop), (gst_multi_queue_chain),
9848         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
9849         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
9850         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
9851         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
9852         (wake_up_next_non_linked), (compute_next_non_linked),
9853         (single_queue_overrun_cb), (single_queue_underrun_cb),
9854         (single_queue_check_full), (gst_single_queue_new):
9855         * plugins/elements/gstmultiqueue.h:
9856         New multiqueue element, using GstDataQueue. Used for queuing multiple
9857         streams.
9858         Closes #344639 and #347785
9859
9860 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
9861
9862         * docs/pwg/advanced-types.xml:
9863           add more missing type details
9864
9865         * tools/gst-run.c: (main):
9866           remove unused variable
9867
9868 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
9869
9870         * docs/libs/Makefile.am:
9871         * docs/libs/gstreamer-libs.types:
9872           add types of base classes to enable gobject specific stuff in the docs
9873
9874         * docs/random/ensonic/embedded.txt:
9875           more ideas about isolating platform specific things
9876
9877 2006-11-20  Wim Taymans  <wim@fluendo.com>
9878
9879         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
9880
9881         * libs/gst/check/gstcheck.h:
9882         Fix compilation and running against 0.9.4. Fixes #377332.
9883
9884 2006-11-20  Wim Taymans  <wim@fluendo.com>
9885
9886         * gst/gstsegment.c: (gst_segment_set_seek),
9887         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9888         (gst_segment_to_running_time):
9889         Fix boundary checking in to_running_time() and to_stream_time().
9890         Fixes #377183.
9891
9892         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9893         stream and running time can now be calculated for the complete
9894         clipped segment.
9895
9896 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
9897
9898         * gst/gstpad.c: (gst_pad_push_event):
9899           Can't access event structure after giving away ownership of
9900           the event.
9901
9902 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
9903
9904         * docs/random/ensonic/embedded.txt:
9905         * docs/random/ensonic/profiling.txt:
9906         * docs/random/ensonic/receipies.txt:
9907           more thinking
9908
9909 2006-11-13  Wim Taymans  <wim@fluendo.com>
9910
9911         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9912
9913         * gst/gstpad.c:
9914         Fix documentation for gst_pad_dispatcher. Fixes #374475.
9915
9916 2006-11-13  Wim Taymans  <wim@fluendo.com>
9917
9918         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
9919
9920         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9921         Store new length in segment duration so we don't keep on calling the
9922         potentially expensize get_size() call. Fixes #370865.
9923
9924 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
9925
9926         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
9927
9928         * win32/common/libgstreamer.def:
9929           Add two missing symbols (#366492).
9930
9931 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
9932
9933         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
9934         (gst_adapter_take_buffer):
9935         Fix format string to use all its arguments.
9936         Remove useless >= check on a guint
9937
9938 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9939
9940         * tests/examples/adapter/.cvsignore:
9941         Ignore build file as commanded by the build-bot
9942
9943 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9944
9945         * tests/examples/adapter/Makefile.am:
9946         * tests/examples/adapter/adapter_test.c: (run_test_take),
9947         (run_test_take_buffer), (run_tests), (main):
9948
9949         Add new files from the previous commit
9950
9951 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9952
9953         * Makefile.am:
9954         * configure.ac:
9955         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
9956         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
9957         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
9958         * libs/gst/base/gstadapter.h:
9959         * tests/check/libs/adapter.c: (create_and_fill_adapter),
9960         (GST_START_TEST), (gst_adapter_suite):
9961         * tests/examples/Makefile.am:
9962         Do some optimisation work in GstAdapter to avoid copies in more cases.
9963         It could still do slightly better by merging buffers when
9964         gst_buffer_is_span_fast is true, but is already faster. 
9965
9966         Also, avoid traversing a single-linked list to append each incoming 
9967         buffer inside the adapter.
9968
9969         Add simple test app that times the adapter behaviour in different
9970         situations, and extend the unit test to check that bytes enter and
9971         exit the adapter in their original order.
9972
9973 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9974
9975         * docs/random/draft-missing-plugins.txt:
9976           Update: use element message instead of adding a new message
9977           type to the core; don't provide GStreamer API to initiate the
9978           plugin download, just provide API to compose the strings needed
9979           and let an external libgimmestuff handle the rest.
9980
9981 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
9982
9983         * tools/gst-inspect.c: (print_element_properties_info):
9984         Print a string instead of 'unknown type' for GValueArray properties
9985
9986 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
9987
9988         * docs/random/draft-missing-plugins.txt:
9989         More small fixes.
9990
9991 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9992
9993         * tests/examples/typefind/typefind.c: (type_found), (main):
9994           Make typefind element example work again (#371894); add a
9995           license header.
9996
9997 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9998
9999         * docs/random/draft-missing-plugins.txt:
10000           Commit initial draft about how to deal with missing plugins,
10001           needs work (API too).
10002
10003 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
10004
10005         * docs/pwg/advanced-types.xml:
10006           documents the new caps elements (see #363118)
10007
10008 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10009
10010         * gst/gstplugin.c: (gst_plugin_load_file):
10011         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
10012         (gst_file_src_map_region), (gst_file_src_start):
10013         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
10014         (gst_file_index_commit):
10015           Use g_strerror() instead of strerror() - we want UTF-8.
10016
10017 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
10018
10019         Patch by: Peter Kjellerstedt <pkj at axis com>
10020
10021         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10022           Another printf fix (#371493).
10023
10024 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10025
10026         * tests/check/gst/gsttag.c:
10027           relicence (okay with author=company)
10028
10029 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10030
10031         * gst/gstpad.c: (gst_pad_event_default_dispatch),
10032         (gst_pad_push_event):
10033           Enhance debug and improve docs
10034         
10035         * gst/gsturi.c:
10036           Fix docs
10037
10038 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10039
10040         * docs/random/ensonic/distributed.txt:
10041         * docs/random/ensonic/profiling.txt:
10042           more ideas
10043
10044 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
10045
10046         * docs/gst/gstreamer-sections.txt:
10047           add new API and fix the build
10048           
10049         * gst/gstbin.c: (gst_bin_recalc_state):
10050         * gst/gstelement.c: (gst_element_message_full),
10051         (gst_element_get_state_func), (gst_element_set_state_func):
10052           use new API and improve logging
10053         
10054         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10055         * gst/gstutils.h:
10056           API: add function to get StateChangereturn names to improve logs 
10057
10058 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10059
10060         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10061           I'm considering shooting the next person to put strerror stuff
10062           in the translateable part of the message.
10063
10064 2006-11-03  Wim Taymans  <wim@fluendo.com>
10065
10066         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10067         Get the type and printf conversion specifiers right.
10068
10069 2006-11-03  Wim Taymans  <wim@fluendo.com>
10070
10071         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10072
10073         * gst/gstpad.c: (gst_pad_init), (pre_activate),
10074         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
10075         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
10076         Some small cleanups. Improve debugging.
10077         * gst/gstpad.h:
10078         Signal all waiting threads with a broadcast instead of just one.
10079         Fixes #369942.
10080
10081 2006-11-03  Wim Taymans  <wim@fluendo.com>
10082
10083         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
10084         (gst_fd_src_create):
10085         Add some debugging. 
10086         Only update fd when it's different from the old.
10087
10088 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10089
10090         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
10091           Printf fixes for PPC/OSX, take two (#369366).
10092
10093 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10094
10095         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
10096
10097         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
10098         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10099         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
10100           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
10101           don't cast to long long for portability reasons, but use
10102           GLib's types instead.
10103
10104 2006-10-30  Michael Smith  <msmith@fluendo.com>
10105
10106         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10107           Get the arguments to lseek() the right way around.
10108           Fixes 367677.
10109
10110 2006-10-30  Wim Taymans  <wim@fluendo.com>
10111
10112         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
10113
10114         * gst/gstinfo.h:
10115         _declspec should be __declspec (two underscores, not one). Fixes 366572.
10116
10117 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10118
10119         Patch by: Kjartan Maraas  <kmaraas at gnome org>
10120
10121         * docs/design/part-MT-refcounting.txt:
10122         * docs/random/wtay/capsnego2-docs:
10123         * gst/gstclock.c:
10124         * gst/gstxml.c:
10125           Typo fixes (#366212).
10126
10127 2006-10-28  Wim Taymans  <wim@fluendo.com>
10128
10129         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10130
10131         * gst/gst.c:
10132         * win32/common/libgstbase.def:
10133         * win32/common/libgstreamer.def:
10134         * win32/vs8/libgstbase.vcproj:
10135         * win32/vs8/libgstcontroller.vcproj:
10136         Add needed entries in .def files.
10137         Use HAVE_UNISTD_H.
10138         Rearrange def files in vs8 solutions. Fixes #366286.
10139
10140 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
10141
10142         * win32/common/gstconfig.h:
10143           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
10144           hand-made win32 gstconfig.h. Fixes #366321.
10145
10146 2006-10-27  Wim Taymans  <wim@fluendo.com>
10147
10148         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
10149         (gst_ghost_pad_new_full):
10150         Make acceptcaps return TRUE when we don't have a target, just like
10151         setcaps does.
10152
10153 2006-10-27  Wim Taymans  <wim@fluendo.com>
10154
10155         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10156         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
10157
10158 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
10159
10160         * gst/gststructure.c: (gst_structure_id_set_value):
10161           If someone tries to set a non-UTF8 string field on a structure,
10162           don't just print a warning, but also ignore the request and do
10163           not change/add that field to the structure.
10164
10165         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10166           Test for the above.
10167
10168 2006-10-25  David Schleef  <ds@schleef.org>
10169
10170         * gst/gstinfo.c:
10171           g_hash_table_insert() needs a cast to a non-const pointer duh.
10172
10173 2006-10-25  David Schleef  <ds@schleef.org>
10174
10175         * gst/gstinfo.c:
10176         * gst/gstinfo.h:
10177           Change name parameter of _gst_debug_register_funcptr to const
10178           to reflect the constness of its use in the function as well
10179           as to quiet a gcc warning.
10180
10181 2006-10-25  Edward Hervey  <edward@fluendo.com>
10182
10183         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
10184         Don't push the buffer if it's empty.
10185         Closes #363095
10186
10187 2006-10-24  Wim Taymans  <wim@fluendo.com>
10188
10189         * gst/gstevent.h:
10190         Add small comment.
10191
10192         * libs/gst/base/gstbasetransform.c:
10193         (gst_base_transform_sink_eventfunc):
10194         Debug segment values *after* updating them as this is more
10195         interesting.
10196
10197 2006-10-23  Wim Taymans  <wim@fluendo.com>
10198
10199         * docs/design/part-events.txt:
10200         Update some docs.
10201
10202         * docs/design/part-block.txt:
10203         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10204         (gst_pad_push_event):
10205         Revert BLOCKING patch, it tries to be smart without really having a
10206         clear idea what or how. So, now we discard all FLUSHING events again on
10207         a blocking pad. Should fix gnonlin again.
10208
10209 2006-10-23  Wim Taymans  <wim@fluendo.com>
10210
10211         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10212
10213         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10214         (gst_base_src_start), (gst_base_src_activate_push):
10215         Make sure size is always initialized. Fixes #364388.
10216
10217 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
10218
10219         * docs/random/ensonic/distributed.txt:
10220           add some ideas about doing distributed processing
10221
10222         * docs/random/ensonic/profiling.txt:
10223           get_rusage look promising
10224
10225 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10226
10227         * docs/manual/basics-helloworld.xml:
10228           Add a cast in example to fix compile warning
10229
10230 2006-10-18  Wim Taymans  <wim@fluendo.com>
10231
10232         * gst/gstsegment.c: (gst_segment_set_last_stop),
10233         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10234         Relax arg checking again, -1 is allowed.
10235
10236 2006-10-18  Wim Taymans  <wim@fluendo.com>
10237
10238         * gst/gstsegment.c: (gst_segment_set_last_stop),
10239         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
10240         _set_last_stop() must be with a value != -1
10241         A _TYPE_SET to -1 means seek to 0.
10242         Calc last_stop correctly for negative rates.
10243         Make sure we work with positive durations when updating a segment.
10244
10245 2006-10-18  Wim Taymans  <wim@fluendo.com>
10246
10247         * docs/design/part-live-source.txt:
10248         * gst/gstclock.h:
10249         Small docs fixes.
10250
10251 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
10252
10253         * gst/gstbuffer.h:
10254           Add an explicit cast to GstBuffer** to keep old code that added an
10255           explicit cast to GstMiniObject** for gst_mini_object_replace()
10256           compiling without warning.
10257
10258 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
10259
10260         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
10261           check for validity of dates
10262
10263 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10264
10265         * docs/gst/gstreamer-sections.txt:
10266           Forgot this one, makes gtk-doc shut up.
10267
10268 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10269
10270         Patch by: Peter Kjellerstedt <pkj at axis com>
10271
10272         * gst/gstobject.h:
10273           Don't define xmlNodePtr to gpointer if the core was built with
10274           --disable-loadsave and --disable-registry, this will break
10275           applications that want to use libxml2 but are buildling against a
10276           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
10277           instead so we don't have to mess with the libxml2 namespace
10278           (#361675).
10279
10280 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
10281
10282         * gst/gstbuffer.h:
10283           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
10284           type-punned pointer warnings.
10285
10286 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
10287
10288         * gst/gstelement.h:
10289           Add casts to the correct return type to state <=> state transition
10290           macros.
10291
10292 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
10293
10294         * docs/design/part-live-source.txt:
10295           describe howto handle latency
10296         
10297         * docs/random/ensonic/profiling.txt:
10298           more ideas
10299
10300         * tools/gst-plot-timeline.py:
10301           fix log parsing for solaris, remove unused function
10302
10303 2006-10-16  Wim Taymans  <wim@fluendo.com>
10304
10305         * docs/design/part-trickmodes.txt:
10306         * gst/gstevent.c:
10307         Update some docs regarding reverse playback.
10308
10309 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10310
10311         Patch by: Marcus Granado  <mrc dot gran at gmail com>
10312
10313         * win32/vs8/grammar.vcproj:
10314           Error out with a warning if glib-genmarshal.exe is not in path,
10315           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
10316
10317 2006-10-13  Wim Taymans  <wim@fluendo.com>
10318
10319         * gst/gstsegment.c: (gst_segment_set_seek):
10320         When seeking to stop -1, set last_stop (current position) to the
10321         duration of the segment.
10322
10323 2006-10-13  Wim Taymans  <wim@fluendo.com>
10324
10325         * gst/gstelement.h:
10326         Clarify _NO_PREROLL a bit more.
10327
10328         * gst/gstevent.c:
10329         Fix docs.
10330
10331         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
10332         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
10333         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
10334         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
10335         due to wrong locking order. Fixes #361769.
10336         Remove some redundant/misplaced checks in pad_block.
10337
10338         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10339         For negative rates, count backwards from the duration.
10340
10341 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10342
10343         * gst/gsterror.c: (_gst_library_errors_init):
10344           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
10345           up with something better).
10346
10347 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
10348
10349         * win32/vs6/libgstreamer.dsp:
10350         * win32/vs7/libgstreamer.vcproj:
10351         * win32/vs8/libgstreamer.vcproj:
10352           Don't reference glib-compat.c which is currently not used and not
10353           disted; add gstquark.c which was recently added. Fixes #361730.
10354
10355 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
10356
10357         * win32/common/libgstbase.def:
10358         * win32/common/libgstcontroller.def:
10359         * win32/common/libgstreamer.def:
10360           Add gst_caps_merge() and a bunch of other recently-added functions.
10361           Fixes #361732.
10362
10363 2006-10-11  Wim Taymans  <wim@fluendo.com>
10364
10365         * docs/plugins/gstreamer-plugins.args:
10366         * docs/plugins/inspect/plugin-coreelements.xml:
10367         * docs/plugins/inspect/plugin-coreindexers.xml:
10368         Update element args.
10369
10370         * gst/gstsystemclock.c:
10371         Small comment update.
10372
10373         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10374         (gst_tee_request_new_pad), (gst_tee_release_pad),
10375         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
10376         (gst_tee_sink_activate_pull):
10377         * plugins/elements/gsttee.h:
10378         Some tee loving:
10379         Add default property defines.
10380         Implement release pad function.
10381         Give properties better blubs etc.
10382         Activate pads before adding them to a running tee.
10383         Do simple buffer_alloc on the first requested pad.
10384         Post error when activation fails.
10385
10386 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10387
10388         * gst/gst.c: (ensure_current_registry_forking):
10389           Check return value of write() to make compiler happy.
10390
10391 2006-10-11  Wim Taymans  <wim@fluendo.com>
10392
10393         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10394
10395         * plugins/elements/gstqueue.c: (gst_queue_chain):
10396         Recheck queue filledness after signalling the overrun when we're about
10397         to leak downstream because we released the lock when emitting the signal
10398         and the queue could be empty again. Fixes #352345.
10399
10400 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10401
10402         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10403           Fix refcounting here too, just like we did for _new_valist() a few
10404           days ago (#357180) (thanks to René Stadler). Also remove all those
10405           'Since: 0.9' from the gtk-doc blobs.
10406
10407         * tests/check/libs/controller.c: (controller_refcount_new_list),
10408         (gst_controller_suite):
10409           Unit test for the above.
10410
10411 2006-10-10  Wim Taymans  <wim@fluendo.com>
10412
10413         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
10414
10415         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
10416         (gst_pad_save_thyself):
10417         Update some docs.
10418         Write pad direction in XML output. Fixes #345496.
10419
10420 2006-10-10  Wim Taymans  <wim@fluendo.com>
10421
10422         Patch by: René Stadler <mail at renestadler dot de>
10423
10424         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10425         (gst_controller_new_list), (_gst_controller_dispose),
10426         (_gst_controller_finalize), (_gst_controller_class_init):
10427         Take ref to controlled object so that it cannot disappear. 
10428         Fixes #357432.
10429
10430 2006-10-10  Wim Taymans  <wim@fluendo.com>
10431
10432         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10433         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10434         (gst_check_teardown_sink_pad):
10435         Activate/deactivate pads in setup/teardown respectively.
10436
10437 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10438
10439         Patch by: Josep Torra Valles <josep@fluendo.com>
10440
10441         * gst/Makefile.am:
10442         Cast values when making gstenumtypes.h.  This pacifies Forte
10443         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
10444         in the enumeration.
10445
10446 2006-10-09  Wim Taymans  <wim@fluendo.com>
10447
10448         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
10449         Rename some more @cur to @start to fix docs. 
10450
10451         * gst/gstsegment.c: (gst_segment_set_seek):
10452         Fix typo.
10453         time and start must always stay in sync as defined in design doc.
10454
10455         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10456         Rename param to fix docs.
10457
10458         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10459         Check that start and time are in sync.
10460
10461         * tests/check/pipelines/parse-launch.c:
10462         (gst_parse_test_element_change_state):
10463         Activate pad before adding to the element.
10464
10465 2006-10-09  Wim Taymans  <wim@fluendo.com>
10466
10467         * docs/design/part-qos.txt:
10468         Fix typo.
10469
10470         * gst/gstevent.c:
10471         * gst/gstevent.h:
10472         Update seek event docs regarding negative rates.
10473         Rename @cur to @start. 
10474
10475         * gst/gstsegment.c: (gst_segment_set_seek):
10476         * gst/gstsegment.h:
10477         Update set_seek docs regarding negative rates.
10478         Correctly update last_stop to @stop when dealing with negative
10479         rates.
10480         Rename @cur to @start. 
10481
10482         * tests/check/gst/gstpad.c: (GST_START_TEST):
10483         Activate pads before trying to use them.
10484
10485         * tests/check/gst/gstsegment.c: (GST_START_TEST),
10486         (gst_segment_suite):
10487         Add simple check for segments and negative rates.
10488
10489 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10490
10491         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10492         * gst/gsttaglist.h:
10493         * docs/gst/gstreamer-sections.txt:
10494           API: add gst_tag_list_is_empty() (#360467).
10495
10496         * tests/check/gst/gsttag.c: (GST_START_TEST):
10497           And a test case.
10498
10499 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10500
10501         * gst/gstmessage.h:
10502         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
10503         a value that doesn't fit on enumeration.
10504
10505 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10506
10507         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10508         Remove local debugging system and use Gstreamer's instead.
10509
10510 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10511
10512         Patch by: Josep Torra Valles <josep@fluendo.com>
10513
10514         * common/m4/gst-error.m4:
10515         Disable warning of statement not reached on Forte.
10516         * gst/gstmessage.h:
10517         Fix warning on Forte (value doesn't fit on enumeration).
10518         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
10519         Fix warning on Forte (value doesn't fit on enumeration).
10520         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10521         DEBUG macro says it takes minimum of 2 args and so Forte
10522         complains about the use with just 1 arg.
10523         * plugins/elements/gstfdsink.c:
10524         * plugins/elements/gstfdsrc.c:
10525         * plugins/elements/gstfilesink.c:
10526         * plugins/elements/gstfilesrc.c:
10527         Use correct return type for the uri handler implementations.
10528
10529         All these fix warnings in Forte.  Fixes bug #360860.
10530
10531 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10532
10533         * gst/gstelement.h:
10534           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
10535           format string, so don't use G_GNUC_PRINTF for those versions.
10536
10537 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10538
10539         * gst/gsttaglist.c: (gst_is_tag_list):
10540         * gst/gsttaglist.h:
10541           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
10542
10543         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10544           Small test for the above.
10545
10546 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10547
10548         * gst/gsttaglist.h:
10549           Less tabs, more spaces.
10550
10551 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         * gst/gstinfo.h:
10554           Those two function declarations do actually belong there, revert
10555           commit from yesterday that turned them intro macros.
10556
10557 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10558
10559         Patch by: Josep Torra Valles <josep@fluendo.com>
10560
10561         * gst/gst.c: (gst_init_get_option_group):
10562         Fix empty declaration and type mismatch.
10563         * gst/gstbin.c: (gst_bin_change_state_func):
10564         Fix type mismatch.
10565         * gst/gstelement.c: (gst_element_continue_state),
10566         (gst_element_set_state_func), (gst_element_change_state),
10567         (gst_element_change_state_func):
10568         Fix type mismatches.
10569         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
10570         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
10571         Cast as appropriate.
10572         * gst/gstobject.c: (gst_class_signal_connect):
10573         Cast as appropriate.  The function pointer parameter really
10574         has the wrong type but would break API if we change it.
10575         * gst/gstquery.c:
10576         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
10577         order of including string.h.
10578         * gst/gstutils.c: (gst_element_state_get_name):
10579         Remove unreachable line.
10580         * gst/gstxml.c: (gst_xml_parse_doc):
10581         Fix type mismatch.
10582         All these caught by Forte.
10583
10584 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10585
10586         Patch by: Josep Torra Valles <josep@fluendo.com>
10587
10588         * common/m4/gst-error.m4:
10589         Fixed bug #360151.
10590         We need to disable warnings on Forte for empty declarations
10591         due to gst-indent adding ;s to lines that just use macros
10592         where the macro actually doesn't need a ; at end to end
10593         statement.
10594
10595 2006-10-06  Wim Taymans  <wim@fluendo.com>
10596
10597         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10598         (gst_file_sink_close_file), (gst_file_sink_event),
10599         (gst_file_sink_render):
10600         Add some FIXME for the NEWSEGMENT handling.
10601
10602 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10603
10604         * gst/parse/grammar.y:
10605         Remove static function gst_parse_element_lock as all it does
10606         is return.  Looks like cruft from 0.8.
10607
10608 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10609
10610         Patch by: Josep Torra Valles <josep@fluendo.com>
10611
10612         * common/m4/gst-error.m4:
10613         * configure.ac:
10614         * libs/gst/net/Makefile.am:
10615         Fix a compilation issue with Forte on Solaris.  inet_aton is in
10616         libresolv.
10617
10618 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10619
10620         * gst/gstpad.c: (pre_activate):
10621         * gst/gstregistry.c: (gst_registry_scan_path_level):
10622         * gst/gstregistryxml.c: (load_plugin):
10623         * libs/gst/controller/gstcontroller.c:
10624         (gst_controlled_property_set_interpolation_mode):
10625         * libs/gst/dataprotocol/dataprotocol.c:
10626         (gst_dp_packet_from_event_1_0):
10627         * libs/gst/net/gstnetclientclock.c:
10628         (gst_net_client_clock_observe_times):
10629         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10630           Printf fixes.
10631
10632 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10633
10634         * configure.ac:
10635         * docs/gst/gstreamer-sections.txt:
10636         * gst/gstconfig.h.in:
10637         * gst/gstelement.h:
10638         * gst/gstinfo.h:
10639           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
10640           whether we can use G_GNUC_PRINTF in other header files and at
10641           least check the printf format/arguments of debug messages and
10642           GST_ELEMENT_ERROR messages when the printf extension is not
10643           being used.
10644           Replace more tabs with spaces in gstinfo.h and remove two spurious
10645           function declarations in GST_DISABLE_DEBUG part with macros.
10646
10647 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
10648
10649         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
10650           More docs for the sync-message signal (mention that it is not
10651           emitted by default); log message structures of messages posted on
10652           the bus as well.
10653
10654 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
10655
10656         * gst/gst.c: (ensure_current_registry_forking):
10657         Use a pipe pair to receive status results from the forked child, and
10658         ignore the result from waitpid. Fixes #355499
10659
10660 2006-10-02  Wim Taymans  <wim@fluendo.com>
10661
10662         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10663         (gst_ghost_pad_suite):
10664         Fix leak in check.
10665
10666 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10667
10668         * gst/gstpad.c:
10669           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
10670
10671 2006-10-02  Edward Hervey  <edward@fluendo.com>
10672
10673         * docs/design/part-block.txt:
10674         Further explain the use of flushing on blocked pads.
10675         * docs/gst/gstreamer-sections.txt:
10676         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10677         (gst_pad_push_event):
10678         * gst/gstpad.h:
10679         Added new GstPadFlag : GST_PAD_BLOCKING.
10680         Adds the notion of pads really blocking, which enables to properly
10681         handle FLUSH_START/FLUSH_STOP events on blocked pads.
10682         Fixes #358999
10683         API: gst_pad_is_blocking()
10684         API: GST_PAD_IS_BLOCKING() macro
10685         API: GST_PAD_BLOCKING GstPadFlag
10686         
10687 2006-10-02  Wim Taymans  <wim@fluendo.com>
10688
10689         Patch by: mrcgran <mrc.gran at gmail dot com>
10690
10691         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
10692         Filter the proxied caps against the padtemplate if we have one.
10693
10694         * gst/gstquery.c: (gst_query_new_segment):
10695         Add include for gstinfo.h so that compilation with
10696         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
10697
10698 2006-10-02  Wim Taymans  <wim@fluendo.com>
10699
10700         Patch by: Alessandro Decina  <alessandro at nnva org>
10701
10702         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
10703         (gst_file_sink_set_location), (gst_file_sink_open_file),
10704         (gst_file_sink_close_file), (gst_file_sink_event),
10705         (gst_file_sink_render):
10706         Set file to NULL when closing filesink so that we can set a new filename
10707         in READY. Fixes #358613.
10708
10709 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10710
10711         Patch by: Alessandro Decina  <alessandro at nnva org>
10712
10713         * gst/gstevent.c: (_gst_event_copy):
10714           Fix gst_mini_object_make_writable() and gst_event_copy() for events
10715           with event structures by setting the parent refcount address of the
10716           copied structure to the address of the refcount member of the newly
10717           copied event rather than the address of the refcount member of the
10718           original event. Fixes #358737.
10719
10720         * tests/check/gst/gstevent.c: (GST_START_TEST):
10721           Unit test for the above.
10722
10723 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
10724
10725         * docs/design/Makefile.am:
10726           Dist some more files.
10727
10728 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10729
10730         * tests/check/libs/controller.c: (GST_START_TEST),
10731         (gst_controller_suite):
10732           Add test for the previous fix; add some more tests
10733           for correct refcounting behaviour; fix a few leaks
10734           in test cases; call gst_controller_init() at start
10735           of all tests.
10736
10737 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10738
10739         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10740         (gst_controller_set_from_list):
10741           Don't g_return_val_if_fail() on timed values with invalid timestamps
10742           inside a critical section without unlocking the mutex. Spotted by
10743           René Stadler. (#357617)
10744           Also, fix up refcounting properly: when returning an existing
10745           controller, we should increase the reference only once and not
10746           once per property and when trying to control a property again
10747           we should also increase the refcount.
10748
10749 2006-09-29  Wim Taymans  <wim@fluendo.com>
10750
10751         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10752         * libs/gst/net/gstnettimeprovider.c:
10753         (gst_net_time_provider_thread):
10754         Stop reading commands when EOF as well.
10755
10756         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10757         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10758         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10759         Unify description of the dump property.
10760
10761 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10762
10763         * tests/examples/manual/.cvsignore:
10764         OK, so it's actually cvsignore that needs changing. Stop laughing.
10765
10766 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10767
10768         * tests/examples/manual/Makefile.am:
10769         Gah, declare vars *before* using them
10770
10771 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10772
10773         * gst/gst.c: (init_pre), (scan_and_update_registry),
10774         (ensure_current_registry_nonforking),
10775         (ensure_current_registry_forking), (ensure_current_registry),
10776         (init_post), (gst_debug_help), (gst_deinit):
10777         * gst/gst_private.h:
10778         * gst/gstregistry.c: (gst_registry_finalize),
10779         (gst_registry_remove_features_for_plugin_unlocked),
10780         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10781         (gst_registry_scan_path),
10782         (_priv_gst_registry_remove_cache_plugins),
10783         (_priv_gst_registry_cleanup):
10784         * gst/gstregistry.h:
10785         Re-commit the registry changes, along with an extra fix:
10786           When a cached plugin is encountered at a different file path,
10787           update the stored path in the registry cache so that the parent
10788           process knows where it actually is now when it re-reads the registry
10789           cache. Fixes the thing that broke distcheck with the previous commit.
10790
10791         * tests/check/Makefile.am:
10792         Clean up files named 'core' too when running make clean.
10793
10794         * tests/examples/manual/Makefile.am:
10795         Set up a registry path for running these tests, and clean it properly
10796         for distcheck.
10797
10798 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10799
10800         * configure.ac:
10801         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
10802         want gmodule-no-export-2.0.pc instead so that we don't drag in
10803         --export-dynamic on every project that links to GStreamer.
10804
10805         Also, make our export regex only match the start of symbols, rather 
10806         than any symbol that contains '_gst' somewhere.
10807
10808         * libs/gst/check/Makefile.am:
10809         The libgstcheck we build does however need export-dynamic, as it
10810         produces some symbols that don't match our _gst... style regex.
10811         Fixes: #318031
10812
10813 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10814
10815         * gst/gst.c: (init_pre), (scan_and_update_registry),
10816         (ensure_current_registry_nonforking),
10817         (ensure_current_registry_forking), (ensure_current_registry),
10818         (init_post), (gst_debug_help), (gst_deinit):
10819         * gst/gst_private.h:
10820         * gst/gstregistry.c: (gst_registry_finalize),
10821         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10822         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
10823         (_gst_registry_cleanup):
10824         * gst/gstregistry.h:
10825           Revert previous change until I figure out why it breaks distcheck.
10826
10827 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10828
10829         * gst/gst.c: (init_pre), (scan_and_update_registry),
10830         (ensure_current_registry_nonforking),
10831         (ensure_current_registry_forking), (ensure_current_registry),
10832         (init_post), (gst_debug_help), (gst_deinit):
10833
10834           Make init_pre and init_post take the full complement of GOptionFunc
10835           args so they can return useful GErrors. Make the registry updating
10836           functions do so.
10837
10838           Call _priv_gst_registry_remove_cache_plugins after scanning files to
10839           ensure that the registry we're about to write out doesn't contain
10840           stale information about old-deleted plugin files.
10841
10842           Make _priv_gst_registry_remove_cache_plugins return a boolean so
10843           that deletion of plugin files is considered a registry change.
10844
10845         * gst/gst_private.h:
10846         * gst/gstregistry.c: (gst_registry_finalize),
10847         (gst_registry_remove_features_for_plugin_unlocked),
10848         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10849         (gst_registry_scan_path),
10850         (_priv_gst_registry_remove_cache_plugins),
10851         (_priv_gst_registry_cleanup):
10852         * gst/gstregistry.h:
10853         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
10854         by adding _priv prefix, so that they won't appear in the global
10855         symbol table. They still do atm though because of #318031. Move the
10856         prototypes to gst_private.h
10857
10858         When removing a plugin, remove all features for that plugin too. 
10859         Fixes #340878.
10860
10861 2006-09-27  Wim Taymans  <wim@fluendo.com>
10862
10863         * docs/random/moving-plugins:
10864         Make it clear that the "compiled-in descriptions" really mean
10865         the element details.
10866
10867         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10868         (gst_base_sink_wait_preroll):
10869         Update docs.
10870
10871         * docs/libs/gstreamer-libs-sections.txt:
10872         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10873         (gst_base_src_get_range), (gst_base_src_activate_push):
10874         * libs/gst/base/gstbasesrc.h:
10875         Added function to block while waiting for PLAYING, this function
10876         is used by live sources that block on the clock.
10877         API: gst_base_src_wait_playing()
10878
10879 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10880
10881         Patch by: Peter Kjellerstedt <pkj at axis com>
10882
10883         * Makefile.am:
10884           gst-element-check.m4 is generated and should therefore be
10885           copied from the build dir rather than the source dir (#357593).
10886           'make distcheck' hasn't noticed this because we were disting
10887           the file as well, so stop doing that.
10888
10889 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10890
10891         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10892           Add some tests for gst_caps_intersect().
10893
10894         * tools/gst-launch.c: (event_loop):
10895           Print all buffering percentages we get, even the 100% one.
10896
10897 2006-09-26  Wim Taymans  <wim@fluendo.com>
10898
10899         * tools/gst-inspect.c: (print_element_properties_info),
10900         (print_signal_info):
10901         Fix printing of flags to match the look of enums.
10902
10903 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10904
10905         * gst/gstelementfactory.c:
10906           Fix typo in docs blurb.
10907
10908 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10909
10910         * gst/gsturi.c: (search_by_entry):
10911           Don't assert/crash here if a uri handler doesn't return any
10912           supported protocols. The list of protocols could be generated
10913           dynamically at runtime or at plugin registration, and an error
10914           in the underlying library shouldn't be fatal (#353301).
10915
10916 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10917
10918         * gst/gstinfo.c:
10919           Fix warning if HAVE_PRINTF_EXTENSION is undefined
10920           (spotted by Peter Kjellerstedt).
10921
10922 2006-09-23  Wim Taymans  <wim@fluendo.com>
10923
10924         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
10925
10926         * libs/gst/base/gstbasesrc.c:
10927         (gst_base_src_default_check_get_range), (gst_base_src_start),
10928         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10929         (gst_base_src_change_state):
10930         Match _start/_stop calls in the activate functions. Remove redundant
10931         _stop call from the state change function. Fixes #356910.
10932         Turn failure DEBUG into ERROR. 
10933
10934 2006-09-22  Wim Taymans  <wim@fluendo.com>
10935
10936         * docs/design/part-buffering.txt:
10937         * gst/gstmessage.c: (gst_message_new_buffering),
10938         (gst_message_parse_buffering):
10939         Update docs about buffering.
10940
10941         * docs/design/part-trickmodes.txt:
10942         Fix typo.
10943
10944 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
10945
10946         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10947         (gst_controller_new_list):
10948           Ref instances when returning them again (fixes #357180)
10949
10950 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10951
10952         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
10953           Don't forget to release proxy lock when there's an error.
10954
10955 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
10956
10957         * gst/gstcaps.h:
10958           Add extra initialisers for Caps things, to fix some plugin warnings
10959           when using -Wextra
10960
10961 2006-09-18  Wim Taymans  <wim@fluendo.com>
10962
10963         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10964           Also set template on the internal pad so that a getcaps from the 
10965           target pad returns the template caps.
10966
10967 2006-09-18  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/gstelement.c: (gst_element_post_message),
10970         (gst_element_dispose):
10971         Use _DEBUG_OBJECT some more.
10972
10973         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10974         Avoid typechecks.
10975
10976         * tools/gst-launch.c: (main):
10977         If the toplevel element is not a GstPipeline, it must be put in a
10978         pipeline so that a bus and clock is selected.
10979
10980 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10981
10982         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10983           JITTER, RATE, and LATENCY query should be handled by the
10984           default case and not by the CONVERT query code.
10985
10986 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10987
10988         * gst/gstformat.c: (gst_format_register):
10989           Fix locking order (must take lock before using n_values).
10990
10991         * gst/gstvalue.c: (gst_value_serialize_enum),
10992         (gst_value_deserialize_enum_iter_cmp),
10993         (gst_value_deserialize_enum):
10994           Fix serialisation/deserialisation of custom registered GstFormats.
10995
10996         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10997           Unit test for custom format serialisation/deserialisation.
10998
10999 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
11000
11001         * docs/pwg/building-boiler.xml:
11002         * plugins/elements/gstcapsfilter.c:
11003         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
11004         section.
11005
11006 2006-09-16  Edward Hervey  <edward@fluendo.com>
11007
11008         * libs/gst/base/gstbasetransform.c:
11009         (gst_base_transform_buffer_alloc):
11010         Check if requested caps are the same as the sinks caps IF
11011         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
11012         is FALSE.
11013         This fixes the renegotiation issues stated in #352827.
11014
11015 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11016
11017         * configure.ac:
11018         * docs/manual/advanced-autoplugging.xml:
11019         * tests/examples/Makefile.am:
11020         * tests/examples/manual/.cvsignore:
11021         * tests/examples/manual/Makefile.am:
11022         * tests/examples/manual/extract.pl:
11023           Extract the manual examples again like we used to do.
11024           Fix one of them.
11025
11026 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11027
11028         * win32/common/config.h:
11029           update for version
11030
11031 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
11032
11033         * gst/gsterror.c:
11034           Documents how to receive errors.
11035
11036 2006-09-15  Wim Taymans  <wim@fluendo.com>
11037
11038         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
11039         (event_loop), (main):
11040         Added some comments here and there.
11041         Post an application message when an interrupt is caught instead of doing
11042         an uncontrolled state change.
11043         Clean up the event loop.
11044         Handle buffering messages, pause/resume the pipeline.
11045         Make shutdown because of an interrupt more reliable.
11046
11047 2006-09-15  Wim Taymans  <wim@fluendo.com>
11048
11049         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11050         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
11051         (gst_base_sink_preroll_object):
11052         Make sure that our internal state is correct when we commit our state
11053         asynchronously. This solves a race where a state change to PLAYING
11054         could cause the sink to remain blocked in preroll in some situations.
11055
11056 2006-09-15  Wim Taymans  <wim@fluendo.com>
11057
11058         * tools/gst-inspect.c: (print_element_properties_info),
11059         (print_signal_info):
11060         List flags as hex so it's easier to deal with.
11061
11062 2006-09-15  Wim Taymans  <wim@fluendo.com>
11063
11064         * docs/libs/gstreamer-libs-sections.txt:
11065         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
11066         (gst_base_sink_do_sync):
11067         * libs/gst/base/gstbasesink.h:
11068         Expose logic to wait for preroll so that subclasses such as audiosink
11069         can also use this method.
11070         API: gst_base_sink_wait_preroll()
11071
11072 2006-09-15  Wim Taymans  <wim@fluendo.com>
11073
11074         * gst/gstobject.c: (gst_object_set_parent):
11075         * gst/gstpipeline.c: (do_pipeline_seek):
11076         Small cleanups in docs and code.
11077
11078         * gst/gstsegment.c: (gst_segment_clip):
11079         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11080         if stop == start and start is in the segment, no clipping should be
11081         done. Also add a test for this.
11082
11083 2006-09-15  Wim Taymans  <wim@fluendo.com>
11084
11085         * docs/design/part-buffering.txt:
11086         * docs/gst/gstreamer-sections.txt:
11087         * gst/gstmessage.c: (gst_message_new_buffering),
11088         (gst_message_parse_buffering):
11089         * gst/gstmessage.h:
11090         Added methods to create and parse BUFFERING messages.
11091         Added preliminary docs about buffering.
11092         API: gst_message_new_buffering
11093         API: gst_message_parse_buffering
11094
11095 2006-09-06  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/gstbin.c:
11098         Update documentation.
11099
11100         * gst/gstelement.c: (gst_element_class_init),
11101         (gst_element_release_request_pad), (gst_element_set_clock),
11102         (gst_element_get_index), (gst_element_add_pad),
11103         (gst_element_remove_pad), (gst_element_get_random_pad),
11104         (gst_element_send_event), (gst_element_get_query_types),
11105         (gst_element_query), (gst_element_post_message),
11106         (gst_element_message_full), (gst_element_continue_state),
11107         (gst_element_lost_state), (gst_element_save_thyself),
11108         (gst_element_restore_thyself):
11109         Documentation updates.
11110         Rename last bit of the new-pad -> pad-added signal rename.
11111         Fix the case where an element query would only work if the source
11112         pad was linked.
11113         Avoid some useless type checking in message handling.
11114
11115         * gst/gstevent.c:
11116         * gst/gstevent.h:
11117         * gst/gstutils.c:
11118         Documentation updates.
11119
11120 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11123           add an INFO line for when we actually update the fd
11124
11125 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11126
11127         * configure.ac:
11128           back to TRUNK
11129
11130 === release 0.10.10 ===
11131
11132 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
11133
11134         * configure.ac:
11135           releasing 0.10.10, "Pais"
11136
11137 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
11138
11139         * docs/manual/advanced-position.xml:
11140           Fix typo in sample code.
11141
11142 2006-09-05  Wim Taymans  <wim@fluendo.com>
11143
11144         * libs/gst/net/gstnetclientclock.c: (inet_aton),
11145         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11146         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
11147         * libs/gst/net/gstnetclientclock.h:
11148         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11149         * libs/gst/net/gstnettimepacket.h:
11150         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
11151         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
11152         (gst_net_time_provider_thread), (gst_net_time_provider_new):
11153         * libs/gst/net/gstnettimeprovider.h:
11154         Make stuff compile on windows. Fixes #345295.
11155
11156 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11157
11158         * gst/gst.c: (ensure_current_registry_forking):
11159           Print better details when child was terminated by signal.
11160
11161 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11162
11163         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
11164           Print a warning rather than g_assert() if a plugin feature
11165           is a URI handler but returns no protocols (#353976).
11166
11167 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
11168
11169         * docs/random/moving-plugins:
11170         Fix two typos.         
11171
11172 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11173
11174         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
11175           Fix locking order, handle NULL function values properly.
11176
11177         * gst/gstinfo.h:
11178           Fix docs.
11179
11180         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
11181           Initialise variable before using it and fix debug statement to
11182           print the address of the function rather than the address of the
11183           variable on the stack holding the address of the function.
11184
11185 2006-09-01  Wim Taymans  <wim@fluendo.com>
11186
11187         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
11188         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
11189         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11190         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
11191         (gst_ghost_pad_parent_unset),
11192         (gst_ghost_pad_internal_do_activate_push),
11193         (gst_ghost_pad_internal_do_activate_pull),
11194         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11195         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11196         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
11197         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
11198         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
11199         (gst_ghost_pad_new_no_target_from_template),
11200         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
11201         More cleanups.
11202         Avoid needless typechecking in macros.
11203         Since the internal pad is always present and never changes, there is
11204         no need to locking or ref when retrieving it.
11205         Improve debugging a bit.
11206         Handle link errors when setting the target. Fixes #341029.
11207
11208 2006-09-01  Wim Taymans  <wim@fluendo.com>
11209
11210         * docs/libs/gstreamer-libs-sections.txt:
11211         * docs/plugins/gstreamer-plugins-sections.txt:
11212         Fix docs some more.
11213
11214         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11215         (gst_collect_pads_event):
11216         * libs/gst/base/gstcollectpads.h:
11217         Documentation updates.
11218         Free queued buffer when removing a pad.
11219
11220 2006-08-31  Michael Smith  <msmith@fluendo.com>
11221
11222         * gst/gstutils.c: (gst_element_link_pads),
11223         (gst_element_link_pads_filtered):
11224           Ensure that we set a capsfilter to NULL if we failed to link it
11225           when doing filtered linking, to avoid criticals.
11226
11227           No need to check for unreffing srcpad, which is explicly NULLed
11228           above (a trivial code cleanup).
11229
11230 2006-08-31  Wim Taymans  <wim@fluendo.com>
11231
11232         * docs/design/part-gstghostpad.txt:
11233         Update ascii art in documentation.
11234
11235         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
11236         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
11237         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11238         (gst_ghost_pad_internal_do_activate_push),
11239         (gst_ghost_pad_internal_do_activate_pull),
11240         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11241         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11242         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
11243         (gst_ghost_pad_set_target):
11244         Small cleanups and leak fixes.
11245         Remove some checks now that the internal pad is never NULL.
11246         Fix the case where linking pads without a target would create nasty
11247         criticals. Fixes #341029.
11248         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
11249         value of _set_target().
11250
11251         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11252         (gst_ghost_pad_suite):
11253         Some more tests for creating and linking untargeted ghostpads.
11254
11255 2006-08-31  Edward Hervey  <edward@fluendo.com>
11256
11257         * docs/gst/gstreamer-sections.txt:
11258         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
11259         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11260         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
11261         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
11262         (gst_ghost_pad_new_from_template),
11263         (gst_ghost_pad_new_no_target_from_template):
11264         * gst/gstghostpad.h:
11265         Refactored *_new() functions.
11266         Templates are now used as a g_object_new() parameter.
11267         Use template in _do_getcaps() if we don't have a target.
11268         Small documentation cleanups.
11269         Added two new constructors:
11270         gst_ghost_pad_new_from_template()
11271         gst_ghost_pad_new_no_target_from_template()
11272         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11273         (gst_ghost_pad_suite):
11274         Added tests for new ghostpad instanciation functions.
11275
11276         API additions: gst_ghost_pad_new_from_template,
11277         gst_ghost_pad_new_no_target_from_template
11278
11279 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
11280
11281         * docs/random/ensonic/profiling.txt:
11282           Ideas about qos profiling.
11283
11284 2006-08-29  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
11287         Code cleanups.
11288         Fix memleak.
11289
11290 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
11291
11292         * gst/gstxml.c:
11293           Improve and detypofy docs.
11294
11295         * tests/check/Makefile.am:
11296         * tests/check/gst/.cvsignore:
11297         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
11298           Add a basic test suite for GstXML.
11299
11300 2006-08-29  Wim Taymans  <wim@fluendo.com>
11301
11302         * gst/gstelement.c: (activate_pads), (clear_caps),
11303         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11304         Clear the pad caps when the element shut down all of the pads and
11305         is not streaming data that could modify the caps. 
11306         Fixes #352958.
11307
11308 2006-08-28  Michael Smith  <msmith@fluendo.com>
11309
11310         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11311           Revert previous change; I misunderstood single-segment mode.
11312
11313 2006-08-28  Michael Smith  <msmith@fluendo.com>
11314
11315         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
11316           Unset DISCONT on buffers when using single-segment mode.
11317
11318 2006-08-28  Wim Taymans  <wim@fluendo.com>
11319
11320         * gst/gstcaps.c: (gst_caps_merge_structure):
11321         * gst/gstcaps.h:
11322         Fix docs and indentation again.
11323
11324         * tests/check/gst/gstquery.c: (GST_START_TEST):
11325         Fix leak in tests and add some more tests.
11326
11327 2006-08-28  Edward Hervey  <edward@fluendo.com>
11328
11329         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
11330         Inform GstSegment of the last stop position in order for the current
11331         segment to have a proper duration if it doesn't have a specific stop
11332         position from which a duration could be calculated.
11333         This bug was noticeable when a non-flushing, non-update new segment was
11334         followed by another segment (all buffers from the new segment were being
11335         dropped).
11336
11337 2006-08-28  Wim Taymans  <wim@fluendo.com>
11338
11339         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11340         Small comment update.
11341
11342         * plugins/elements/gstidentity.c: (gst_identity_class_init),
11343         (gst_identity_transform_ip):
11344         Drop-probability is broken, mention this in the code with a 
11345         FIXME and also in the property description.
11346         Make silent also be silent about the drop messages.
11347
11348 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
11349
11350         * docs/manual/appendix-win32.xml:
11351           Remove mention of popt, we don't depend on that any
11352           longer (#353136). Add some comments pointing out that
11353           this section is slightly outdated.
11354
11355 2006-08-28  Wim Taymans  <wim@fluendo.com>
11356
11357         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11358
11359         * gst/gstquery.c: (gst_query_new_segment):
11360         * tests/check/gst/gstquery.c: (GST_START_TEST):
11361         Initialize variables when creating a new segment query.
11362         Fixes #353121.
11363
11364 2006-08-28  Wim Taymans  <wim@fluendo.com>
11365
11366         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11367
11368         * gst/gstelement.c: (gst_element_get_bus):
11369         * tests/check/gst/gstelement.c: (GST_START_TEST):
11370         Check for NULL before _reffing the bus. Fixes #353122.
11371
11372 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
11373
11374         * docs/manual/basics-bus.xml:
11375           Docs update: fix wrong callback return value explanation; add
11376           some lines about the implicit relationship between main loop
11377           and main context; remove duplicate main loop variable declaration.
11378
11379 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
11380
11381         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11382           Don't leak caps in unit test; add a few more simple
11383           checks. 
11384
11385 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
11386
11387         * docs/gst/gstreamer-sections.txt:
11388         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
11389         (gst_caps_structure_is_subset), (gst_caps_merge),
11390         (gst_caps_merge_structure):
11391         * gst/gstcaps.h:
11392         * libs/gst/base/gstbasetransform.c:
11393         (gst_base_transform_transform_caps):
11394         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11395           implement caps merging (fixes #352580)
11396
11397 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
11398
11399         * tools/Makefile.am:
11400         * tools/gst-plot-timeline.py:
11401           add debug-log plotting developer tool (#340674)
11402
11403 2006-08-23  Wim Taymans  <wim@fluendo.com>
11404
11405         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
11406         (gst_pad_stop_task):
11407         Improve debugging for task functions.
11408
11409         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
11410         (gst_task_start), (gst_task_pause), (gst_task_join):
11411         Make sure that the task function started and finished after a 
11412         join(). 
11413         Don't try to push the task function on the threadpool multiple
11414         times.
11415         Improve the g_warning message with some useful suggestions
11416         about how to fix the problem. 
11417
11418 2006-08-23  Wim Taymans  <wim@fluendo.com>
11419
11420         * gst/gstutils.c: (gst_pad_proxy_getcaps):
11421         Handle RESYNC correctly in _proxy_getcaps.
11422
11423 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
11424
11425         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
11426         (gst_xml_parse_memory), (gst_xml_get_element):
11427           Chain up to parent class in dispose function and also
11428           unref the elements in the toplevel_elements GList.
11429           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
11430           Always return a reference in gst_xml_get_element() rather
11431           than only sometimes.
11432
11433         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11434           Don't leak GstXml object.
11435
11436 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
11437
11438         * docs/gst/gstreamer-sections.txt:
11439         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
11440         (gst_caps_merge):
11441         * gst/gstcaps.h:
11442         * libs/gst/base/gstbasetransform.c:
11443         (gst_base_transform_transform_caps):
11444           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
11445           in a better way
11446
11447 2006-08-21  Edward Hervey  <edward@fluendo.com>
11448
11449         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
11450         Implement GObject::dispose virtual method in GstXML so we can free the
11451         top_elements GList.
11452
11453 2006-08-21  Wim Taymans  <wim@fluendo.com>
11454
11455         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
11456         (gst_buffer_create_sub):
11457         Copy duration/offset_end/caps when creating a subbuffer of the
11458         complete parent.
11459         Make the subbuffer read-only when we make the metadata writable for
11460         now. Fixes #351768.
11461
11462         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11463         Added check for metadata copy when creating subbuffers.
11464
11465 2006-08-21  Edward Hervey  <edward@fluendo.com>
11466
11467         * libs/gst/base/gstbasetransform.c:
11468         (gst_base_transform_buffer_alloc):
11469         Only call downstream buffer_alloc if transform element is passthrough
11470         or always_in_place. Closes #350449.
11471
11472 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11473
11474         * ChangeLog:
11475           ChangeLog surgery to add comments to previous changes
11476
11477 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11478
11479         * gst/gst.c:
11480           Add comments
11481
11482         * gst/gstpad.c: (gst_pad_set_active):
11483           Be more verbose in the log
11484
11485         * libs/gst/base/gstbasetransform.c:
11486         (gst_base_transform_transform_caps):
11487           Simplify caps to get rid of duplicates, fixes #345444
11488
11489 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11490
11491         * gst/gstvalue.c:
11492         * gst/gstvalue.h:
11493           Use these optimizations only internally.
11494
11495 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11496
11497         * gst/gstvalue.c: (gst_value_compare_list),
11498         (gst_value_compare_fraction_range),
11499         (gst_value_intersect_fraction_fraction_range),
11500         (gst_value_intersect_fraction_range_fraction_range),
11501         (gst_value_subtract_fraction_fraction_range),
11502         (gst_value_subtract_fraction_range_fraction_range),
11503         (gst_value_get_compare_func), (gst_value_compare),
11504         (gst_value_compare_with_func):
11505         * gst/gstvalue.h:
11506           Saves the expensive lookup of the compare function in many cases
11507          (#345444)
11508
11509 2006-08-18  Edward Hervey  <edward@fluendo.com>
11510
11511         * tests/check/gst/gstinfo.c: (gst_info_suite):
11512         Disable test that require gstdebug if it wasn't built in core.
11513
11514 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11515
11516         * docs/random/ensonic/logging.txt:
11517           update ideas
11518           
11519         * gst/gstinfo.c: (gst_debug_log_default):
11520           reorder fields, save some columns, add optional color codes for log
11521           levels
11522
11523 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11524
11525         * docs/random/ensonic/logging.txt:
11526           add ideas about making the logs a bit more useful
11527
11528 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11529
11530         * docs/pwg/advanced-events.xml:
11531         * docs/pwg/titlepage.xml:
11532           Update for 0.10 API (#340627). Add myself
11533           to authors list.
11534
11535 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11536
11537         * docs/libs/gstreamer-libs-docs.sgml:
11538         * docs/libs/gstreamer-libs-sections.txt:
11539         * libs/gst/check/gstbufferstraw.c:
11540           Make gstcheck stuff show up in docs (still needs to
11541           be documented properly though).
11542
11543 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
11544
11545         * docs/gst/gstreamer-sections.txt:
11546         * gst/Makefile.am:
11547         * gst/gst.c: (init_post):
11548         * gst/gst_private.h:
11549         * gst/gstquark.c: (_priv_gst_quarks_initialize):
11550         * gst/gstquark.h:
11551         * gst/gstquery.c: (gst_query_new_position),
11552         (gst_query_set_position), (gst_query_parse_position),
11553         (gst_query_new_duration), (gst_query_set_duration),
11554         (gst_query_parse_duration), (gst_query_new_convert),
11555         (gst_query_set_convert), (gst_query_parse_convert),
11556         (gst_query_new_segment), (gst_query_set_segment),
11557         (gst_query_parse_segment), (gst_query_new_seeking),
11558         (gst_query_set_seeking), (gst_query_parse_seeking):
11559         Add internal helpers for pre-registering quarks from static strings
11560         and using the quark values directly instead of looking them up when
11561         creating and parsing queries. Can be used for event construction too.
11562         Closes #350432.
11563
11564 2006-08-16  Wim Taymans  <wim@fluendo.com>
11565
11566         * gst/gstbin.c:
11567         Fix bogus docs.
11568
11569 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11570
11571         * gst/gstutils.c: (gst_util_set_value_from_string):
11572           Fix memleak (#351502).
11573
11574         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11575           Add unit test for most of gst_util_set_value_from_string()
11576           (not that one would want to encourage use of this function).
11577
11578 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11579
11580         * libs/gst/check/gstcheck.h:
11581           Use const gchar * variables in fail_unless_equals_string
11582           macro to avoid compiler warnings (and don't use tabs for
11583           indenting).
11584
11585 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11586
11587         * tools/gst-launch.c: (print_tag):
11588           More space on the left for the tag names, to cater
11589           for the 'extended comment' tag (not touching the
11590           string for the first line since it's translated).
11591
11592 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11593
11594         * libs/gst/check/gstcheck.h:
11595           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
11596           print something when they fail.
11597
11598 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11599
11600         * docs/gst/gstreamer-sections.txt:
11601         * gst/gsttaglist.c: (_gst_tag_initialize):
11602         * gst/gsttaglist.h:
11603           API: add GST_TAG_EXTENDED_COMMENT (#350935).
11604           Also change merge function for GST_TAG_COMMENT to
11605           use_first.
11606
11607 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11608
11609         * gst/gstinfo.c: (gst_debug_print_object):
11610           Make GST_PTR_FORMAT print messages as well.
11611
11612         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
11613         (GST_START_TEST), (gst_info_suite):
11614           More tests.
11615
11616 2006-08-14  Edward Hervey  <edward@fluendo.com>
11617
11618         * gst/gstelementfactory.c: (gst_element_register):
11619         If the GstElementClass doesn't have a GstElementDetails with all fields
11620         filled up correctly (longname, description AND author), then error out
11621         nicely instead of crashing.
11622
11623 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11624
11625         * gst/gststructure.c:
11626           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
11627
11628         * gst/gstvalue.h:
11629           Expand on the difference between arrays and lists as we use them.
11630           
11631 2006-08-14  Wim Taymans  <wim@fluendo.com>
11632
11633         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11634         If the parent state change function failed, don't assume we can safely
11635         stop the source, this will be done when the pads are deactivated.
11636
11637 2006-08-14  Wim Taymans  <wim@fluendo.com>
11638
11639         * gst/gstbuffer.c:
11640         * gst/gsttask.c: (gst_task_join):
11641         Small doc updates.
11642
11643         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
11644         (gst_pad_stop_task):
11645         When pad (de)activation failed for some reason, restore the old
11646         activation mode and set the pad to flushing instead of assuming the
11647         pad is deactivated.
11648         If the _task_join() failed, reinstall the task on the pad so that it can
11649         be stopped later and return an error.
11650
11651 2006-08-11  Andy Wingo  <wingo@pobox.com>
11652
11653         * configure.ac:
11654         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11655         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
11656         is only for users of API that don't want to see deprecated
11657         functions in the headers; people that want to compile out
11658         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
11659         CFLAGS. Fixes the build of multifdsink, or will soon..
11660
11661 2006-08-11  Wim Taymans  <wim@fluendo.com>
11662
11663         * docs/gst/gstreamer-sections.txt:
11664         Add GstClockClass vmethod docs.
11665
11666         * gst/gstcaps.h:
11667         Mark #endif with comment for associated #if
11668
11669         * gst/gstclock.c: (gst_clock_id_wait):
11670         * gst/gstclock.h:
11671         Add vmethod wait_jitter to avoid an unneeded _get_time() for
11672         most clock implementations.
11673         Document vmethods.
11674         Flesh out docs about resolution methods.
11675         API: GstClockClass::wait_jitter
11676
11677         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11678         (gst_system_clock_async_thread),
11679         (gst_system_clock_id_wait_jitter_unlocked),
11680         (gst_system_clock_id_wait_jitter):
11681         Use base class wait_jitter variant for improved performance
11682         due to less clock polling.
11683
11684 2006-08-11  Edward Hervey  <edward@fluendo.com>
11685
11686         * gst/gst.c: (gst_init_check), (init_post):
11687         Set gst as being initialized before scanning/updating the registry,
11688         since there might be my python plugin loader that calls gst_init() and
11689         we don't want to loop back in.
11690         Closes #350879
11691
11692 2006-08-11  Wim Taymans  <wim@fluendo.com>
11693
11694         * docs/design/part-qos.txt:
11695         Bring docs in line with the code. Mostly the sign of the jitter was
11696         wrong in the docs. Fixes #349943.
11697
11698         * gst/gstclock.c:
11699         Fix the docs for the jitter.
11700
11701         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
11702         (gst_event_parse_tag), (gst_event_new_buffer_size),
11703         (gst_event_parse_buffer_size), (gst_event_parse_qos),
11704         (gst_event_new_seek), (gst_event_parse_seek),
11705         (gst_event_new_navigation):
11706         Make sure the GstStructure has no parent when creating custom
11707         events.
11708         Add some more argument checking so that we avoid 0.0 rates.
11709         Flesh out the docs for the QoS event some more.
11710
11711 2006-08-11  Wim Taymans  <wim@fluendo.com>
11712
11713         * docs/gst/gstreamer-sections.txt:
11714         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11715         (ensure_current_registry_forking), (ensure_current_registry),
11716         (parse_one_option), (parse_goption_arg), (gst_deinit),
11717         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
11718         * gst/gst.h:
11719         Doc updates.
11720         Added API and command line option to disable registry forking in
11721         addition to the environment variable.
11722         Constify some static arrays.
11723         Added some more debug.
11724         Don't deinit twice.
11725         API: gst_registry_fork_is_enabled()
11726         API: gst_registry_fork_set_enabled()
11727         API: --gst-disable-registry-fork command line option
11728         Fixes #348918.
11729
11730 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
11731
11732         * gst/gst.c: (gst_init):
11733           Fix typo in error message.
11734
11735 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11736
11737         * libs/gst/controller/gstcontroller.h:
11738           fix ABI size-correction
11739
11740         * tests/check/libs/gdp.c: (gst_dp_suite):
11741           make tests that use deprecated API conditional
11742
11743 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11744
11745         * docs/libs/gstreamer-libs-sections.txt:
11746         * libs/gst/controller/gstcontroller.c:
11747         (_gst_controller_get_property), (_gst_controller_set_property),
11748         (_gst_controller_init), (_gst_controller_class_init):
11749         * libs/gst/controller/gstcontroller.h:
11750         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
11751         (gst_object_set_control_rate):
11752           API: add gst_object_{s,g}et_control_rate(), add private data section,
11753           fix docs
11754
11755         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11756         * libs/gst/dataprotocol/dataprotocol.h:
11757           add deprecation guards to make gtk-doc happy and allow disabling cruft
11758
11759 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11760
11761         * tests/check/Makefile.am:
11762         * tests/check/gst/.cvsignore:
11763           Let's enable the new unit test as well.
11764
11765 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11766
11767         * configure.ac:
11768         * docs/gst/gstreamer-sections.txt:
11769         * gst/gstconfig.h.in:
11770         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
11771         (_gst_info_printf_extension_ptr),
11772         (_gst_info_printf_extension_segment):
11773           API: add GST_SEGMENT_FORMAT, which is a printf extension we
11774           register that lets us easily dump GstSegments into debug
11775           logs (#350419).
11776
11777         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
11778         (info_segment_format_printf_extension), (gst_info_suite):
11779           Add simple unit test that logs a bunch of different segments (not
11780           valgrinded at the moment because of leaks in
11781           gst_debug_add_log_function).
11782
11783 2006-08-09  Edward Hervey  <edward@fluendo.com>
11784
11785         * libs/gst/base/gstbasetransform.c:
11786         (gst_base_transform_buffer_alloc):
11787         Even if we can't figure out the proper format to request downstream,
11788         call buffer_alloc() downstream with the input parameters without setting
11789         the caps on the srcpad. This will force negotiation in the chain
11790         function.
11791         Closes #350449
11792
11793 2006-08-08  Edward Hervey  <edward@fluendo.com>
11794
11795         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11796         Unlinking from a pad without a target is now a perfectly valid case
11797         which should NOT raise an assertion.
11798         This case would happen if a linked ghostpad its target set to NULL after
11799         it was previously linked.
11800
11801 2006-08-08  Edward Hervey  <edward@fluendo.com>
11802
11803         * tests/check/libs/gdp.c:
11804         Also comment out the test (see below).
11805
11806 2006-08-08  Edward Hervey  <edward@fluendo.com>
11807
11808         * tests/check/libs/gdp.c: (gst_dp_suite):
11809         Use the architecture information from config.h and not gcc macros
11810         in order to properly disable a test that fails on PPC64.
11811
11812 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
11813
11814         * gst/gstelement.c: (gst_element_remove_pad):
11815           Don't crash printing the warning if the pad has no parent.
11816
11817 2006-08-02  Wim Taymans  <wim@fluendo.com>
11818
11819         * libs/gst/dataprotocol/dataprotocol.c:
11820         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11821         (gst_dp_crc), (gst_dp_header_payload_length),
11822         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
11823         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
11824         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
11825         (gst_dp_event_from_packet), (gst_dp_validate_header),
11826         (gst_dp_validate_payload):
11827         Make debug category static
11828         Constify the crc table.
11829         Do some more arg checking in public functions.
11830         Fix some docs and do some small cleanups.
11831
11832         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
11833         Add some more checks to see if GDP deals with bogus input.
11834
11835 2006-07-31  Wim Taymans  <wim@fluendo.com>
11836
11837         * gst/gstvalue.c: (gst_value_compare_list):
11838         Fix GstValueList comparison code. Fixes #347293.
11839
11840         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11841         Check to test GstValueList comparison.
11842
11843 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11844
11845         * gst/gstelementfactory.c: (gst_element_factory_create):
11846         Remove unnecessary ref/unref pair
11847
11848         * gst/parse/grammar.y:
11849         Make sure to free the parse buffer on all code paths.
11850         Move a g_free up to the error handler where it's easier to see.
11851
11852         * tests/check/gst/gstevent.c: (test_event):
11853         Extending timeout for downstream travelling events to 10 seconds to
11854         hopefully avoid intermittent failure on the buildbots.
11855
11856         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
11857         Don't manually set the state of the src element - it will happen as a
11858         natural consequence of the pipeline changing state, and that way it
11859         will do it in the right order too.
11860
11861 2006-07-31  Wim Taymans  <wim@fluendo.com>
11862
11863         * libs/gst/base/gstbasetransform.c:
11864         (gst_base_transform_buffer_alloc):
11865         Use OBJECT_LOCK and refcounting to get the pad caps in the
11866         buffer_alloc function because the caps could change while we are
11867         busy with them. Fixes #349105
11868
11869 2006-07-31  Wim Taymans  <wim@fluendo.com>
11870
11871         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
11872         Protect _PAD_CAPS with OBJECT_LOCK.
11873
11874 2006-07-31  Wim Taymans  <wim@fluendo.com>
11875
11876         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11877         (gst_pad_get_property), (gst_pad_activate_pull),
11878         (gst_pad_activate_push), (gst_pad_set_blocked_async),
11879         (gst_pad_set_activate_function),
11880         (gst_pad_set_activatepull_function),
11881         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
11882         (gst_pad_set_getrange_function),
11883         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
11884         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11885         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
11886         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
11887         (gst_pad_set_acceptcaps_function),
11888         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11889         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
11890         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
11891         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
11892         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
11893         (gst_pad_configure_sink), (gst_pad_configure_src),
11894         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
11895         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
11896         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
11897         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
11898         (gst_pad_send_event):
11899         Use _DEBUG_OBJECT when it makes sense.
11900         Protect GST_PAD_CAPS with the OBJECT_LOCK.
11901         Small cleanups and code reflows.
11902         Avoid caps refcounting in _accept_caps.
11903         Refactor alloc_buffer so that the code performed on the peer is in a
11904         separate function. Also if the pad does not implement a buffer alloc
11905         function, we should still check if the pad is flushing before falling
11906         back to the default allocator.
11907
11908 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11909
11910         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11911         Make all uses of identity and fakesink have silent=true to avoid
11912         serialising every passing data structure, which is breaking tests
11913         on FC4 for some unknown reason.
11914
11915 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11916
11917         * gst/parse/Makefile.am:
11918         * gst/parse/grammar.y:
11919         * gst/parse/parse.l:
11920           Reverted previous patch as it required to bump the flex dependency to
11921           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
11922
11923 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11924
11925         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
11926
11927         * gst/parse/Makefile.am:
11928         * gst/parse/grammar.y:
11929         * gst/parse/parse.l:
11930           push & pop the state of the lexer for reentrant use case
11931           Fixes #349180
11932
11933 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
11934
11935         * libs/gst/base/gstbasesrc.h:
11936           Note in the docs that the ::newsegment vfunc is not actually used by
11937           GstBaseSrc.
11938
11939 2006-07-28  Wim Taymans  <wim@fluendo.com>
11940
11941         * libs/gst/base/gstcollectpads.c:
11942         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
11943         (gst_collect_pads_clear), (gst_collect_pads_flush),
11944         (gst_collect_pads_event), (gst_collect_pads_chain):
11945         When flushing a pad, also clear the queued buffer so that we don't
11946         accidentally use it when we shouldn't.
11947         Fix leaks by inreffing incomming buffer.
11948         Flush out queued buffers in case of errors.
11949         Fixes #347452.
11950
11951 2006-07-28  Wim Taymans  <wim@fluendo.com>
11952
11953         * docs/random/phonon-gst:
11954         Random notes about a Phonon backend.
11955
11956 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11957
11958         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11959         Extra debug output
11960         * tests/check/libs/gdp.c: (gst_dp_suite):
11961         Take a whack at fixing the ppc compile using a different define to
11962         disable the broken test.
11963
11964         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11965         Remove excess g_print()
11966
11967 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11968
11969         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11970         Oops, meant to uncomment this line too to dampen the noise a bit.
11971
11972 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11973
11974         * gst/parse/grammar.y:
11975         * gst/parse/parse.l:
11976         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11977         (GST_START_TEST), (parse_suite):
11978         Fix some of the leaks exposed by extending the parse-launch testsuite,
11979         and move the 3 I can't figure out into a separate test that won't run
11980         the pipelines unless the appropriate line is uncommented.
11981
11982 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11983
11984         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11985           Requesting 0 bytes before the end of the file should result in
11986           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
11987           unit test.
11988
11989 2006-07-27  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
11992         Fix useless assert, a uint is always positive.
11993
11994         * gst/gststructure.c: (gst_structure_nth_field_name),
11995         (gst_structure_foreach), (gst_structure_map_in_place):
11996         Check input arguments for public functions to avoid obvious crashes.
11997
11998         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
11999         * plugins/elements/gstfakesink.h:
12000         Do less useless typechecking.
12001
12002 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
12003
12004         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
12005           Do not use mmap() by default since there are a number of error
12006           conditions that we would like to handle in a non-fatal way that
12007           will result in a SIGBUS if we use mmap(). Examples: external
12008           devices (USB harddrive, portable music player) being unplugged
12009           while in use; file on mounted CD/DVD that can't be read because
12010           the medium is partly damaged. Fixes #348455 and #348475.
12011
12012 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
12013
12014         * gst/gstquery.h:
12015         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
12016         rates are a gdouble
12017
12018 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
12019
12020         * gst/gstregistry.c:
12021           Move big documentation comment into class section header, so that it
12022           appears in the API docs.
12023
12024 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12025
12026         * docs/gst/gstreamer-sections.txt:
12027         Oops. Commit the docs additions too for new API.
12028         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
12029
12030 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12031
12032         * gst/gststructure.c: (gst_structure_id_set),
12033         (gst_structure_id_set_valist):
12034         * gst/gststructure.h:
12035         Add API for setting values into structures without performing
12036         a quark lookup, if the appropriate quark is already known.
12037
12038         API: gst_structure_id_set
12039         API: gst_structure_id_set_valist
12040
12041         * gst/parse/grammar.y:
12042         * gst/parse/parse.l:
12043         Remove some dead code shown by the coverage information.
12044         Don't throw a critical g_warning when encountering a syntax error,
12045         just warn and let the normal error path handle it.
12046
12047         * plugins/elements/gstelements.c:
12048         Bump the rank of filesink up to PRIMARY so that it is preferred over
12049         gnomevfssink for file:// sink uri's
12050
12051         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
12052         (GST_START_TEST), (run_delayed_test),
12053         (gst_parse_test_element_base_init),
12054         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
12055         (gst_parse_test_element_change_state),
12056         (gst_register_parse_element), (parse_suite):
12057         Beef up the tests for parse syntax to check that more error cases
12058         fail as they are supposed to. Increases the test coverage a bit.
12059
12060 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * docs/manual/basics-elements.xml:
12063           Fix gst_element_link() example.
12064
12065         * gst/gstutils.c:
12066           Mention in API docs that one should usually gst_bin_add()
12067           elements to a bin or pipeline before doing the linking.
12068           
12069 2006-07-26  Wim Taymans  <wim@fluendo.com>
12070
12071         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
12072         (gst_subbuffer_get_type), (gst_buffer_create_sub):
12073         Avoid function call for known types by keeping the buffer and
12074         subbuffer GType global.
12075
12076         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
12077         Random silly optimisations in read() path.
12078
12079 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
12080
12081         * tools/gst-launch.c: (main):
12082           If the top-level of the parse is a normal bin, it doesn't do the
12083           right logic to run as a top-level element, so place it inside a
12084           pipeline.
12085
12086 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
12087
12088         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
12089           Remove superfluous g_object_notify() calls, GObject does
12090           that for us automatically.
12091
12092 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
12093
12094         * gst/gstinfo.h:
12095           on Win32, use dllspec to export the debug category symbols
12096
12097 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
12098
12099         * gst/gsttaglist.c: (_gst_tag_initialize):
12100           Allow more than one GST_TAG_IMAGE per taglist.
12101
12102 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12103
12104         * gst/gstminiobject.c:
12105           update docs
12106         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
12107         (gst_fd_src_create):
12108           log recurring events at LOG level
12109           add more debug for when the fd gets set
12110
12111 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12112
12113         * gst/gstparse.c: (gst_parse_launch):
12114           Also remove reentrance checks if flex is MT safe (#348179)
12115          Fix my empty ChangeLog entry below
12116
12117 2006-07-21  Andy Wingo  <wingo@pobox.com>
12118
12119         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
12120
12121         * libs/gst/check/Makefile.am
12122         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
12123         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
12124         * libs/gst/check/gstbufferstraw.h:
12125         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
12126         functions, thus proving I am still a GStreamer haxor. OK I wrote
12127         them a long time ago, but anyways.
12128
12129 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
12130
12131         * configure.ac:
12132         * gst/gstparse.c: (gst_parse_launch):
12133           Check for flex version and omit mutex if we have a MT save flex
12134           (fixes #348179)
12135
12136 2006-07-21  Wim Taymans  <wim@fluendo.com>
12137
12138         * gst/gstparse.c: (gst_parse_launch):
12139         Protect recursive calls to _parse with a recursive mutex
12140         and busy flag.
12141
12142 2006-07-21  Wim Taymans  <wim@fluendo.com>
12143
12144         * tests/check/gst/gstpad.c: (GST_START_TEST):
12145         Fix leak in test.
12146
12147 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
12148
12149         * gst/gstparse.c: (gst_parse_launch):
12150           Do not hang on recursive usage of gst_parse_launch()
12151
12152 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12153
12154         * gst/gsttaglist.c:
12155           Add some more docs, comments and FIXME 0.11s here and there
12156           and also fix some typos.
12157
12158 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
12159
12160         * gst/gstsegment.h:
12161           Convert tabs to spaces for better readability. 
12162
12163 2006-07-20  Edward Hervey  <edward@fluendo.com>
12164
12165         * tests/check/libs/gdp.c: (gst_dp_suite):
12166         the test_buffer test fails at line 140 on ppc64 at the following
12167         check:
12168         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
12169                 GST_BUFFER_FLAG_IN_CAPS),
12170                 "GST_BUFFER_IN_CAPS flag should have been copied !");
12171         See bug #348114 for more details.
12172
12173 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
12174
12175         * docs/pwg/advanced-scheduling.xml:
12176         * gst/gstpad.c:
12177           Fix typos (#348000).
12178
12179 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
12180
12181         * docs/pwg/intro-basics.xml:
12182           Fix wrong links (#347927).
12183
12184 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
12185
12186         * gst/gstregistry.h:
12187         * gst/gstregistryxml.c: (load_feature),
12188         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
12189         * win32/common/config.h:
12190           make --disable-index work (#342564)
12191
12192 2006-07-18  Wim Taymans  <wim@fluendo.com>
12193
12194         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12195
12196         * gst/Makefile.am:
12197         * gst/gsttrace.h:
12198         The attached patch adds two missing defines to gsttrace.h when tracing
12199         is disabled.  It also corrects one existing define.
12200         Fixes #347756.
12201
12202 2006-07-17  Wim Taymans  <wim@fluendo.com>
12203
12204         * docs/gst/gstreamer-sections.txt:
12205         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
12206         * gst/gst.h:
12207         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
12208         Add two functions to check and change the SIGSEGV behaviour
12209         when loading plugins.
12210         Don't mess with the SIGSEGV handler when we were told not to.
12211         Fixes #347794.
12212         API: gst_segtrap_is_enabled
12213         API: gst_segtrap_set_enabled
12214
12215 2006-07-14  Wim Taymans  <wim@fluendo.com>
12216
12217         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12218         * tests/check/elements/filesrc.c: (GST_START_TEST):
12219         Revert fix for regression in #347408 after release.
12220
12221 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
12222
12223         Patch by: Antoine Tremblay <hexa00 at gmail com>
12224
12225         * gst/gstutils.c: (gst_element_unlink):
12226           Free iterator when done (#347311).
12227
12228         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12229           And add a test case for this.
12230
12231 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
12232
12233         * configure.ac:
12234         Bump nano back to CVS
12235
12236 === release 0.10.9 ===
12237
12238 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
12239
12240         * configure.ac:
12241           releasing 0.10.9, "On the road again"
12242
12243 2006-07-13  Wim Taymans  <wim@fluendo.com>
12244
12245         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
12246         * tests/check/elements/filesrc.c: (GST_START_TEST):
12247         Revert pull-0 fix for release. Disable check. Fixes #347408.
12248
12249 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12250
12251         * libs/gst/dataprotocol/dataprotocol.c:
12252         (gst_dp_event_from_packet_1_0):
12253           Fixes #347337: failure to deserialize event packets with
12254           empty payload (only event type)
12255
12256 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12257
12258         * gst/Makefile.am:
12259           do not install a .c file in the header directory
12260
12261 2006-07-13  Edward Hervey  <edward@fluendo.com>
12262
12263         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
12264         GhostPad no longer implicitely use the padtemplates of the targets.
12265         Fixes #347384
12266
12267 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
12268
12269         * gst/gstvalue.c: (gst_value_compare_list),
12270         (gst_value_compare_array), (_gst_value_initialize):
12271         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12272         Make GstValueArray comparison be order dependent as designed.
12273         Add checks for value lists and value array comparisons.
12274         Fixes #347221
12275
12276 2006-07-11  Edward Hervey  <edward@fluendo.com>
12277
12278         * gst/gstbin.c: (activate_pads),
12279         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
12280         (gst_bin_change_state_func):
12281         (de)activate src pads before calling state_change on the childs.
12282         This is to avoid the case where a src ghostpad is blocked (holding the
12283         stream lock), which would block the deactivation of the ghostpad's
12284         target pad.
12285         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
12286         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
12287         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
12288         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12289         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12290         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12291         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12292         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
12293         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
12294         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12295         (gst_ghost_pad_class_init),
12296         (gst_ghost_pad_internal_do_activate_push),
12297         (gst_ghost_pad_internal_do_activate_pull),
12298         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12299         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12300         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
12301         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
12302         GhostPads now create their internal GstProxyPad at creation (and not
12303         when they're linked, as it was being done previously).
12304         The internal and target pads are linked straight away.
12305         The data will also travel through the other pad in order to make
12306         pad blocking and probes non-hackish (the probe/block now really happens
12307         on the GhostPad and not on the target).
12308         * gst/gstpad.c: (gst_pad_set_blocked_async),
12309         (gst_pad_link_prepare), (gst_pad_push_event):
12310         Remove previous ghostpad cruft.
12311         * gst/gstutils.c: (gst_pad_add_data_probe),
12312         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
12313         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
12314         (gst_pad_remove_buffer_probe):
12315         Remove previous ghost pad cruft.
12316         Added more detailed debug statements.
12317         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12318         Fix the testsuite for refcounting changes.
12319         The comments about who has references were correct, but the refcount
12320         being checked wasn't the same (!?!).
12321
12322         Fixes #341029
12323
12324 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
12325
12326         * docs/gst/gstreamer-sections.txt:
12327         * gst/gstconfig.h.in:
12328         More docs for configuration options, add docs to gtk-doc.
12329
12330 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
12331
12332         * gst/Makefile.am:
12333         * gst/gstconfig.h.in:
12334         * win32/common/config.h:
12335         Fix build when disabling tracing (fixes #344016). Also start to document
12336         the defines that disable the sub-systems.
12337
12338 2006-07-10  Edward Hervey  <edward@fluendo.com>
12339
12340         * gst/gst.c: (ensure_current_registry_forking):
12341         let's make valgrind happy...
12342
12343 2006-07-09  Wim Taymans  <wim@fluendo.com>
12344
12345         * gst/gstelement.c: (activate_pads),
12346         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12347         Better pad activation code: Reset the collect value too on resync.
12348         Add some comments.
12349
12350 2006-07-09  Wim Taymans  <wim@fluendo.com>
12351
12352         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
12353         (gst_pad_activate_push):
12354         Use some more macros where it makes sense.
12355         Allow pad mode switching instead of asserting. When a pad
12356         is activated in one mode and we activate it in another, 
12357         deactivate it first before activating it in a different mode.
12358         Fixes #329198.
12359
12360 2006-07-08  Andy Wingo  <wingo@pobox.com>
12361
12362         * tools/gst-launch.c (main): Handle err == NULL.
12363
12364         * gst/gst.c (init_post, ensure_current_registry)
12365         (ensure_current_registry_forking)
12366         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
12367         factoring out the registry scanning into separate functions. Don't
12368         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
12369         Better environment var name/interface suggestions accepted.
12370
12371 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12372
12373         * gst/gstobject.c: (gst_object_set_name_default),
12374         (gst_object_set_name):
12375           Random micro-optimisation: don't use a hash table
12376           with strings as keys and the usual strdup/strcmp
12377           involved, but rather just use the GQuark of the
12378           type name as key, since it needs to be looked up
12379           anyway to get the type name string.
12380
12381         * tests/check/gst/gstobject.c: (GST_START_TEST):
12382           Fix various leaks.
12383
12384 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12385
12386         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
12387         (gst_bin_iterate_all_by_interface):
12388           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
12389           GTypes are gulongs and thus the top 4 bytes might be cut
12390           off on some platforms when doing GPOINTER_TO_INT, leading
12391           to invalid GTypes and bad things happening (see RH bug #179654).
12392           Also add a check to make sure the type passed in is really
12393           an interface type.
12394
12395 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12396
12397         * .cvsignore:
12398           Ignore more.
12399
12400 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12401
12402         * Makefile.am:
12403         * configure.ac:
12404         * gst-element-check.m4:
12405         * gst-element-check.m4.in:
12406           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
12407           instead of the unversioned gst-inspect (#324176, #168659).
12408
12409 2006-07-06  Wim Taymans  <wim@fluendo.com>
12410
12411         * gst/gstmessage.h:
12412         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
12413         warnings.
12414
12415 2006-07-06  Wim Taymans  <wim@fluendo.com>
12416
12417         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12418         (gst_base_src_wait), (gst_base_src_update_length),
12419         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
12420         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
12421         (gst_base_src_loop), (gst_base_src_start),
12422         (gst_base_src_activate_pull):
12423         Update docs.
12424         blocksize == 0 now means the default blocksize when working in push
12425         based mode.
12426         Remove some pointless asserts in _wait function.
12427         Fix offset/length calculations and EOS handling. We can now pull 0
12428         bytes as well, which is allowed.
12429         use _check_get_range() to decide if we can operate in _pull based
12430         mode.
12431         Fix refcounting leak when check_get_range function was not 
12432         implemented.
12433         API GstBaseSrc::blocksize range can be 0 too now (default)
12434
12435         * tests/check/elements/filesrc.c: (GST_START_TEST),
12436         (filesrc_suite):
12437         Added check to test _get_range() behaviour.
12438
12439 2006-07-06  Wim Taymans  <wim@fluendo.com>
12440
12441         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12442         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
12443         (gst_pad_pull_range):
12444         * gst/gstpad.h:
12445         Lots of comments and docs added to the pad functions.
12446         Flesh out the expected behaviour of the get_range() functions.
12447
12448 2006-07-06  Wim Taymans  <wim@fluendo.com>
12449
12450         * gst/gstbus.h:
12451         * gst/gstclock.h:
12452         * gst/gstevent.h:
12453         * gst/gstiterator.h:
12454         * gst/gstpad.h:
12455         * gst/gstplugin.h:
12456         * gst/gsttask.h:
12457         Remove comma at end of enumerator list. 
12458
12459 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
12460
12461         * win32/common/libgstbase.def:
12462         * win32/common/libgstdataprotocol.def:
12463         * win32/common/libsgtreamer.def:
12464         Add new exported functions.
12465
12466 2006-07-05  Wim Taymans  <wim@fluendo.com>
12467
12468         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
12469         Add some more docs here and there.
12470
12471 2006-07-05  Wim Taymans  <wim@fluendo.com>
12472
12473         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
12474         (gst_base_sink_loop), (gst_base_sink_get_position):
12475         When operating in pull mode update the offset so that we
12476         read sequentially.
12477
12478 2006-07-05  Wim Taymans  <wim@fluendo.com>
12479
12480         * gst/gstregistryxml.c: (read_string):
12481         Avoid strdup. (will happen in libxml, but hey!)
12482
12483         * gst/gsturi.c:
12484         Add some more docs.
12485
12486 2006-07-05  Wim Taymans  <wim@fluendo.com>
12487
12488         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
12489         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
12490         (gst_buffer_suite):
12491         No point in checking if the size of the subbuffer > 0, the
12492         code handles it correclty as demonstrated by unit test.
12493         Also add a unit test for the zero sized _new_and_alloc and
12494         _copy. Fixes #346663.
12495
12496 2006-07-05  Wim Taymans  <wim@fluendo.com>
12497
12498         * libs/gst/base/gstbasetransform.c:
12499         (gst_base_transform_prepare_output_buffer),
12500         (gst_base_transform_buffer_alloc),
12501         (gst_base_transform_handle_buffer):
12502         Make sure the buffer we pass to transform_ip has a refcount of
12503         1 and thus is writable. Fixes #343196
12504
12505 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
12506
12507         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12508         (gst_file_src_init), (gst_file_src_set_property),
12509         (gst_file_src_get_property), (gst_file_src_map_region):
12510         * plugins/elements/gstfilesrc.h:
12511         Add "sequential" property, off by default, to use madvise and hint
12512         to the kernel that sequential access is desired.
12513         Touch all retrieved pages by default to ensure they are pulled
12514         into memory. (Closes #345720)
12515
12516 2006-07-03  Wim Taymans  <wim@fluendo.com>
12517
12518         * docs/design/part-block.txt:
12519         * docs/design/part-dynamic.txt:
12520         Small docs updates.
12521
12522 2006-07-03  Wim Taymans  <wim@fluendo.com>
12523
12524         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
12525         (gst_caps_unref), (gst_static_caps_get),
12526         (gst_caps_append_structure):
12527         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
12528         Use GSlice when the glib we build against is >= 2.10
12529
12530 2006-07-03  Wim Taymans  <wim@fluendo.com>
12531
12532         * gst/gstelement.c: (gst_element_pads_activate):
12533         Small cleanup in pad activation code.
12534
12535 2006-07-03  Wim Taymans  <wim@fluendo.com>
12536
12537         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12538
12539         * gst/gst-i18n-app.h:
12540         * gst/gst-i18n-lib.h:
12541         * tools/gst-inspect.c: (print_signal_info):
12542         The attached patch will make the inclusion of gettext.h unconditional in
12543         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
12544         libintl.h in tools/gst-inspect.c.
12545         This allows use of --disable-nls again and fixes #344642.
12546
12547 2006-07-03  Edward Hervey  <edward@fluendo.com>
12548
12549         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
12550         Implement pad blocking on events according to part-block.txt.
12551         More comments on behaviour.
12552         * tests/check/gst/gstevent.c: (test_event):
12553         Send event to peer pad of blocked pad (else it will block).
12554
12555 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12556
12557         * libs/gst/check/gstcheck.c: (gst_check_message_error),
12558         (gst_check_run_suite):
12559           if we get the wrong message, give us the types as string
12560         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
12561           Fix a translatable
12562         * tests/check/elements/filesrc.c: (GST_START_TEST):
12563           add a test for trying to open a non-existing file
12564
12565 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12566
12567         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12568           add a test for adding self
12569
12570 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12571
12572         * libs/gst/check/gstcheck.h:
12573           add some assert_ as alias for fail_unless_*
12574         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
12575           increase test coverage
12576
12577 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12578
12579         * Makefile.am:
12580           include lcov.mak for lcov coverage generation
12581         * tools/Makefile.am:
12582           add to CLEANFILES
12583
12584 2006-07-02  Edward Hervey  <edward@fluendo.com>
12585
12586         * tests/check/elements/.cvsignore:
12587         moaping
12588
12589 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12590
12591         * configure.ac:
12592           don't set CFLAGS and friends for gcov, done from GST_GCOV now
12593         * tests/check/Makefile.am:
12594           clean up gcov files
12595
12596 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12597
12598         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
12599           remove gst_caps_simplify; it was not declared and not used
12600           and deprecated in 0.8
12601
12602 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12603
12604         * docs/faq/gst-uninstalled:
12605           don't put empty paths on PYTHONPATH
12606         * docs/gst/gstreamer-sections.txt:
12607           remove some symbols that are not there
12608
12609 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12610
12611         * gst/gstcaps.c: (gst_caps_compare_structures):
12612           whitespace fixes
12613         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12614         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12615           add more tests
12616
12617 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12618
12619         * libs/gst/dataprotocol/Makefile.am:
12620           build dataprotocol test by linking to the lib, instead of
12621           compiling the source, so we get coverage
12622         * tests/check/Makefile.am:
12623         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
12624         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
12625           add a test for filesrc
12626
12627 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12628
12629         * tests/check/gst/gststructure.c: (GST_START_TEST),
12630         (gst_structure_suite):
12631           Push coverage from 59.04% to 70.00%
12632
12633 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12634
12635         * tests/check/Makefile.am:
12636           gst-inspect every element; this makes sure that we also get
12637           coverage on element's get/set functions
12638
12639 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12640
12641         * configure.ac:
12642           set CFLAGS and friends to -O0 if gcov is being used
12643           add GCOV LIBS
12644         * gst/Makefile.am:
12645         * libs/gst/base/Makefile.am:
12646         * libs/gst/check/Makefile.am:
12647         * libs/gst/controller/Makefile.am:
12648         * libs/gst/dataprotocol/Makefile.am:
12649         * libs/gst/net/Makefile.am:
12650         * plugins/elements/Makefile.am:
12651         * plugins/indexers/Makefile.am:
12652           add makefile rules to generate gcov data and clean up
12653         * tests/check/Makefile.am:
12654           add a coverage target that generates an html overview
12655           of coverage data
12656
12657 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12658
12659         * tests/check/elements/fakesink.c:
12660         * tests/check/elements/fakesrc.c:
12661         * tests/check/elements/fdsrc.c:
12662         * tests/check/elements/identity.c:
12663         * tests/check/generic/sinks.c: (gst_sinks_suite):
12664         * tests/check/generic/states.c:
12665         * tests/check/gst/gst.c:
12666         * tests/check/gst/gstabi.c:
12667         * tests/check/gst/gstbin.c:
12668         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
12669         * tests/check/gst/gstbus.c: (gst_bus_suite):
12670         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12671         * tests/check/gst/gstelement.c:
12672         * tests/check/gst/gstevent.c: (gst_event_suite):
12673         * tests/check/gst/gstghostpad.c:
12674         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
12675         * tests/check/gst/gstmessage.c: (gst_message_suite):
12676         * tests/check/gst/gstminiobject.c:
12677         * tests/check/gst/gstobject.c:
12678         * tests/check/gst/gstpad.c:
12679         * tests/check/gst/gstpipeline.c:
12680         * tests/check/gst/gstplugin.c:
12681         * tests/check/gst/gstquery.c: (gst_query_suite):
12682         * tests/check/gst/gstsegment.c: (gst_segment_suite):
12683         * tests/check/gst/gststructure.c:
12684         * tests/check/gst/gstsystemclock.c:
12685         * tests/check/gst/gsttag.c:
12686         * tests/check/gst/gsttask.c: (gst_task_suite):
12687         * tests/check/gst/gstutils.c:
12688         * tests/check/gst/gstvalue.c:
12689         * tests/check/libs/adapter.c:
12690         * tests/check/libs/basesrc.c:
12691         * tests/check/libs/collectpads.c:
12692         * tests/check/libs/controller.c:
12693         * tests/check/libs/gdp.c: (gst_dp_suite):
12694         * tests/check/libs/gstnetclientclock.c:
12695         * tests/check/libs/gstnettimeprovider.c:
12696         * tests/check/libs/libsabi.c: (libsabi_suite):
12697         * tests/check/libs/typefindhelper.c:
12698         * tests/check/pipelines/cleanup.c:
12699         * tests/check/pipelines/parse-launch.c:
12700         * tests/check/pipelines/simple-launch-lines.c:
12701         * tests/check/pipelines/stress.c: (stress_suite):
12702           use the new macro
12703
12704 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12705
12706         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
12707         * libs/gst/check/gstcheck.h:
12708           create a macro and function so that the simple unit test
12709           case can be just one macro to create main()
12710
12711 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
12712
12713         * gst/gstbin.c: (gst_bin_restore_thyself):
12714         * gst/gstxml.c: (gst_xml_make_element):
12715           Fix deserialisation from XML. Set parent manually
12716           instead of using gst_bin_add(), since gst_bin_add()
12717           will unlink all pads of the element being added.
12718           Fixes #341667.
12719
12720 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
12721
12722         Patch by: Peter Kjellerstedt <pkj at axis com>
12723
12724         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
12725           Fix missing g_strdup() and double free when using the
12726           --gst-plugin-load command line option (#346097).
12727
12728 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12729
12730         * gst/gstinfo.c:
12731           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
12732
12733         * libs/gst/net/gstnetclientclock.c:
12734         * libs/gst/net/gstnettimeprovider.c:
12735           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
12736
12737 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12738
12739         * docs/manual/advanced-dataaccess.xml:
12740           Fix buffer probe example compilation in
12741           ADM (#345708).
12742         
12743 2006-06-22  Edward Hervey  <edward@fluendo.com>
12744
12745         * gst/gstelement.c: (gst_element_pads_activate):
12746         We need to deactivate src pads first and then sink pads.
12747         The reason is the src pads might be blocking while holding the streaming
12748         lock, so we need to deactivate them first so that deactivating the sink
12749         pads doesn't block (since it will require the streaming lock).
12750
12751 2006-06-22  Wim Taymans  <wim@fluendo.com>
12752
12753         * libs/gst/base/gstbasetransform.c:
12754         (gst_base_transform_buffer_alloc):
12755         Forgot to remove two unneeded unrefs.
12756         Simplify a check _is_equal allready checks the obvious case.
12757
12758 2006-06-22  Wim Taymans  <wim@fluendo.com>
12759
12760         * docs/design/part-block.txt:
12761         Some docs about what pad_block should do.
12762
12763 2006-06-22  Wim Taymans  <wim@fluendo.com>
12764
12765         * gst/gstcaps.c: (gst_caps_replace):
12766         Fix crasher when passed NULL. Doc clarification.
12767         Optimize for the trivial case.
12768
12769         * gst/gstpipeline.c: (gst_pipeline_change_state):
12770         Small cleanups.
12771
12772         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12773         Small documentation cleanup.
12774
12775         * libs/gst/base/gstbasetransform.c:
12776         (gst_base_transform_buffer_alloc):
12777         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
12778         is what we need and it avoids a whole lot of redundant 
12779         refcount operations.
12780
12781 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
12782
12783         Patch by: Philip Jägenstedt  <philip at lysator liu se>
12784
12785         * docs/manual/advanced-dataaccess.xml:
12786           Fix 'Embedding static elements' section to use
12787           GST_PLUGIN_DEFINE_STATIC (#345607).
12788
12789 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12790
12791         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
12792           Attempt to 'fix' spuriously failing test case: it seems like the
12793           timeout of half a second is simply too small when the system is under
12794           load otherwise, and the timeout doesn't really seem to serve any
12795           particular purpose here. Give the pipeline a few seconds to preroll
12796           first, and then give it another half a second to go from PAUSED to
12797           PLAYING and marshal the message into the main thread.
12798
12799 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12800
12801         * tools/gst-feedback-m.m:
12802           Don't only use unversioned tools, try versioned tools as well
12803           (#345086).
12804
12805 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12806
12807         * gst/gstbus.c: (gst_bus_class_init):
12808           Fix some typos, make docs more explicit.
12809
12810 2006-06-20  Wim Taymans  <wim@fluendo.com>
12811
12812         * tests/check/gst/gstghostpad.c: (block_callback),
12813         (GST_START_TEST), (gst_ghost_pad_suite):
12814         Added some more ghostpad tests, mainly blocking
12815         and probes.
12816
12817 2006-06-16  Wim Taymans  <wim@fluendo.com>
12818
12819         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12820         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12821         (gst_file_sink_event), (gst_file_sink_render):
12822         * plugins/elements/gstfilesink.h:
12823         Check if we can seek in the file instead of assuming
12824         we always can. Post an error when we are asked to seek in a
12825         non-seekable file (like a fifo). Fixes #343312.
12826         Some cleanups.
12827
12828 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12829
12830         * tools/gst-launch.1.in:
12831           Un-garble (fourcc) bit in filtered caps section.
12832
12833 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12834
12835         * docs/manual/advanced-autoplugging.xml:
12836         * docs/manual/basics-helloworld.xml:
12837         * docs/manual/highlevel-components.xml:
12838           Don't leak bus reference in sample code.
12839
12840 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
12841
12842         * autogen.sh:
12843           Add default for new --enable-plugin-docs switch.
12844
12845         * configure.ac:
12846           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
12847           Fixes #344039.
12848
12849         * docs/Makefile.am:
12850           Use new ENABLE_PLUGIN_DOCS conditional.
12851
12852 2006-06-14  Wim Taymans  <wim@fluendo.com>
12853
12854         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
12855         Make it clear with a FIXME and a real define what the #if 0
12856         previously disabled.
12857
12858 2006-06-14  Wim Taymans  <wim@fluendo.com>
12859
12860         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12861         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12862         * libs/gst/base/gstbasetransform.c:
12863         (gst_base_transform_sink_eventfunc):
12864         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12865         Don't randomly and silently reset a segment when the format 
12866         changes as this is a bug somewhere upstream. Fixes #330379.
12867
12868 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
12869
12870         Patch by: Wouter Paesen  <wouter at kangaroot net>
12871
12872         * libs/gst/controller/gstcontroller.c:
12873         (gst_controlled_property_new):
12874           Fix controlling of float properties (#344849).
12875
12876         * tests/check/libs/controller.c:
12877         (gst_test_mono_source_get_property),
12878         (gst_test_mono_source_set_property),
12879         (gst_test_mono_source_class_init), (GST_START_TEST):
12880           While we're at it, add some float stuff to unit test.
12881
12882 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12883
12884         * docs/README:
12885         * docs/images/gdp-header.svg:
12886           add a gdp image
12887         * docs/libs/Makefile.am:
12888         * docs/libs/gdp-header.png:
12889         * libs/gst/dataprotocol/dataprotocol.c:
12890           add it to the API docs
12891         * docs/manual/intro-motivation.xml:
12892           fix typo
12893
12894 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12895
12896         * gst/gst.c: (scan_and_update_registry), (init_post):
12897           If the fork()'ed child process can't write the updated registry cache
12898           file to disk for some reason, make it exit with a failure exit code,
12899           so that the parent can then re-scan the plugins itself and update the
12900           registry structures in memory and work with that (rather than failing
12901           when creating elements because seemingly no plugins are available).
12902           Refactor registry scanning code into separate function for this and
12903           also separate fork() and non-fork() code paths. Fixes #344748.
12904
12905 2006-06-13  Wim Taymans  <wim@fluendo.com>
12906
12907         * docs/manual/advanced-dataaccess.xml:
12908         Fix wrong PluginDesc. Fixes #344755.
12909
12910 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12911
12912         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12913           Fix silly bug that prevented us from creating
12914           ~/.gstreamer-0.10 and writing the registry in one
12915           go (the first call to g_mkstemp() would overwrite the
12916           placeholder in the template string, so the second call
12917           to g_mkstemp() after creating the missing directory
12918           would then error out with 'invalid argument').
12919
12920 2006-06-13  Edward Hervey  <edward@fluendo.com>
12921
12922         * gst/gst.c: (init_post):
12923         Free string.
12924
12925 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12926
12927         * gst/glib-compat-private.h:
12928         * gst/glib-compat.c:
12929         * gst/glib-compat.h:
12930         * gst/gstvalue.c: (gst_value_serialize_flags):
12931           remove GLib 2.6 compatibility code
12932
12933 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
12934
12935         * gst/parse/Makefile.am:
12936           Fix build with 'make -j N' even more (#340016).
12937
12938 2006-06-12  Wim Taymans  <wim@fluendo.com>
12939
12940         * docs/gst/gstreamer-sections.txt:
12941         Fix docs.
12942
12943 2006-06-12  Wim Taymans  <wim@fluendo.com>
12944
12945         * gst/gstsegment.c: (gst_segment_set_duration),
12946         (gst_segment_set_last_stop), (gst_segment_set_seek),
12947         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
12948         (gst_segment_to_running_time), (gst_segment_clip):
12949         Use G_UNLIKELY to help the compiler a bit.
12950
12951 2006-06-12  Wim Taymans  <wim@fluendo.com>
12952
12953         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12954
12955         * gst/gstevent.c: (gst_event_get_type):
12956         * gst/gstmessage.c:
12957         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12958         (gst_pad_push):
12959         constify quark registration strings. Fixes #344115
12960         Avoid unneeded type checking is _pad_push() by internally
12961         calling gst_pad_chain_unchecked().
12962
12963 2006-06-12  Wim Taymans  <wim@fluendo.com>
12964
12965         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
12966         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
12967         (gst_subbuffer_finalize), (gst_buffer_create_sub),
12968         (gst_buffer_is_span_fast), (gst_buffer_span):
12969         Init _type for consistency.
12970         Use _FLAGS macro to avoid type check.
12971         Avoid unneeded type checks in subbufer code.
12972
12973 2006-06-12  Wim Taymans  <wim@fluendo.com>
12974
12975         * gst/gst.c: (gst_debug_help):
12976         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
12977         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12978         (gst_plugin_feature_list_free):
12979         * gst/gstregistry.c: (gst_registry_add_plugin),
12980         (gst_registry_add_feature), (gst_registry_plugin_filter),
12981         (gst_registry_feature_filter), (gst_registry_find_plugin),
12982         (gst_registry_find_feature), (gst_registry_get_plugin_list),
12983         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
12984         * gst/gstregistryxml.c: (load_feature),
12985         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
12986         * gst/gstminiobject.c: (gst_mini_object_unref),
12987         (gst_mini_object_replace), (gst_value_mini_object_free),
12988         (gst_value_mini_object_copy):
12989         Use _CAST macros to avoid unneeded type checking.
12990         Added some more G_UNLIKELY.
12991
12992 2006-06-12  Wim Taymans  <wim@fluendo.com>
12993
12994         * gst/gstbuffer.h:
12995         Avoid unneeded type checking.
12996         API: GST_BUFFER_IS_DISCONT
12997
12998         * gst/gstminiobject.h:
12999         Avoid type check in flag accessor.
13000
13001         * gst/gstelementfactory.h:
13002         * gst/gstplugin.h:
13003         * gst/gstpluginfeature.h:
13004         Add _CAST macros.
13005         API: GST_ELEMENT_FACTORY_CAST
13006         API: GST_PLUGIN_CAST
13007         API: GST_PLUGIN_FEATURE_CAST
13008
13009 2006-06-12  Wim Taymans  <wim@fluendo.com>
13010
13011         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
13012         (gst_object_unref):
13013         Add G_UNLIKELY in type registration.
13014         Avoid type check in _ref/_unref since that is also
13015         done in glib.
13016
13017 2006-06-12  Wim Taymans  <wim@fluendo.com>
13018
13019         * gst/gsterror.c: (gst_g_error_get_type):
13020         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
13021         (gst_static_pad_template_get_type):
13022         * gst/gsttaglist.c: (gst_tag_list_get_type):
13023         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
13024         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
13025         * gst/gsturi.c: (gst_uri_handler_get_type):
13026         * gst/gstvalue.c: (gst_date_get_type):
13027         * gst/gstxml.c: (gst_xml_get_type):
13028         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
13029         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13030         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
13031         Add G_UNLIKELY in type registration.
13032
13033 2006-06-12  Wim Taymans  <wim@fluendo.com>
13034
13035         * tools/gst-inspect.c: (print_signal_info):
13036         Properly print enum values.
13037
13038 2006-06-12  Wim Taymans  <wim@fluendo.com>
13039
13040         * gst/gstinfo.c: (gst_debug_set_active),
13041         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
13042         * gst/gstinfo.h:
13043         Add some G_[UN]LIKELY.
13044         Maintain __gst_debug_min to avoid formatting the arguments of
13045         debug messages that will be dropped anyway to avoid a lot of 
13046         overhead from the debugging system.
13047
13048 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13049
13050         * po/POTFILES.in:
13051         * po/POTFILES.skip:
13052           add missing files containing translatable strings, tell intltool about
13053           one exception
13054
13055 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13056
13057         * tests/check/libs/.cvsignore:
13058         add test-binary to ignore list
13059
13060 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
13061
13062         * docs/libs/gstreamer-libs-docs.sgml:
13063         reorder (put dp into a chapter) and indent
13064
13065 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13066
13067         * configure.ac:
13068           back to HEAD
13069
13070 === release 0.10.8 ===
13071
13072 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
13073
13074         * configure.ac:
13075           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
13076
13077 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13078
13079         * gst/gst.c: (init_post):
13080           move pid declaration to declaration block
13081
13082 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13083
13084         * gst/gst.c: (init_post):
13085           use _exit() instead of exit() in our forked child; this ensures
13086           that none of the registered exit handlers from whatever is using
13087           GStreamer get executed.  This fixes gnome-mixer-applet failing
13088           to load, because ORBit would shut down.
13089           Spotted by: Edward Hervey  <edward@fluendo.com>
13090           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
13091           Fixes #344474
13092
13093 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13094
13095         * configure.ac:
13096           back to TRUNK
13097
13098 === release 0.10.7 ===
13099
13100 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
13101
13102         * configure.ac:
13103           releasing 0.10.7, "Soepeke, ik zie ou"
13104
13105 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13106
13107         * configure.ac:
13108         * po/af.po:
13109         * po/az.po:
13110         * po/bg.po:
13111         * po/ca.po:
13112         * po/cs.po:
13113         * po/de.po:
13114         * po/en_GB.po:
13115         * po/fr.po:
13116         * po/it.po:
13117         * po/nb.po:
13118         * po/nl.po:
13119         * po/ru.po:
13120         * po/sq.po:
13121         * po/sr.po:
13122         * po/sv.po:
13123         * po/tr.po:
13124         * po/uk.po:
13125         * po/vi.po:
13126         * po/zh_CN.po:
13127         * po/zh_TW.po:
13128         * win32/common/config.h:
13129           0.10.6.2 prerelease
13130
13131 2006-06-07  Wim Taymans  <wim@fluendo.com>
13132
13133         * gst/gstindex.c: (gst_index_gtype_resolver):
13134         * tools/gst-xmlinspect.c: (print_plugin_info):
13135         Fix leak spotted by coverity checker. Fixes #343827
13136         Fix another other leak found by paolo borelli.
13137
13138 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13139
13140         * libs/gst/dataprotocol/dataprotocol.c:
13141         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13142         (gst_dp_version_get_type), (gst_dp_init),
13143         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
13144         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
13145         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
13146         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
13147         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
13148         (gst_dp_packetizer_free):
13149         * libs/gst/dataprotocol/dataprotocol.h:
13150           API: add a GstDPPacketizer object, and create/free functions
13151           API: add GstDPVersion enum
13152           Add 1.0 event function that uses the string serialization
13153           Serialize more useful buffer flags
13154           Fixes #343988
13155
13156 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * tests/check/Makefile.am:
13159         * tests/check/gst/gstabi.c:
13160         * tests/check/gst/struct_ppc64.h:
13161         * tests/check/libs/libsabi.c:
13162         * tests/check/libs/struct_ppc64.h:
13163           add ppc64 structure sizes
13164
13165 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13166
13167         * tests/check/Makefile.am:
13168         * tests/check/gst/gstabi.c:
13169         * tests/check/gst/struct_x86_64.h:
13170         * tests/check/libs/libsabi.c:
13171         * tests/check/libs/struct_x86_64.h:
13172           generate and add structure size lists for x86_64
13173
13174 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13175
13176         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
13177         * libs/gst/check/gstcheck.h:
13178           factor out the method from tests that checks size of structures,
13179           and add code to generate the header containing these sizes
13180         * tests/check/gst/gstabi.c: (GST_START_TEST):
13181         * tests/check/gst/struct_i386.h:
13182         * tests/check/libs/libsabi.c: (GST_START_TEST):
13183         * tests/check/libs/struct_i386.h:
13184           use it
13185
13186 2006-06-06  Michael Smith  <msmith@fluendo.com>
13187
13188         * gst/gstsegment.h:
13189           Don't use c++-style comments, fixes #343929
13190
13191 2006-06-05  Edward Hervey  <edward@fluendo.com>
13192
13193         * gst/gst.c:
13194         plugin_paths is not used if we build without registry support.
13195
13196         * gst/gstsegment.c: (gst_segment_copy): 
13197         _copy() was always returning NULL...
13198
13199 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13200
13201         * libs/gst/dataprotocol/dataprotocol.c:
13202         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13203         (gst_dp_packet_from_event):
13204           factor out CRC code
13205
13206 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13207
13208         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
13209           make sure we unset caps
13210
13211 2006-06-02  Michael Smith  <msmith@fluendo.com>
13212
13213         * libs/gst/check/gstcheck.c: (gst_check_init),
13214         (gst_check_chain_func):
13215         * libs/gst/check/gstcheck.h:
13216           Add a cond/mutex to the check support lib, signal this whenever we
13217           add to the buffers list. This will allow tests to not busy-wait on
13218           the buffer-list.
13219
13220 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13221
13222         * libs/gst/dataprotocol/dataprotocol.c:
13223         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
13224         (gst_dp_packet_from_event):
13225           factor out some common header init code
13226
13227 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13228
13229         * docs/libs/gstreamer-libs-sections.txt:
13230         * docs/libs/tmpl/gstdataprotocol.sgml:
13231         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
13232         * libs/gst/dataprotocol/dataprotocol.h:
13233           API: make gst_dp_crc() public
13234
13235 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13236
13237         * plugins/indexers/gstindexers.c: (plugin_init):
13238         conditionally register fileindexer (fixes #343598)
13239
13240 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
13241
13242         * gst/gsttagsetter.h:
13243         Can't cast ifaces to a class
13244
13245         * libs/gst/net/gstnetclientclock.h:
13246         * libs/gst/net/gstnettimeprovider.h:
13247         * plugins/elements/gstfakesink.h:
13248         * plugins/elements/gstfakesrc.h:
13249         * plugins/elements/gstfdsink.h:
13250         * plugins/elements/gstfdsrc.h:
13251         * plugins/elements/gstfilesink.h:
13252         * plugins/elements/gstfilesrc.h:
13253         * plugins/elements/gstidentity.h:
13254         * plugins/elements/gstqueue.h:
13255         * plugins/elements/gsttee.h:
13256         * plugins/indexers/gstfileindex.c:
13257         * plugins/indexers/gstmemindex.c:
13258         * tests/old/examples/plugins/example.h:
13259         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
13260
13261 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13262
13263         * libs/gst/dataprotocol/dataprotocol.c:
13264         (gst_dp_header_from_buffer):
13265           make sure we zero the whole ABI-compatible area
13266
13267 2006-06-01  Wim Taymans  <wim@fluendo.com>
13268
13269         Patch by: Alessandro Decina <alessandro at nnva dot org>
13270
13271         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
13272         Make sure the EOS flag is cleared from pads after a flush
13273         or stop. Fixes #343538.
13274
13275         * tests/check/libs/collectpads.c: (GST_START_TEST),
13276         (gst_collect_pads_suite):
13277         Added test for collectpads reusage after EOS.
13278
13279 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
13280
13281         * gst/gst.c:
13282          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
13283         * win32/common/libgstbase.def:
13284          export gst_collect_pads_set_flushing
13285         * win32/common/libgstreamer.def:
13286          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
13287          gst_value_fraction_multiply
13288         * win32/vs6/gst_inspect.dsp:
13289          add a link to intl.lib
13290
13291 2006-05-30  Wim Taymans  <wim@fluendo.com>
13292
13293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13294         (gst_collect_pads_chain):
13295         Handle the case where a pad is removed from the collection
13296         that could cause the other pads to become collectable.
13297
13298 2006-05-30  Wim Taymans  <wim@fluendo.com>
13299
13300         * gst/gstelement.c:
13301         Clarify the use of _release_request_pad() and
13302         _get_request_pad() a bit better.
13303
13304         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
13305         (gst_adapter_take_buffer):
13306         Fix some doc and comment typos.
13307
13308 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13309
13310         * docs/gst/gstreamer-sections.txt:
13311         * docs/libs/gstreamer-libs-sections.txt:
13312           add declared symbols
13313
13314 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
13315
13316         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13317         Add debug that can be enabled using a #define at the top of the file,
13318         for dumping stats about how late/early we were when waking up from
13319         waiting on the clock.
13320
13321 2006-05-30  Wim Taymans  <wim@fluendo.com>
13322
13323         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
13324         When rebuilding the pad list, don't leak the previous list.
13325
13326 2006-05-30  Wim Taymans  <wim@fluendo.com>
13327
13328         Patch by: Lutz Mueller <lutz at topfrose dot de>
13329
13330         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13331         (gst_base_src_get_query_types), (gst_base_src_update_length):
13332         Publish supported query types.
13333         Update last_stop field in get_range mode so the position
13334         query works. Fixes #342321.
13335
13336 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
13337
13338         * docs/gst/gstreamer-sections.txt:
13339         * gst/gsttaglist.c: (_gst_tag_initialize):
13340         * gst/gsttaglist.h:
13341           API: add GST_TAG_PREVIEW_IMAGE (#343341).
13342
13343 2006-05-30  Wim Taymans  <wim@fluendo.com>
13344
13345         Patch by: Alessandro Decina <alessandro at nnva dot org>
13346
13347         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
13348         Unlock mutex when removing an unknown pad.
13349         Fixes #343334.
13350
13351         * tests/check/Makefile.am:
13352         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
13353         (push_event), (setup), (teardown), (GST_START_TEST),
13354         (gst_collect_pads_suite), (main):
13355         Added collecpads check, disabled for now as check crashes for
13356         some reason.
13357
13358 2006-05-29  Wim Taymans  <wim@fluendo.com>
13359
13360         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
13361         Don't leak pads lists.
13362
13363 2006-05-29  Wim Taymans  <wim@fluendo.com>
13364
13365         * docs/libs/gstreamer-libs-sections.txt:
13366         * libs/gst/base/gstcollectpads.c:
13367         (gst_collect_pads_set_flushing_unlocked),
13368         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13369         (gst_collect_pads_stop):
13370         * libs/gst/base/gstcollectpads.h:
13371         API: gst_collect_pads_set_flushing()
13372         Added api to set the pads to flushing, useful for seeking
13373         code in elements using collectpads.
13374         Clear segment when receiving a flush.
13375
13376 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
13377
13378         * gst/gst.c: (add_path_func), (init_post):
13379           Don't scan registry paths passed via --gst-plugin-path immediately
13380           (will crash, because absolutely nothing is set up and no types are
13381           registered etc.); do this later in init_post(). Fixes #343057.
13382
13383 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13384
13385         * gst/gst.c: (init_post):
13386           if we have fork, fork while reading/rebuilding the registry
13387           so the parent doesn't take the hit of having all plugins loaded
13388           in memory.  Fixes #342777.
13389         * configure.ac:
13390           Check if we have fork()
13391         * win32/common/config.h.in:
13392           no fork() on win32
13393
13394 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13395
13396         * plugins/elements/gstelements.c:
13397         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13398         (gst_file_src_init), (gst_file_src_set_property),
13399         (gst_file_src_get_property), (gst_file_src_start):
13400         * plugins/elements/gstfilesrc.h:
13401           API: GstFileSrc::use-mmap
13402
13403         Add a use-mmap property to enable easier testing of all code paths.
13404         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
13405         in the absence of gnomevfssrc. (Closes #340501)
13406
13407 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13408
13409         * tools/gst-inspect.c:
13410         Add missing include, removes warning of ngettext not being defined on
13411         some arches.
13412
13413 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13414
13415         * gst/gstvalue.c: (gst_value_deserialize_fraction):
13416         Handle NULL input and output pointers silently as a failed conversion,
13417         rather than g_warnings.
13418
13419 2006-05-25  Wim Taymans  <wim@fluendo.com>
13420
13421         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
13422         Initialize variable before using. Fixes #342820.
13423
13424 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
13425
13426         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
13427           Fix off-by-one bug that would only allow peeks of N-1 bytes
13428           from the start even if the buffer to typefind on contains
13429           in fact N bytes of data (makes vorbis typefinding from a
13430           vorbis identification header buffer work).
13431
13432         * tests/check/Makefile.am:
13433         * tests/check/libs/.cvsignore:
13434         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
13435         (gst_typefindhelper_suite), (main), (foobar_typefind),
13436         (plugin_init):
13437           Add very basic unit test for gst_type_find_helper_for_buffer()
13438           that checks for the problem fixed above.
13439
13440 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * tools/gst-inspect.c: (print_interfaces),
13443         (print_element_properties_info), (print_element_list), (main):
13444           add more translatable strings
13445
13446 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
13447
13448         Patch by: Julien Moutte  <julien at moutte net>
13449
13450         * docs/gst/gstreamer-sections.txt:
13451           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
13452           
13453         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
13454         (gst_fake_sink_preroll):
13455         * plugins/elements/gstfakesink.h:
13456           API: Add new GstFakeSink::preroll-handoff signal (#337100).
13457
13458 2006-05-23  Wim Taymans  <wim@fluendo.com>
13459
13460         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
13461         * gst/gstpad.h:
13462         Added _CUSTOM error and success GstFlowReturn that can be
13463         used be elements internally. 
13464         Added macro to check for SUCCESS flowreturns.
13465         API: GST_FLOW_CUSTOM_SUCCESS
13466         API: GST_FLOW_CUSTOM_ERROR
13467         API: GST_FLOW_IS_SUCCESS
13468
13469         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
13470         Added check for GstFlowReturn sanity.
13471
13472 2006-05-23  Wim Taymans  <wim@fluendo.com>
13473
13474         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
13475
13476         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13477         (gst_collect_pads_event):
13478         clear/reset segment info in FLUSH_STOP.
13479         Fixes #336929.
13480
13481 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
13482
13483         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
13484         (gst_collect_pads_check_collected):
13485         Flush queued buffer on _stop(), fixes playing again (#342454)
13486
13487 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13488
13489         * tests/check/gst/gststructure.c: (GST_START_TEST),
13490         (gst_structure_suite):
13491           add a test for a complete structure
13492
13493 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13494
13495         * docs/faq/developing.xml:
13496         * docs/faq/faq.xml:
13497         * docs/faq/troubleshooting.xml:
13498         * docs/faq/using.xml:
13499           Some minor FAQ updates that won't change the fact that
13500           our FAQ is badly structured, full of information hardly
13501           anyone new to GStreamer needs to know and lacking lots
13502           of information people constantly ask for.
13503           
13504 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
13505
13506         * gst/gstpad.c: (gst_pad_set_caps):
13507           Short-circuit gst_pad_set_caps if setting the existing
13508           caps pointer again, and avoid printing debug and 
13509           reffing/unreffing the caps.
13510
13511         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13512           There's actually no need to set the caps before pushing -
13513           the acceptcaps method will handle it anyway.
13514
13515 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13516
13517         * docs/gst/gstreamer-sections.txt:
13518         * win32/common/libgstreamer.def:
13519         * gst/gstutils.c: (gst_element_seek_simple):
13520         * gst/gstutils.h:
13521           API: add gst_element_seek_simple() (#342238).
13522
13523 2006-05-18  Edward Hervey  <edward@fluendo.com>
13524
13525         * gst/gsttypefind.c: (gst_type_find_get_type):
13526         * gst/gsttypefind.h:
13527         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
13528         registered for GstTypeFind pointers. This allows wrapping the structure
13529         in bindings (i.e. gst-python).
13530
13531 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13532
13533         * gst/gsttagsetter.c:
13534           Docs additions and fixes (see #339918).
13535
13536 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13537
13538         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13539         The caps intersection algorithm can produce multiple copies of the
13540         caps. Until that is fixed, we need to simplify the result to be
13541         sure whether the allowed caps are fixed or not.
13542
13543         * plugins/elements/gstqueue.c: (gst_queue_init),
13544         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
13545         (gst_queue_push_one):
13546         Proxied buffer alloc should not set the caps on the source pad.
13547         When pushing buffers, we always accept the caps change that triggers.
13548         This prevents negotiation errors caused by caps changing mid-stream 
13549         and then being refused on our source pad (because upstream is now
13550         refusing those caps).
13551
13552 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13553
13554         * tests/examples/helloworld/helloworld.c: (main):
13555           Must plug audioconvert and audioresample between decoder
13556           and audio sink.
13557
13558 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
13559
13560         * gst/gstregistryxml.c: (read_string), (load_pad_template),
13561         (load_feature), (load_plugin):
13562         Allow empty strings for some of the plugin fields so we don't 
13563         drop valid plugin entries that were written out correctly
13564         (Fixes #341479)
13565
13566 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
13567         
13568         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13569           Use g_remove and g_rename instead of remove and rename that don't 
13570           handle utf8 characters. rename was failing for users who had specific
13571           characters in their name then the registry was built at each 
13572           gstreamer init.
13573         * win32/vs6/gst_inspect.dsp:
13574         * win32/vs6/gst_launch.dsp:
13575         * win32/vs6/libgstbase.dsp:
13576         * win32/vs6/libgstcoreelements.dsp:
13577         * win32/vs6/libgstreamer.dsp:
13578           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
13579           build of libgstreamer and clean unused libraries in projects link 
13580           settings.
13581
13582 2006-05-17  Edward Hervey  <edward@fluendo.com>
13583
13584         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13585         The queue is not responsible for pushing an EOS when receiving a fatal
13586         flow error. It's up to the real element driving the pipeline to do that.
13587
13588 2006-05-16  Edward Hervey  <edward@fluendo.com>
13589
13590         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13591         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
13592         buffer returned a fatal error. It should just send an EOS and stop
13593         its task.
13594         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
13595         when pushing buffers on the queue and will be able to handle the event.
13596
13597 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
13598
13599         * docs/manual/basics-bins.xml:
13600         * docs/manual/basics-init.xml:
13601           Fix typos and minor errors in sample code (#341856).
13602
13603 2006-05-16  Wim Taymans  <wim@fluendo.com>
13604
13605         * docs/design/part-qos.txt:
13606         Fix indexes in formulas to make more sense.
13607
13608 2006-05-15  Wim Taymans  <wim@fluendo.com>
13609
13610         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13611         Don't report POSITION based on clock time if sync is
13612         disabled in a sink.
13613
13614 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
13615
13616         * gst/gstobject.h:
13617           Add cast to make compiler happy - refcount variable was a gint
13618           in GstObject but is a guint in GObject and g_atomic_int_get()
13619           wants a gint *.
13620
13621 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13622
13623         * gst/parse/Makefile.am:
13624           chain commands using &&, which also makes parallel make work
13625
13626 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
13627
13628         * docs/gst/gstreamer-sections.txt:
13629         * gst/gstevent.c:
13630         * gst/gstevent.h:
13631         * gst/gstmessage.h:
13632           Minor docs fixes.
13633
13634 === release 0.10.6 ===
13635
13636 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
13637
13638         * configure.ac:
13639           releasing 0.10.6, "Take the cannoli"
13640
13641 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13642
13643         * tools/gst-launch.c: (print_tag):
13644           Fix use of uninitialized variable in the hypothetical
13645           case that some broken plugin creates a GST_TAG_IMAGE
13646           tag containing a NULL buffer (#341667).
13647
13648 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13649
13650         * tools/gst-launch.c: (print_tag):
13651           Print something more intelligible for image tags when
13652           using the -t switch (#341556).
13653
13654 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13655
13656         * Makefile.am:
13657           updates for win32
13658         * configure.ac:
13659           define GST_MAJORMINOR so we have it available in win32/common/config.h
13660           Possibly remove it from our Makefile.am files later
13661         * win32/common/config.h:
13662         * win32/common/config.h.in:
13663           added GST_MAJORMINOR
13664         * win32/common/gstenumtypes.c: (register_gst_resource_error):
13665         * win32/common/gstversion.h:
13666           updated
13667
13668 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
13669
13670         * win32/MANIFEST:
13671           Update win32 files listing.
13672         * win32/common/gstversion.h:
13673           Add GST_MAJORMINOR definition.
13674         * win32/common/libgstreamer.def:
13675           Add new exported functions.
13676           
13677 2006-05-12  Michael Smith  <msmith@fluendo.com>
13678
13679         * gst/gstplugin.c: (gst_plugin_load_file):
13680           If an so file has no plugin entry point, unload the module.
13681
13682 2006-05-11  Wim Taymans  <wim@fluendo.com>
13683
13684         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
13685         (gst_queue_set_property):
13686         Don't forget to signal the _chain or _loop function 
13687         when the queue size or thresholds change since that might
13688         cause them to make progres again.
13689
13690 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
13691
13692         * gst/gstclock.c: (gst_clock_class_init):
13693         * gst/gstindex.c: (gst_index_class_init):
13694         * gst/gstobject.c: (gst_object_class_init):
13695         * gst/gstpad.c: (gst_pad_class_init):
13696         * gst/gstpipeline.c: (gst_pipeline_class_init):
13697         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13698         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
13699         * libs/gst/base/gstbasetransform.c:
13700         (gst_base_transform_class_init):
13701         * libs/gst/net/gstnetclientclock.c:
13702         (gst_net_client_clock_class_init):
13703         * libs/gst/net/gstnettimeprovider.c:
13704         (gst_net_time_provider_class_init):
13705         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
13706         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
13707         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
13708         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
13709         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13710         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
13711         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13712         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13713         * plugins/elements/gsttee.c: (gst_tee_class_init):
13714         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13715         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13716           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
13717
13718 2006-05-11  Wim Taymans  <wim@fluendo.com>
13719
13720         * gst/gstbuffer.c: (_gst_buffer_initialize):
13721         Register subbufer along with the buffer type so that
13722         it does not accidentally gets registered from N
13723         different streaming threads in a non threadsafe way.
13724
13725 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13726
13727         * gst/gstbuffer.h:
13728         * gst/gstevent.h:
13729         * gst/gstmessage.h:
13730           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
13731           gst_event_ref() and gst_message_ref() functions again
13732           (ugly hack, please do fix if there's a better way besides
13733           overrides.txt, which doesn't seem to work).
13734
13735 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * libs/gst/check/gstcheck.h:
13738           add an assert for setting state to avoid lots of repetitive code
13739           in the future
13740
13741 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13742
13743         * gst/gstvalue.c: (gst_value_serialize_flags):
13744           fix a leak if no flags are set
13745         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13746           fix leak in tests
13747
13748 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13749
13750         * docs/manual/basics-pads.xml:
13751           Expand a bit on caps and filtered links and update
13752           examples that were still using the no longer existing
13753           gst_pad_link_filtered() (#338206).
13754
13755 2006-05-10  Wim Taymans  <wim@fluendo.com>
13756
13757         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13758         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13759         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13760         (gst_collect_pads_stop):
13761         * libs/gst/base/gstcollectpads.h:
13762         No need to call _stop in _finalize.
13763         Iterate the main pad list in _finalize.
13764         Added some more debug.
13765         Free lists and data in the right order.
13766         Also free data whem doing _remove_pad when stopped for
13767         backward compatibility protect ::started with PAD_LOCK as
13768         well.
13769
13770 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13771
13772         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
13773         (gst_structure_parse_value):
13774           add some comments
13775           rename a method so that it actually says what it does better
13776
13777 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13778
13779         * gst/gstevent.c: (_gst_event_initialize):
13780         * gst/gstformat.c: (_gst_format_initialize):
13781           make sure some essential types used by events are registered
13782           as part of gst_init()
13783         * gst/gstvalue.c: (gst_value_serialize_flags):
13784           if no flags are set, serialize them to a value that represents NONE
13785           so that deserializing them works
13786         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13787           add tests for serialization and deserialization of flags
13788
13789 2006-05-10  Wim Taymans  <wim@fluendo.com>
13790
13791         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
13792         (gst_collect_pads_collect_range), (gst_collect_pads_available),
13793         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
13794         (gst_collect_pads_event), (gst_collect_pads_chain):
13795         Update docs.
13796         Better debug info.
13797         Catch and return errors from the collect function
13798         Refuse data on eos pads.
13799
13800 2006-05-10  Edward Hervey  <edward@fluendo.com>
13801
13802         * gst/gstinterface.h:
13803         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
13804         GInterface type checking.
13805         They were previously using non-defined macros.
13806
13807 2006-05-09  Wim Taymans  <wim@fluendo.com>
13808
13809         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
13810         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
13811         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
13812         (gst_collect_pads_start), (gst_collect_pads_stop),
13813         (gst_collect_pads_peek), (gst_collect_pads_pop),
13814         (gst_collect_pads_available), (gst_collect_pads_read),
13815         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
13816         (gst_collect_pads_is_collected), (gst_collect_pads_event),
13817         (gst_collect_pads_chain):
13818         * libs/gst/base/gstcollectpads.h:
13819         Clean up the mess that is collectpads, add comments and
13820         FIXMEs where needed.
13821         Maintain a separate pad list so we can add pads while
13822         collecting the other ones. For this we need a new separate 
13823         lock (see comics).
13824         Fix memory leak in finalize.
13825         Refactor some weird code to set/unset pad flushing flags, mark
13826         with comments.
13827         Don't crash in _available, _read, _flush when we're EOS.
13828
13829         * tests/check/libs/.cvsignore:
13830         Ignore adapter check binary.
13831
13832 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13833
13834         * gst/gstindex.c: (gst_index_resolver_get_type):
13835         * plugins/elements/gstfakesink.c:
13836         (gst_fake_sink_state_error_get_type):
13837         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13838         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
13839         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
13840           Const-ify GEnumValue arrays.
13841
13842 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13843
13844         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13845           Add test case for flags + gst_buffer_make_metadata_writable().
13846
13847 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13848
13849         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
13850           gst_buffer_make_metadata_writable() should maintain the
13851           buffer flags (those that make sense at least) (see #340859).
13852
13853 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13854
13855         * tools/gst-inspect.c:
13856         * tools/gst-launch.c:
13857         * tools/gst-typefind.c:
13858         * tools/gst-xmlinspect.c:
13859         * tools/tools.h:
13860           Fix up includes: need to include stdlib.h in tools.h for exit().
13861
13862 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13863
13864         * gst/gsttaglist.c: (_gst_tag_initialize):
13865         * gst/gsttaglist.h:
13866           API: add GST_TAG_IMAGE tag (#340721).
13867
13868 2006-05-08  Wim Taymans  <wim@fluendo.com>
13869
13870         * gst/gstquery.c:
13871         Added some docs for the segment query.
13872
13873 2006-05-08  Wim Taymans  <wim@fluendo.com>
13874
13875         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13876         (gst_base_src_loop), (gst_base_src_change_state):
13877         Always push non-flushing serialized events in the streaming 
13878         thread.
13879
13880 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13881
13882         * gst/gsterror.c: (_gst_stream_errors_init):
13883           Add a missing error string.
13884
13885 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
13886
13887         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
13888         Add applied_rate to the debug
13889
13890         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13891         Copy applied_rate into the outgoing NEWSEGMENT event
13892
13893 2006-05-08  Wim Taymans  <wim@fluendo.com>
13894
13895         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
13896
13897         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
13898         (gst_base_sink_change_state):
13899         call ::unlock before taking the PREROLL_LOCK so we can safely
13900         handle elements that lock in ::render.
13901         Fixes #340174.
13902
13903 2006-05-08  Edward Hervey  <edward@fluendo.com>
13904
13905         * autogen.sh: (CONFIGURE_DEF_OPT): 
13906         Darwin's libtoolize is in fact called glibtoolize.
13907         Adding glibtoolize to the list of accepted names for libtoolize.
13908
13909 2006-05-08  Wim Taymans  <wim@fluendo.com>
13910
13911         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13912         Unify error handling, don't post an error message
13913         when a push() returns EOS but perform our normal EOS
13914         handling code. Fixes #340772.
13915
13916 2006-05-08  Wim Taymans  <wim@fluendo.com>
13917
13918         * docs/design/part-overview.txt:
13919         Make upsteam/downstream concepts more clear.
13920         Give an example of serialized/non-serialized events.
13921
13922         * docs/design/part-events.txt:
13923         * docs/design/part-streams.txt:
13924         Mention applied_rate.
13925
13926         * docs/design/part-trickmodes.txt:
13927         Mention applied rate, flesh out some more use cases.
13928
13929         * gst/gstevent.c: (gst_event_new_new_segment),
13930         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
13931         (gst_event_parse_new_segment_full), (gst_event_new_tag),
13932         (gst_event_parse_tag), (gst_event_new_buffer_size),
13933         (gst_event_parse_buffer_size), (gst_event_new_qos),
13934         (gst_event_parse_qos), (gst_event_parse_seek),
13935         (gst_event_new_navigation):
13936         * gst/gstevent.h:
13937         Add applied_rate field to NEWSEGMENT event.
13938         API: gst_event_new_new_segment_full()
13939         API: gst_event_parse_new_segment_full()
13940
13941         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
13942         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
13943         (gst_segment_to_stream_time), (gst_segment_to_running_time):
13944         * gst/gstsegment.h:
13945         Add applied_rate to GstSegment structure.
13946         Make calculation of stream_time and running_time more correct
13947         wrt rate/applied_rate.
13948         Add some more docs.
13949         API: GstSegment::applied_rate field
13950         API: gst_segment_set_newsegment_full();
13951
13952         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13953         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
13954         * libs/gst/base/gstbasetransform.c:
13955         (gst_base_transform_sink_eventfunc),
13956         (gst_base_transform_handle_buffer):
13957         Parse and use applied_rate in the GstSegment field.
13958
13959         * tests/check/gst/gstevent.c: (GST_START_TEST):
13960         Add check for applied_rate field.
13961
13962         * tests/check/gst/gstsegment.c: (GST_START_TEST),
13963         (gstsegments_suite):
13964         Add more checks for various GstSegment operations.
13965
13966 2006-05-08  Wim Taymans  <wim@fluendo.com>
13967
13968         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13969         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
13970         (gst_base_sink_get_position), (gst_base_sink_change_state):
13971         Store the sync time of the buffer end position separatly in a
13972         new variable eos_rtime so we can properly sync the EOS event.
13973         Fixes #340697.
13974         Fix the docs for gst_base_sink_set_qos_enabled().
13975         Don't set segment start to invalid value when we receive a 
13976         non TIME newsegment.
13977         get closer to handling position reporting for negative rates 
13978         correctly.
13979
13980 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13981
13982         * gst/gstcaps.c:
13983         Docs about how to print caps for debug purposes.
13984
13985         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
13986         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
13987
13988 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13989
13990         * gst/gstelement.c:
13991           use full enum names and preprend a '%' in docs strings to make recent 
13992           gtk-doc turn that into a link
13993
13994 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13995
13996         * docs/manual/basics-bins.xml:
13997         * docs/manual/basics-bus.xml:
13998         * docs/manual/basics-pads.xml:
13999           Some typo fixes, some additions, some clarifications. 
14000
14001 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14002
14003         * tools/gst-inspect.c: (main):
14004         * tools/gst-launch.c: (main):
14005         * tools/gst-run.c: (main):
14006         * tools/gst-typefind.c: (main):
14007         * tools/gst-xmlinspect.c: (main):
14008           Use the string passed to g_option_context_new() for
14009           what it's intended for - the program name is already
14010           printed elsewhere.
14011
14012 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14013
14014         * tools/Makefile.am:
14015         * tools/gst-inspect.c: (main):
14016         * tools/gst-launch.c: (main):
14017         * tools/gst-xmlinspect.c: (main):
14018         * tools/tools.h:
14019           Add back --version command line option (#340460).
14020
14021         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
14022           Add --version option and use GOption for argument parsing; refactor a
14023           bit; accept directories as arguments and recurse into them; lastly,
14024           print a decent error message when things go wrong.
14025
14026 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14027
14028         * docs/manual/basics-bins.xml:
14029         Don't mention GstThread (#340611)
14030         * docs/manual/basics-elements.xml:
14031         Update link to GObject tutorial (#340607)
14032         
14033 2006-05-05  Wim Taymans  <wim@fluendo.com>
14034
14035         * gst/gstbuffer.h:
14036         * gst/gstminiobject.c:
14037         Add note about refcounting and miniobject/buffer writeability
14038         to docs. Fixes #340604
14039
14040         * gst/gstelementfactory.h:
14041         Added some explanation about @klass.
14042
14043 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14044
14045         * docs/manual/intro-motivation.xml:
14046         * docs/manual/manual.xml:
14047         Avoid CORBA & Bonobo references (#340598)
14048
14049 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14050
14051         * docs/manual/basics-bus.xml:
14052         * docs/manual/basics-pads.xml:
14053         Fix up some inaccuracies and omissions (#340609)
14054         
14055 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
14056
14057         * gst/gstghostpad.c:
14058           Small typo in docs (#340625)
14059
14060 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14061
14062         * gst/parse/Makefile.am:
14063           Make 'make -j' proof (see #340698).
14064
14065 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
14066
14067         * configure.ac:
14068           Require GLib-2.8 here as well.
14069
14070 2006-05-05  Wim Taymans  <wim@fluendo.com>
14071
14072         * gst/glib-compat.c:
14073         * gst/gst.c: (init_pre):
14074         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
14075         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
14076         (gst_object_dispatch_properties_changed):
14077         * gst/gstobject.h:
14078         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14079         * gst/gststructure.c: (gst_structure_set_valist):
14080         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14081         Remove pre glib2.8 compatibility, fixes #340508
14082
14083 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14084
14085         * gst/gsttaglist.h:
14086           Mention type of tags in doc blurbs.
14087
14088 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
14089
14090         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14091         (gst_pad_configure_src), (gst_pad_push):
14092         Restore acceptcaps checking behaviour now that good plugins have
14093         been released.
14094
14095 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
14096
14097         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
14098
14099         * gst/gst.c:
14100         * gst/gstbus.c:
14101         * gst/gstclock.c:
14102         * gst/gstevent.c:
14103         * gst/gstformat.c:
14104         * gst/gstmessage.c:
14105         * gst/gstparse.c:
14106         * gst/gstquery.c:
14107         * gst/gstutils.c:
14108         * gst/parse/Makefile.am:
14109         * libs/gst/base/gstadapter.c:
14110         * libs/gst/base/gstbasesrc.c:
14111         * libs/gst/base/gstpushsrc.c:
14112         * libs/gst/base/gsttypefindhelper.c:
14113         * plugins/elements/gstfakesrc.c:
14114         * plugins/elements/gstidentity.c:
14115           Make sure gstprivate.h and/or config.h are
14116           always included first, otherwise some of our
14117           defines (like _FILE_OFFSET_BITS) might be
14118           redefined in the system headers. Fixes build
14119           on opensolaris (#340016).
14120
14121 2006-05-04  Wim Taymans  <wim@fluendo.com>
14122
14123         * docs/libs/gstreamer-libs-sections.txt:
14124         API: addition: gst_adapter_take_buffer()
14125         
14126         * libs/gst/base/gstadapter.c: (gst_adapter_push),
14127         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
14128         (gst_adapter_available_fast):
14129         * libs/gst/base/gstadapter.h:
14130         Prepare for optimizing the hell out of this hugely inefficient
14131         piece of code. 
14132         Added gst_adapter_take_buffer() so we can at least start thinking
14133         about subbuffering and merging.
14134         Added some comments.
14135
14136         * tests/check/Makefile.am:
14137         * tests/check/libs/adapter.c: (GST_START_TEST),
14138         (gst_adapter_suite), (main):
14139         Added GstAdapter check.
14140
14141 2006-05-04  Wim Taymans  <wim@fluendo.com>
14142
14143         * docs/design/part-overview.txt:
14144         Fix some typos, add blurb about buffer flags.
14145
14146 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14147
14148         * docs/libs/gstreamer-libs-sections.txt:
14149           make sure GstBaseTransformClass shows up in the docs
14150         * libs/gst/base/gstbasetransform.c:
14151         * libs/gst/base/gstbasetransform.h:
14152           move docs so gtk-doc picks it up now
14153
14154 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14155
14156         * docs/libs/gstreamer-libs-sections.txt:
14157           add missing symbols to docs
14158
14159 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
14160
14161         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14162           back out the newsegment handling change, see #340060 for ongoing
14163           discussion
14164
14165 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
14166
14167         * tools/gst-run.c: (get_candidates), (main):
14168           Fix wrong g_file_test() usage (see glib docs for why it doesn't
14169           work); fix typo in error message. Fixes #340079.
14170
14171 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14172
14173         * common/Makefile.am:
14174         * docs/Makefile.am:
14175         * docs/faq/Makefile.am:
14176         * docs/gst/Makefile.am:
14177         * docs/libs/Makefile.am:
14178         * docs/manual/Makefile.am:
14179         * docs/plugins/Makefile.am:
14180         * docs/pwg/Makefile.am:
14181         * docs/slides/Makefile.am:
14182         * docs/upload.mak:
14183         * common/upload.mak:
14184           move upload.mak to common
14185
14186 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14187
14188         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14189           add more asserts on refcounts
14190           do more cleanup at end of tests
14191           fix test leaks showing in FC5
14192
14193 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
14194
14195         * plugins/elements/gsttypefindelement.c:
14196         (gst_type_find_element_handle_event):
14197         reverted wrong change and reflowed code to avoid others falling into
14198         this trap
14199
14200 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14201
14202         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14203           fix changelog entry about last collectpads change,
14204           add notes about proper fix
14205
14206 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14207
14208         * gst/gst.c:
14209         * gst/gstregistry.c: (gst_registry_scan_path_level),
14210         (gst_registry_scan_path):
14211         * gst/gstregistry.h:
14212           only write out registry if it has changed, fixes #338339
14213
14214 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14215
14216         * gst/gstbin.c:
14217         * gst/gstpipeline.c:
14218         * plugins/elements/gstcapsfilter.c:
14219         * plugins/elements/gstfakesink.c:
14220         * plugins/elements/gstfakesrc.c:
14221         * plugins/elements/gstfdsink.c:
14222         * plugins/elements/gstfdsrc.c:
14223         * plugins/elements/gstfilesink.c:
14224         * plugins/elements/gstfilesrc.c:
14225         * plugins/elements/gstidentity.c:
14226         * plugins/elements/gstqueue.c:
14227         * plugins/elements/gsttee.c:
14228         * plugins/elements/gsttypefindelement.c:
14229         (gst_type_find_element_handle_event):
14230           make GstElementDetails const
14231
14232 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14233
14234         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
14235         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14236         (gst_collect_pads_is_collected), (gst_collect_pads_event):
14237           more detailed debug and formatting cleanup,
14238           forward newsegments to src-pad (so that e.g. adder not eats them)
14239
14240 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14241
14242         * gst/gstutils.c: (gst_element_link_pads):
14243           cleanup double code
14244
14245 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
14246
14247         * libs/gst/controller/gstcontroller.c:
14248         (gst_controller_sync_values):
14249           some little tuning
14250         * tests/check/libs/controller.c: (GST_START_TEST),
14251         (gst_controller_suite):
14252           a new test for live value handling
14253
14254 2006-04-28  Wim Taymans  <wim@fluendo.com>
14255
14256         * gst/gstutils.c: (push_and_ref):
14257         Added some more docs.
14258         Fix refcount issue whith gst_element_found_tags() helper 
14259         function. Fixes #338335
14260
14261         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
14262         Added testsuite for gst_element_found_tags().
14263
14264 2006-04-28  Michael Smith  <msmith@fluendo.com>
14265
14266         * gst/gstvalue.c: (gst_value_serialize_flags):
14267           Avoid NULL dereference when trying to serialize flags containing
14268           invalid values.
14269
14270 2006-04-28  Michael Smith  <msmith@fluendo.com>
14271
14272         * plugins/elements/gsttypefindelement.c:
14273         (gst_type_find_element_handle_event):
14274           If we get EOS before any data is accumulated, don't use
14275           uninitialised local variables.
14276
14277 2006-04-28  Michael Smith  <msmith@fluendo.com>
14278
14279         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14280         (gst_dp_event_from_packet):
14281           Fixes in reading/writing events over GDP (not currently used?) - 
14282           dereferencing NULL events for unknown/invalid event types, memory
14283           leak, and change g_warning to GST_WARNING.
14284
14285 2006-04-28  Wim Taymans  <wim@fluendo.com>
14286
14287         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
14288         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14289         (gst_base_sink_get_position), (gst_base_sink_change_state):
14290         When frame dropping is enabled, we should not ignore frames
14291         without a duration.
14292         Update some documentation.
14293
14294 2006-04-28  Wim Taymans  <wim@fluendo.com>
14295
14296         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14297         (gst_base_src_send_event), (gst_base_src_change_state):
14298         Documentation updates.
14299
14300 2006-04-28  Wim Taymans  <wim@fluendo.com>
14301
14302         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
14303         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
14304         handle EAGAIN, EINTR and short writes correctly. Also clean
14305         up some error cases, avoid a deadlock on bad file descriptors and
14306         use GST_DEBUG_OBJECT.
14307         Fixes #339843
14308
14309 2006-04-28  Wim Taymans  <wim@fluendo.com>
14310
14311         * gst/gstvalue.c: (gst_value_serialize_buffer),
14312         (gst_value_deserialize_buffer):
14313         Don't try to serialize a GValue with a NULL buffer. 
14314         Fixes #339821.
14315
14316         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14317         Added check for serialisation of NULL buffers.
14318
14319 2006-04-28  Wim Taymans  <wim@fluendo.com>
14320
14321         * gst/gstminiobject.c: (gst_value_take_mini_object):
14322         Taking a NULL miniobject is valid, fix the case where
14323         we try to unref the NULL miniobject.
14324
14325 2006-04-28  Wim Taymans  <wim@fluendo.com>
14326
14327         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14328
14329         * gst/gstbin.c: (gst_bin_handle_message_func):
14330         Update docs.
14331         Don't leak bin refcount when a state recalc is
14332         in progress and we delay another one #339808.
14333
14334 2006-04-28  Wim Taymans  <wim@fluendo.com>
14335
14336         * docs/design/part-TODO.txt:
14337         Mention QoS as an ongoing work item.
14338
14339         * docs/design/part-buffering.txt:
14340         New doc about buffering that needs to be fleshed out
14341         at some point.
14342
14343         * docs/design/part-qos.txt:
14344         More QoS policy for decoders/demuxers/transforms
14345
14346         * docs/design/part-trickmodes.txt:
14347         Small update.
14348
14349 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14350
14351         * configure.ac:
14352           back to HEAD
14353
14354 === release 0.10.5 ===
14355
14356 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
14357
14358         * configure.ac:
14359           releasing 0.10.5, "Fogo"
14360
14361 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14362
14363         patch by: Wim Taymans
14364
14365         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14366         (gst_pad_configure_src), (gst_pad_push):
14367         * gst/gstpipeline.c: (gst_pipeline_init):
14368           Fix internal data flow errors.  Fixes #338711.
14369
14370 2006-04-12  Wim Taymans  <wim@fluendo.com>
14371
14372         * tests/check/gst/gstelement.c: (GST_START_TEST):
14373         Don't leak the factory.
14374
14375 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14376
14377         * configure.ac:
14378         * win32/common/config.h:
14379           prerelease
14380
14381 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
14382
14383         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14384         (gst_controller_unset_all):
14385           Free allocated GstTimedValues when freeing list nodes.
14386           Should fix leaks 'make check-valgrind' complains about.
14387
14388         * win32/common/libgstcontroller.def:
14389           Add gst_controller_unset_all.
14390
14391 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
14392
14393         * docs/libs/gstreamer-libs-sections.txt:
14394         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14395         (gst_controller_unset_all):
14396         * libs/gst/controller/gstcontroller.h:
14397         API: Added new method gst_controller_unset_all()
14398         fixed gst_controller_unset()
14399         * tests/check/libs/controller.c: (GST_START_TEST),
14400         (gst_controller_suite):
14401         Added two testcases for new and fixed method
14402
14403 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
14404
14405         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
14406           MSG_DONTWAIT is not defined on Cygwin, so work
14407           around that (fixes #317048).
14408           
14409 2006-04-11  Wim Taymans  <wim@fluendo.com>
14410
14411         * gst/gstelementfactory.c: (gst_element_register),
14412         (gst_element_factory_create), (gst_element_factory_make):
14413         Some cleanups.
14414         Fixed a FIXME.
14415         Updated docs (Fixes #131079)
14416
14417         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14418         Small cleanups.
14419
14420         * tests/check/gst/gstelement.c: (GST_START_TEST),
14421         (gst_element_suite):
14422         Added testcase for elementfactory class field.
14423
14424 2006-04-10  Wim Taymans  <wim@fluendo.com>
14425
14426         * gst/gstsegment.c:
14427         Added some more docs.
14428
14429         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
14430         (gst_base_sink_reset_qos):
14431         Calculate more accurate rate values.
14432
14433 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
14434
14435         * gst/gst_private.h:
14436           add a new #ifdef to use __declspec(dllimport) only for
14437           other modules and not for gstreamer core
14438         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
14439           use gst_guint64_to_gdouble for conversion
14440         * win32/common/libgstreamer.def:
14441           add new exported functions
14442         * win32/vs6/gst_inspect.dsp:
14443         * win32/vs6/gst_launch.dsp:
14444         * win32/vs6/libgstbase.dsp:
14445         * win32/vs6/libgstcontroller.dsp:
14446         * win32/vs6/libgstcoreelements.dsp:
14447         * win32/vs6/libgstdataprotocol.dsp:
14448         * win32/vs6/libgstnet.dsp:
14449           update project files
14450
14451 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14452
14453         * gst/gstbuffer.c: (gst_subbuffer_class_init):
14454         * gst/gstclock.c: (gst_clock_class_init):
14455         * gst/gstelement.c: (gst_element_class_init):
14456         * gst/gstindex.c: (gst_index_class_init):
14457         * gst/gstindexfactory.c: (gst_index_factory_class_init):
14458         * gst/gstobject.c: (gst_object_class_init),
14459         (gst_signal_object_class_init):
14460         * gst/gstpad.c: (gst_pad_class_init):
14461         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
14462         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
14463         * gst/gstregistry.c: (gst_registry_class_init):
14464         * gst/gstsystemclock.c: (gst_system_clock_class_init):
14465         * gst/gsttask.c: (gst_task_class_init):
14466         * gst/gstxml.c: (gst_xml_class_init):
14467         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14468         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14469         (gst_base_src_loop):
14470         * libs/gst/controller/gstcontroller.c:/
14471         (_gst_controller_class_init):
14472         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14473         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
14474         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
14475         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14476         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14477         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
14478
14479 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
14480
14481         * gst/gstpad.c: (gst_pad_link):
14482           Must set peer pads before calling the link function, otherwise
14483           a task started from a link function might get a flow-not-linked
14484           result when trying to push because the other thread where the
14485           linking happens hasn't had a chance to set the peers yet. This
14486           might happen for example when a queue gets linked to a downstream
14487           element, as queue starts a streaming task when its source pad
14488           gets linked. Happens in real life when playing back flac/musepack
14489           files in playbin (#332390).
14490           
14491 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14492
14493         * gst/gstindex.h:
14494         * gst/gstxml.h:
14495         * libs/gst/base/gstadapter.h:
14496         * libs/gst/base/gstbasesink.h:
14497         * libs/gst/base/gstbasesrc.h:
14498         * libs/gst/base/gstbasetransform.h:
14499         * libs/gst/base/gstcollectpads.h:
14500         * libs/gst/base/gstpushsrc.h:
14501         Fix broken GObject macros
14502
14503 2006-04-07  Wim Taymans  <wim@fluendo.com>
14504
14505         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14506         Initialize start and stop times, thanks valgrind.
14507
14508 2006-04-07  Wim Taymans  <wim@fluendo.com>
14509
14510         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14511         Be a bit nicer to badly behaving upstream elements that expect
14512         us to deal with non TIME segments and timestamps (such as fakesrc
14513         in the testsuite).
14514
14515 2006-04-07  Wim Taymans  <wim@fluendo.com>
14516
14517         * gst/gstbus.c:
14518         Small documentation clarification about the signal watch.
14519
14520         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14521         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14522         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14523         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14524         (gst_base_sink_get_position_last),
14525         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
14526         Convert and store timestamps in stream time and running time, the
14527         raw timestamps are not useful, also document this better.
14528         Use different window sizes for good and bad QoS observations so
14529         we react to badness a little quicker.
14530         Keep track of the amount of rendered and dropped buffers.
14531         Send QoS timestamps in running time.
14532
14533         * libs/gst/base/gstbasetransform.c:
14534         (gst_base_transform_sink_eventfunc),
14535         (gst_base_transform_handle_buffer):
14536         Compare QoS timestamps against running time.
14537
14538 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14539
14540         * gst/gstpad.c:
14541           Typo fixes in docs.
14542
14543 2006-04-06  Michael Smith  <msmith@fluendo.com>
14544
14545         * gst/gstpad.c: (gst_pad_set_property):
14546           Use g_value_get_object() instead of g_value_dup_gst_object(),
14547           to avoid double-reffing the pad template (which we then sink,
14548           so this worked previously if (and only if) the pad template
14549           was floating.
14550
14551         * gst/gstpadtemplate.c: (gst_pad_template_init),
14552         (gst_pad_template_pad_created):
14553           Never return floating references to pad templates, create
14554           them as initially-sunken.
14555
14556           Document an extra function (and make this stop sinking our
14557           pad template, since that is now guaranteed to do nothing,
14558           since we created it sunken).
14559
14560         * gst/gstghostpad.c:
14561           Fix docs typo.
14562
14563 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14564
14565         * gst/gstinfo.c: (__gst_in_valgrind):
14566           Add some newlines.
14567
14568         * plugins/elements/gsttypefindelement.c:
14569         (gst_type_find_element_chain):
14570           Don't leak buffer caps.
14571
14572 2006-04-06  Michael Smith  <msmith@fluendo.com>
14573
14574         * gst/parse/grammar.y:
14575           Fix a leak in parse-launch for any source-or-sink named element 
14576           references used.
14577
14578         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
14579           Unref the pipeline if it exists after we've failed parsing.
14580
14581 2006-04-05  Michael Smith  <msmith@fluendo.com>
14582
14583         * gst/gstpipeline.c: (gst_pipeline_init):
14584           When we create a pipeline bus, initially create it in flushing mode.
14585           Fixes leaks in at least one test, and makes a new pipeline work the
14586           same as one that has gone to READY and then back to NULL.
14587
14588         * gst/gstelement.c:
14589           Typo fix in docs.
14590
14591 2006-04-05  Michael Smith  <msmith@fluendo.com>
14592
14593         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14594           Unref a pad we reffed.
14595         * tests/check/gst/gstutils.c: (GST_START_TEST):
14596           Unref bins
14597
14598 2006-04-05  Michael Smith  <msmith@fluendo.com>
14599
14600         * gst/gstquery.c: (gst_query_set_formats),
14601         (gst_query_set_formatsv):
14602           Fix leaking GValues in queries, as shown by valgrind/testsuite.
14603
14604 2006-04-05  Michael Smith  <msmith@fluendo.com>
14605
14606         * tests/check/generic/sinks.c: (GST_START_TEST):
14607           Fix a variety of memleaks in sinks check, which are only sometimes 
14608           shown by running the tests under valgrind (weird?).
14609
14610 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
14611
14612         * docs/version.entities.in:
14613           Fix the substituted entity name after thomas' changes on the
14614           weekend.
14615
14616 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14617
14618         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
14619         VALGRIND_PRINTF
14620         
14621 2006-04-05  Andy Wingo  <wingo@pobox.com>
14622
14623         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
14624
14625         * libs/gst/base/gstbasetransform.c
14626         (gst_base_transform_sink_eventfunc): When resetting our segment on
14627         FLUSH_STOP, also update the flag saying we haven't seen a
14628         newsegment.
14629
14630 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14631
14632         Patch by: Paolo Borelli  <pborelli at katamail dot com>
14633
14634         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
14635         (gst_plugin_check_license):
14636           minor clean-ups: G_DEFINE_TYPE already takes care of the
14637           parent_class stuff, no need to do it twice. Mark array of
14638           license strings as constant. (#337103)
14639           
14640 2006-04-04  Michael Smith  <msmith@fluendo.com>
14641
14642         * tools/gst-inspect.c: (print_element_list):
14643           Free the right plugin list; fixes a memory leak.
14644
14645 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14646
14647         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
14648
14649         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14650           Don't error out on empty buffers (#336945).
14651           
14652 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
14653
14654         * docs/libs/gstreamer-libs-sections.txt:
14655         * gst/gsttaglist.c:
14656         * libs/gst/base/gstbasesink.c:
14657         * libs/gst/base/gstbasesink.h:
14658         * libs/gst/base/gstbasesrc.c:
14659         * libs/gst/base/gstbasesrc.h:
14660           Documentation updates. Make BaseSink and BaseSrc docs contain the
14661           class structure so that people can actually see the prototypes for
14662           virtual functions they're supposed to be overriding.
14663
14664 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14665
14666         * plugins/elements/gsttypefindelement.c:
14667         (gst_type_find_element_chain):
14668           More debug info; when skipping typefinding, send cached
14669           events in all cases.
14670
14671 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14672
14673         * configure.ac:
14674           use new AS_VERSION and AS_NANO macros
14675         * gst/gst-i18n-lib.h:
14676         * gst/gst.c:
14677         * gst/gsterror.c:
14678         * gst/gstversion.h.in:
14679         * win32/common/config.h:
14680         * win32/common/config.h.in:
14681           update accordingly
14682
14683 2006-03-31  Michael Smith  <msmith@fluendo.com>
14684
14685         * plugins/elements/gsttypefindelement.c:
14686         (gst_type_find_element_chain):
14687           Do not typefind content if the buffers already have caps.
14688           Neccesary for icydemux (#333657), and the right thing to do anyway.
14689
14690 2006-03-30  Wim Taymans  <wim@fluendo.com>
14691
14692         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14693         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
14694         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
14695         (gst_base_sink_record_qos_observation),
14696         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14697         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14698         (gst_base_sink_change_state):
14699         More QoS measurements as described in the design doc.
14700         Get rid of ringbuffer with observations, running average is
14701         more simple and equally good.
14702         Calculates valid proportion now.
14703         Added beginning of flood measurement.
14704
14705 2006-03-29  Wim Taymans  <wim@fluendo.com>
14706
14707         * docs/design/part-qos.txt:
14708         * gst/gstclock.c:
14709         Small documentation updates and additions.
14710
14711 2006-03-29  Wim Taymans  <wim@fluendo.com>
14712
14713         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14714         (gst_base_src_send_event), (gst_base_src_loop),
14715         (gst_base_src_change_state):
14716         Perform the EOS logic when we reach the segment stop position.
14717         Fix compilation on gcc4.1
14718
14719 2006-03-29  Wim Taymans  <wim@fluendo.com>
14720
14721         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
14722
14723         * plugins/elements/gstqueue.c: (gst_queue_init),
14724         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14725         (gst_queue_set_property):
14726         * plugins/elements/gstqueue.h:
14727         In queue, when EOS is received, if minimum threshold > max_size -
14728         current_level, there is chance that queue blocks forever in conditional
14729         item del wait. This is because the queue is not emptied completely due
14730         to minimum threshold.  Here is another approach. Instead of setting
14731         cur_levels to max in EOS, just zero all minimum threshold levels. This
14732         should make sure that queue gives out all data. When going to READY
14733         (stop) state, just reset the original minimum threshold levels.
14734         Fixes #336336.
14735
14736 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
14737
14738         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
14739         (gst_type_find_element_handle_event),
14740         (gst_type_find_element_send_cached_events),
14741         (gst_type_find_element_change_state):
14742         * plugins/elements/gsttypefindelement.h:
14743           When typefinding is done in push mode, we should cache
14744           events we receive during typefinding instead of just
14745           dropping them (e.g. newsegment, custom events from
14746           dvdreadsrc etc.) and then send them out once we've
14747           determined the type of the stream (and decodebin
14748           has had a chance to plug in a decoder/demuxer).
14749           
14750 2006-03-27  Wim Taymans  <wim@fluendo.com>
14751
14752         * docs/design/part-qos.txt:
14753         First QoS ideas.
14754
14755 2006-03-27  Wim Taymans  <wim@fluendo.com>
14756
14757         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
14758
14759         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14760         (gst_base_src_send_event), (gst_base_src_change_state):
14761         Handle element seek correctly when we are streaming.
14762         Fixes #326998.
14763
14764 2006-03-24  Michael Smith  <msmith@fluendo.com>
14765
14766         * docs/faq/gst-uninstalled:
14767           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
14768           allow you to correctly run intalled applications built against old 
14769           core, using plugins that require updated core (e.g. running
14770           installed totem against a full uninstalled gstreamer stack)
14771
14772 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14773
14774         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14775         more debug details
14776
14777 2006-03-24  Wim Taymans  <wim@fluendo.com>
14778
14779         * docs/gst/gstreamer-sections.txt:
14780         Rearrange the order of the methods so that related methods
14781         are grouped together in sections.
14782
14783 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14784
14785         * gst/gstelement.c:
14786           Little clarification in the docs
14787
14788 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14789
14790         * docs/README:
14791         formatting fix
14792         * plugins/elements/gstidentity.c:
14793         * plugins/elements/gstqueue.c:
14794         * plugins/elements/gsttee.c:
14795         * plugins/elements/gsttypefindelement.c:
14796         GST_ELEMENT_DETAILS formatting
14797
14798 2006-03-24  Wim Taymans  <wim@fluendo.com>
14799
14800         * libs/gst/base/gstbasesink.h:
14801         Only add fields, not insert or we break ABI.
14802
14803 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14804
14805         * win32/common/libgstbase.def:
14806         * win32/common/libgstreamer.def:
14807           Update, add recently added functions.
14808
14809 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14810
14811         * docs/gst/gstreamer-sections.txt:
14812         * gst/gstutils.c: (gst_pad_query_peer_position),
14813         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
14814         * gst/gstutils.h:
14815           API: add some new utility functions:
14816            - gst_pad_query_peer_position()
14817            - gst_pad_query_peer_duration()
14818            - gst_pad_query_peer_convert()
14819           
14820 2006-03-23  Wim Taymans  <wim@fluendo.com>
14821
14822         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14823         (gst_base_sink_init), (gst_base_sink_finalize),
14824         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
14825         (gst_base_sink_set_property), (gst_base_sink_get_property),
14826         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
14827         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14828         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
14829         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14830         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14831         (gst_base_sink_preroll_object), (gst_base_sink_event),
14832         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
14833         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
14834         (gst_base_sink_query), (gst_base_sink_change_state):
14835         Decouple max-lateness and the fact that QoS messages are generated
14836         with a new property (qos).
14837         added API: GstBaseSink::async_play()
14838         Add vmethod so subclasses can be notified of ASYNC playing
14839         state changes.
14840         Collect timestamp start and stop to report better current
14841         position in EOS/PLAYING/PAUSED/READY/NULL.
14842         Refactor QoS/frame dropping and other measurements.
14843         API: GstBaseSrc::qos
14844         Fixes #326311
14845
14846         * libs/gst/base/gstbasesink.h:
14847         Added Private struct.
14848         API: gst_base_sink_set_qos_enabled()
14849         API: gst_base_sink_is_qos_enabled()
14850
14851 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14852
14853         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14854           If compiling against GLib-2.8 or newer, try to read the
14855           registry file using GMappedFile first before falling back
14856           to fopen() + fread() (#332151).
14857
14858 2006-03-22  Wim Taymans  <wim@fluendo.com>
14859
14860         * gst/gstinfo.c: (gst_debug_set_active),
14861         (gst_debug_category_set_threshold):
14862         Disable debugging unless explicitly activated.
14863         Fixes #335480.
14864
14865 2006-03-22  Wim Taymans  <wim@fluendo.com>
14866
14867         * gst/gstelement.c: (gst_element_set_locked_state),
14868         (gst_element_dispose):
14869         Cleanup the error case.
14870
14871         * gst/gstobject.c: (gst_object_dispose):
14872         print a critical when some object was disposed with
14873         a parent, also revive the object since it might
14874         crash the parent.
14875
14876 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
14877
14878         * tools/gst-launch.1.in:
14879           Fix another typo.
14880
14881 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14882
14883         * configure.ac:
14884         * tests/check/Makefile.am:
14885           disable some tests when we don't have a registry
14886         * tests/check/gst/gstutils.c: (gst_utils_suite):
14887           don't build the part that needs parsing
14888
14889 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14890
14891         * gst/Makefile.am
14892         * tests/examples/Makefile.am:
14893           fix --disable-parse build
14894
14895 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14896
14897         * tools/gst-feedback.1.in:
14898           Fix typo: s/feeback/feedback/ (#133494).
14899
14900 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14901
14902         * tools/Makefile.am:
14903         * tools/gst-launch.1.in:
14904           Add FILES section and correct entry about GST_REGISTRY_PATH
14905           environment variable (#133495; #133494).
14906
14907 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14908
14909         * tools/Makefile.am:
14910         * tools/gst-md5sum.1.in:
14911         * tools/gst-md5sum.c:
14912           Remove gst-md5sum and man page (the md5sink element
14913           required was removed ages ago)
14914
14915 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14916
14917         * gst/gststructure.c: (gst_structure_id_set_value):
14918           Make sure that string fields in structures/taglists
14919           contain valid UTF-8 - we don't want to pass rubbish to
14920           applications because of a buggy plugin (cp. #334167).
14921
14922 2006-03-21  Edward Hervey  <edward@fluendo.com>
14923
14924         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14925         (gst_bin_handle_message_func):
14926         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
14927         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
14928         (gst_element_set_bus_func):
14929         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
14930         * gst/gstminiobject.c: (gst_value_set_mini_object),
14931         (gst_value_take_mini_object):
14932         * gst/gstpad.c: (gst_pad_set_pad_template):
14933         * gst/gstpipeline.c: (gst_pipeline_dispose),
14934         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14935         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
14936         (gst_collect_pads_chain):
14937         * libs/gst/net/gstnettimeprovider.c:
14938         (gst_net_time_provider_set_property):
14939         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
14940         It's in fact all issues with gst_*object_replace().
14941
14942 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14943
14944         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
14945         
14946         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14947         * pkgconfig/gstreamer-check.pc.in:
14948           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
14949
14950 2006-03-21  Edward Hervey  <edward@fluendo.com>
14951
14952         * gst/gstbuffer.h:
14953         * gst/gstevent.h:
14954         * gst/gstmessage.h:
14955         gst_[buffer|event|message]_ref() macros are replaced by a static
14956         inline functions because gcc-4.1 will about if the return value
14957         isn't used.
14958         * tests/check/gst/gstevent.c: (event_probe):
14959         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
14960
14961 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
14962
14963         * gst/gstutils.h:
14964         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
14965         the type' case. (Closes: #335195 for now). In the future, when we
14966         depend on GLib 2.10, we could also intern the type name using
14967         g_intern_static_string()
14968
14969 2006-03-20  Wim Taymans  <wim@fluendo.com>
14970
14971         * gst/gstbin.c: (gst_bin_handle_message_func),
14972         (bin_query_max_init), (bin_query_position_fold),
14973         (bin_query_position_done), (gst_bin_query):
14974         Position query should also take max of all streams.
14975
14976 2006-03-20  Wim Taymans  <wim@fluendo.com>
14977
14978         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14979         (gst_fake_src_finalize):
14980         Fix leaks in fakesrc.
14981
14982         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
14983         Fix leaks in the testcase.
14984
14985 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
14986
14987         * gst/gst_private.h:
14988           add win32 specific import decoration(__declspec(dllimport)) 
14989           for all extern GstDebugCategory * variables
14990         * win32/common/libgstbase.def:
14991         * win32/common/libgstcontroller.def:
14992         * win32/common/libgstreamer.def:
14993           Add some exports, remove empty lines
14994         * win32/common/libgstdataprotocol.def:
14995         * win32/common/libgstdataprotocol.dsp:
14996         * win32/common/libgstnet.def:
14997         * win32/common/libgstnet.dsp:
14998           new project files and exportation files added
14999         
15000 2006-03-19  Wim Taymans  <wim@fluendo.com>
15001
15002         * tests/check/libs/basesrc.c: (eos_event_counter):
15003         Use proper return value for probe.
15004
15005 2006-03-17  Wim Taymans  <wim@fluendo.com>
15006
15007         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15008         (gst_pad_push):
15009         Don't leak buffers, caps and pads on negotiation errors.
15010
15011 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
15012
15013         * docs/faq/cvs.xml:
15014         * docs/faq/dependencies.xml:
15015         * docs/faq/developing.xml:
15016         * docs/faq/faq.xml:
15017         * docs/faq/general.xml:
15018         * docs/faq/getting.xml:
15019         * docs/faq/legal.xml:
15020         * docs/faq/troubleshooting.xml:
15021         * docs/faq/using.xml:
15022         Faq review and update.
15023
15024 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
15025
15026         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
15027         (gst_pad_push):
15028         Don't pound the cpu to pieces by checking get_caps when accept_caps
15029         is called with the same caps as the pad already has.
15030         Use GST_DEBUG_OBJECT when outputting caps change information.
15031
15032 2006-03-15  Wim Taymans  <wim@fluendo.com>
15033
15034         * gst/gstclock.c: (gst_clock_class_init):
15035         Fix docs.
15036
15037 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
15038
15039         * gst/gstbuffer.h:
15040         Documentation fix.
15041
15042         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
15043         (gst_pad_accept_caps), (gst_pad_configure_sink),
15044         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
15045         Make the default acceptcaps behaviour be to check the requested 
15046         caps against the gst_pad_get_caps output. 
15047
15048         Ensure that gst_pad_accept_caps is used to check caps when a pad
15049         doesn't have a setcaps function, so that pads automatically refuse 
15050         caps that they don't allow in their pad template. (Fixes #332986)
15051
15052         When a buffer with attached caps is pushed, ensure that the source 
15053         pad receives those caps even if the element didn't call
15054         gst_pad_set_caps first.
15055
15056 2006-03-15  Wim Taymans  <wim@fluendo.com>
15057
15058         * libs/gst/base/gstadapter.c:
15059         Add some docs.
15060
15061 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
15062
15063         * win32/common/libgstbase.def:
15064         * win32/common/libgstcontroller.def:
15065         * win32/common/libgstreamer.def:
15066           Add a whole bunch of missing functions (#334434).
15067
15068 2006-03-14  Wim Taymans  <wim@fluendo.com>
15069
15070         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15071         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15072         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
15073         Better debug info when we receive a segment event.
15074         Reorganize a bit so we can pass the get_times() results around.
15075         Use the segment format when calculating the running time.
15076         Don't do QoS is sync is disabled or we have no clock or the
15077         element does not want us to sync to the clock.
15078         Don't drop buffers if QoS is disabled for now.
15079
15080 2006-03-14  Wim Taymans  <wim@fluendo.com>
15081
15082         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
15083         Marked the stats property as unimplemented so people don't get
15084         wild ideas.
15085         Add debug message when regression goes wrong.
15086         Added some more docs.
15087
15088 2006-03-14  Wim Taymans  <wim@fluendo.com>
15089
15090         * gst/gstsegment.c: (gst_segment_to_stream_time):
15091         Return correct return type in case of errors.
15092
15093 2006-03-14  Wim Taymans  <wim@fluendo.com>
15094
15095         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
15096           Don't segfault on invalid formats.
15097
15098 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15099
15100         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15101           Can't use gst_segment_to_running_time() when the segment
15102           is not in GST_TIME_FORMAT (like with filesink, for example).
15103           Stops flac encoding pipelines from spewing critical warnings
15104           at EOS (#331248).
15105           
15106 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
15107
15108         * gst/gstpipeline.c: (gst_pipeline_class_init):
15109           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
15110
15111         * plugins/elements/gsttypefindelement.c:
15112         (gst_type_find_element_handle_event):
15113           Don't try to typefind empty streams.
15114
15115 2006-03-14  Wim Taymans  <wim@fluendo.com>
15116
15117         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15118         (gst_base_sink_do_qos):
15119         Separate QoS calculation.
15120         Only drop buffers when lateness is bigger than the 
15121         duration of the buffer.
15122
15123 2006-03-13  Wim Taymans  <wim@fluendo.com>
15124
15125         * gst/gstpipeline.c: (gst_pipeline_set_property),
15126         (gst_pipeline_get_property), (do_pipeline_seek),
15127         (gst_pipeline_change_state), (gst_pipeline_set_delay),
15128         (gst_pipeline_get_delay):
15129         Don't deadlock when reading properties.
15130
15131 2006-03-13  Wim Taymans  <wim@fluendo.com>
15132
15133         * libs/gst/base/gstbasetransform.c:
15134         (gst_base_transform_class_init), (gst_base_transform_init),
15135         (gst_base_transform_sink_event),
15136         (gst_base_transform_sink_eventfunc),
15137         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
15138         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
15139         (gst_base_transform_set_property),
15140         (gst_base_transform_get_property),
15141         (gst_base_transform_change_state), (gst_base_transform_update_qos),
15142         (gst_base_transform_set_qos_enabled),
15143         (gst_base_transform_is_qos_enabled):
15144         * libs/gst/base/gstbasetransform.h:
15145         Make basetransform virtual method for src events too.
15146         Handle QOS in basetransform.
15147         API: gst_base_transform_update_qos()
15148         API: gst_base_transform_set_qos_enabled()
15149         API: gst_base_transform_is_qos_enabled()
15150
15151 2006-03-13  Wim Taymans  <wim@fluendo.com>
15152
15153         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15154         (gst_base_sink_do_sync):
15155         Small cleanups.
15156         Use QOS debug category.
15157
15158 2006-03-13  Wim Taymans  <wim@fluendo.com>
15159
15160         * plugins/elements/gstqueue.c:
15161         Very small doc update.
15162
15163 2006-03-13  Wim Taymans  <wim@fluendo.com>
15164
15165         * gst/gst_private.h:
15166         * gst/gstinfo.c: (_gst_debug_init):
15167         Added QOS debug category
15168
15169 2006-03-13  Wim Taymans  <wim@fluendo.com>
15170
15171         * docs/gst/gstreamer-sections.txt:
15172         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
15173         * gst/gstbin.h:
15174         * gst/gstbus.c: (gst_bus_class_init):
15175         * gst/gstbus.h:
15176         * gst/gstclock.c:
15177         * gst/gstelement.c: (gst_element_set_locked_state):
15178         * gst/gstsegment.c:
15179         Documentation updates.
15180
15181         * gst/gstpipeline.c: (gst_pipeline_get_type),
15182         (gst_pipeline_class_init), (gst_pipeline_init),
15183         (gst_pipeline_dispose), (gst_pipeline_set_property),
15184         (gst_pipeline_get_property), (do_pipeline_seek),
15185         (gst_pipeline_send_event), (gst_pipeline_change_state),
15186         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
15187         (gst_pipeline_get_delay):
15188         * gst/gstpipeline.h:
15189         Added methods for setting the delay.
15190         API: gst_pipeline_set_delay()
15191         API: gst_pipeline_get_delay()
15192         Add pipeline debug category
15193         Various cleanups.
15194         Updated docs.
15195         Don't reset stream time when seek failed.
15196
15197 2006-03-13  Wim Taymans  <wim@fluendo.com>
15198
15199         * docs/design/draft-klass.txt:
15200         * docs/design/part-clocks.txt:
15201         * docs/design/part-events.txt:
15202         * docs/design/part-gstbin.txt:
15203         * docs/design/part-gstpipeline.txt:
15204         * docs/design/part-messages.txt:
15205         * docs/design/part-negotiation.txt:
15206         * docs/design/part-overview.txt:
15207         * docs/design/part-preroll.txt:
15208         * docs/design/part-seeking.txt:
15209         * docs/design/part-states.txt:
15210         * docs/design/part-streams.txt:
15211         Documentation updates.
15212
15213 2006-03-12  Julien MOUTTE  <julien@moutte.net>
15214
15215         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
15216         us to leak strings...
15217
15218 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15219
15220         * libs/gst/net/gstnettimeprovider.c:
15221           fix docs
15222         * win32/common/config.h:
15223           update
15224
15225 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
15226
15227         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
15228
15229         * configure.ac:
15230           Don't check for libgnomeui (leftover from old examples
15231           that aren't built or disted any longer) (#334303).
15232           
15233 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
15234
15235         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
15236         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15237           Emit RESOURCE_NO_SPACE_LEFT error here as well when
15238           there's no space left on the device.
15239
15240 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
15241
15242         * gst/gstclock.h:
15243           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
15244           to cast the input to GstClockTime before comparing with
15245           another GstClockTime value.
15246
15247 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * configure.ac:
15250           back to trunk
15251
15252 === release 0.10.4 ===
15253
15254 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
15255
15256         * configure.ac:
15257           releasing 0.10.4, "Light"
15258
15259 2006-03-10  Michael Smith  <msmith@fluendo.com>
15260
15261         * libs/gst/dataprotocol/dataprotocol.c:
15262           Fix docs for dataprocotol to not get the return types completely
15263           wrong for a few functions.
15264
15265 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15266
15267         * docs/gst/gstreamer-sections.txt:
15268         * gst/gstpipeline.c: (gst_pipeline_class_init),
15269         (gst_pipeline_init), (gst_pipeline_set_property),
15270         (gst_pipeline_get_property), (gst_pipeline_change_state),
15271         (gst_pipeline_set_auto_flush_bus),
15272         (gst_pipeline_get_auto_flush_bus):
15273         * gst/gstpipeline.h:
15274           Add new API: gst_pipeline_set_auto_flush_bus() and
15275           gst_pipeline_get_auto_flush_bus() to disable automatic
15276           flushing of the pipeline's GstBus when going from READY
15277           to NULL state (#332045).
15278
15279 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15280
15281         * docs/gst/gstreamer-sections.txt:
15282         * gst/gsturi.c: (gst_uri_has_protocol):
15283         * gst/gsturi.h:
15284            Add new API: gst_uri_has_protocol() (#333779).
15285
15286 2006-03-09  Wim Taymans  <wim@fluendo.com>
15287
15288         * gst/gstclock.c: (gst_clock_entry_new),
15289         (gst_clock_id_compare_func), (gst_clock_id_wait),
15290         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
15291         (gst_clock_init), (gst_clock_get_internal_time),
15292         (gst_clock_set_master), (do_linear_regression),
15293         (gst_clock_add_observation), (gst_clock_set_property):
15294         * gst/gstclock.h:
15295         Review docs.
15296         Small cleanups.
15297         Fix a possible segfault when the window-size is made smaller.
15298         Calculate jitter before performing the clock wait. Ideally
15299         the clock implementation should calculate jitter but we need
15300         API breakage for that.
15301
15302         * gst/gstsystemclock.c: (gst_system_clock_init):
15303         Docs review.
15304         
15305         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15306         Remove leftover else
15307
15308         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
15309         (gst_systemclock_suite):
15310         Added check to test GST_CLOCK_DIFF.
15311
15312 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
15313
15314         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
15315         (gst_type_find_helper_get_range):
15316           If we are provided with the size, we should implement
15317           GstTypeFind::get_length, so that typefind functions who
15318           want to can actually peek at the middle of a file.
15319
15320 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
15321
15322         * docs/manual/advanced-dataaccess.xml:
15323           Add some very very basic error checking.
15324
15325         * docs/pwg/appendix-checklist.xml:
15326           Some updates to the list of things to check when writing an element.
15327
15328 2006-03-08  Wim Taymans  <wim@fluendo.com>
15329
15330         * docs/design/part-element-transform.txt:
15331         Added some docs about the design of tranform elements.
15332
15333         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15334         (gst_base_src_loop), (gst_base_src_change_state):
15335         Mark buffers with the DISCONT flag.
15336
15337 2006-03-08  Michael Smith  <msmith@fluendo.com>
15338
15339         * gst/gstregistry.h:
15340         * gst/gstregistryxml.c: (gst_registry_save),
15341         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
15342         (gst_registry_xml_save_pad_template),
15343         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
15344         (gst_registry_xml_write_cache):
15345           Rewrite registry-saving to avoid race conditions and check for
15346           failed writes.
15347
15348 2006-03-08  Wim Taymans  <wim@fluendo.com>
15349
15350         * libs/gst/base/gstbasetransform.c:
15351         (gst_base_transform_transform_caps),
15352         (gst_base_transform_transform_size),
15353         (gst_base_transform_prepare_output_buffer),
15354         (gst_base_transform_get_unit_size),
15355         (gst_base_transform_buffer_alloc),
15356         (gst_base_transform_handle_buffer),
15357         (gst_base_transform_change_state):
15358         Cleanups, separate normal flow from errors, add sensible
15359         DEBUG lines.
15360         Don't try to renegotiate when allocating an output buffer.
15361         Also copy DISCONT buffer flag when copying a buffer.
15362         Reset the transform after we finish streaming, not during.
15363
15364 2006-03-08  Wim Taymans  <wim@fluendo.com>
15365
15366         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15367         Use last buffer timestamp in qos message.
15368
15369 2006-03-07  Wim Taymans  <wim@fluendo.com>
15370
15371         Patch by: Christophe Fergeau
15372
15373         * docs/pwg/advanced-tagging.xml:
15374         * docs/pwg/building-pads.xml:
15375           fixes #333416
15376
15377 2006-03-07  Wim Taymans  <wim@fluendo.com>
15378
15379         * docs/libs/gstreamer-libs-sections.txt:
15380         Added basesink new methods.
15381
15382         * gst/gstevent.c:
15383         * gst/gstevent.h:
15384         Docs updates. Flesh out the QoS docs.
15385
15386         * libs/gst/base/gstadapter.c:
15387         Small doc clarification about ownership and flushing.
15388
15389         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
15390         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
15391         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
15392         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15393         * libs/gst/base/gstbasesink.h:
15394         API additions: 
15395         Added new methods to allow subclass to control max-lateness 
15396         and sync.
15397         Generate very basic QoS events based on last sync observation.
15398         Updated docs, fix typo, added some QoS blurb.
15399
15400         * libs/gst/base/gstbasesrc.c:
15401         Remove obsolete _get_state() calls from docs.
15402
15403 2006-03-07  Wim Taymans  <wim@fluendo.com>
15404
15405         * docs/libs/gstreamer-libs-sections.txt:
15406         * libs/gst/base/gstbasetransform.h:
15407         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
15408         Fix docs for GstBaseSrc.
15409
15410 2006-03-07  Wim Taymans  <wim@fluendo.com>
15411
15412         * docs/gst/gstreamer-sections.txt:
15413         * gst/gstbuffer.h:
15414         * gst/gstvalue.c:
15415         * libs/gst/base/gstbasetransform.h:
15416         Small documentation fixes.
15417
15418 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15419
15420         * gst/gstvalue.c:
15421           Document thread-unsafety of gst_value_register_foo_func()
15422           when used at the same time as gst_value_foo() (#322628).
15423
15424 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15425
15426         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
15427         (gst_push_src_check_get_range):
15428           Push sources don't support pull mode by default.
15429
15430 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15431
15432         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15433         (gst_base_src_init), (gst_base_src_pad_check_get_range),
15434         (gst_base_src_default_check_get_range):
15435         * libs/gst/base/gstbasesrc.h:
15436           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
15437           provide default implementation, and rename
15438           gst_base_src_check_get_range() to
15439           gst_base_src_pad_check_get_range() for clarity.
15440
15441 2006-03-06  Wim Taymans  <wim@fluendo.com>
15442
15443         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15444         Make property overridable.
15445
15446 2006-03-06  Wim Taymans  <wim@fluendo.com>
15447
15448         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15449         (gst_base_sink_init), (gst_base_sink_set_property),
15450         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15451         * libs/gst/base/gstbasesink.h:
15452         API addition: Make max-lateness a property.
15453
15454 2006-03-06  Wim Taymans  <wim@fluendo.com>
15455
15456         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
15457         (gst_base_sink_do_sync), (gst_base_sink_render_object):
15458         Don't ever draw a frame that is >10ms late.
15459
15460 2006-03-06  Michael Smith  <msmith@fluendo.com>
15461
15462         * gst/gstmessage.c: (_gst_message_copy):
15463           When copying a message, set the parent_refcount of the enclosed
15464           structure to point at the copy, not the original message.
15465
15466 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15467
15468         Patch by: Christophe Fergeau
15469
15470         * gst/gstutils.h:
15471           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
15472           usable in c++ code (#333417)
15473
15474 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15475
15476         * gst/gstclock.h:
15477           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
15478
15479 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
15480
15481         * libs/gst/base/gstbasetransform.c:
15482         (gst_base_transform_transform_caps):
15483           Make sure caps are writable before passing them to
15484           gst_caps_append().
15485
15486 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15487
15488         * gst/gsterror.h:
15489           Fix some minor docs errors.
15490
15491 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15492
15493           Patch by: Ross Burton <ross at burtonini dot com>
15494
15495         * gst/gsterror.c: (_gst_resource_errors_init):
15496         * gst/gsterror.h:
15497           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
15498
15499 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15500
15501         * gst/gst.c:
15502         Add a check and output a g_warning when GStreamer is built
15503         against GLib 2.6 but running against 2.8 or higher, and vice 
15504         versa. (Closes: #323542)
15505
15506 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15507
15508         * gst/parse/parse.l:
15509           Commit patch for parse_launch syntax from #331255. Removes 
15510           support for quoted strings and mimetypes when writing filtered 
15511           caps. See the bug report for more details - I'm pretty sure this
15512           obscure feature is not in use by _anyone_ anywhere.
15513
15514           With this simple change, the size of the gstreamer.so here 
15515           drops from 2193KB to 1565KB.
15516
15517 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15518
15519         * plugins/elements/gsttypefindelement.h:
15520         * plugins/elements/gsttypefindelement.c:
15521         (gst_type_find_element_src_event), (start_typefinding),
15522         (stop_typefinding), (gst_type_find_element_handle_event),
15523         (gst_type_find_element_chain),
15524         (gst_type_find_element_chain_do_typefinding):
15525           Use gst_type_find_helper_for_buffer() for chain-based
15526           typefinding.
15527
15528 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15529
15530         * plugins/elements/gsttypefindelement.c:
15531         (gst_type_find_element_class_init),
15532         (gst_type_find_element_set_property),
15533         (gst_type_find_element_get_property):
15534           Deprecate "maximum" property (not only was it only taken into
15535           account for typefinding in push-mode anyway, it also was never
15536           actually possible to set it in the first place because the
15537           property was registered with the numeric property ID for the
15538           "minimum" property). Register "maximum" property correctly,
15539           for the sake of future copy'n'pasters. Remove some cruft
15540           from property get/set functions.
15541
15542 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15543
15544         * plugins/elements/gsttypefindelement.c:
15545         (gst_type_find_element_activate):
15546           Use gst_type_find_helper_get_range() here, so we
15547           can honour the "minimum" property and also emit
15548           the signal with the correct probability of the found caps.
15549
15550 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
15551
15552         * docs/libs/gstreamer-libs-sections.txt:
15553         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
15554         (helper_find_suggest), (gst_type_find_helper_get_range),
15555         (gst_type_find_helper):
15556         * libs/gst/base/gsttypefindhelper.h:
15557           New API: gst_type_find_helper_get_range() (#333042).
15558
15559 2006-03-02  Michael Smith  <msmith@fluendo.com>
15560
15561         * gst/gstregistryxml.c: (load_feature):
15562           Asserting on a failure to read part of the registry is Not Cool.
15563           Just log a warning and return NULL (which is already handled)
15564
15565 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
15566
15567         * win32/common/libgstbase.def:
15568           added export of gst_type_find_helper_for_buffer
15569         * win32/common/libgstbase.def:
15570           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
15571           gst_ghost_pad_get_target
15572
15573 2006-02-28  Wim Taymans  <wim@fluendo.com>
15574
15575         * docs/design/draft-klass.txt:
15576         We use Filter now.
15577         Added Connector to mark elements that are only used to
15578         allow pipeline connections.
15579         Moved Debug to extra feature since most of them are 
15580         functionally something else.
15581
15582 2006-02-28  Wim Taymans  <wim@fluendo.com>
15583
15584         * docs/design/draft-klass.txt:
15585         Some updates and clarifications.
15586
15587 2006-02-28  Wim Taymans  <wim@fluendo.com>
15588
15589         * docs/design/draft-klass.txt:
15590         Proposal for klass field values.
15591
15592         * docs/design/part-streams.txt:
15593         Start of a doc describing stream anatomy.
15594
15595 2006-02-28  Wim Taymans  <wim@fluendo.com>
15596
15597         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
15598         Help the compiler a bit with type registration.
15599         Use existing forward cod path instead of duplicating it when 
15600         handling a message.
15601         
15602         * gst/gstbus.c: (gst_bus_get_type):
15603         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
15604         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
15605         * gst/gstclock.c: (gst_clock_get_type):
15606         * gst/gstelement.c: (gst_element_get_type),
15607         * gst/gstelementfactory.c: (gst_element_factory_get_type):
15608         * gst/gstindexfactory.c: (gst_index_factory_get_type):
15609         * gst/gstminiobject.c: (gst_mini_object_get_type):
15610         * gst/gstpad.c: (gst_pad_get_type):
15611         * gst/gstsegment.c: (gst_segment_get_type):
15612         * gst/gststructure.c: (gst_structure_get_type):
15613         * gst/gstsystemclock.c: (gst_system_clock_get_type):
15614         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
15615         * gst/gstvalue.c:
15616         Help compiler with type registration.
15617
15618         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
15619         Small doc update.
15620
15621 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15622
15623         * plugins/elements/gsttypefindelement.c:
15624         (gst_type_find_element_handle_event):
15625           When we get an EOS event and have not found a type yet
15626           (most likely because we had not yet accumulated
15627           TYPE_FIND_MIN_SIZE of data yet), try to determine the
15628           type given the data we have so far. Fixes typefinding
15629           for very short streams again, most notably quicktime
15630           redirections as used on Apple's trailer site (#331701).
15631
15632 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15633
15634         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
15635         (gst_type_find_helper):
15636           Try typefinding factories with the highest rank first.
15637
15638 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15639
15640         * docs/libs/gstreamer-libs-docs.sgml:
15641         * docs/libs/gstreamer-libs-sections.txt:
15642         * libs/gst/base/gsttypefindhelper.c:
15643           Add section for typefind helper and add documentation
15644           for the old and the new function.
15645
15646 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15647
15648         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
15649         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
15650         (gst_type_find_helper_for_buffer):
15651         * libs/gst/base/gsttypefindhelper.h:
15652           New API: gst_type_find_helper_for_buffer() (#332723).
15653           
15654 2006-02-27  Michael Smith  <msmith@fluendo.com>
15655
15656         Patch by: Loïc Minier
15657
15658         * configure.ac:
15659         * docs/Makefile.am:
15660         * docs/slides/Makefile.am:
15661           prevent CVS directories getting disted.
15662
15663 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15664
15665         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
15666           Use the REFCOUNTING category for caps refcounting.
15667           
15668 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15669
15670         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15671           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
15672
15673 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15674
15675         * plugins/elements/gsttypefindelement.c:
15676         (gst_type_find_element_activate):
15677           Use gst_pad_check_pull_range() before _activate_pull()
15678           to avoid unnecessary open/close (see #331690).
15679
15680 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15681
15682         * gst/gstutils.c:
15683           Docs enhancement: make it crystal clear what the
15684           gst_pad_add_*_probe() callbacks should look like.
15685
15686 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15687
15688         * libs/gst/base/gstbasesrc.c:
15689           Document how applications can stop recording from
15690           live sources (see #330996).
15691
15692 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15693
15694         * tests/check/Makefile.am:
15695         * tests/check/libs/basesrc.c: (eos_event_counter),
15696         (basesrc_eos_events_pull), (basesrc_eos_events_push),
15697         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
15698         (gst_basesrc_suite), (main):
15699           ... and add some tests for the base source EOS stuff.
15700
15701 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15702
15703         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
15704           Test case originally showed the problem fixed below,
15705           but was then amended. Add checks back at the place
15706           where they used to be.
15707
15708 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15709
15710         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15711         (gst_base_src_init), (gst_base_src_loop),
15712         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15713         (gst_base_src_change_state):
15714         * libs/gst/base/gstbasesrc.h:
15715           Don't unconditionally send EOS when going from PAUSED to
15716           READY state, esp. make sure we don't send two EOS events
15717           in some cases (e.g. one when reaching EOS and one when
15718           going from PAUSED to READY). Also, we don't want to send
15719           EOS events when operating in pull mode. However, we do
15720           want to send an EOS event when shutting down a live
15721           source explicitly, for example (fixes #330996).
15722           
15723 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15724
15725         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
15726           Update src->read_position after a seek when not using mmap.
15727           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
15728
15729 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
15730
15731         * gst/Makefile.am:
15732         * gst/gstparse.h:
15733         * gst/gstutils.c:
15734         * gst/gstutils.h:
15735         Make things work with --disable-parse as they do with 
15736         --disable-load-save - the symbols involved disappear, but the
15737         header is still installed and GST_DISABLE_PARSE is included via
15738         gstconfig.h
15739
15740 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15741
15742         * libs/gst/base/gstbasetransform.c:
15743         (gst_base_transform_change_state): Fix a stupid bug. I was 
15744         sure I compiled that.
15745
15746 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15747
15748         * gst/gstpad.c: (gst_pad_set_blocked_async):
15749         * gst/gstutils.c: (gst_pad_add_data_probe),
15750         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15751         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15752         (gst_pad_remove_buffer_probe): Make those function act on the
15753         ghostpad target when it's a ghostpad. (Closes #331727)
15754
15755 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15756
15757         * libs/gst/base/gstbasetransform.c:
15758         (gst_base_transform_change_state): Make basetransform reusable.
15759         (Closes #331898)
15760
15761 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
15762
15763         * docs/random/release:
15764         Move the current documentation of how to do a release to the top
15765         of the file.
15766
15767         * gst/gstbin.c: (gst_bin_class_init),
15768         (gst_bin_handle_message_func):
15769         Allow multiple state-recalculation threads. (Closes #328873)
15770
15771 2006-02-19  Julien MOUTTE  <julien@moutte.net>
15772
15773         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
15774         * gst/gstpad.c: (gst_pad_set_event_function),
15775         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15776         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
15777         2 strings. You can't use the STR_NULL macro on that.
15778
15779 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
15780
15781         * gst/gstpad.c: (gst_pad_set_event_function),
15782         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15783         (gst_pad_set_getcaps_function)
15784         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15785           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
15786           So now, we can use --gst-debug-level=5 on Windows
15787         * win32/common/libgstcontroller.def:
15788           Added export of gst_controller_init
15789         * win32/vs6/libgstcontroller.dsp:
15790           Fixed Release post build configuration
15791
15792 2006-02-17  Wim Taymans  <wim@fluendo.com>
15793
15794         * tests/check/gst/gstquery.c: (GST_START_TEST):
15795         Added another check.
15796
15797 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
15798
15799         * plugins/elements/gsttypefindelement.c: (find_peek):
15800           We can do peeks at non-zero offsets, as long as they
15801           fall within the buffer we have.
15802
15803 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
15804
15805         * tests/check/Makefile.am:
15806         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
15807         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
15808         (parse_suite), (main):
15809           Add testsuite for parse launch syntax
15810
15811 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
15812
15813         * plugins/elements/gsttypefindelement.c:
15814         (gst_type_find_element_chain):
15815           When typefinding is unsuccessful in the chain function, don't
15816           error out immediately. Only error out with NO_CAPS_FOUND if
15817           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
15818           otherwise simply wait for more data so we can try typefinding
15819           again with more data later. Also, don't attempt to typefind
15820           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
15821           this should improve typefinding from network sources where the
15822           size of the first buffer can be somewhat random.
15823
15824 2006-02-14  Wim Taymans  <wim@fluendo.com>
15825
15826         * docs/gst/gstreamer-sections.txt:
15827         * gst/gstpadtemplate.c:
15828         * gst/gstpadtemplate.h:
15829         Fix padtemplate docs, fixes #328805.
15830
15831 2006-02-14  Wim Taymans  <wim@fluendo.com>
15832
15833         * tools/gst-launch.c: (main):
15834         NO_PREROLL is not an ERROR so don't send confusing messages
15835         to the user.
15836
15837 2006-02-14  Wim Taymans  <wim@fluendo.com>
15838
15839         Patch by: Torsten Schoenfeld
15840
15841         * gst/gstregistry.c: (gst_registry_get_default),
15842         (_gst_registry_cleanup):
15843         Protect default registry with lock and ref/sink it.
15844         Fixes #324818
15845
15846 2006-02-14  Wim Taymans  <wim@fluendo.com>
15847
15848         * gst/gstbuffer.c:
15849         * gst/gstquery.c: (gst_query_list_add_format),
15850         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15851         (gst_query_parse_formats_nth):
15852         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15853         Docs fixes.
15854
15855 2006-02-14  Wim Taymans  <wim@fluendo.com>
15856
15857         * docs/gst/gstreamer-sections.txt:
15858         Reworked query docs.
15859
15860         * gst/gstquery.c: (gst_query_new_formats),
15861         (gst_query_list_add_format), (gst_query_set_formats),
15862         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15863         (gst_query_parse_formats_nth):
15864         * gst/gstquery.h:
15865         Flesh out formats query, added some new methods.
15866         Fix part of #324398.
15867
15868         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
15869         Added query creation tests.
15870
15871 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
15872
15873         * gst/gstpad.c: (fixate_value):
15874         Add a default fixation for fraction lists.
15875
15876 2006-02-13  Wim Taymans  <wim@fluendo.com>
15877
15878         * gst/gsttask.c: (gst_task_init), (gst_task_func),
15879         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
15880         (gst_task_join):
15881         * gst/gsttask.h:
15882         Detect and warn for obvious deadlocks. fixes #320340
15883         Fix error case where lock was not released.
15884
15885         * tests/check/Makefile.am:
15886         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
15887         (task_func), (gst_element_suite), (main):
15888         Add task check.
15889
15890 2006-02-13  Wim Taymans  <wim@fluendo.com>
15891
15892         * docs/gst/gstreamer-sections.txt:
15893         * gst/gstbus.c:
15894         Add new functions to docs.
15895
15896 2006-02-13  Wim Taymans  <wim@fluendo.com>
15897
15898         * docs/design/part-TODO.txt:
15899         Updated TODO list, basesrc supports seeking to non-bytes
15900         formats.
15901
15902         * docs/design/part-element-sink.txt:
15903         Update docs.
15904
15905         * gst/gstbin.c: (bin_replace_message),
15906         (gst_bin_handle_message_func):
15907         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
15908         * gst/gstevent.c: (gst_event_finalize):
15909         * gst/gstpad.c: (gst_pad_event_default_dispatch),
15910         (gst_pad_send_event):
15911         Use shiny new _TYPE_NAME macros.
15912
15913         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15914         Move debug statement up.
15915
15916         * gst/gstelement.c: (gst_element_set_locked_state):
15917         Add some debugging.
15918
15919 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
15920
15921         * docs/gst/gstreamer-sections.txt:
15922         * gst/gstmessage.h:
15923         * gst/gstquery.h:
15924           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
15925           macros (#330906). Also, document the already existing
15926           GST_QUERY_TYPE macro.
15927
15928 2006-02-13  Wim Taymans  <wim@fluendo.com>
15929
15930         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
15931         (event_probe), (GST_START_TEST):
15932         Only events up to the pipeline EOS are counted, there are
15933         some more when going to NULL currently which we don't care
15934         about for now.
15935
15936 2006-02-13  Wim Taymans  <wim@fluendo.com>
15937
15938         * gst/gstpad.c: (gst_pad_send_event):
15939         Correctly check flushing and emit probes. fixes #330125
15940
15941 2006-02-10  Andy Wingo  <wingo@pobox.com>
15942
15943         * gst/gstbus.c (gst_bus_class_init): Declare our private data
15944         structure.
15945         (gst_bus_init): Cache the location of the private data in the
15946         instance structure.
15947         (gst_bus_enable_sync_message_emission) 
15948         (gst_bus_disable_sync_message_emission): Implement new public
15949         functions.
15950         (gst_bus_post): Emit the sync-message signal if the user asked for
15951         it. Fixes #330684.
15952
15953         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
15954         location of the bus-private structure.
15955         (gst_bus_enable_sync_message_emission)
15956         (gst_bus_disable_sync_message_emission): API addition
15957
15958 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
15959
15960         Patch by: Vincent Torri
15961
15962         * docs/pwg/building-boiler.xml:
15963         PWG patch from #326800
15964
15965 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
15966
15967         * configure.ac:
15968         * docs/Makefile.am:
15969         * docs/design/Makefile.am:
15970           Dist design docs.
15971
15972 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15973
15974         * configure.ac:
15975           back to CVS
15976
15977 === release 0.10.3 ===
15978
15979 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
15980
15981         * configure.ac:
15982           releasing 0.10.3, "Like a virgin"
15983
15984 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15985
15986         * configure.ac:
15987           2nd prerelease of 0.10.3
15988           Bump libtool versioning.
15989
15990 2006-02-07  Andy Wingo  <wingo@pobox.com>
15991
15992         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
15993         update last_stop if we're in TIME format and the timestamp is
15994         valid.
15995
15996         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
15997         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
15998         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
15999         If we get a new newsegment with a different format, adapt
16000         accordingly.
16001
16002         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
16003         of 0. Not a problem, really.
16004
16005         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
16006         warn if sync=true.
16007
16008 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
16009
16010         * configure.ac:
16011           Prelease of 0.10.3
16012
16013 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
16014
16015         * win32/vs7:
16016           project files updated to the default vs7 configuration
16017         * win32/common/libgstbase.def:
16018         * win32/common/libgstreamer.def:
16019           added new symbols,
16020           removed empty lines,
16021           sorted all exported symbols alphabetically
16022         * win32/common/dirent.c:
16023         * win32/common/dirent.h:
16024         * win32/common/gchar.h:
16025           use windows line end.
16026           
16027 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16028
16029         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
16030           Send EOS event when stopping.
16031
16032 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
16033
16034         * docs/README:
16035           Tell folks what to do if the plugin-foobar.xml file
16036           hasn't been generated for a newly-added plugin.
16037
16038 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16039
16040         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
16041         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
16042         (gst_collect_pads_start), (gst_collect_pads_stop),
16043         (gst_collect_pads_event): Collectpads now holds a reference
16044         to the GstPad that was added. Indeed we don't want to look
16045         at pads that might just go away with no warning...
16046
16047 2006-02-05  Julien MOUTTE  <julien@moutte.net>
16048
16049         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16050         (gst_collect_pads_start), (gst_collect_pads_stop),
16051         (gst_collect_pads_event), (gst_collect_pads_chain):
16052         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
16053         Mark Nauwelaerts's patch on bug #328491.
16054
16055 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16056
16057         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
16058         (gst_utils_suite):
16059           Add some simple tests for gst_parse_bin_from_description() and
16060           gst_bin_find_unconnected_pad() (#329069).
16061
16062 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
16063
16064         * tools/gst-launch.c: (event_loop), (main):
16065           Catch errors during preroll (#320084).
16066
16067 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
16068
16069         * plugins/elements/gsttypefindelement.c:
16070         (gst_type_find_element_activate):
16071           Post TYPE_NOT_FOUND error message when typefinding
16072           is unsuccessful in the activate function as well.
16073
16074 2006-02-02  Wim Taymans  <wim@fluendo.com>
16075
16076         * docs/design/part-element-sink.txt:
16077         Updated doc.
16078
16079 2006-02-02  Wim Taymans  <wim@fluendo.com>
16080
16081         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16082         (gst_base_sink_render_object),
16083         (gst_base_sink_queue_object_unlocked):
16084         Only keep track of prerollable items when we are 
16085         prerolling.
16086         Before rendering after preroll, always check if we
16087         have queued items.
16088         Added some more debugging.
16089
16090 2006-02-02  Wim Taymans  <wim@fluendo.com>
16091
16092         * gst/gstelement.c: (gst_element_continue_state),
16093         (gst_element_set_state_func), (gst_element_change_state):
16094         Fixed #326576, been running this for quite some time with
16095         no regressions at all.
16096
16097 2006-02-02  Wim Taymans  <wim@fluendo.com>
16098
16099         * common/gst.supp:
16100         Added more suppressions
16101
16102 2006-02-02  Wim Taymans  <wim@fluendo.com>
16103
16104         * docs/design/part-element-sink.txt:
16105         Updated document.
16106
16107         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16108         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
16109         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
16110         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16111         (gst_base_sink_do_sync), (gst_base_sink_render_object),
16112         (gst_base_sink_preroll_object),
16113         (gst_base_sink_queue_object_unlocked),
16114         (gst_base_sink_queue_object), (gst_base_sink_event),
16115         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
16116         (gst_base_sink_loop), (gst_base_sink_activate_pull),
16117         (gst_base_sink_get_position), (gst_base_sink_change_state):
16118         * libs/gst/base/gstbasesink.h:
16119         Totally refactored matching the design doc.
16120         Use two segments, one to clip incomming buffers and another to
16121         perform sync.
16122         Handle queueing correctly, bypass the queue when playing.
16123         Make EOS cancelable.
16124         Handle errors correctly when operating in pull based mode.
16125
16126         * tests/check/elements/fakesink.c: (GST_START_TEST),
16127         (fakesink_suite):
16128         Added new check for sinks.
16129
16130 2006-02-02  Wim Taymans  <wim@fluendo.com>
16131
16132         * gst/gstsegment.c: (gst_segment_clip):
16133         No reason to refuse to clip when start == -1
16134
16135 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
16136
16137         * docs/README:
16138         * docs/manual/intro-basics.xml:
16139         * docs/manual/intro-preface.xml:
16140         * docs/manual/manual.xml:
16141         * docs/pwg/advanced-dparams.xml:
16142         * docs/pwg/intro-basics.xml:
16143         * docs/pwg/intro-preface.xml:
16144         * docs/pwg/pwg.xml:
16145           describe dparams (controller) for plugins
16146           unify docs a little more
16147
16148 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
16149
16150         * docs/gst/gstreamer-sections.txt:
16151         * gst/gstutils.c: (element_find_unconnected_pad),
16152         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
16153         * gst/gstutils.h:
16154           Add new API: gst_parse_bin_from_description() and
16155           gst_bin_find_unconnected_pad() (#329069).
16156
16157 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
16158
16159         * docs/manual/README:
16160           uncover a nasty detail of the docs build
16161
16162 2006-01-31  Wim Taymans  <wim@fluendo.com>
16163
16164         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
16165         Don't cache duration messages if we're not going to use or
16166         free them.
16167
16168 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
16169
16170         * docs/manual/advanced-dparams.xml:
16171         * docs/pwg/advanced-dparams.xml:
16172           more dparam docs
16173         * gst/gstindex.c:
16174           fix docs
16175         * libs/gst/controller/lib.c: (gst_controller_init):
16176           init just once
16177
16178 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16179
16180         * gst/gstelement.c: (gst_element_message_full):
16181           also show file/line/func if no additional debug was given
16182
16183 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
16184         
16185         * win32/vs7/grammar.vcproj:
16186           activate copy of autogenerated files for Release mode
16187
16188 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16189         
16190         * win32/common/libgstreamer.def:
16191           export gst_value_compare
16192
16193 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
16194
16195         * plugins/elements/Makefile.am:
16196         * plugins/elements/gstelements.c:
16197         * plugins/elements/gstfdsink.c: (_do_init),
16198         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
16199         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
16200         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
16201         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
16202         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
16203         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
16204         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
16205         * plugins/elements/gstfdsink.h:
16206         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
16207
16208 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
16209
16210         * docs/manual/advanced-dparams.xml:
16211           describe controller
16212         * docs/manual/advanced-position.xml:
16213         * docs/manual/basics-init.xml:
16214         * docs/manual/manual.xml:
16215         * docs/manual/titlepage.xml:
16216         * docs/pwg/pwg.xml:
16217         * docs/pwg/titlepage.xml:
16218           cleanup xml (more to come)
16219         * libs/gst/controller/gstcontroller.c:
16220           fix typo
16221
16222 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
16223         
16224         * win32/vs6/grammar.dsp:
16225           add autogen of gstmarshal.c,h for Release mode
16226                 
16227 2006-01-30  Wim Taymans  <wim@fluendo.com>
16228
16229         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16230         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
16231         (gst_base_sink_handle_object), (gst_base_sink_event),
16232         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
16233         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16234         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
16235         (gst_base_sink_deactivate), (gst_base_sink_activate),
16236         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16237         (gst_base_sink_query), (gst_base_sink_change_state):
16238         Basesink cleanups, remove some old code.
16239         Handle the case where a subclass can preroll in the render
16240         method (mostly audiosinks).
16241         Handle more events.
16242         Remove some locks around variables that are now protected
16243         with the PREROLL_LOCK (clock_id, flushing, ..).
16244         Optimize position query some more, do correct locking.
16245         Remove old code to push queue in state change, this is not
16246         needed anymore since preroll blocks on all prerollable items 
16247         now.
16248         Almost implemented as described in design doc.
16249
16250 2006-01-30  Wim Taymans  <wim@fluendo.com>
16251
16252         * tests/check/gst/gstbin.c: (GST_START_TEST):
16253         Wait for refcount to settle down before checking.
16254
16255 2006-01-30  Wim Taymans  <wim@fluendo.com>
16256
16257         * docs/design/part-element-sink.txt:
16258         Pseudo code overview of desired sink behaviour regarding
16259         preroll.
16260
16261 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16262         * win32/vs6/grammar.dsp:
16263           fix some bugs in Release mode for autogenerated files
16264                 
16265 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16266         * win32/common/libgstbase.def:
16267         * win32/common/libgstreamer.def:
16268           export some new symbols: gst_base_src_set_format,
16269           gst_iterator_next, gst_structure_set_valist
16270
16271 2006-01-29  Julien MOUTTE  <julien@moutte.net>
16272
16273         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
16274         Set pad functions unconditionally. Fixes #329105.
16275
16276 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
16277         * win32/vs8:
16278           add vs8 project files created by Sergey Scobich
16279
16280 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
16281
16282         * gst/gstutils.c: (gst_element_unlink_pads):
16283         Don't leak pad references.
16284
16285         * tests/check/elements/fakesink.c: (GST_START_TEST):
16286         * tests/check/generic/sinks.c: (GST_START_TEST):
16287         * tests/check/generic/states.c: (GST_START_TEST):
16288         * tests/check/gst/gstbin.c: (GST_START_TEST):
16289         * tests/check/gst/gstcaps.c: (GST_START_TEST):
16290         * tests/check/gst/gstelement.c: (GST_START_TEST):
16291         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16292         * tests/check/gst/gstiterator.c: (GST_START_TEST):
16293         * tests/check/gst/gstvalue.c: (GST_START_TEST):
16294         Fix a bunch of leaks. Make generic/sinks.c
16295         use a bit less cpu by slowing the buffer rate
16296         between fakesrc and fakesink.
16297         
16298 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
16299         * gst/gstcaps.c:
16300         * gst/gstelement.c: (gst_element_send_event):
16301         * gst/gstevent.c:
16302         * gst/gstinfo.c:
16303         * gst/gstiterator.c:
16304         * gst/gstiterator.h:
16305         * gst/gstpad.c: (gst_pad_send_event):
16306         * gst/gststructure.c:
16307         * gst/gsturi.c:
16308         * gst/gstutils.c:
16309         * gst/gstvalue.c:
16310         * libs/gst/base/gstadapter.c:
16311           doc fixes, to link to function, just write gst_cool_function(), don't
16312           prefix with '#'
16313
16314 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16315
16316         * plugins/elements/gsttee.c: (gst_tee_do_push),
16317         (gst_tee_handle_buffer):
16318         Always prefer an actual return value from a src
16319         pad in place of NOT_LINKED. This means we return
16320         WRONG_STATE when all src pads are WRONG_STATE
16321         instead of NOT_LINKED.
16322
16323         Lock when replacing the last message to prevent
16324         racing with the get_property method.
16325
16326         Add debug output
16327
16328 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16329
16330         * tests/check/Makefile.am:
16331         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
16332         (main):
16333         Add a very simple check that should have caught the memleak I fixed
16334         last night (if not for the slice allocator hiding it)
16335
16336 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
16337
16338         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16339         (gst_bin_remove_func), (gst_bin_handle_message_func),
16340         (bin_query_duration_fold), (bin_query_generic_fold):
16341         Clean up references to the clock provider when disposed or when
16342         handling a clock-lost message from it.
16343
16344         Unref sinks when performing a query via gst_iterator_fold, as the
16345         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
16346
16347         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
16348         (gst_clock_set_master):
16349         Drop our reference to the master clock, if any, when we are disposed.
16350
16351         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
16352         Chain up in dispose. 
16353
16354 2006-01-26  Wim Taymans  <wim@fluendo.com>
16355
16356         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
16357         Add some debugging.
16358
16359 2006-01-26  Julien MOUTTE  <julien@moutte.net>
16360
16361         * plugins/elements/gsttee.c: (gst_tee_do_push),
16362         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
16363         handles pad being NOT_LINKED or in WRONG_STATE.
16364
16365 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16366
16367         * win32/MANIFEST:
16368           more updating
16369
16370 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16371
16372         * win32/MANIFEST:
16373           remove obsolete entry
16374
16375 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16376
16377         * docs/gst/gstreamer-sections.txt:
16378         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
16379         (gst_bin_iterate_sources), (gst_bin_send_event):
16380         * gst/gstbin.h:
16381         * gst/gstelement.c: (gst_element_send_event):
16382         * gst/gstevent.c:
16383         * gst/gstpad.c: (gst_pad_send_event):
16384           added code for downstream events, reviewed docs in gstevent.c
16385
16386 2006-01-25  Julien MOUTTE  <julien@moutte.net>
16387
16388         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16389         We only query position using the clock in the playing state.
16390         Query peer in the other cases.
16391         * win32/common/config.h: Updates.
16392
16393 2006-01-24  Wim Taymans  <wim@fluendo.com>
16394
16395         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16396         A clock entry that is scheduled for the exact time of the
16397         clock is still in time.
16398
16399         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16400         (gst_base_sink_do_sync):
16401         Add some more debug info.
16402
16403 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16404
16405         * win32/vs7:
16406           Add new vs7 project files and solution.
16407
16408 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16409
16410         * win32/vs7:
16411           all files removed as they were out-dated.
16412
16413 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16414
16415         * docs/random/release:
16416           update notes
16417         * gst/gstbin.c: (gst_bin_init):
16418         * gst/gstbus.c: (gst_bus_new):
16419         * gst/gstbus.h:
16420         * gst/gstpipeline.c: (gst_pipeline_init):
16421           use gst_bus_new(), improve logging, fix docs
16422         * win32/common/config.h:
16423           update for cvs build
16424
16425 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16426
16427         * autogen.sh:
16428           up required version of automake to 1.7
16429
16430 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
16431
16432         * win32/common/libgstreamer.def:
16433           export gst_buffer_is_metadata_writable
16434
16435 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
16436
16437         * docs/gst/gstreamer-sections.txt:
16438         * gst/gstevent.h:
16439           Add gst_event_replace() (#327001)
16440
16441 2006-01-20  Wim Taymans  <wim@fluendo.com>
16442
16443         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16444         Make it actually compile too..
16445
16446 2006-01-20  Wim Taymans  <wim@fluendo.com>
16447
16448         * gst/gstcaps.c:
16449         Clarify behaviour of _is_equal() when passing NULL parameters.
16450
16451         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16452         (gst_pad_set_caps):
16453         Cleanups. Don't unref NULL caps.
16454         When setting the same caps, protect caps of the pad with
16455         proper lock.
16456         Use full functionality of _is_equal() when comparing caps.
16457
16458 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16459
16460         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16461         Don't loop infinitely if there are no buffers to present. Partially
16462         fixes #327197, but collectpads is just broken for reusing elements
16463         to do multiple encodes atm.
16464
16465 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16466
16467         * tools/gst-inspect.c: (print_element_features):
16468         * tools/gst-xmlinspect.c: (main):
16469         URL_HANDLER is not a plugin feature we can search for in
16470         the registry.
16471
16472 2006-01-19  Edward Hervey  <edward@fluendo.com>
16473
16474         * gst/gstelement.c: (gst_element_pads_activate): 
16475         When activating, do src pads first, then sink pads.
16476         When de-activating, do sink pads first, then src pads.
16477
16478 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16479
16480         * docs/gst/gstreamer-sections.txt:
16481         Add gst_index_add_associationv to the docs
16482
16483 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16484
16485         * gst/gstevent.c:
16486           Fix docs typo
16487
16488         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
16489         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
16490           Do some refactoring. Doesn't actually change functionality,
16491           but makes landing the DRAIN event easier later.
16492
16493 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
16494
16495         * docs/pwg/advanced-scheduling.xml:
16496           Update from 0.9.x to 0.10 API and make example a bit
16497           clearer.
16498
16499 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16500
16501         * docs/gst/gstreamer-sections.txt:
16502         Add gst_buffer_(is|make)_metadata_writable methods.
16503
16504 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16505
16506         * docs/design/part-sparsestreams.txt:
16507         Update sparse streams doc, hopefully for greater clarity
16508
16509 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
16510
16511         * docs/design/part-events.txt:
16512         Remove mention of FILLER events.
16513         Add DRAIN event.
16514
16515         * docs/design/part-sparsestreams.txt:
16516         Write some things about using NEWSEGMENT to keep sparse streams
16517         flowing.
16518
16519 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16520
16521         * gst/gstbin.c: (gst_bin_dispose):
16522           Guard gst_object_unref call against a NULL object (dispose
16523           can theoretically be called multiple times).
16524           
16525 2006-01-18  Wim Taymans  <wim@fluendo.com>
16526
16527         * gst/gstbin.c: (gst_bin_element_set_state):
16528         * gst/gstclock.c: (gst_clock_id_wait):
16529         Added some more debug info.
16530
16531         * libs/gst/base/gstadapter.c:
16532         Added more docs.
16533
16534         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16535         (gst_base_sink_do_sync), (gst_base_sink_chain):
16536         Added some comments.
16537
16538 2006-01-18  Wim Taymans  <wim@fluendo.com>
16539
16540         * tests/check/Makefile.am:
16541         * tests/check/elements/fakesink.c: (chain_async_buffer),
16542         (chain_async), (chain_async_return), (GST_START_TEST),
16543         (fakesink_suite), (main):
16544         Added fakesink test that checks prerolling and clipping
16545         behaviour.
16546
16547         * tests/check/gst/gstutils.c: (GST_START_TEST):
16548         Make check run faster so that buildbots don't timeout.
16549
16550 2006-01-18  Wim Taymans  <wim@fluendo.com>
16551
16552         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16553         (gst_base_sink_do_sync):
16554         Some cleanups.
16555         When the sink finishes blocking on the preroll buffer, it can
16556         immediatly render it instead of rendering when the next buffer
16557         arrives.
16558
16559 2006-01-18  Wim Taymans  <wim@fluendo.com>
16560
16561         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
16562         (gst_base_sink_get_property), (gst_base_sink_do_sync),
16563         (gst_base_sink_chain):
16564         Small cleanups.
16565         GST_ELEMENT_CLOCK and sync are protected with LOCK.
16566         Don't store _last_stop if the buffer is dropped.
16567
16568 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16569
16570         * plugins/elements/gsttypefindelement.c:
16571         (gst_type_find_element_class_init):
16572           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
16573           object method handler that sets the caps on the pad and we want
16574           that to happen before we emit the signal (fixes e.g. feeding a
16575           plain text file to decodebin).
16576
16577 2006-01-18  Christian Schaller  <Christian@fluendo.com>
16578
16579         * gst/gstplugin.c: Add MPL and Proprietary as license options
16580
16581 2006-01-18  Andy Wingo  <wingo@pobox.com>
16582
16583         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
16584         symbol was exported before, it appears this was just an oversight.
16585         Fixes #168703.
16586         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
16587
16588         * gst/gstindex.c (gst_index_add_associationv): Changed int in
16589         prototype to gint. OK since this prototype was not in the header.
16590
16591 2006-01-17  Andy Wingo  <wingo@pobox.com>
16592
16593         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
16594         registry while we remove plugins.
16595
16596         * tools/gst-inspect.c (print_element_info): Don't unref the
16597         factory arg, that should be the responsibility of whatever code
16598         received the ref. Fixes a double-free when called from
16599         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
16600         (main): Unref the factory if we have one.
16601         (print_element_list): No change -- relies on the
16602         plugin_feature_list_free to free the list of features.
16603
16604 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
16605
16606         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16607         (gst_buffer_make_metadata_writable):
16608         * gst/gstbuffer.h:
16609         * libs/gst/base/gstbasetransform.c:
16610         (gst_base_transform_prepare_output_buf):
16611         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16612         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16613           Replace gst_buffer_(make|is)_metadata_writable patch now
16614           that the release is out.
16615
16616 2006-01-17  Andy Wingo  <wingo@pobox.com>
16617
16618         * gst/gstregistry.c: Reflow design comment. Update so as to speak
16619         in the present tense without reference to versions.
16620
16621         * gst/gstregistry.c (gst_registry_add_plugin)
16622         (gst_registry_remove_plugin, gst_registry_remove_feature)
16623         (gst_registry_find_feature, gst_registry_get_feature_list)
16624         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
16625         (gst_registry_lookup, gst_registry_scan_path)
16626         (_gst_registry_remove_cache_plugins)
16627         (gst_registry_get_feature_list_by_plugin): Add argument
16628         validation.
16629
16630 === release 0.10.2 ===
16631
16632 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
16633
16634         * configure.ac:
16635           releasing 0.10.2, "If man is five"
16636
16637 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16638
16639         * gst/gstbuffer.c:
16640         * gst/gstbuffer.h:
16641         * libs/gst/base/gstbasetransform.c:
16642         (gst_base_transform_prepare_output_buf):
16643         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16644         * tests/check/gst/gstbuffer.c: (gst_test_suite):
16645           Back out patch until after the release.
16646
16647 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16648
16649         * gst/gstminiobject.c:
16650           Spelling fix in docs.
16651         * ChangeLog - remove conflict indicator
16652
16653 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16654
16655         Reviewed By: Andy Wingo
16656
16657         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16658         (gst_buffer_make_metadata_writable):
16659         * gst/gstbuffer.h:
16660           Add gst_buffer_(is|make)_metadata_writable as analogues of
16661           gst_buffer_(is|make)_writable.
16662
16663         * libs/gst/base/gstbasetransform.c:
16664         (gst_base_transform_prepare_output_buf):
16665         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16666           Use name gst_buffer_(is|make)_metadata_writable functions.
16667
16668         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16669           Test gst_buffer_(is|make)_metadata_writable
16670         
16671           (Closes: #324162)
16672
16673 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16674
16675         * docs/manual/Makefile.am:
16676           don't do parallel make
16677         * configure.ac:
16678           AC_SUBST HOST_CPU
16679         * win32/common/config.h.in:
16680           add generations for HOST_CPU and GST_MAJORMINOR
16681         * win32/common/config.h:
16682           commit generated result
16683
16684 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
16685
16686         * docs/manual/appendix-integration.xml:
16687           Update GNOME integration section to use gst_init_get_option_group()
16688           instead of the old popt stuff (#322911). Also, GNOME applications
16689           should  now use gconf*sink and gconf*src instead of the old gconf
16690           helper lib we had.
16691
16692 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
16693
16694
16695         * docs/gst/gstreamer-docs.sgml:
16696         * docs/gst/gstreamer-sections.txt:
16697         * docs/libs/gstreamer-libs-sections.txt:
16698           add new API entries to the docs
16699         * libs/gst/controller/Makefile.am:
16700         * libs/gst/controller/gstcontroller.c:
16701         * libs/gst/controller/gstcontroller.h:
16702         * libs/gst/controller/gstcontrollerprivate.h:
16703         * libs/gst/controller/gsthelper.c:
16704         * libs/gst/controller/gstinterpolation.c:
16705           move private structs to private header
16706         * po/README:
16707           gstreamer-0.7 -> gstreamer-0.10
16708         * tests/check/libs/struct_i386.h:
16709           remove private structs
16710
16711 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16712
16713         * plugins/indexers/Makefile.am:
16714           Fixes as part of #317048
16715
16716 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16717
16718         * plugins/indexers/Makefile.am:
16719           fix #316086 - compilation when mmap is missing
16720
16721 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
16722
16723         * libs/gst/base/gstbasesink.c:
16724           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
16725           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
16726         * win32/common/config.h:
16727           added some defines GST_MAJORMINOR and HOST_CPU
16728         * win32/common/libgstbase.def:
16729         * win32/common/libgstreamer.def:
16730           added some exported functions.
16731
16732 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16733
16734         * libs/gst/controller/gstcontroller.c:
16735         (gst_controlled_property_set_interpolation_mode),
16736         (gst_controlled_property_new):
16737         * libs/gst/controller/gstcontroller.h:
16738         * libs/gst/controller/gstinterpolation.c:
16739         (interpolate_none_get_string_value_array):
16740           make G_TYPE_STRING controlable
16741
16742 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16743
16744         * tools/README:
16745         * tools/gst-feedback.1.in:
16746         * tools/gst-inspect.1.in:
16747         * tools/gst-launch.1.in:
16748         * tools/gst-md5sum.1.in:
16749         * tools/gst-typefind.1.in:
16750         * tools/gst-xmlinspect.1.in:
16751         * tools/gst-xmllaunch.1.in:
16752           cleanup man-pages, remove reference to gst-register, document env-vars
16753
16754 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
16755
16756         * gst/gstbuffer.c: (gst_buffer_span):
16757           gst_buffer_span should copy the timestamp of the first buffer
16758           if they were both originally overlapping subbuffers of the 
16759           same parent, using the same logic as the 'slow copy' case.
16760
16761 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
16762
16763         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
16764           Need to awaken ALL the pads when we pop a buffer, otherwise
16765           collectpads only works when there is 2 input streams.
16766
16767 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
16768
16769         * docs/random/ensonic/media-device-daemon.txt:
16770           more ideas (dbus)
16771         * gst/gstbuffer.c:
16772           fix doc example, add clarification
16773         * tools/gst-launch.1.in:
16774           add initial info about GST_PLUGIN_PATH, needs more work
16775
16776 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
16777
16778         * docs/manual/basics-bins.xml:
16779         * docs/manual/basics-elements.xml:
16780         * docs/manual/intro-basics.xml:
16781           Some more minor docs additions and updates.
16782
16783 2006-01-11  Wim Taymans  <wim@fluendo.com>
16784
16785         * docs/manual/basics-bins.xml:
16786         * docs/manual/basics-elements.xml:
16787         Some small fixes as pointed out by Ser-ver on IRC.
16788
16789 2006-01-10  Edward Hervey  <edward@fluendo.com>
16790
16791         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16792         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
16793         the single-segment mode.
16794
16795 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
16796
16797         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16798
16799         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
16800         (gst_base_src_perform_seek), (gst_base_src_send_event),
16801         (gst_base_src_set_property), (gst_base_src_get_property),
16802         (gst_base_src_loop), (gst_base_src_start),
16803         (gst_base_src_activate_push):
16804         * libs/gst/base/gstbasesrc.h:
16805           Name (private) union; makes Sun's Forte compiler happy (#324900).
16806
16807 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
16808
16809         * README:
16810           gst-register is gone.
16811
16812 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16813
16814         * gst/gstvalue.c: (_gst_value_initialize):
16815           make the G_TYPE_DATE instantiation work if debug is disabled
16816
16817 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
16818
16819         * gst/gstmessage.c: (gst_message_parse_tag),
16820         (gst_message_parse_error), (gst_message_parse_warning):
16821           Don't crash when return location for error/warning debug
16822           string is NULL; add fact that return locations can be
16823           NULL to docs where appropriate.
16824
16825 2006-01-05  Wim Taymans  <wim@fluendo.com>
16826
16827         * gst/gstplugin.c: (gst_plugin_load_file):
16828         Replace strdup by g_strdup.
16829
16830 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16831
16832         * docs/pwg/advanced-types.xml:
16833           fix doc borkage
16834
16835 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16836
16837         submitted by: Abel Cheung
16838
16839         * po/LINGUAS:
16840         * po/zh_TW.po:
16841           Added Chinese (traditional) translation
16842
16843 2006-01-04  Wim Taymans  <wim@fluendo.com>
16844
16845         * docs/manual/basics-pads.xml:
16846         * docs/plugins/Makefile.am:
16847         * docs/plugins/gstreamer-plugins-docs.sgml:
16848         * docs/plugins/gstreamer-plugins-sections.txt:
16849         * docs/pwg/advanced-clock.xml:
16850         * docs/pwg/advanced-scheduling.xml:
16851         * docs/pwg/advanced-types.xml:
16852         * plugins/elements/gstfdsink.c:
16853         * plugins/elements/gstfdsrc.c:
16854         * plugins/elements/gstfdsrc.h:
16855         * plugins/elements/gstidentity.c: (gst_identity_class_init):
16856         * plugins/elements/gstidentity.h:
16857         * plugins/elements/gstqueue.h:
16858         * plugins/elements/gsttee.c:
16859         * plugins/elements/gsttee.h:
16860         * plugins/elements/gsttypefindelement.c:
16861         (gst_type_find_element_class_init):
16862         * plugins/elements/gsttypefindelement.h:
16863         Small updates to various docs.
16864         Added core plugins to docs.
16865
16866 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16867
16868         * common/gst.supp:
16869           add a suppression for liboil's uninitialized variable
16870
16871 2006-01-02  James Livingston  <jrl at ids dot org dot au>
16872
16873         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16874
16875         * gst/gstutils.h:
16876           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
16877           macro, so that gcc doesn't complain if the -Wmissing-prototypes
16878           compiler switch is being used (#325429).
16879
16880 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
16881
16882         * gst/gstbin.c: (gst_bin_query):
16883           Disable duration query caching in bins until it gets
16884           fixed (see #324807).
16885
16886 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16887
16888         * tools/gst-inspect.c: (print_element_properties_info):
16889           Handle properties of POINTER and BOXED type.
16890
16891 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16892
16893         * gst/gst.c: (init_post):
16894           Init tags stuff and some other things before loading
16895           any static plugins (there may be other static plugins
16896           than just the GStreamer ones, and they may want to
16897           register their own tags or formats or whatever, and
16898           preferably without segfaulting).
16899
16900         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
16901           Print at least a warning in the debug logs if we drop a
16902           query just because we don't know how to adjust the value
16903           in the particular format.
16904
16905 2005-12-24  David Schleef  <ds@schleef.org>
16906
16907         * tools/gstreamer-completion:
16908           Replacement for gst-complete written in sh and sed.  Only
16909           completes names of features, but that's 90% of what I want
16910           it for.  Properties are not available in registry.xml.  (Maybe
16911           they should be...)
16912
16913 === release 0.10.1 ===
16914
16915 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
16916
16917         * configure.ac:
16918           releasing 0.10.1, "Nollaig chridheil"
16919
16920 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
16921
16922         * docs/faq/cvs.xml:
16923           Add missing quote, should be make ERROR_CFLAGS="".
16924
16925 2005-12-20  Wim Taymans  <wim@fluendo.com>
16926
16927         * docs/design/part-trickmodes.txt:
16928         More documentation on trickmodes.
16929
16930 2005-12-20  Edward Hervey  <edward@fluendo.com>
16931
16932         * gst/gstcaps.c: (gst_static_caps_get_type):
16933         * gst/gstcaps.h:
16934           API addition: GST_TYPE_STATIC_CAPS
16935         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
16936         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
16937         * gst/gstpadtemplate.h:
16938           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
16939         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
16940         bindings.
16941
16942 2005-12-18  Wim Taymans  <wim@fluendo.com>
16943
16944         * libs/gst/base/gstadapter.c:
16945         * libs/gst/base/gstadapter.h:
16946         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16947         (gst_base_sink_get_position):
16948         * libs/gst/base/gstbasesink.h:
16949         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16950         (gst_base_src_default_query), (gst_base_src_default_do_seek),
16951         (gst_base_src_do_seek), (gst_base_src_perform_seek),
16952         (gst_base_src_send_event), (gst_base_src_update_length),
16953         (gst_base_src_get_range), (gst_base_src_loop),
16954         (gst_base_src_start):
16955         * libs/gst/base/gstbasesrc.h:
16956         * libs/gst/base/gstbasetransform.h:
16957         * libs/gst/base/gstcollectpads.h:
16958         * libs/gst/base/gstpushsrc.c:
16959         * libs/gst/base/gstpushsrc.h:
16960         * libs/gst/dataprotocol/dataprotocol.c:
16961         * libs/gst/dataprotocol/dataprotocol.h:
16962         * libs/gst/net/gstnetclientclock.h:
16963         * libs/gst/net/gstnettimeprovider.h:
16964         Documentation updates.
16965
16966 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
16967
16968         * docs/manual/basics-helloworld.xml:
16969           Remove superfluous closing bracket in helloworld example.
16970
16971 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
16972
16973         * tools/gst-launch.1.in:
16974           Update gst-launch man page; add a section with useful
16975           environment variables. Fixes #323882.
16976
16977 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
16978
16979         * gst/gst.c:
16980         * gst/gst_private.h:
16981           change some char* into char[]
16982
16983 2005-12-16  Wim Taymans  <wim@fluendo.com>
16984
16985         * gst/gstregistryxml.c: (load_feature):
16986         Cleanups.
16987         Don't use g_object_unref on GstObjects so that we avoid
16988         leaks on unsafe glibs.
16989
16990 2005-12-16  Wim Taymans  <wim@fluendo.com>
16991
16992         * gst/gstbin.c: (gst_bin_recalc_state):
16993         Small doc updates.
16994
16995 2005-12-16  Wim Taymans  <wim@fluendo.com>
16996
16997         * common/check.mak:
16998         Added make forever target for check.
16999
17000 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17001
17002         * gst/gst.c: (init_post):
17003           make the registry cache file HOST_CPU-dependent
17004
17005 2005-12-16  Andy Wingo  <wingo@pobox.com>
17006
17007         * plugins/elements/gstbufferstore.c
17008         (gst_buffer_store_cleared_func): Pay attention to g_list_append
17009         return value.
17010
17011         * tests/check/gst/gstobject.c
17012         (test_fake_object_name_threaded_unique): Pay attention to
17013         g_list_sort return value.
17014
17015 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
17016
17017         * tools/gst-feedback-m.m:
17018           Update for 0.9/0.10 (fixes #323870).
17019
17020 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
17021
17022         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
17023           Fix lcopy for mini objects, the mini object needs to be ref'ed.
17024           
17025         * tests/check/gst/gstminiobject.c: (my_foo_init),
17026         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
17027         (test_value_collection), (gst_mini_object_suite):
17028           Add test to ensure refcounts end up as expected when passing
17029           GstMiniObjects through g_object_get() and g_object_set().
17030
17031 2005-12-14  Julien MOUTTE  <julien@moutte.net>
17032
17033         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17034         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
17035         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
17036         of collectpads. This version removes a lot of races without
17037         touching API/ABI. Yay !
17038
17039 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
17040
17041         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
17042           Don't allow activation of a srcpad in pull_range if it has no
17043           getrange function.
17044           Change some debug statements to be a little clearer
17045
17046         * plugins/elements/gsttypefindelement.c:
17047         (gst_type_find_handle_src_query):
17048           Check that we have a peer before executing queries thereupon.
17049
17050         * tests/examples/metadata/read-metadata.c: (message_loop):
17051           Use gst_bus_pop instead of gst_bus_poll when we just want it to
17052           immediately return us any available message with 0 timeout.
17053
17054 2005-12-12  Michael Smith  <msmith@fluendo.com>
17055
17056         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
17057           Don't unref factories after calling them.
17058         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
17059         * plugins/elements/gsttypefindelement.c:
17060         (gst_type_find_element_chain):
17061           Free lists of factories after using them. Fixing typefinding memory
17062           leaks.
17063
17064 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17065
17066         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
17067         (gst_plugin_feature_load):
17068           more meaningful debug output
17069         * configure.ac:
17070         * tests/Makefile.am:
17071         * tests/old/examples/Makefile.am:
17072           make make distcheck happy again
17073
17074 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17075
17076         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17077           Catch the special case where we are operating chain-based,
17078           but the downstream peer pad has no chain function. Emit a
17079           custom error message in this case instead of letting the
17080           core generate one implying that this is some sort of core
17081           bug. It's not, it just means that whatever got plugged
17082           into the pipeline downstream when we announced the type
17083           can only operate pull-based, while our source can only
17084           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
17085           Error string has not been marked for translation yet, as
17086           it probably needs some more work first.
17087
17088         (gst_type_find_element_get_best_possibility):
17089           Add helper function to find the best of all available
17090           found possibilities that qualify given the min. threshold.
17091
17092         (gst_type_find_element_handle_event):
17093           Fix the case where we get an EOS while still in TYPEFIND
17094           mode (we want to chose the best of all possible types,
17095           not just the first type that happens to be in our unsorted
17096           list of possible types).
17097
17098         (gst_type_find_element_chain):
17099           Make sure we return GST_FLOW_ERROR when we errored out
17100           in stop_typefinding(); also, don't just find the best of
17101           all found type entries and then use the last examined
17102           type entry, but actually use the best entry.
17103
17104 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
17105
17106         * tests/examples/typefind/typefind.c: (type_found):
17107         * tests/examples/xml/runxml.c: (xml_loaded):
17108           More gcc4 fixes and a mem leak fix.
17109
17110 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17111
17112         * tests/examples/xml/createxml.c: (object_saved):
17113           gcc 4 fixes
17114
17115 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17116
17117         * tests/Makefile.am:
17118           enable the examples even more
17119
17120 2005-12-12  Andy Wingo  <wingo@pobox.com>
17121
17122         * libs/gst/net/gstnettimeprovider.c
17123         (gst_net_time_provider_class_init, gst_net_time_provider_init)
17124         (gst_net_time_provider_set_property)
17125         (gst_net_time_provider_get_property):
17126         API addition: Export "active" as a GObject property.
17127         (gst_net_time_provider_thread): Only respond to time queries if
17128         the time provider is active.
17129
17130         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
17131         NetTimeProvider, preserving binary compat.
17132
17133 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17134
17135         * tests/examples/controller/audio-example.c: (main):
17136         * tests/examples/launch/Makefile.am:
17137           convert comments again
17138
17139 2005-12-12  Wim Taymans  <wim@fluendo.com>
17140
17141         * libs/gst/base/gstpushsrc.c:
17142         Fix typo.
17143
17144 2005-12-12  Wim Taymans  <wim@fluendo.com>
17145
17146         * docs/libs/gstreamer-libs-sections.txt:
17147         Added new symbol to docs.
17148
17149         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17150         (gst_base_src_init), (gst_base_src_set_format),
17151         (gst_base_src_default_query), (gst_base_src_query),
17152         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
17153         (gst_base_src_perform_seek), (gst_base_src_send_event),
17154         (gst_base_src_default_event), (gst_base_src_event_handler),
17155         (gst_base_src_set_property), (gst_base_src_get_property),
17156         (gst_base_src_wait), (gst_base_src_do_sync),
17157         (gst_base_src_update_length), (gst_base_src_get_range),
17158         (gst_base_src_check_get_range), (gst_base_src_loop),
17159         (gst_base_src_default_negotiate), (gst_base_src_start),
17160         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17161         (gst_base_src_change_state):
17162         * libs/gst/base/gstbasesrc.h:
17163         Implement seeking to other formats than _BYTES.
17164         Implement more seeking methods correctly.
17165         Doc updates.
17166         Added query vmethod.
17167         Added do_seek vmethod to make life easier for subclasses
17168         when seeking.
17169         API addition: gst_base_src_set_format()
17170
17171 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17172
17173         * tests/examples/Makefile.am:
17174           added that too
17175
17176 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
17177
17178         * configure.ac:
17179         * docs/random/ensonic/media-device-daemon.txt:
17180         * tests/examples/controller/.cvsignore:
17181         * tests/examples/controller/Makefile.am:
17182         * tests/examples/controller/audio-example.c: (main):
17183         * tests/examples/helloworld/.cvsignore:
17184         * tests/examples/helloworld/Makefile.am:
17185         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
17186         * tests/examples/launch/.cvsignore:
17187         * tests/examples/launch/Makefile.am:
17188         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
17189         * tests/examples/metadata/.cvsignore:
17190         * tests/examples/metadata/Makefile.am:
17191         * tests/examples/metadata/read-metadata.c: (message_loop),
17192         (make_pipeline), (print_tag), (main):
17193         * tests/examples/queue/.cvsignore:
17194         * tests/examples/queue/Makefile.am:
17195         * tests/examples/queue/queue.c: (event_loop), (main):
17196         * tests/examples/typefind/.cvsignore:
17197         * tests/examples/typefind/Makefile.am:
17198         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
17199         (main):
17200         * tests/examples/xml/.cvsignore:
17201         * tests/examples/xml/Makefile.am:
17202         * tests/examples/xml/createxml.c: (object_saved), (main):
17203         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
17204         * tests/old/examples/Makefile.am:
17205         * tests/old/examples/TODO:
17206         * tests/old/examples/controller/.cvsignore:
17207         * tests/old/examples/controller/Makefile.am:
17208         * tests/old/examples/controller/audio-example.c:
17209         * tests/old/examples/helloworld/.cvsignore:
17210         * tests/old/examples/helloworld/Makefile.am:
17211         * tests/old/examples/helloworld/helloworld.c:
17212         * tests/old/examples/launch/.cvsignore:
17213         * tests/old/examples/launch/Makefile.am:
17214         * tests/old/examples/launch/mp3parselaunch.c:
17215         * tests/old/examples/launch/mp3play:
17216         * tests/old/examples/manual/Makefile.am:
17217         * tests/old/examples/metadata/Makefile.am:
17218         * tests/old/examples/metadata/read-metadata.c:
17219         * tests/old/examples/queue/.cvsignore:
17220         * tests/old/examples/queue/Makefile.am:
17221         * tests/old/examples/queue/queue.c:
17222         * tests/old/examples/typefind/.cvsignore:
17223         * tests/old/examples/typefind/Makefile.am:
17224         * tests/old/examples/typefind/typefind.c:
17225         * tests/old/examples/xml/.cvsignore:
17226         * tests/old/examples/xml/Makefile.am:
17227         * tests/old/examples/xml/createxml.c:
17228         * tests/old/examples/xml/runxml.c:
17229           applied some simple fixing to some examples
17230           re-enabled the working examples
17231
17232 2005-12-12  Wim Taymans  <wim@fluendo.com>
17233
17234         * gst/gstsegment.c: (gst_segment_init),
17235         (gst_segment_set_last_stop), (gst_segment_set_seek),
17236         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17237         (gst_segment_to_running_time):
17238         Added more documentation.
17239         Make sure the last_pos value is updated properly.
17240         Make sure to_stream_time and to_running_time don't
17241         operate on wrong values.
17242
17243         * tests/check/gst/gstsegment.c: (GST_START_TEST):
17244         Update check.
17245
17246 2005-12-12  Michael Smith  <msmith@fluendo.com>
17247
17248         * plugins/elements/gsttypefindelement.c: (free_entry),
17249         (gst_type_find_element_chain):
17250           Now that we're not leaking factories, make sure we keep references
17251           to them while we need them.
17252
17253 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17254
17255         * tests/check/gst/struct_i386.h:
17256           ifdef out the XML structs
17257
17258 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17259
17260         * gst/gstvalue.c: (gst_value_transform_double_fraction):
17261           floor is not needed, F is always positive; this obviates the
17262           need for adding -lm when building without libxml
17263
17264 2005-12-12  Wim Taymans  <wim@fluendo.com>
17265
17266         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17267         Take current playback rate into account when reporting
17268         the position.
17269
17270 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17271
17272         * docs/manual/mime-world.fig:
17273           Let's try this again, this time with a file that is
17274           actually in XFig format.
17275
17276 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17277
17278         * docs/manual/mime-world.fig:
17279           Add audioconvert element to diagram so that it
17280           matches the text and the code (fixes #319526).
17281
17282 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17283
17284         * docs/pwg/building-chainfn.xml:
17285         * docs/pwg/building-pads.xml:
17286         * docs/pwg/building-state.xml:
17287         * docs/pwg/other-source.xml:
17288           Update state change stuff for 0.10 (fixes #322969).
17289
17290 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17291
17292         * docs/manual/advanced-dataaccess.xml:
17293         * docs/manual/appendix-checklist.xml:
17294         * docs/manual/appendix-programs.xml:
17295         * docs/manual/basics-pads.xml:
17296         * docs/manual/highlevel-components.xml:
17297         * docs/manual/manual.xml:
17298           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
17299           add converters in front of pipelines; remove curly
17300           brackets for threads stuff, they no longer exist; use
17301           GST_TYPE_FRACTION for framerates; update some pieces of
17302           code to 0.10, but there's plenty more to do.
17303
17304         * docs/manual/appendix-porting.xml:
17305           Expand on asynchroneous state changes; s/0.9/0.10/;
17306           mention disappearance of gst_init_get_popt_table()
17307           (fixes #322916).
17308
17309 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
17310
17311         * docs/faq/using.xml:
17312           Spider no longer exists, and neither does gst-launch-ext.
17313           Update examples to use decodebin and playbin and put
17314           converters in front of sinks (fixes #323726).
17315
17316 2005-12-09  Michael Smith  <msmith@fluendo.com>
17317
17318         * plugins/elements/gsttypefindelement.c: (find_peek),
17319         (gst_type_find_element_chain):
17320           Fix leaking element factories in typefinding.
17321           Fix problem where we forgot about a probable type on non-seekable
17322           files, and thus later mis-typefound it.
17323
17324 2005-12-09  Michael Smith  <msmith@fluendo.com>
17325
17326         * common/m4/gst-makecontext.m4:
17327         * common/m4/gst-mcsc.m4:
17328         * configure.ac:
17329         * win32/common/config.h:
17330         * win32/common/config.h.in:
17331           Remove makecontext stuff; not used in 0.10 and causes problems on
17332           HPUX according to bug #322441
17333
17334 2005-12-07  Wim Taymans  <wim@fluendo.com>
17335
17336         * tests/check/Makefile.am:
17337         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
17338         (main):
17339         * tests/check/libs/struct_i386.h:
17340         Added ABI check for libs
17341
17342 2005-12-07  Wim Taymans  <wim@fluendo.com>
17343
17344         * tests/check/Makefile.am:
17345         And add the struct_i386.h to dist.
17346
17347 2005-12-07  Wim Taymans  <wim@fluendo.com>
17348
17349         * tests/check/Makefile.am:
17350         * tests/check/gst/.cvsignore:
17351         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
17352         (main):
17353         * tests/check/gst/struct_i386.h:
17354         Added check for ABI compatibility.
17355
17356 2005-12-07  Wim Taymans  <wim@fluendo.com>
17357
17358         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17359         (gst_fake_src_get_times), (gst_fake_src_create):
17360         Fix broken sync option, fixes #323259
17361
17362 2005-12-07  Wim Taymans  <wim@fluendo.com>
17363
17364         * gst/gstbuffer.c:
17365         Small docs update.
17366
17367         * gst/gstcaps.c: (gst_caps_is_equal):
17368         Don't assert on NULL <--> X. Fixes #323260
17369
17370         * gst/gstminiobject.c: (gst_mini_object_replace):
17371         If we're doing atomic operations, we might just as well use
17372         the proper way to get an atomic pointer.
17373
17374         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17375         Clean up debugging.
17376
17377 2005-12-07  Michael Smith  <msmith@fluendo.com>
17378
17379         * gst/parse/grammar.y:
17380           Remove handling of { } for threads.
17381
17382 2005-12-06  David Schleef  <ds@schleef.org>
17383
17384         * libs/gst/base/gstbasetransform.c: speling fix.
17385
17386 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17387
17388         * docs/libs/tmpl/gstdataprotocol.sgml:
17389         * docs/random/omega/testing/gstobject.c:
17390         * gst/gst.c:
17391         * gst/gstclock.c:
17392         * gst/gstelement.c:
17393         * gst/gstelementfactory.c:
17394         * gst/gsterror.c:
17395         * gst/gstevent.c:
17396         * gst/gstghostpad.c:
17397         * gst/gstinfo.c:
17398         * gst/gstpadtemplate.c:
17399         * gst/gstregistryxml.c:
17400         * gst/gsttaglist.c:
17401         * gst/gsttagsetter.c:
17402         * gst/gsttypefind.c:
17403         * gst/gstvalue.c:
17404         * libs/gst/base/gstbasesrc.c:
17405         * libs/gst/net/gstnetclientclock.c:
17406         * libs/gst/net/gstnettimeprovider.c:
17407         * plugins/elements/gstfakesrc.c:
17408         * plugins/elements/gstfdsrc.c:
17409         * plugins/elements/gstfilesrc.c:
17410         * plugins/elements/gstidentity.c:
17411         * plugins/elements/gstqueue.c:
17412         * plugins/elements/gsttypefindelement.c:
17413         * plugins/indexers/gstfileindex.c:
17414         * plugins/indexers/gstmemindex.c:
17415         * tests/check/gst/gsttag.c:
17416         * tests/old/examples/cutter/cutter.c:
17417         * tests/old/examples/mixer/mixer.c:
17418         * tests/old/examples/xml/runxml.c: (main):
17419         * tests/old/testsuite/caps/normalisation.c:
17420         * tests/old/testsuite/debug/global.c:
17421         * tests/old/testsuite/parse/parse1.c:
17422         * tools/gst-xmlinspect.c:
17423         * win32/common/dirent.c:
17424           expand tabs
17425
17426 === release 0.10.0 ===
17427
17428 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17429
17430         * configure.ac:
17431           releasing 0.10.0, "Maroilles"
17432
17433 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17434
17435         submitted by: Funda Wang <fundawang@linux.net.cn>
17436
17437         * po/LINGUAS:
17438         * po/zh_CN.po:
17439           added Chinese (Traditional) translation
17440
17441 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17442
17443         * docs/gst/gstreamer-sections.txt:
17444         * docs/libs/tmpl/gstdataprotocol.sgml:
17445         * docs/random/thomasvs/TODO:
17446         * gst/gstutils.c:
17447         * gst/gstutils.h:
17448           fix docs
17449
17450 2005-12-05  Andy Wingo  <wingo@pobox.com>
17451
17452         patch by: Wim Taymans <wim@fluendo.com>
17453
17454         * libs/gst/base/gstbasetransform.c
17455         (gst_base_transform_prepare_output_buf)
17456         (gst_base_transform_buffer_alloc):
17457         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
17458         alloc_buffer_and_set_caps.
17459
17460         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
17461         set_caps on the source pad.
17462         (gst_pad_alloc_buffer_and_set_caps): New function, does what
17463         alloc_buffer used to do. Fixes #322874.
17464
17465         * docs/gst/gstreamer-sections.txt: 
17466         * docs/design/part-negotiation.txt: 
17467         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
17468         changes.
17469
17470 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17471
17472         patch by: Sebastien Moutte
17473
17474         * win32/MANIFEST:
17475         * win32/common/config.h.in:
17476         * win32/vs6/libgstcontroller.dsp:
17477           win32 build fixes
17478
17479 2005-12-05  Wim Taymans  <wim@fluendo.com>
17480
17481         * gst/gstcaps.c: (gst_caps_is_equal):
17482         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17483         (gst_fake_src_create):
17484         Back out previous code changes, leave doc updates, file bugs 
17485         instead. 
17486
17487 2005-12-05  Wim Taymans  <wim@fluendo.com>
17488
17489         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17490         (gst_fake_src_get_times), (gst_fake_src_create):
17491         * plugins/elements/gstfakesrc.h:
17492         Fix broken sync code.
17493
17494 2005-12-05  Wim Taymans  <wim@fluendo.com>
17495
17496         * gst/gstcaps.c: (gst_caps_is_equal):
17497         Comparing NULL against !NULL yields different caps, not a
17498         failure.
17499
17500 2005-12-05  Wim Taymans  <wim@fluendo.com>
17501
17502         * gst/gstpipeline.c:
17503         Fix small typo in docs.
17504
17505 2005-12-05  Andy Wingo  <wingo@pobox.com>
17506
17507         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
17508
17509         * gst/gst.c (init_post): remove hard-coded 0.9 location for
17510         registries/plugins with a MAJORMINOR one.
17511         (plugin_desc): Rename library from gstcoreleements to
17512         staticelements. Fixes #323222.
17513
17514 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
17515
17516         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
17517           Change debug category to 'collectpads' from 'collect_pads'
17518           (fixes #323250).
17519
17520 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17521
17522         patch by: Sebastien Moutte
17523
17524         * libs/gst/controller/gstinterpolation.c:
17525           use convert function for uint64/double
17526         * win32/vs6/libgstcontroller.dsp:
17527           link to GLib
17528
17529 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17530
17531         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
17532         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
17533         * gst/gstutils.h:
17534         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17535           add tests that seem to show that the guint64/gdouble conversions
17536           are correct.
17537
17538 2005-12-02  Wim Taymans  <wim@fluendo.com>
17539
17540         * gst/gstregistry.c: (gst_registry_add_path):
17541         * gst/gstregistry.h:
17542         * gst/gstregistryxml.c:
17543         Fix docs again.
17544
17545 2005-12-02  Wim Taymans  <wim@fluendo.com>
17546
17547         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17548         (gst_util_uint64_scale_int):
17549         Small cleanup.
17550
17551         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17552         Add debug log line.
17553
17554         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
17555         Add FIXME.
17556
17557 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17558
17559         * win32/MANIFEST:
17560         * win32/common/config.h:
17561         * win32/vs6/gstreamer.dsw:
17562         * win32/vs6/libgstcoreelements.dsp:
17563         * win32/vs6/libgstelements.dsp:
17564           renamed core elements plugin
17565
17566 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17567
17568         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
17569         (get_candidates):
17570           do piece-wise major/minor comparison so 0.9 < 0.10
17571           also allow .exe extensions for tools
17572
17573 2005-12-02  Michael Smith  <msmith@fluendo.com>
17574
17575         * gst/gst.c:
17576           Escape a % to make gtkdoc happier; bug 322958.
17577
17578 === release 0.9.7 ===
17579
17580 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17581
17582         * configure.ac:
17583           releasing 0.9.7, "My Dog Has No Nose"
17584
17585 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17586
17587         * common/gst-xmlinspect.py:
17588         * configure.ac:
17589         * docs/libs/tmpl/gstdataprotocol.sgml:
17590         * docs/random/release:
17591         * po/af.po:
17592         * po/az.po:
17593         * po/bg.po:
17594         * po/ca.po:
17595         * po/cs.po:
17596         * po/de.po:
17597         * po/en_GB.po:
17598         * po/fr.po:
17599         * po/it.po:
17600         * po/nb.po:
17601         * po/nl.po:
17602         * po/ru.po:
17603         * po/sq.po:
17604         * po/sr.po:
17605         * po/sv.po:
17606         * po/tr.po:
17607         * po/uk.po:
17608         * po/vi.po:
17609         * win32/common/config.h:
17610         * win32/common/config.h.in:
17611         * win32/vs6/gst_inspect.dsp:
17612         * win32/vs6/gst_launch.dsp:
17613         * win32/vs6/libgstbase.dsp:
17614         * win32/vs6/libgstelements.dsp:
17615         * win32/vs6/libgstreamer.dsp:
17616         * win32/vs7/GStreamer.vcproj:
17617         * win32/vs7/gst-inspect.vcproj:
17618         * win32/vs7/gst-launch.vcproj:
17619         * win32/vs7/libgstbase.vcproj:
17620           bump GST_MAJORMINOR to 0.10
17621           reset libtool version
17622
17623 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17624
17625         * po/LINGUAS:
17626         * po/bg.po:
17627           Added Bulgarian translation by (Alexander Shopov)
17628
17629 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17630
17631         * tests/check/gst/gstplugin.c:
17632           fix test
17633
17634 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17635
17636         * common/gst-xmlinspect.py:
17637         * common/gtk-doc-plugins.mak:
17638         * configure.ac:
17639         * docs/Makefile.am:
17640         * docs/gst/Makefile.am:
17641         * docs/gst/gstreamer-docs.sgml:
17642         * docs/gst/gstreamer-sections.txt:
17643         * docs/gst/gstreamer.types:
17644         * docs/gst/gstreamer.types.in:
17645         * docs/plugins/Makefile.am:
17646         * docs/plugins/gstreamer-plugins-docs.sgml:
17647         * docs/plugins/gstreamer-plugins-sections.txt:
17648         * docs/plugins/gstreamer-plugins.types:
17649         * docs/plugins/inspect.stamp:
17650         * docs/plugins/inspect/plugin-coreelements.xml:
17651         * docs/plugins/inspect/plugin-coreindexers.xml:
17652         * docs/plugins/scanobj-build.stamp:
17653         * gstreamer.spec.in:
17654         * plugins/elements/Makefile.am:
17655         * plugins/elements/gstelements.c:
17656         * plugins/elements/gstfakesink.c:
17657         * plugins/elements/gstfakesrc.c:
17658         * plugins/elements/gstfilesink.c:
17659         * plugins/elements/gstfilesrc.c:
17660         * plugins/elements/gstqueue.c:
17661         * plugins/indexers/Makefile.am:
17662         * plugins/indexers/gstindexers.c:
17663           document core plugins in a separate document just like all the
17664           others
17665           rename these plugins to something starting with core
17666
17667 2005-12-01  Andy Wingo  <wingo@pobox.com>
17668
17669         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
17670         padding here before, but it missed the commit.
17671
17672 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17673
17674         * libs/gst/controller/gstinterpolation.c:
17675           whitespace prices have crashed, we should feel free to use some now
17676           use gst_guint64_to_gdouble
17677
17678 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17679
17680         * libs/gst/controller/gstcontroller.c:
17681         * libs/gst/controller/gsthelper.c:
17682         * libs/gst/controller/gstinterpolation.c:
17683         * libs/gst/controller/lib.c:
17684           wrap config.h include
17685
17686 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17687
17688         * docs/gst/gstreamer-sections.txt:
17689           update docs
17690
17691 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17692
17693         * plugins/elements/gstelements.c:
17694         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
17695         (gst_fd_sink__class_init), (gst_fd_sink__init),
17696         (gst_fd_sink__chain), (gst_fd_sink__set_property),
17697         (gst_fd_sink__get_property):
17698         * plugins/elements/gstfdsink.h:
17699         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
17700         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
17701         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
17702         (gst_fd_src_unlock), (gst_fd_src_set_property),
17703         (gst_fd_src_get_property), (gst_fd_src_create),
17704         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
17705         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
17706         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
17707         (gst_fd_src_uri_handler_init):
17708         * plugins/elements/gstfdsrc.h:
17709         * plugins/elements/gstqueue.c: (gst_queue_get_type):
17710           more anal cleanup
17711
17712 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17713
17714         * docs/gst/Makefile.am:
17715         * docs/gst/gstreamer.types.in:
17716         * gst/Makefile.am:
17717           fix the docs build
17718
17719 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17720
17721         * configure.ac:
17722         * gst/Makefile.am:
17723         * gst/gst.c:
17724         * gst/gstplugin.h:
17725         * gst/gstregistry.h:
17726         * tests/benchmarks/complexity.c:
17727         * tests/benchmarks/mass-elements.c:
17728         * tests/check/Makefile.am:
17729         * tools/Makefile.am:
17730         * tools/gst-inspect.c:
17731         * tools/gst-xmlinspect.c:
17732           various fixes to make
17733           --disable-nls --disable-registry --disable-loadsave
17734           --disable-parse --disable-gst-debug
17735           work and get the core .so down to 360444 bytes after stripping
17736
17737 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17738
17739         * Makefile.am:
17740         * configure.ac:
17741           descend into tests
17742         * docs/random/thomasvs/TODO:
17743         * tests/Makefile.am:
17744         * tests/README:
17745           add a README
17746
17747 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17748
17749         * win32/GStreamer.vcproj:
17750         * win32/MANIFEST:
17751         * win32/Makefile:
17752         * win32/Makefile.inspect:
17753         * win32/Makefile.launch:
17754         * win32/Makefile.register:
17755         * win32/README.txt:
17756         * win32/gst-inspect.vcproj:
17757         * win32/gst-launch.vcproj:
17758         * win32/gst-register.vcproj:
17759         * win32/gstelements.vcproj:
17760         * win32/gstgetbits.def:
17761         * win32/gstgetbits.vcproj:
17762         * win32/gstreamer-dbg.def:
17763         * win32/gstreamer.def:
17764         * win32/libgstbase.def:
17765         * win32/libgstbase.vcproj:
17766         * win32/link_oldruntime.c:
17767         * win32/mman.c:
17768         * win32/mman.h:
17769         * win32/mman.inl:
17770         * win32/msvc71.sln:
17771           move even more stuff, win32/ is nice and clean now
17772
17773 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17774
17775         * libs/gst/control/.cvsignore:
17776         * win32/MANIFEST:
17777         * win32/config.h:
17778         * win32/dirent.c:
17779         * win32/dirent.h:
17780         * win32/gstbytestream.def:
17781         * win32/gstbytestream.vcproj:
17782         * win32/gstconfig.h:
17783         * win32/gstenumtypes.c:
17784         * win32/gstenumtypes.h:
17785         * win32/gstoptimalscheduler.vcproj:
17786         * win32/gstversion.h:
17787         * win32/gtchar.h:
17788         * win32/testsuite/bins.vcproj:
17789         * win32/testsuite/bytestream.vcproj:
17790         * win32/testsuite/caps.vcproj:
17791         * win32/testsuite/cleanup.vcproj:
17792         * win32/testsuite/clock.vcproj:
17793         * win32/testsuite/debug.vcproj:
17794         * win32/testsuite/dlopen.vcproj:
17795         * win32/testsuite/dynparams.vcproj:
17796         * win32/testsuite/elements.vcproj:
17797         * win32/testsuite/ghostpads.vcproj:
17798         * win32/testsuite/indexers.vcproj:
17799         * win32/testsuite/negotiation.vcproj:
17800         * win32/testsuite/parse.vcproj:
17801         * win32/testsuite/plugin.vcproj:
17802         * win32/testsuite/refcounting.vcproj:
17803         * win32/testsuite/schedulers.vcproj:
17804         * win32/testsuite/states.vcproj:
17805         * win32/testsuite/tags.vcproj:
17806         * win32/testsuite/threads.vcproj:
17807           remove old win32 stuff that isn't maintained and should be
17808           reorganized
17809
17810 2005-11-30  Andy Wingo  <wingo@pobox.com>
17811
17812         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
17813         loading the gst.interfaces python module bork.
17814
17815         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
17816         available since GLib 2.2. Fixes #318031.
17817
17818 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17819
17820         * Makefile.am:
17821         * check/.cvsignore:
17822         * check/Makefile.am:
17823         * check/elements/.cvsignore:
17824         * check/elements/fakesrc.c:
17825         * check/elements/fdsrc.c:
17826         * check/elements/identity.c:
17827         * check/generic/.cvsignore:
17828         * check/generic/states.c:
17829         * check/gst-libs/.cvsignore:
17830         * check/gst-libs/controller.c:
17831         * check/gst-libs/gdp.c:
17832         * check/gst/.cvsignore:
17833         * check/gst/capslist.h:
17834         * check/gst/gst.c:
17835         * check/gst/gstbin.c:
17836         * check/gst/gstbuffer.c:
17837         * check/gst/gstbus.c:
17838         * check/gst/gstcaps.c:
17839         * check/gst/gstelement.c:
17840         * check/gst/gstevent.c:
17841         * check/gst/gstghostpad.c:
17842         * check/gst/gstiterator.c:
17843         * check/gst/gstmessage.c:
17844         * check/gst/gstminiobject.c:
17845         * check/gst/gstobject.c:
17846         * check/gst/gstpad.c:
17847         * check/gst/gstpipeline.c:
17848         * check/gst/gstplugin.c:
17849         * check/gst/gstsegment.c:
17850         * check/gst/gststructure.c:
17851         * check/gst/gstsystemclock.c:
17852         * check/gst/gsttag.c:
17853         * check/gst/gstutils.c:
17854         * check/gst/gstvalue.c:
17855         * check/net/.cvsignore:
17856         * check/net/gstnetclientclock.c:
17857         * check/net/gstnettimeprovider.c:
17858         * check/pipelines/.cvsignore:
17859         * check/pipelines/cleanup.c:
17860         * check/pipelines/simple_launch_lines.c:
17861         * check/pipelines/stress.c:
17862         * check/states/.cvsignore:
17863         * check/states/sinks.c:
17864         * configure.ac:
17865         * examples/Makefile.am:
17866         * examples/appreader/.cvsignore:
17867         * examples/appreader/Makefile.am:
17868         * examples/appreader/appreader.c:
17869         * examples/controller/.cvsignore:
17870         * examples/controller/Makefile.am:
17871         * examples/controller/audio-example.c:
17872         * examples/cutter/.cvsignore:
17873         * examples/cutter/Makefile.am:
17874         * examples/cutter/cutter.c:
17875         * examples/cutter/cutter.h:
17876         * examples/events/Makefile.am:
17877         * examples/events/seek.c:
17878         * examples/helloworld/.cvsignore:
17879         * examples/helloworld/Makefile.am:
17880         * examples/helloworld/helloworld.c:
17881         * examples/helloworld2/.cvsignore:
17882         * examples/helloworld2/Makefile.am:
17883         * examples/helloworld2/helloworld2.c:
17884         * examples/launch/.cvsignore:
17885         * examples/launch/Makefile.am:
17886         * examples/launch/mp3parselaunch.c:
17887         * examples/launch/mp3play:
17888         * examples/manual/.cvsignore:
17889         * examples/manual/Makefile.am:
17890         * examples/manual/extract.pl:
17891         * examples/metadata/Makefile.am:
17892         * examples/metadata/read-metadata.c:
17893         * examples/mixer/.cvsignore:
17894         * examples/mixer/Makefile.am:
17895         * examples/mixer/mixer.c:
17896         * examples/mixer/mixer.h:
17897         * examples/pingpong/.cvsignore:
17898         * examples/pingpong/Makefile.am:
17899         * examples/pingpong/pingpong.c:
17900         * examples/plugins/.cvsignore:
17901         * examples/plugins/Makefile.am:
17902         * examples/plugins/example.c:
17903         * examples/plugins/example.h:
17904         * examples/pwg/.cvsignore:
17905         * examples/pwg/Makefile.am:
17906         * examples/pwg/extract.pl:
17907         * examples/queue/.cvsignore:
17908         * examples/queue/Makefile.am:
17909         * examples/queue/queue.c:
17910         * examples/queue2/.cvsignore:
17911         * examples/queue2/Makefile.am:
17912         * examples/queue2/queue2.c:
17913         * examples/queue3/.cvsignore:
17914         * examples/queue3/Makefile.am:
17915         * examples/queue3/queue3.c:
17916         * examples/queue4/.cvsignore:
17917         * examples/queue4/Makefile.am:
17918         * examples/queue4/queue4.c:
17919         * examples/retag/.cvsignore:
17920         * examples/retag/Makefile.am:
17921         * examples/retag/retag.c:
17922         * examples/retag/transcode.c:
17923         * examples/thread/.cvsignore:
17924         * examples/thread/Makefile.am:
17925         * examples/thread/thread.c:
17926         * examples/typefind/.cvsignore:
17927         * examples/typefind/Makefile.am:
17928         * examples/typefind/typefind.c:
17929         * examples/xml/.cvsignore:
17930         * examples/xml/Makefile.am:
17931         * examples/xml/createxml.c:
17932         * examples/xml/runxml.c:
17933         * tests/Makefile.am:
17934         * tests/check/Makefile.am:
17935         * testsuite/.cvsignore:
17936         * testsuite/Makefile.am:
17937         * testsuite/Rules:
17938         * testsuite/caps/.cvsignore:
17939         * testsuite/caps/Makefile.am:
17940         * testsuite/caps/app_fixate.c:
17941         * testsuite/caps/audioscale.c:
17942         * testsuite/caps/caps.c:
17943         * testsuite/caps/caps.h:
17944         * testsuite/caps/caps_strings:
17945         * testsuite/caps/compatibility.c:
17946         * testsuite/caps/deserialize.c:
17947         * testsuite/caps/enumcaps.c:
17948         * testsuite/caps/eratosthenes.c:
17949         * testsuite/caps/filtercaps.c:
17950         * testsuite/caps/fixed.c:
17951         * testsuite/caps/fraction-convert.c:
17952         * testsuite/caps/fraction-multiply-and-zero.c:
17953         * testsuite/caps/intersect2.c:
17954         * testsuite/caps/intersection.c:
17955         * testsuite/caps/normalisation.c:
17956         * testsuite/caps/random.c:
17957         * testsuite/caps/renegotiate.c:
17958         * testsuite/caps/sets.c:
17959         * testsuite/caps/simplify.c:
17960         * testsuite/caps/string-conversions.c:
17961         * testsuite/caps/structure.c:
17962         * testsuite/caps/subtract.c:
17963         * testsuite/caps/union.c:
17964         * testsuite/debug/.cvsignore:
17965         * testsuite/debug/Makefile.am:
17966         * testsuite/debug/category.c:
17967         * testsuite/debug/commandline.c:
17968         * testsuite/debug/global.c:
17969         * testsuite/debug/output.c:
17970         * testsuite/debug/printf_extension.c:
17971         * testsuite/dlopen/.cvsignore:
17972         * testsuite/dlopen/Makefile.am:
17973         * testsuite/dlopen/dlopen_gst.c:
17974         * testsuite/dlopen/loadgst.c:
17975         * testsuite/elements/.cvsignore:
17976         * testsuite/elements/Makefile.am:
17977         * testsuite/elements/gst-inspect-check.in:
17978         * testsuite/elements/struct_i386.h:
17979         * testsuite/elements/struct_size.c:
17980         * testsuite/indexers/.cvsignore:
17981         * testsuite/indexers/Makefile.am:
17982         * testsuite/indexers/cache1.c:
17983         * testsuite/indexers/indexdump.c:
17984         * testsuite/parse/.cvsignore:
17985         * testsuite/parse/Makefile.am:
17986         * testsuite/parse/parse1.c:
17987         * testsuite/parse/parse2.c:
17988         * testsuite/plugin/.cvsignore:
17989         * testsuite/plugin/Makefile.am:
17990         * testsuite/plugin/README:
17991         * testsuite/plugin/dynamic.c:
17992         * testsuite/plugin/linked.c:
17993         * testsuite/plugin/loading.c:
17994         * testsuite/plugin/registry.c:
17995         * testsuite/plugin/static.c:
17996         * testsuite/plugin/static2.c:
17997         * testsuite/plugin/testplugin.c:
17998         * testsuite/plugin/testplugin2.c:
17999         * testsuite/plugin/testplugin2_s.c:
18000         * testsuite/plugin/testplugin_s.c:
18001         * testsuite/refcounting/.cvsignore:
18002         * testsuite/refcounting/Makefile.am:
18003         * testsuite/refcounting/bin.c:
18004         * testsuite/refcounting/element.c:
18005         * testsuite/refcounting/element_pad.c:
18006         * testsuite/refcounting/mainloop.c:
18007         * testsuite/refcounting/mem.c:
18008         * testsuite/refcounting/mem.h:
18009         * testsuite/refcounting/object.c:
18010         * testsuite/refcounting/pad.c:
18011         * testsuite/refcounting/sched.c:
18012         * testsuite/refcounting/thread.c:
18013         * testsuite/states/.cvsignore:
18014         * testsuite/states/Makefile.am:
18015         * testsuite/states/bin.c:
18016         * testsuite/states/locked.c:
18017         * testsuite/states/parent.c:
18018         * testsuite/threads/.cvsignore:
18019         * testsuite/threads/159566.c:
18020         * testsuite/threads/159852.c:
18021         * testsuite/threads/Makefile.am:
18022         * testsuite/threads/queue.c:
18023         * testsuite/threads/signals.c:
18024         * testsuite/threads/staticrec.c:
18025         * testsuite/threads/thread.c:
18026         * testsuite/threads/threadb.c:
18027         * testsuite/threads/threadc.c:
18028         * testsuite/threads/threadd.c:
18029         * testsuite/threads/threade.c:
18030         * testsuite/threads/threadf.c:
18031         * testsuite/threads/threadg.c:
18032         * testsuite/threads/threadh.c:
18033         * testsuite/threads/threadi.c:
18034           move all of these under tests
18035
18036 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18037
18038         * configure.ac:
18039         * tests/Makefile.am:
18040           fix distcheck
18041
18042 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18043
18044         * docs/gst/gstreamer-sections.txt:
18045         * tests/sched/.cvsignore:
18046         * tests/sched/Makefile.am:
18047         * tests/sched/cases/(fs-fs).xml:
18048         * tests/sched/cases/(fs-i-fs).xml:
18049         * tests/sched/cases/(fs-i-i-fs).xml:
18050         * tests/sched/cases/(fs-i-q[i-fs]).xml:
18051         * tests/sched/dynamic-pipeline.c:
18052         * tests/sched/interrupt1.c:
18053         * tests/sched/interrupt2.c:
18054         * tests/sched/interrupt3.c:
18055         * tests/sched/runtestcases:
18056         * tests/sched/runxml.c:
18057         * tests/sched/sched-stress.c:
18058         * tests/sched/sort.c:
18059         * tests/sched/testcases:
18060         * tests/sched/testcases1.tc:
18061         * tests/seeking/.cvsignore:
18062         * tests/seeking/Makefile.am:
18063         * tests/seeking/seeking1.c:
18064         * tests/threadstate/.cvsignore:
18065         * tests/threadstate/Makefile.am:
18066         * tests/threadstate/test1.c:
18067         * tests/threadstate/test2.c:
18068         * tests/threadstate/threadstate1.c:
18069         * tests/threadstate/threadstate2.c:
18070         * tests/threadstate/threadstate3.c:
18071         * tests/threadstate/threadstate4.c:
18072         * tests/threadstate/threadstate5.c:
18073           remove obsolete tests
18074         * configure.ac:
18075         * tests/bench-complexity.scm:
18076         * tests/bench-mass_elements.scm:
18077         * tests/complexity.c:
18078         * tests/complexity.gnuplot:
18079         * tests/instantiate/.cvsignore:
18080         * tests/instantiate/Makefile.am:
18081         * tests/instantiate/caps.c:
18082         * tests/mass_elements.c:
18083         * tests/network-clock-utils.scm:
18084         * tests/network-clock.scm:
18085         * tests/plot-data:
18086         First pass at cleaning up tests/ dir before moving the rest
18087         Combined with CVS surgery
18088
18089 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18090
18091         * po/POTFILES.in:
18092           queue has moved, update
18093
18094 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18095
18096         * docs/gst/gstreamer-sections.txt:
18097           remove double entries from the docs
18098         * gst/gst_private.h:
18099         * gst/gstinfo.c: (_gst_debug_init):
18100           remove the THREAD debug category
18101         * gst/Makefile.am:
18102         * gst/gstqueue.c:
18103         * gst/gstqueue.h:
18104         * docs/gst/gstreamer.types:
18105         * plugins/elements/gstqueue.c: (gst_queue_get_type),
18106         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
18107           completely move queue and fix up debugging categories
18108
18109 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18110
18111         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18112           make initialization portable, using LL is not
18113
18114 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18115
18116         * win32/common/gstconfig.h:
18117           add large padding
18118
18119 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18120
18121         * win32/common/libgstreamer.def:
18122           rename symbols; sort base section
18123
18124 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18125
18126         * gst/gstclock.c: (do_linear_regression):
18127           remove crack non-portable handrolled DEBUG macro
18128
18129 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18130
18131         * docs/random/release:
18132           update notes
18133         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18134         (gst_object_flags_get_type), (register_gst_bin_flags),
18135         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18136         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18137         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18138         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
18139         (gst_caps_flags_get_type), (register_gst_clock_return),
18140         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18141         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18142         (gst_clock_flags_get_type), (register_gst_state),
18143         (gst_state_get_type), (register_gst_state_change_return),
18144         (gst_state_change_return_get_type), (register_gst_state_change),
18145         (gst_state_change_get_type), (register_gst_element_flags),
18146         (gst_element_flags_get_type), (register_gst_core_error),
18147         (gst_core_error_get_type), (register_gst_library_error),
18148         (gst_library_error_get_type), (register_gst_resource_error),
18149         (gst_resource_error_get_type), (register_gst_stream_error),
18150         (gst_stream_error_get_type), (register_gst_event_type_flags),
18151         (gst_event_type_flags_get_type), (register_gst_event_type),
18152         (gst_event_type_get_type), (register_gst_seek_type),
18153         (gst_seek_type_get_type), (register_gst_seek_flags),
18154         (gst_seek_flags_get_type), (register_gst_format),
18155         (gst_format_get_type), (register_gst_index_certainty),
18156         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18157         (gst_index_entry_type_get_type),
18158         (register_gst_index_lookup_method),
18159         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18160         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18161         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18162         (gst_index_flags_get_type), (register_gst_debug_level),
18163         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18164         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18165         (gst_iterator_result_get_type), (register_gst_iterator_item),
18166         (gst_iterator_item_get_type), (register_gst_message_type),
18167         (gst_message_type_get_type), (register_gst_mini_object_flags),
18168         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18169         (gst_pad_link_return_get_type), (register_gst_flow_return),
18170         (gst_flow_return_get_type), (register_gst_activate_mode),
18171         (gst_activate_mode_get_type), (register_gst_pad_direction),
18172         (gst_pad_direction_get_type), (register_gst_pad_flags),
18173         (gst_pad_flags_get_type), (register_gst_pad_presence),
18174         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18175         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18176         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18177         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18178         (gst_plugin_flags_get_type), (register_gst_rank),
18179         (gst_rank_get_type), (register_gst_query_type),
18180         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18181         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18182         (gst_tag_flag_get_type), (register_gst_task_state),
18183         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18184         (gst_alloc_trace_flags_get_type),
18185         (register_gst_type_find_probability),
18186         (gst_type_find_probability_get_type), (register_gst_uri_type),
18187         (gst_uri_type_get_type), (register_gst_parse_error),
18188         (gst_parse_error_get_type):
18189         * win32/common/gstenumtypes.h:
18190         * win32/common/gstversion.h:
18191           update visual studio generated files
18192
18193 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18194
18195         * win32/vs6/libgstbase.dsp:
18196         * win32/vs6/libgstelements.dsp:
18197           update project files for new locations
18198
18199 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18200
18201         * Makefile.am:
18202           remove some files
18203         * README:
18204           reinstate and update
18205         * DEVEL:
18206         * REQUIREMENTS:
18207           removed
18208         * LICENSE:
18209         * docs/random/LICENSE:
18210           moved to random
18211
18212 2005-11-30  Edward Hervey  <edward@fluendo.com>
18213
18214         * gst/gsttypefind.c: (gst_type_find_register):
18215         * gst/gsttypefind.h:
18216         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
18217         (gst_type_find_factory_dispose):
18218         * gst/gsttypefindfactory.h:
18219         Fix memory leak in GstTypeFindFactory.
18220
18221 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18222
18223         * gst/gst.c:
18224         * plugins/elements/Makefile.am:
18225         * plugins/elements/gstelements.c:
18226         * plugins/elements/gstqueue.c:
18227           move queue from core to the elements plugin
18228
18229 2005-11-29  Andy Wingo  <wingo@pobox.com>
18230
18231         * libs/gst/base/gstbasetransform.h: 
18232         * libs/gst/base/gstbasesrc.h: 
18233         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
18234
18235         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
18236         of pointers by which to pad very extensible base classes (like the
18237         ones in libs/gst/base).
18238
18239 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18240
18241         * docs/gst/gstreamer-docs.sgml:
18242         * docs/gst/gstreamer-sections.txt:
18243         * docs/libs/gstreamer-libs-docs.sgml:
18244         * docs/libs/gstreamer-libs-sections.txt:
18245           moving documentation from core to lib
18246
18247 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18248
18249         * check/Makefile.am:
18250         * configure.ac:
18251         * docs/gst/Makefile.am:
18252         * gst/Makefile.am:
18253         * gst/base/.cvsignore:
18254         * gst/base/Makefile.am:
18255         * gst/base/README:
18256         * gst/base/gstadapter.c:
18257         * gst/base/gstadapter.h:
18258         * gst/base/gstbasesink.c:
18259         * gst/base/gstbasesink.h:
18260         * gst/base/gstbasesrc.c:
18261         * gst/base/gstbasesrc.h:
18262         * gst/base/gstbasetransform.c:
18263         * gst/base/gstbasetransform.h:
18264         * gst/base/gstcollectpads.c:
18265         * gst/base/gstcollectpads.h:
18266         * gst/base/gstpushsrc.c:
18267         * gst/base/gstpushsrc.h:
18268         * gst/base/gsttypefindhelper.c:
18269         * gst/base/gsttypefindhelper.h:
18270         * gst/check/Makefile.am:
18271         * gst/check/gstcheck.c:
18272         * gst/check/gstcheck.h:
18273         * gst/net/Makefile.am:
18274         * gst/net/gstnet.h:
18275         * gst/net/gstnetclientclock.c:
18276         * gst/net/gstnetclientclock.h:
18277         * gst/net/gstnettimepacket.c:
18278         * gst/net/gstnettimepacket.h:
18279         * gst/net/gstnettimeprovider.c:
18280         * gst/net/gstnettimeprovider.h:
18281         * libs/gst/Makefile.am:
18282         * libs/gst/base/Makefile.am:
18283         * libs/gst/base/gstbasetransform.c:
18284         * libs/gst/check/Makefile.am:
18285         * plugins/elements/Makefile.am:
18286         * po/POTFILES.in:
18287           CVS surgery + support to move base, check, and net out of gst
18288           and into libs/gst
18289
18290 2005-11-29  Andy Wingo  <wingo@pobox.com>
18291
18292         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
18293
18294         * gst/gststructure.h (struct _GstStructure): Only one pointer of
18295         padding.
18296
18297         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
18298
18299         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
18300
18301         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
18302
18303         * gst/gstobject.h: (struct _GstObject): Only one pointer of
18304         padding; reduces object size by about 30%. We don't expect
18305         anything else to go into gstobject.
18306
18307         * gst/gstminiobject.h (struct _GstMiniObject)
18308         (struct _GstMiniObjectClass): Only one pointer of padding; the
18309         payload is only a pointer and two ints anyway. For the class there
18310         are only two methods as well.
18311         
18312         * gst/gstelement.h (struct _GstElementClass): Removed
18313         the state_changed signal callback, it is not used.
18314
18315 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18316
18317         * docs/gst/gstreamer.types:
18318           fix includes, though they are a little dinky
18319
18320 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18321
18322         * check/Makefile.am:
18323           look in the right place for elements, a lot more chance of
18324           success
18325         * gst/Makefile.am:
18326           remove indexers and elements subdirs
18327         * plugins/Makefile.am:
18328           make indexers conditional
18329
18330 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18331
18332         * Makefile.am:
18333         * configure.ac:
18334         * plugins/elements/Makefile.am:
18335         * plugins/elements/gstcapsfilter.c:
18336         * plugins/elements/gstfilesink.c:
18337         * plugins/elements/gstfilesrc.c:
18338         * plugins/elements/gstidentity.c:
18339         * plugins/indexers/Makefile.am:
18340           do CVS surgery and related build fixery to move elements
18341           and indexers in a new gstreamer/plugins directory, out of the
18342           gst/ directory
18343
18344 2005-11-29  Andy Wingo  <wingo@pobox.com>
18345
18346         * check/Makefile.am:
18347         * pkgconfig/gstreamer-net-uninstalled.pc.in:
18348         * pkgconfig/gstreamer-net.pc.in:
18349         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
18350         #322257.
18351
18352 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18353
18354         * tools/Makefile.am:
18355         * tools/gst-complete.1.in:
18356         * tools/gst-complete.c:
18357         * tools/gst-compprep.1.in:
18358         * tools/gst-compprep.c:
18359           removing -compprep and -complete
18360
18361 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18362
18363         * gst/gstevent.c: (gst_event_new_new_segment),
18364         (gst_event_parse_new_segment):
18365         * gst/gstevent.h:
18366           fix #320529 - clean up new_segment API and structure.
18367           Let's hope everyone was using the methods, and not the structure.
18368
18369 2005-11-29  Edward Hervey  <edward@fluendo.com>
18370
18371         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18372         (gst_base_sink_event), (gst_base_sink_do_sync),
18373         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18374         Properly handle non GST_FORMAT_TIME segment
18375         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18376         Properly handle non GST_FORMAT_TIME segment
18377         * gst/gstsegment.c:
18378         This function is valid if the accumulator is 0 and the format
18379         is different from the requested format.
18380         
18381 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18382
18383         * docs/gst/gstreamer-sections.txt:
18384         Add gst_query_new_seeking and gst_query_parse_seeking to the
18385         docs.
18386
18387 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18388
18389         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18390           Treat a pad alloc with new caps the same as if we were not
18391           negotiated, in order to allow a changing upstream output
18392           to produce a new format of data.
18393
18394 2005-11-29  Edward Hervey  <edward@fluendo.com>
18395
18396         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18397         (gst_base_transform_event), (gst_base_transform_eventfunc):
18398         The event virtual method is now properly implemented, with a default
18399         handler
18400         Sub classes should call the parent_class event method. They should
18401         return FALSE if they had a problem handling the given event, or don't
18402         want GstBaseTransform to send that even downstream
18403         * gst/elements/gstidentity.c: (gst_identity_class_init),
18404         (gst_identity_init), (gst_identity_event),
18405         (gst_identity_transform_ip), (gst_identity_set_property),
18406         (gst_identity_get_property):
18407         * gst/elements/gstidentity.h:
18408         Added the single-segment boolean property.
18409         If set to TRUE, it will output a single segment of data, starting from
18410         0, will eat up all incoming newsegment, and modify the timestamp of the
18411         buffers accordingly
18412
18413 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
18414
18415         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
18416           Don't ref NULL target pad (#322751). Improve docs.
18417
18418 2005-11-29  Michael Smith  <msmith@fluendo.com>
18419
18420         * gst/gstregistryxml.c: (load_plugin):
18421           Don't crash if we failed to load a feature from a plugin. 
18422
18423 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18424
18425         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18426         (GST_START_TEST):
18427           use more check API and less GLib API
18428
18429 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18430
18431         * Makefile.am:
18432           don't run checks if we don't have check
18433         * common/check.mak:
18434           remove the registry when running make torture
18435         * docs/gst/gstreamer-sections.txt:
18436           remove second multiply
18437         * gst/gstqueue.c: (gst_queue_loop):
18438           fix a compile warning when disabling debug
18439
18440 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18441
18442         * gst/gstinfo.h:
18443         Hey! Let's print the pad name if the pointer != NULL instead
18444         of when it == NULL :-)
18445
18446 2005-11-28  Wim Taymans  <wim@fluendo.com>
18447
18448         * check/gst/gstutils.c: (GST_START_TEST):
18449         Updated check, add some scaling accuracy checking code.
18450
18451         * gst/gstutils.c: (gst_util_div128_64),
18452         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
18453         (gst_util_uint64_scale_int):
18454         Fix 6 times faster division code. Optimize for common 
18455         1/1 and less common X/1 cases.
18456
18457 2005-11-28  Wim Taymans  <wim@fluendo.com>
18458
18459         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18460         More checks.
18461
18462         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
18463         (do_linear_regression), (gst_clock_add_observation):
18464         Cleanups.
18465         Release lock when the clock cannot be slaved.
18466         Catch the case where the regression returned an invalid denominator.
18467
18468         * gst/gstutils.c: (gst_util_div128_64_iterate),
18469         (gst_util_div128_64), (gst_util_uint64_scale_int64),
18470         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18471         Add protentially more performant non-iterative 128/64 divide function
18472         that unfortunatly does not work yet.
18473         Shortcut the trivial 0/X = 0 case.
18474         Remove the warnings on overflow.
18475
18476 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18477
18478         * gst/gstplugin.c: (gst_plugin_register_func):
18479           everything causing a plugin not to load should be at least a WARNING
18480
18481 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
18482
18483         * docs/random/ensonic/dparams.txt:
18484           some TODOs for the next dev cycle
18485         * libs/gst/controller/gstcontroller.c:
18486         (gst_controlled_property_set_interpolation_mode),
18487         (gst_controlled_property_new):
18488         * libs/gst/controller/gstcontroller.h:
18489           use base type to assign acccessor functions
18490
18491 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18492
18493         * check/Makefile.am:
18494         Oops, that should have been top_srcdir
18495
18496 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18497
18498         * check/Makefile.am:
18499         * check/elements/fdsrc.c: (GST_START_TEST):
18500         Use a cmdline define to specify the location of a file to use for
18501         testing, to avoid breaking distcheck.
18502
18503 2005-11-28  Andy Wingo  <wingo@pobox.com>
18504
18505         * gst/gstpad.c (fixate_value): Use array functions for arrays.
18506
18507 2005-11-28  Edward Hervey  <edward@fluendo.com>
18508
18509         * tools/gst-launch.c: (main):
18510         Clarify the output strings, makes it easier to translate.
18511         Fixes #322626
18512
18513 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18514
18515         * gst/Makefile.am:
18516           don't try and build net if we don't even have <sys/socket.h>
18517
18518 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
18519
18520         * check/Makefile.am:
18521         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
18522         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
18523           Add tests for fdsrc seekability
18524
18525         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18526         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
18527         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
18528         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
18529         * gst/elements/gstfdsrc.h:
18530           fdsrc should not be a 'live' source.
18531           Implement seeking on seekable fd's.
18532
18533         * gst/gstquery.c: (gst_query_new_seeking),
18534         (gst_query_parse_seeking):
18535         * gst/gstquery.h:
18536           Implement SEEKING query functions: 
18537             *_new_seeking and *_parse_seeking
18538
18539 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
18540
18541         * gst/gstelement.c: (gst_element_dispose):
18542           don't loop forever
18543
18544         * gst/gstiterator.c:
18545         * gst/gststructure.c:
18546           doc fixes
18547
18548         * libs/gst/controller/gstcontroller.c:
18549         (gst_controlled_property_set_interpolation_mode):
18550         * libs/gst/controller/gstcontroller.h:
18551         * libs/gst/controller/gstinterpolation.c:
18552         (interpolate_none_get_enum_value_array):
18553           support controlling enums
18554
18555 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18556
18557         * gst/gstvalue.c:
18558           Improve documentation for gst_value_union().
18559
18560         * gst/gstvalue.h:
18561           Change return value for union, intersect and subtract functions
18562           from gint to gboolean.
18563
18564 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18565
18566         * gst/gstvalue.c: (gst_value_serialize_any_list),
18567         (gst_value_transform_any_list_string),
18568         (gst_value_deserialize_list), (gst_value_deserialize_array),
18569         (gst_value_set_int_range), (gst_value_deserialize_int_range),
18570         (gst_value_set_double_range), (gst_value_deserialize_double_range),
18571         (gst_value_set_fraction_range_full),
18572         (gst_value_deserialize_fraction_range),
18573         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
18574         (gst_value_deserialize_boolean),
18575         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
18576         (gst_value_serialize_float), (gst_value_deserialize_float),
18577         (gst_string_wrap), (gst_value_deserialize_string),
18578         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
18579         (gst_value_union_int_range_int_range),
18580         (gst_value_intersect_int_range_int_range),
18581         (gst_value_intersect_double_range_double_range),
18582         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
18583         (gst_value_subtract_int_range_int_range),
18584         (gst_value_subtract_double_double_range),
18585         (gst_value_subtract_double_range_double_range),
18586         (gst_value_deserialize_fraction):
18587         * gst/gstvalue.h:
18588           Use gint, gdouble and gchar in our API instead of int, double and
18589           char (and make usage in gstvalue.c more consistent).
18590
18591 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18592
18593         * check/Makefile.am:
18594         * libs/gst/controller/Makefile.am:
18595         * libs/gst/dataprotocol/Makefile.am:
18596           fix up Makefile.am and remove GST_ENABLE_NEW
18597
18598 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18599
18600         * configure.ac:
18601         * gst/Makefile.am:
18602         * gst/base/Makefile.am:
18603         * gst/check/Makefile.am:
18604         * gst/elements/Makefile.am:
18605         * gst/net/Makefile.am:
18606           update LDFLAGS use some more
18607
18608 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18609
18610         * common/m4/gst-doc.m4:
18611           Fixes #312589
18612
18613 2005-11-26  Edward Hervey  <edward@fluendo.com>
18614
18615         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18616         This shouldn't issue a g_warning since it returns NULL if it
18617         couldn't find the plugin, and all functions using this behave
18618         properly on a NULL return. Switching to a GST_WARNING.
18619
18620 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
18621
18622         * gst/gstbin.c: (gst_bin_handle_message_func):
18623         Don't leak clock messages.
18624
18625 2005-11-25  Wim Taymans  <wim@fluendo.com>
18626
18627         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18628         (gst_util_uint64_scale_int):
18629         Optimisations, remove unneeded vars.
18630
18631 2005-11-25  Wim Taymans  <wim@fluendo.com>
18632
18633         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18634         Added more checks for the high precision uint64 cases.
18635
18636         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18637         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18638         Implement high precision (guint64 * guint64) / guint64.
18639
18640 2005-11-24  Wim Taymans  <wim@fluendo.com>
18641
18642         * gst/base/gstbasesrc.c: (gst_base_src_query):
18643         Fix wrong percentage query.
18644
18645         * gst/gstutils.c: (gst_util_uint64_scale),
18646         (gst_util_uint64_scale_int):
18647         Add some more common cases that can be handled 
18648         efficiently to _scale.
18649
18650 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18651
18652         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
18653         (gst_mini_object_suite):
18654           don't use check calls from threads; check probably isn't
18655           threadsafe and using a lock to make it threadsafe would
18656           defeat the purpose of this check
18657         * gst/check/gstcheck.c:
18658         * gst/check/gstcheck.h:
18659           use GST_DEBUG some more
18660
18661 2005-11-24  Wim Taymans  <wim@fluendo.com>
18662
18663         * gst/gstutils.c: (gst_util_uint64_scale),
18664         (gst_util_uint64_scale_int):
18665         Chain trivial case to _scale_int.
18666
18667 2005-11-24  Wim Taymans  <wim@fluendo.com>
18668
18669         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18670         Added test for scaling.
18671
18672         * gst/gstclock.h:
18673         Small doc fix.
18674
18675         * gst/gstutils.c: (gst_util_uint64_scale_int):
18676         Implemented high precision scaling code.
18677
18678 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
18679
18680         * gst/gstinfo.h:
18681           do not crash on pad==NULL
18682
18683 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18684
18685         Patch by: Stefan Kost
18686
18687         * common/gtk-doc.mak:
18688         * docs/gst/Makefile.am:
18689         * docs/libs/Makefile.am:
18690           Fix distcheck issues for the libraries docs build
18691           Closes #319599.
18692
18693 2005-11-24  Michael Smith <msmith@fluendo.com>
18694
18695         * docs/manual/basics-helloworld.xml:
18696           Fix bug #315027: memory leak in example code in docs.
18697
18698 2005-11-24  Michael Smith <msmith@fluendo.com>
18699
18700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18701           Unlock the PREROLL_LOCK in a failure case.
18702
18703 2005-11-24  Wim Taymans  <wim@fluendo.com>
18704
18705         * docs/gst/gstreamer-sections.txt:
18706         * gst/base/gstadapter.h:
18707         * gst/base/gstbasesink.h:
18708         * gst/base/gstbasesrc.h:
18709         * gst/base/gstbasetransform.h:
18710         * gst/base/gstpushsrc.h:
18711         * gst/elements/gstfakesink.h:
18712         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
18713         * gst/elements/gstfakesrc.h:
18714         * gst/elements/gstfilesink.h:
18715         * gst/elements/gstfilesrc.h:
18716         * gst/gst.c:
18717         * gst/gstbin.c:
18718         * gst/gstbuffer.c: (_gst_buffer_copy):
18719         * gst/gstbus.h:
18720         * gst/gstcaps.c:
18721         * gst/gstchildproxy.c:
18722         * gst/gstclock.c:
18723         * gst/gstelement.c:
18724         * gst/gstelementfactory.c:
18725         * gst/gstelementfactory.h:
18726         * gst/gstevent.c:
18727         * gst/gstghostpad.h:
18728         * gst/gstindex.h:
18729         * gst/gstinterface.h:
18730         * gst/gstminiobject.c:
18731         * gst/gstminiobject.h:
18732         * gst/gstpad.c:
18733         * gst/gstpad.h:
18734         * gst/gstpadtemplate.h:
18735         * gst/gstpipeline.h:
18736         * gst/gstpluginfeature.h:
18737         * gst/gstquery.h:
18738         * gst/gstqueue.h:
18739         * gst/gsttaglist.c:
18740         * gst/gsttaglist.h:
18741         * gst/gsttagsetter.c:
18742         * gst/gsttagsetter.h:
18743         * gst/gsttrace.c:
18744         * gst/gsttrace.h:
18745         * gst/gsttypefind.h:
18746         * gst/gsturi.h:
18747         * gst/gstvalue.c:
18748         * gst/net/gstnetclientclock.c:
18749         * gst/net/gstnetclientclock.h:
18750         * gst/net/gstnettimepacket.c:
18751         * gst/net/gstnettimeprovider.c:
18752         * gst/net/gstnettimeprovider.h:
18753         Doc fixes.
18754
18755 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18756
18757         * configure.ac: back to HEAD
18758
18759 === release 0.9.6 ===
18760
18761 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
18762
18763         * configure.ac:
18764           releasing 0.9.6, "Always On Time"
18765
18766 2005-11-23  Wim Taymans  <wim@fluendo.com>
18767
18768         * docs/gst/gstreamer-sections.txt:
18769         * gst/glib-compat.c:
18770         * gst/gsttagsetter.c:
18771         * gst/gstvalue.c:
18772         * gst/net/gstnetclientclock.c:
18773         * gst/net/gstnettimepacket.h:
18774         Doc updates.
18775
18776 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18777
18778         * docs/faq/using.xml:
18779         * docs/libs/tmpl/gstcontrol.sgml:
18780         * docs/manual/advanced-dparams.xml:
18781         * docs/manual/appendix-checklist.xml:
18782         * docs/manual/basics-elements.xml:
18783         * docs/pwg/other-source.xml:
18784         * docs/random/moving-plugins:
18785         * gst/gstpad.c:
18786         * tools/gst-launch.1.in:
18787           remove mentions of sinesrc
18788
18789 2005-11-23  Michael Smith <msmith@fluendo.com>
18790
18791         * docs/gst/gstreamer-sections.txt:
18792           Update for new API and API changes.
18793         * gst/gstobject.h:
18794           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
18795         * gst/gstvalue.c:
18796           Documentation typo fix.
18797         * gst/net/gstnettimepacket.c:
18798           Documentation fixes for arguments.
18799
18800 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
18801
18802         * gst/gststructure.c: (gst_structure_get_fraction),
18803         (gst_structure_parse_value),
18804         (gst_structure_fixate_field_nearest_fraction):
18805         * gst/gststructure.h:
18806         * gst/gstutils.c: (gst_util_uint64_scale_int):
18807         * gst/gstutils.h:
18808         * scripts/update-funcnames:
18809         API Changes. 
18810         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
18811         Make gst_structure_fixate_field_nearest_fraction take a numerator
18812         and denominator argument instead of a GValue
18813         add gst_structure_get_fraction helper function.
18814
18815 2005-11-23  Wim Taymans  <wim@fluendo.com>
18816
18817         * docs/design/part-TODO.txt:
18818         Update TODO.
18819
18820         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
18821         * gst/net/gstnetclientclock.h:
18822         Use parent fields for timeout and window_size.
18823
18824 2005-11-23  Andy Wingo  <wingo@pobox.com>
18825
18826         * check/net/gstnetclientclock.c (test_functioning): Adjust to
18827         rate_num/rate_denom change.
18828
18829         * gst/net/gstnetclientclock.c
18830         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
18831         OBJECT_LOCK. Don't call add_observation with the lock.
18832
18833         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
18834         fraction.
18835         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
18836         rate fraction.
18837         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
18838         deal with rate as a fraction whose numerator and denominator are
18839         GstClockTime values.
18840         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
18841         master; the other fields are protected by the SLAVE_LOCK.
18842         (do_linear_regression): Note that this must be called with the
18843         SLAVE_LOCK.
18844         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
18845         OBJECT_LOCK. Call set_calibration instead of touching the
18846         variables directly.
18847         (gst_clock_set_property, gst_clock_get_property): Protect
18848         master/slave parameters with the SLAVE_LOCK.
18849
18850         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
18851         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
18852         note that all of the instance variables that add_observation and
18853         the set_master functions use are protected by that lock and not
18854         the OBJECT_LOCK.
18855         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
18856
18857         * gst/gstclock.c (gst_clock_add_observation): No longer requires
18858         the caller to take the object lock.
18859
18860 2005-11-23  Wim Taymans  <wim@fluendo.com>
18861
18862         * gst/gsterror.c: (_gst_core_errors_init):
18863         * gst/gsterror.h:
18864         Add error for clock stuff.
18865
18866         * gst/gstpipeline.c: (gst_pipeline_change_state),
18867         (gst_pipeline_set_clock):
18868         Post clock error when clock cannot be used in a pipeline.
18869
18870 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
18871
18872         * docs/gst/gstreamer-sections.txt:
18873           make two symbols from gstinfo private for the docs
18874         * gst/base/gstcollectpads.h:
18875         * gst/gstutils.c:
18876           fix doc typos, update docs
18877
18878 2005-11-22  Wim Taymans  <wim@fluendo.com>
18879
18880         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18881         (gst_base_sink_wait), (gst_base_sink_do_sync),
18882         (gst_base_sink_handle_event):
18883         * gst/base/gstbasesink.h:
18884         No need to store the clock, the parent element class already
18885         has it.
18886
18887         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
18888         Updates for clock_set returning a gboolean
18889
18890         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
18891         (gst_clock_id_wait_async), (gst_clock_class_init),
18892         (gst_clock_init), (gst_clock_finalize),
18893         (gst_clock_get_internal_time), (gst_clock_get_time),
18894         (gst_clock_slave_callback), (gst_clock_set_master),
18895         (gst_clock_get_master), (do_linear_regression),
18896         (gst_clock_add_observation), (gst_clock_set_property),
18897         (gst_clock_get_property):
18898         * gst/gstclock.h:
18899         Implement master/slave. When setting a clock as a slave, a
18900         periodic timeout is scheduled to sample master and slave times.
18901         Then the slave clock is recalibrated to match offset and rate
18902         of the master clock.
18903         Update logging a bit.
18904         Add flag so that a clock can state that is cannot be slaved to
18905         another clock.
18906
18907         * gst/gstelement.c: (gst_element_set_clock):
18908         * gst/gstelement.h:
18909         The set clock returns a gboolean for when an element cannot
18910         deal with the selected clock in the pipeline. 
18911
18912         * gst/gstpipeline.c: (gst_pipeline_change_state),
18913         (gst_pipeline_set_clock):
18914         * gst/gstpipeline.h:
18915         Handle the case where the selected clock cannot be set on
18916         the pipeline.
18917
18918         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
18919         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
18920         (gst_net_client_clock_set_property),
18921         (gst_net_client_clock_get_property),
18922         (gst_net_client_clock_observe_times):
18923         * gst/net/gstnetclientclock.h:
18924         Use regression code in GstClock parent, remove duplicated
18925         functionality.
18926
18927 2005-11-22  Michael Smith <msmith@fluendo.com>
18928
18929         * gst/gstutils.c: (gst_util_clock_time_scale):
18930         * gst/gstutils.h:
18931         * docs/gst/gstreamer-sections.txt:
18932           Rename method to have extra underscore.
18933
18934 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18935
18936         * gst/elements/Makefile.am:
18937         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
18938         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18939         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18940         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
18941         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
18942         * gst/elements/gstfakesrc.h:
18943         * gst/gstqueue.c: (queue_leaky_get_type):
18944           correctly fix GEnumValues so that nick is the short lowercase
18945           dashed tag
18946         * tools/gst-inspect.c: (print_element_properties_info):
18947           also show the nick, since it's useful to use from parse_launch
18948           syntax
18949           Fixes #322139
18950
18951 2005-11-22  Michael Smith <msmith@fluendo.com>
18952
18953         * gst/gstutils.c: (gst_util_clocktime_scale):
18954         * gst/gstutils.h:
18955         * docs/gst/gstreamer-sections.txt:
18956           Add util method for scaling a clocktime by a fraction. Useful 
18957           implementation is left as an exercise for the reader.
18958
18959 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18960
18961         * gst/gstvalue.c: (gst_value_collect_fraction_range):
18962         If needed, allocate storage in the destination value during
18963         collection.
18964
18965 2005-11-22  Edward Hervey  <edward@fluendo.com>
18966
18967         * docs/gst/gstreamer-sections.txt:
18968         * gst/Makefile.am:
18969         * gst/gst.h:
18970         * gst/gsturitype.c:
18971         * gst/gsturitype.h:
18972         * gst/gstutils.c: (gst_util_set_object_arg):
18973         * tools/gst-compprep.c: (main):
18974         * tools/gst-inspect.c: (print_element_properties_info):
18975         Removed GstURI, closes bug #321061
18976
18977 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18978
18979         * check/gst/gststructure.c: (GST_START_TEST):
18980         * gst/gststructure.c: (gst_structure_parse_value):
18981           Oops, broke automatic string type parsing.
18982           Add a test to catch it in future.
18983
18984 2005-11-22  Andy Wingo  <wingo@pobox.com>
18985
18986         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
18987         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
18988         Actually rename the function implementations. Grr.
18989
18990 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18991
18992         * check/gst/capslist.h:
18993           Comment test cases
18994         * check/gst/gststructure.c: (GST_START_TEST),
18995         (gst_structure_suite):
18996           Test automatic value type detection in gst_structure_from_string.
18997         * gst/gststructure.c: (gst_structure_parse_value):
18998           Add fraction as a type we try and guess automatically in
18999           caps/structure strings.
19000
19001 2005-11-22  Andy Wingo  <wingo@pobox.com>
19002
19003         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
19004
19005         * gst/gsttagsetter.h:
19006         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
19007         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
19008         (gst_tag_setter_add_tag_valist)
19009         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
19010         _add_values, _add_valist, and _add_valist_values. Since this is an
19011         interface the function suffixes should be more explicit so
19012         language binding don't end up with element.add_valist ->
19013         gst_tag_setter_add_valist, for example. Fixes #322069.
19014
19015 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19016
19017         * check/gst/gstcaps.c: (GST_START_TEST):
19018           Extend caps string tests to check that a caps to string
19019           conversion is reversible and produces the same caps.
19020
19021         * gst/gststructure.c: (gst_structure_value_get_generic_type):
19022           Output "fraction" as the generic type fraction range, so caps
19023           serialisation and deserialisation works.
19024         * check/gst/capslist.h:
19025         * gst/gstvalue.c: (gst_value_deserialize_fraction):
19026           Support 'MIN' and 'MAX' for deserialising fractions.
19027
19028 2005-11-22  Andy Wingo  <wingo@pobox.com>
19029
19030         * gst/gstevent.h (gst_event_new_new_segment)
19031         (gst_event_parse_new_segment, gst_event_new_buffer_size)
19032         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
19033         Renamed from *_newsegment, *_buffersize, *_notarget.
19034
19035         * scripts/update-funcnames: New script, performs the changes
19036         listed above.
19037
19038 2005-11-22  Wim Taymans  <wim@fluendo.com>
19039
19040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19041         Make sure the GstFlowReturn is returned.
19042
19043         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
19044         (gst_bus_add_signal_watch):
19045         * gst/gstbus.h:
19046         add gst_bus_add_signal_watch_full.
19047
19048         * gst/gstplugin.c: (gst_plugin_load_file):
19049         Small style cleanup.
19050
19051 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19052
19053         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
19054           Block the fakesrc srcpad when we send an event, to avoid
19055           contention on the stream_lock causing random test failures.
19056
19057 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19058
19059         * check/gst/gstvalue.c: (GST_START_TEST):
19060         * gst/gstvalue.c: (gst_value_fraction_subtract):
19061           Fix subtraction.
19062
19063 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
19064
19065         * gst/gst.h:
19066           include "gstchildproxy.h"
19067         * gst/gstchildproxy.h:
19068         * libs/gst/controller/gstcontroller.h:
19069           use G_GNUC_NULL_TERMINATED
19070
19071 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
19072
19073         * check/gst/capslist.h:
19074         * check/gst/gstcaps.c: (GST_START_TEST):
19075         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19076         * gst/gststructure.c: (gst_structure_parse_range),
19077         (gst_structure_fixate_field_nearest_fraction):
19078         * gst/gststructure.h:
19079         * gst/gstvalue.c: (gst_value_init_fraction_range),
19080         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
19081         (gst_value_collect_fraction_range),
19082         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
19083         (gst_value_set_fraction_range_full),
19084         (gst_value_get_fraction_range_min),
19085         (gst_value_get_fraction_range_max),
19086         (gst_value_serialize_fraction_range),
19087         (gst_value_transform_fraction_range_string),
19088         (gst_value_compare_fraction_range),
19089         (gst_value_deserialize_fraction_range),
19090         (gst_value_intersect_fraction_fraction_range),
19091         (gst_value_intersect_fraction_range_fraction_range),
19092         (gst_value_subtract_fraction_fraction_range),
19093         (gst_value_subtract_fraction_range_fraction),
19094         (gst_value_subtract_fraction_range_fraction_range),
19095         (gst_value_collect_fraction), (gst_value_fraction_multiply),
19096         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
19097         (gst_value_transform_string_fraction), (_gst_value_initialize):
19098         * gst/gstvalue.h:
19099           Implement fraction ranges and extend GstFraction to support
19100           arithmetic subtraction, as well as deserialization from integer
19101           strings such as "100"
19102           Add a testsuite as for int and double range set operations
19103
19104 2005-11-21  Andy Wingo  <wingo@pobox.com>
19105
19106         * gst/gsttaglist.h: 
19107         * gst/gstcaps.h: 
19108         * gst/gststructure.h: Add glib-compat.h.
19109
19110 2005-11-21  Wim Taymans  <wim@fluendo.com>
19111
19112         * gst/gstbin.c: (gst_bin_change_state_func):
19113         Fix for #321595
19114
19115 2005-11-21  Wim Taymans  <wim@fluendo.com>
19116
19117         * gst/gstsegment.h:
19118         And add a nice define too.
19119
19120 2005-11-21  Wim Taymans  <wim@fluendo.com>
19121
19122         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
19123         (gst_segment_new), (gst_segment_free), (gst_segment_init),
19124         (gst_segment_set_duration), (gst_segment_set_last_stop),
19125         (gst_segment_set_seek), (gst_segment_set_newsegment),
19126         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19127         (gst_segment_clip):
19128         * gst/gstsegment.h:
19129         Make binding friendly.
19130
19131 2005-11-21  Andy Wingo  <wingo@pobox.com>
19132
19133         * gst/gsttagsetter.h: 
19134         * gst/gsttaglist.h: 
19135         * gst/gststructure.h: 
19136         * gst/gstcaps.h: 
19137         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
19138         #319940.
19139
19140         * gst/gsterror.c (_gst_core_errors_init):
19141         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
19142         category.
19143
19144         * gst/Makefile.am (gst_headers): Add glib-compat.h.
19145         (noinst_HEADERS): noinst the -private.
19146
19147 2005-11-21  Michael Smith <msmith@fluendo.com>
19148
19149         * gst/gstplugin.h:
19150         * gst/gstregistry.h:
19151           Remove unimplemented declarations for which we can see no sensible
19152           use.
19153
19154 2005-11-21  Andy Wingo  <wingo@pobox.com>
19155
19156         * gst/gst.h: Include glib-compat.h.
19157
19158         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
19159
19160         * gst/glib-compat.c: Include the public and the private header.
19161
19162         * gst/glib-compat-private.h: Copied here from glib-compat.h.
19163
19164         * gst/gstvalue.c: 
19165         * gst/gstpad.c: 
19166         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
19167
19168         * check/gst/gstevent.c (create_custom_events): Check that
19169         FLUSH_STOP is serialized.
19170
19171         * check/elements/identity.c (event_func): 
19172         * check/elements/fakesrc.c (event_func): No stream lock, the core
19173         takes it.
19174
19175         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
19176         stream lock taking, yay.
19177
19178         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
19179         ensure that core takes the stream lock.
19180
19181         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
19182         lock name change.
19183
19184         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
19185         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
19186         it already. For the flush start we do take it though so we get the
19187         right preroll state change messages.
19188
19189         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
19190         the stream lock here, the core does it for us.
19191
19192         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
19193         GST_STREAM_GET_LOCK.
19194         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
19195         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
19196         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
19197         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
19198         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
19199         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
19200
19201         * gst/gstpad.c: Update for stream lock name change.
19202
19203         * gst/base/gstbasesink.c: Update for preroll lock name change.
19204
19205 2005-11-21  Wim Taymans  <wim@fluendo.com>
19206
19207         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
19208         (gst_clock_get_master):
19209         * gst/gstclock.h:
19210         * gst/gstsystemclock.c: (gst_system_clock_init):
19211         Convert Clock flags to object flags.
19212         Added methods to manage master/slave clocks.
19213
19214 2005-11-21  Wim Taymans  <wim@fluendo.com>
19215
19216         * check/gst/gstsegment.c: (GST_START_TEST):
19217         * docs/design/part-TODO.txt:
19218         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19219         (gst_base_sink_event), (gst_base_sink_do_sync),
19220         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
19221         (gst_base_sink_query), (gst_base_sink_change_state):
19222         * gst/base/gstbasesink.h:
19223         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
19224         (gst_base_src_default_newsegment),
19225         (gst_base_src_configure_segment), (gst_base_src_do_seek),
19226         (gst_base_src_get_range), (gst_base_src_loop),
19227         (gst_base_src_change_state):
19228         * gst/base/gstbasesrc.h:
19229         * gst/base/gstbasetransform.c:
19230         (gst_base_transform_prepare_output_buf),
19231         (gst_base_transform_event), (gst_base_transform_change_state):
19232         * gst/base/gstbasetransform.h:
19233         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
19234         (gst_collect_pads_event):
19235         * gst/base/gstcollectpads.h:
19236         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
19237         (gst_fake_src_create):
19238         * gst/elements/gstfakesrc.h:
19239         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19240         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19241         (gst_segment_set_last_stop), (gst_segment_set_seek),
19242         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
19243         (gst_segment_to_running_time), (gst_segment_clip):
19244         * gst/gstsegment.h:
19245         More segment updates, replace code in plugins with segment
19246         helper functions.
19247
19248 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19249
19250         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
19251         Don't ignore sscanf results
19252
19253 2005-11-21  Andy Wingo  <wingo@pobox.com>
19254
19255         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
19256
19257         * *.h:
19258         * *.c: Ran scripts/update-macros. Oh yes.
19259
19260         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
19261         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
19262         GST_GET_LOCK, etc.
19263
19264         * scripts/update-macros: New script. Run it on your files to
19265         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
19266         well.
19267
19268 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
19269
19270         * docs/gst/Makefile.am:
19271         * docs/gst/gstreamer-docs.sgml:
19272         * docs/gst/gstreamer-sections.txt:
19273         * docs/gst/gstreamer.types:
19274         * gst/gstinfo.h:
19275           more docs fixes, add new api to the docs
19276
19277 2005-11-21  Andy Wingo  <wingo@pobox.com>
19278
19279         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
19280         state_broadcast call.
19281
19282         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
19283
19284 2005-11-21  Julien MOUTTE  <julien@moutte.net>
19285
19286         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
19287         function calls for arrays.
19288
19289 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
19290
19291         * docs/random/ensonic/media-device-daemon.txt:
19292           wild idea, can this be done?
19293         * docs/gst/gstreamer-sections.txt:
19294         * gst/gsterror.h:
19295         * gst/gstfilter.c:
19296         * gst/gstfilter.h:
19297         * gst/gstplugin.h:
19298         * gst/gstpluginfeature.c:
19299         * gst/gsttrace.c:
19300         * gst/gstvalue.c:
19301         * gst/gstvalue.h:
19302           doc fixes and additions
19303
19304 2005-11-21  Andy Wingo  <wingo@pobox.com>
19305
19306         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
19307         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
19308         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
19309         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
19310         private to the basesrc implementation.
19311
19312         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
19313         behalf of event function if necessary. It should no longer be
19314         necessary to take the stream lock in pad's event functions. Fixes
19315         #320299.
19316
19317 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19318         * docs/gst/gstreamer-sections.txt:
19319         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
19320         (gst_structure_fixate_field_nearest_double),
19321         (gst_structure_fixate_field_boolean):
19322         * gst/gststructure.h:
19323         * win32/common/libgstreamer.def:
19324         * win32/gstreamer.def:
19325
19326         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
19327         (#322027)
19328
19329 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
19330
19331         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
19332         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
19333         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
19334         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
19335         (gst_fdsrc_uri_handler_init):
19336         * gst/elements/gstfdsrc.h:
19337           Port fd:// URI handler from 0.8 to fdsrc
19338
19339 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19340
19341         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
19342         (gst_value_serialize_fourcc):
19343         * gst/gstvalue.h:
19344           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
19345           consistent with our other format defines (#320324).
19346
19347 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19348
19349         * gst/gstvalue.c: (gst_value_is_fixed):
19350           Revert previous commit. Value lists are by definition
19351           not fixed, as they are a list of possible values.
19352
19353 2005-11-21  Andy Wingo  <wingo@pobox.com>
19354
19355         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
19356         during the stable series if we need it. Fixes #319178.
19357
19358         * gst/gstevent.c (gst_event_new_filler): Removed.
19359
19360         * check/gst/gstevent.c: Update comment about filler events.
19361
19362 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19363
19364         * gst/gstvalue.c: (gst_value_is_fixed):
19365           Should handle both value arrays and value lists.
19366
19367 2005-11-21  Andy Wingo  <wingo@pobox.com>
19368
19369         patch by: Alessandro Dessina <alessandro nnva org>
19370
19371         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
19372         functions to access arrays. Fixes #321962.
19373
19374 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19375
19376         * docs/gst/gstreamer.types:
19377           gst_collectpads_get_type => gst_collect_pads_get_type.
19378           
19379         * gst/base/gstbasetransform.c:
19380           Remove unused SIGNAL_HANDOFF enum.
19381
19382 2005-11-21  Andy Wingo  <wingo@pobox.com>
19383
19384         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
19385         the event type (upstream, downstream, serialized). Renamed
19386         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
19387         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
19388         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
19389
19390         * gst/gstevent.c: Update for new CUSTOM event names.
19391
19392         * check/gst/gstevent.c: Update check for new CUSTOM event names.
19393
19394         * gst/gstevent.h:
19395         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
19396         bug #319392.
19397
19398 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19399
19400         * docs/gst/gstreamer-sections.txt:
19401         * win32/common/libgstbase.def:
19402         * win32/libgstbase.def:
19403         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
19404         (gst_collect_pads_class_init), (gst_collect_pads_init),
19405         (gst_collect_pads_finalize), (gst_collect_pads_new),
19406         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
19407         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
19408         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
19409         (gst_collect_pads_start), (gst_collect_pads_stop),
19410         (gst_collect_pads_peek), (gst_collect_pads_pop),
19411         (gst_collect_pads_available), (gst_collect_pads_read),
19412         (gst_collect_pads_flush), (gst_collect_pads_event),
19413         (gst_collect_pads_chain):
19414         * gst/base/gstcollectpads.h:
19415           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
19416           unimplemented functions as unimplemented. Add padding to
19417           GstCollectData. (#320766, #320423)
19418
19419 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19420
19421         * gst/gstmessage.c:
19422           Improve docs for DURATION message (usage of duration parameter)
19423           (#320113)
19424
19425 2005-11-20  Wim Taymans  <wim@fluendo.com>
19426
19427         * check/Makefile.am:
19428         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
19429         (main):
19430         * gst/Makefile.am:
19431         * gst/gst.h:
19432         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19433         (gst_segment_set_seek), (gst_segment_set_newsegment),
19434         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19435         (gst_segment_clip):
19436         * gst/gstsegment.h:
19437         Added segment helper structure and methods. Not fully implemented
19438         yet.
19439         Added segment check.
19440
19441 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
19442
19443         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19444           Add a deserialisation test for fractions
19445         * examples/metadata/read-metadata.c: (message_loop),
19446         (make_pipeline), (main):
19447           Fix up metadata reading sample.
19448         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19449           Debug format fix
19450         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19451           Don't try and fixate empty caps
19452         * gst/gst_private.h:
19453           Wrap in G_BEGIN_DECLS/G_END_DECLS
19454         * gst/gstvalue.c: (gst_value_collect_fraction),
19455         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
19456         (gst_value_transform_string_fraction),
19457         (gst_value_compare_fraction):
19458           Add some extra guards to ensure that we don't end up 
19459           with an invalid denominator of 0 in a gstfraction and
19460           that fractions always get reduced.
19461
19462 2005-11-20  Wim Taymans  <wim@fluendo.com>
19463
19464         * docs/gst/gstreamer-sections.txt:
19465         * gst/gstbuffer.h:
19466         * gst/gstelement.c:
19467         * gst/gstformat.c:
19468         * gst/gstformat.h:
19469         * gst/gstindex.h:
19470         * gst/gstquery.c:
19471         * gst/gstquery.h:
19472         * gst/gstvalue.c:
19473         Doc fixes.
19474
19475 2005-11-20  Wim Taymans  <wim@fluendo.com>
19476
19477         * docs/design/part-TODO.txt:
19478         * gst/gstcaps.h:
19479         Make a proper enum of the flag.
19480
19481 2005-11-19  Wim Taymans  <wim@fluendo.com>
19482
19483         * docs/design/part-TODO.txt:
19484         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
19485         (gst_format_to_quark), (gst_format_register):
19486         * gst/gstformat.h:
19487         * gst/gstquery.c: (_gst_query_initialize),
19488         (gst_query_type_get_name), (gst_query_type_to_quark),
19489         (gst_query_type_register):
19490         * gst/gstquery.h:
19491         Add type to quark and type to string conversions.
19492
19493 2005-11-19  Andy Wingo  <wingo@pobox.com>
19494
19495         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
19496         #320097.
19497
19498 2005-11-19  Wim Taymans  <wim@fluendo.com>
19499
19500         * docs/design/part-TODO.txt:
19501         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19502         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
19503         (gst_bin_handle_message_func):
19504         * gst/gstbin.h:
19505         Make message handling overridable.
19506
19507 2005-11-19  Andy Wingo  <wingo@pobox.com>
19508
19509         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
19510
19511         * gst/gstclock.h:
19512         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
19513         be a GstClockTime.
19514         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
19515         is a GstClockTime. Fixes #321710.
19516
19517         * gst/gstclock.h (GstClock): Remove offset property. Add
19518         internal_calibration and external_calibration. Fix padding. Pad
19519         also by GstClockTime so we don't run into problems.
19520
19521         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
19522         (gst_clock_get_rate_offset): Remove.
19523         (gst_clock_set_time_adjust): Remove. Fixes #321712.
19524
19525         * gst/gstutils.h:
19526         * gst/gstutils.c (g_static_rec_cond_wait)
19527         (g_static_rec_cond_timed_wait): Removed, no longer needed.
19528
19529         * gst/gstbin.c: Remove terrible continue_state prototype.
19530
19531         * gst/gstelement.h (gst_element_continue_state): Make public.
19532
19533         * gst/gstelement.h:
19534         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
19535         by continue_state. Fixes #319389.
19536
19537         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
19538         Really fixes #168438. However I don't see anywhere where the
19539         filter function is called... stupid GStreamer...
19540         
19541         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
19542         don't have a dispose function, so it won't get called when the
19543         object is unreffed, but oh well!
19544
19545         * gst/gstindex.c (gst_index_set_filter_full): New API function,
19546         allows a destroy function to be set so user_data can be freed.
19547         Fixes #168438.
19548         (gst_index_set_filter): Call gst_index_set_filter_full.
19549
19550         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
19551
19552         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
19553         string should produce an error, given the lack of a way to
19554         represent NULL strings. Fixes #165650.
19555         
19556         * gst/gstvalue.h: 
19557         * gst/gstvalue.c (gst_value_array_append_value) 
19558         (gst_value_array_prepend_value, gst_value_array_get_size) 
19559         (gst_value_array_get_value): New API, copied from
19560         gst_value_list_*, only operates on arrays.
19561         (gst_value_list_append_value, gst_value_list_prepend_value) 
19562         (gst_value_list_concat, gst_value_list_get_size) 
19563         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
19564
19565         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
19566         init_list, because it works on both.
19567         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
19568         (gst_value_copy_list_or_array): Renamed from copy_list.
19569         (gst_value_free_list_or_array): Renamed from free_list.
19570         (gst_value_collect_list_or_array): Renamed from collect_list.
19571         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19572         (gst_value_list_or_array_peek_pointer): Renamed from
19573         list_peek_pointer.
19574         (_gst_value_array_value_table, _gst_value_list_value_table):
19575         Update value table functions.
19576         (gst_value_compare_list_or_array): Renamed from compare_list.
19577
19578         * gsttaglist.h: Whoops, foreach function returns void. Also fix
19579         some constness.
19580
19581         * gst/gsttaglist.c:
19582         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
19583         GstTagList*. Fixes #143472.
19584
19585         * gst/gststructure.h: Clarify what the foreach/map functions can
19586         or can't do to their arguments.
19587
19588 2005-11-18  Wim Taymans  <wim@fluendo.com>
19589
19590         * gst/gstclock.c: (gst_clock_set_calibration),
19591         (gst_clock_get_calibration):
19592         Doc and API fixes.
19593         Calibration can be set with internal time equal to current
19594         internal time too.
19595
19596 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19597
19598         * gst/gsterror.c:
19599         * gst/gsterror.h:
19600           document
19601
19602 2005-11-18  Andy Wingo  <wingo@pobox.com>
19603
19604         * configure.ac: 
19605         * pkgconfig/gstreamer-net.pc.in:
19606         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19607         * pkgconfig/Makefile.am: Add net pkgconfig files.
19608
19609 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
19610
19611         * gst/gstcaps.c:
19612         * gst/gstghostpad.c:
19613         * gst/gsttrace.c:
19614         * gst/gstvalue.c:
19615         * gst/gstvalue.h:
19616           docs fixes
19617
19618 2005-11-18  Andy Wingo  <wingo@pobox.com>
19619
19620         * gst/net/gstnetclientclock.c: Turn off debugging.
19621
19622         * check/net/gstnetclientclock.c (test_functioning): Assert that the
19623         times connverge somewhat. Can't make a real test.
19624
19625         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
19626         integer arithmetic. Return the minimum of the domain, which can be
19627         set as "internal" for gst_clock_set_calibration.
19628         (gst_net_client_clock_observe_times): Call _set_calibration.
19629         (gst_net_client_clock_new): Call _set_calibration instead of
19630         rate_offset.
19631
19632         * check/net/gstnetclientclock.c (test_functioning): Use the right
19633         adjustment api.
19634
19635         * gst/gstclock.h:
19636         * gst/gstclock.c (gst_clock_get_calibration) 
19637         (gst_clock_set_calibration): New functions, obsolete the ones I
19638         added yesterday. Doh. Precision issues mean we have to extrapolate
19639         from a point in the more recent past than 1970.
19640         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
19641         obsolete.
19642         (gst_clock_adjust_unlocked): Use the right calibration data.
19643
19644 2005-11-18  Edward Hervey  <edward@fluendo.com>
19645
19646         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
19647         Also reset the ->current_* values in READY->PAUSED
19648
19649 2005-11-18  Andy Wingo  <wingo@pobox.com>
19650
19651         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
19652         Whoops, check the right fd. Also add some debugging.
19653         (gst_net_client_clock_observe_times): Adjust for int64 offset.
19654         (do_linear_regression): Add a crapload of debugging. Subtract off
19655         the minimum values from the input series to discard unneeded bits.
19656         Use only int arithmetic. There is still double arithmetic when
19657         calculating the intercept that needs fixing. Return boolean to
19658         indicate success; FALSE would mean the domain or range is too
19659         great. Still needs fixes.
19660
19661 2005-11-18  Wim Taymans  <wim@fluendo.com>
19662
19663         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19664         For the current position in stream time, we need to subtract
19665         accumulated time.
19666         
19667         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19668         Release lock before calling the callback function of async
19669         entries.
19670
19671 2005-11-18  Andy Wingo  <wingo@pobox.com>
19672
19673         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
19674         Port goes all the way to MAXUINT16.
19675
19676         * gst/net/gstnettimeprovider.c: Make the port range the same as
19677         for the kernel: 0 assigns, otherwise ports are less than
19678         MAXUINT16.
19679
19680         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
19681         port change.
19682
19683         * check/net/gstnetclientclock.c (test_functioning): Add the start
19684         of another test. 
19685
19686 2005-11-18  Wim Taymans  <wim@fluendo.com>
19687
19688         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19689         (gst_bin_remove_func), (bin_bus_handler):
19690         * gst/gstbin.h:
19691         Removing a clock provider from a bin, triggers a clock lost message
19692         so that a new clock will be selected.
19693         Adding a clock to a bin triggers a clock provider message.
19694         Make sure we reselect a clock when we received a clock lost message.
19695         Keep a reference to the element that provided the clock.
19696
19697 2005-11-18  Andy Wingo  <wingo@pobox.com>
19698
19699         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
19700         the clock initially so it produces values around the base time.
19701         (gst_net_client_clock_class_init): Typo fix.
19702         (gst_net_client_clock_thread): Add note on when the socket gets
19703         closed.
19704
19705 2005-11-17  Wim Taymans  <wim@fluendo.com>
19706
19707         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
19708         Free remote and local time arrays.
19709
19710 2005-11-17  Wim Taymans  <wim@fluendo.com>
19711
19712         * gst/net/gstnetclientclock.c: (do_linear_regression),
19713         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
19714         Fix compilation, uninitialized vars and a forgotten continue.
19715
19716 2005-11-17  Andy Wingo  <wingo@pobox.com>
19717
19718         * check/Makefile.am (check_PROGRAMS): 
19719         * check/net/gstnetclientclock.c: Add a most minimal test for the
19720         net client clock. More to come later.
19721
19722         * gst/net/gstnet.h: 
19723         * gst/net/Makefile.am: Add netclientclock.
19724
19725         * gst/net/gstnetclientclock.h:
19726         * gst/net/gstnetclientclock.c: New files, implement an untested
19727         GstClock that takes its time from a network time provider.
19728         Implements the algorithm in network-clock.scm.
19729
19730         * tests/network-clock.scm (*window-size*): Rename from
19731         *queue-length*.
19732         * tests/network-clock.scm (network-time): 
19733         * tests/network-clock-utils.scm (q-push): Update callers.
19734
19735 2005-11-17  Wim Taymans  <wim@fluendo.com>
19736
19737         * gst/gstbin.c: (gst_bin_provide_clock_func),
19738         (gst_bin_sort_iterator_new):
19739         And unref the child too..
19740
19741 2005-11-17  Wim Taymans  <wim@fluendo.com>
19742
19743         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
19744         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
19745         Refactor the sort iterator so it can be used while holding the
19746         LOCK too.
19747         Make clock selection select a clock closest to the source.
19748
19749 2005-11-17  Michael Smith <msmith@fluendo.com>
19750
19751         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
19752         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
19753         * gst/gstclock.h:
19754           Anonymous structs are a gcc (and some other compilers) extension, so
19755           don't use them. Since this is only for ABI-compatibility, and our
19756           API/ABI freeze is over in a few days, this whole thing will only
19757           last a few days, so don't bother trying to think up a meaningful
19758           name for the struct.
19759
19760 2005-11-17  Andy Wingo  <wingo@pobox.com>
19761
19762         * gst/gstclock.h (GstClock): Add rate and offset properties,
19763         preserving ABI stability. Add rate/offset accessors. Will file bug
19764         for the freeze break.
19765
19766         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
19767         and offset, trying to keep precision and avoiding
19768         underflow/overflow.
19769         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
19770         functions. Make gst_clock_set_time_adjust obsolete.
19771         (gst_clock_set_time_adjust): Note that this function is obsolete.
19772         Will file bug soon.
19773
19774         * gst/base/gstbasetransform.h: Make the ABI-stability hack
19775         greppable by using GST_PADDING-1+1.
19776
19777 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
19778
19779         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19780
19781         * gst/gstmessage.c: (gst_message_parse_clock_lost):
19782           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
19783
19784         * gst/gstpadtemplate.h:
19785         * gst/gstpluginfeature.h:
19786           Don't use c++ style comments in headers (#321638).
19787
19788 2005-11-16  Andy Wingo  <wingo@pobox.com>
19789
19790         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
19791         buffer.
19792
19793         * check/net/gstnettimeprovider.c: Check to see that the time
19794         provider actually provides times. Works, yo!
19795
19796 2005-11-16  Wim Taymans  <wim@fluendo.com>
19797
19798         * check/Makefile.am:
19799         Enable more tests.
19800
19801         * check/elements/fakesrc.c: (GST_START_TEST):
19802         Set element to NULL before disposing it.
19803
19804 2005-11-16  Andy Wingo  <wingo@pobox.com>
19805
19806         * gst/net/Makefile.am:
19807         * gst/net/gstnet.h:
19808         * gst/net/gstnettimeprovider.c: 
19809         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
19810         provider, include it from gstnet.h, and add it to the build.
19811
19812         * gst/net/gstnettimepacket.h: 
19813         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
19814         sending and receiving.
19815
19816 2005-11-16  Wim Taymans  <wim@fluendo.com>
19817
19818         * check/Makefile.am:
19819         Enable valgrind check.
19820
19821         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
19822         (gst_fake_src_alloc_buffer):
19823         Fix memleak.
19824
19825 2005-11-16  Wim Taymans  <wim@fluendo.com>
19826
19827         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
19828         Call parent finalize too.
19829
19830 2005-11-16  Wim Taymans  <wim@fluendo.com>
19831
19832         * check/Makefile.am:
19833         Enable valgrind check that should work fine now.
19834
19835         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19836         * gst/gstqueue.c: (gst_queue_init):
19837         Fix memleaks in pad allocation.
19838
19839 2005-11-16  Andy Wingo  <wingo@pobox.com>
19840
19841         * gst/net/Makefile.am:
19842         * gst/net/gstnet.h: New part of core to hold network elements and
19843         objects. Put in core because it exposes API that applications want
19844         to use. The library is named libgstnet-tempname right now because
19845         of the existing libgstnet in gst-plugins-base. Solution is
19846         probably to rename the one in plugins-base; will file a bug for
19847         the freeze break.
19848
19849         * gst/net/gstnettimeprovider.c: 
19850         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
19851         get_time call over the network.
19852
19853         * configure.ac: 
19854         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
19855
19856         * check/Makefile.am:
19857         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
19858         get additions shortly.
19859
19860 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19861
19862         * gst/gstpad.c: (gst_pad_new_from_static_template):
19863         * gst/gstpad.h:
19864           add gst_pad_new_from_static_template functions
19865         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
19866         (gst_check_setup_sink_pad):
19867         * gst/elements/gsttee.c: (gst_tee_init):
19868           and use them
19869
19870 2005-11-16  Wim Taymans  <wim@fluendo.com>
19871
19872         * gst/gstpad.c: (gst_pad_pause_task):
19873         Removed warning, it's not really an error either.
19874
19875 2005-11-16  Wim Taymans  <wim@fluendo.com>
19876
19877         * gst/base/gstbasetransform.c:
19878         (gst_base_transform_prepare_output_buf),
19879         (gst_base_transform_event):
19880         Check if the caps are NULL, this can happen if the element
19881         is shutting down and the pad caps are set to NULL.
19882
19883 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19884
19885         * gst/elements/gsttee.c: (gst_tee_init):
19886           fix pad template leak in tee
19887
19888 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19889
19890         * gst/glib-compat.c: (g_value_dup_gst_object):
19891         * gst/glib-compat.h:
19892         * gst/gstpad.c: (gst_pad_set_property):
19893           use gst_object_ref when setting the pad template; this will
19894           trigger the pad template leaks on GLib 2.6 and the slaves
19895
19896 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19897
19898         * gst/glib-compat.c: (gst_flags_get_first_value):
19899         * gst/glib-compat.h:
19900         * gst/gstregistryxml.c:
19901           remove functions copied from GLib 2.6
19902
19903 2005-11-16  Michael Smith <msmith@fluendo.com>
19904
19905         * gst/Makefile.am:
19906           Don't link against VALGRIND_LIBS. That was always the wrong thing to
19907           do, but only breaks with newer valgrind versions. We're not a
19908           valgrind tool, we have no link-time dependencies on libcoregrind.
19909
19910 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19911
19912         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19913           some debug changes
19914         * gst/gstmessage.h:
19915           typo fixes
19916
19917 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19918
19919         * gst/base/gstbasesrc.c: (gst_base_src_init):
19920         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19921         * gst/gstqueue.c: (gst_queue_init):
19922         * gst/gstregistryxml.c: (load_feature):
19923           Revert all these unrefs, they don't even pass make check !
19924
19925 2005-11-15  Johan Dahlin  <johan@gnome.org>
19926
19927         * gst/base/gstbasesrc.c: (gst_base_src_init):
19928         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19929         * gst/gstqueue.c: (gst_queue_init): 
19930         Free pad templates, fixes a couple of leaks.
19931
19932 2005-11-15  Daniel Fischer  <dan at f3c dot com>
19933
19934         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19935
19936         * gst/gstpad.c: (gst_pad_get_property):
19937           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
19938           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
19939           (#321452)
19940
19941 2005-11-15  Wim Taymans  <wim@fluendo.com>
19942
19943         * gst/gstevent.c:
19944         Small doc update.
19945
19946 2005-11-15  Andy Wingo  <wingo@pobox.com>
19947
19948         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
19949
19950         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
19951         using GST_CLOCK_TIME_NONE to disable base time management.
19952         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
19953         time if it was NONE before.
19954         (gst_pipeline_change_state): Only munge the base time if
19955         stream_time != GST_CLOCK_TIME_NONE.
19956
19957         * check/gst/gstpipeline.c (test_base_time): Punt around the
19958         problem of the probe not being called, because that's not the
19959         issue I'm looking at. Add a check that setting stream_time to NONE
19960         disables base time management.
19961         
19962 2005-11-15  Wim Taymans  <wim@fluendo.com>
19963
19964         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19965         segment_stop == -1 at startup.
19966
19967         * gst/base/gstbasetransform.c: (gst_base_transform_event),
19968         (gst_base_transform_change_state):
19969         Init segment values at start.
19970
19971 2005-11-15  Wim Taymans  <wim@fluendo.com>
19972
19973         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19974         0 segment values are 0 in any format.
19975
19976         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19977         * gst/base/gstbasetransform.h:
19978         Parse newsegment correctly in basetransform
19979
19980         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19981         Sync to clock using updated segment values.
19982
19983 2005-11-15  Andy Wingo  <wingo@pobox.com>
19984
19985         * check/gst/gstpipeline.c (test_base_time): Add check that the
19986         base time and stream time are reset correctly.
19987
19988 2005-11-15  Wim Taymans  <wim@fluendo.com>
19989
19990         * docs/design/part-TODO.txt:
19991         Some more TODO items.
19992
19993 2005-11-15  Andy Wingo  <wingo@pobox.com>
19994
19995         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
19996         error if the user selected "no clock" as the clocking method.
19997
19998         * check/gst/gstpipeline.c (test_base_time): New test for buffer
19999         timestamps with live capture.
20000
20001         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
20002         is 0 but we are a live source, timestamp the buffers using the
20003         element's clock.
20004
20005 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
20006
20007         * docs/gst/gstreamer-sections.txt:
20008         * gst/gsterror.c:
20009         * gst/gstghostpad.c:
20010         * gst/gstobject.h:
20011         * gst/gstxml.c:
20012           more section docs
20013
20014 2005-11-14  Wim Taymans  <wim@fluendo.com>
20015
20016         * common/gst.supp:
20017           add suppressions from Wim's Debian machine
20018
20019 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
20020
20021         * common/gst.supp:
20022           add suppressions from Andy's AMD64 Ubuntu machine
20023
20024 2005-11-14  Andy Wingo  <wingo@pobox.com>
20025
20026         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
20027         STATE_LOCK not necessary. Fixes #311489.
20028
20029         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
20030         #305291.
20031
20032         * gst/gstindex.c (gst_index_add_object): Note in the docs that
20033         this function is not implemented.
20034
20035 2005-11-14  Julien MOUTTE  <julien@moutte.net>
20036
20037         * gst/base/gstbasetransform.c:
20038         (gst_base_transform_prepare_output_buf):
20039         Ref the source pad caps while we need them.
20040         Fixes (#321386)
20041
20042 2005-11-11  Wim Taymans  <wim@fluendo.com>
20043
20044         * docs/gst/gstreamer-sections.txt:
20045         Added some docs for GstCollectData.
20046
20047         * gst/base/gstadapter.c:
20048         Some small code example fix.
20049
20050         * gst/base/gstcollectpads.c:
20051         * gst/base/gstcollectpads.h:
20052         Document some more.
20053
20054 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
20055
20056         * configure.ac: back to HEAD
20057
20058 === release 0.9.5 ===
20059
20060 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
20061
20062         * configure.ac:
20063           releasing 0.9.5, "Bike Lunch Day"
20064
20065 2005-11-11  Wim Taymans  <wim@fluendo.com>
20066
20067         * gst/gstbuffer.c: (_gst_buffer_copy):
20068         Copy more flags.
20069
20070         * gst/gstcaps.c: (gst_caps_is_equal):
20071         Fix some docs.
20072         Make _is_equal fast in the trivial cases.
20073
20074         * gst/gstminiobject.c:
20075         * gst/gstminiobject.h:
20076         More docs. Spifify .h file.
20077
20078         * gst/gstutils.c:
20079         Small doc update.
20080
20081 2005-11-11  Wim Taymans  <wim@fluendo.com>
20082
20083         * gst/base/gstbasetransform.c:
20084         (gst_base_transform_prepare_output_buf),
20085         (gst_base_transform_handle_buffer):
20086         Small cleanups.
20087         If we're processing a buffer and need to allocate an output
20088         buffer, we cannot accept a format change. If we did get a 
20089         format change, we have to alloc a buffer ourselves of the 
20090         right size.
20091
20092 2005-11-11  Wim Taymans  <wim@fluendo.com>
20093
20094         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
20095         While checking the flag for reentrancy in the gstcaps function
20096         is nice to detect recursive invocations, it also makes it 
20097         impossible to call getcaps from multiple threads, which must be
20098         possible. So, checking for recursive calls has to go.
20099
20100 2005-11-11  Michael Smith <msmith@fluendo.com>
20101
20102         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20103           Don't sync on buffers that fall partially outside our current
20104           segment. Prevents an assertion failure/abort playing some files.
20105
20106 2005-11-10  Andy Wingo  <wingo@pobox.com>
20107
20108         * check/gst/gstbin.c (test_message_state_changed_children): Style
20109         fix..
20110
20111         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
20112         gst_bus_poll with the signal watch. Ensures that poll and a signal
20113         watch see the same messages.
20114
20115         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
20116         a poll and a watch at the same time get the same messages.
20117
20118 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20119
20120         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
20121         * gst/gstcaps.c: (gst_caps_intersect):
20122           Don't call gst_caps_do_simplify - it doesn't respect order of caps
20123           and it's not needed.
20124
20125 2005-11-10  Wim Taymans  <wim@fluendo.com>
20126
20127         * docs/design/part-TODO.txt:
20128         Updated todo.
20129
20130 2005-11-10  Wim Taymans  <wim@fluendo.com>
20131
20132         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20133         * gst/base/gstbasesrc.c: (gst_base_src_wait),
20134         (gst_base_src_do_sync), (gst_base_src_get_range):
20135         Implement clock sync in base class.
20136
20137 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
20138
20139         patch by: Tim-Philipp Müller <tim at centricular dot net>
20140
20141         * gst/gststructure.c: (gst_structure_parse_field),
20142         (gst_structure_from_string):
20143           Forward-port a 0.8 patch to handle escaped spaces in structure string,
20144           so that gst_parse_launch() can deal with spaces in filtered link
20145           caps (fixes #164479)
20146         * check/gst/capslist.h:
20147         * check/gst/gststructure.c: (GST_START_TEST):
20148           add unit tests for this change
20149
20150 2005-11-10  Wim Taymans  <wim@fluendo.com>
20151
20152         * docs/gst/gstreamer-sections.txt:
20153         * gst/gstelement.c:
20154         * gst/gstelement.h:
20155         Fix docs, move some STATE macros to private.
20156
20157 2005-11-10  Wim Taymans  <wim@fluendo.com>
20158
20159         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
20160         Added check for bug #317341
20161
20162         * gst/gstbuffer.c:
20163         * gst/gstbuffer.h:
20164         Some more spiffifying.
20165
20166         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
20167         Call peer linkfunction if we are a source pad. Totally fixes
20168         #317341
20169
20170         * gst/gstpad.c:
20171         Update docs, source pads should call the peer linkfunction
20172         so they can atomically perform the pad link.
20173
20174 2005-11-09  Wim Taymans  <wim@fluendo.com>
20175
20176         * gst/gstbuffer.c:
20177         * gst/gstbuffer.h:
20178         Uber-spiffy-spiffify some more.
20179
20180 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
20181
20182         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
20183         * gst/elements/gstfilesink.c: (gst_file_sink_init):
20184         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20185         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
20186         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
20187         * gst/gstpad.c: (gst_pad_init):
20188           Use GST_DEBUG_FUNCPTR() more extensively.
20189
20190 2005-11-09  Wim Taymans  <wim@fluendo.com>
20191
20192         * gst/gstobject.c: (gst_object_class_init):
20193         * gst/gstobject.h:
20194         Documentation fixes.
20195
20196 2005-11-09  Edward Hervey  <edward@fluendo.com>
20197
20198         * gst/gsttypefindfactory.c:
20199         Fix docs.
20200         
20201 2005-11-09  Edward Hervey  <edward@fluendo.com>
20202
20203         * gst/base/gsttypefindhelper.c:
20204         * gst/gsttypefind.c:
20205         * gst/gsttypefind.h:
20206         Fix docs.
20207
20208 2005-11-09  Wim Taymans  <wim@fluendo.com>
20209
20210         * gst/gstiterator.c:
20211         Fix revision data.
20212
20213         * gst/gsttask.c:
20214         * gst/gsttask.h:
20215         Fix docs.
20216
20217 2005-11-09  Wim Taymans  <wim@fluendo.com>
20218
20219         * gst/gstevent.h:
20220         * gst/gsturi.h:
20221         Fix docs.
20222
20223 2005-11-09  Wim Taymans  <wim@fluendo.com>
20224
20225         * docs/gst/gstreamer-sections.txt:
20226         Moved the message async delivery private lock and cond
20227         to the private section.
20228
20229         * gst/gstmessage.c:
20230         * gst/gstmessage.h:
20231         Fixed docs.
20232
20233 2005-11-09  Edward Hervey  <edward@fluendo.com>
20234
20235         * docs/gst/gstreamer-sections.txt:
20236         * gst/gsturi.c:
20237         * gst/gsturi.h:
20238         Document GstURIHandler
20239
20240 2005-11-09  Wim Taymans  <wim@fluendo.com>
20241
20242         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
20243         (gst_iterator_find_custom):
20244         * gst/gstiterator.h:
20245         Fix iterator docs.
20246
20247 2005-11-09  Wim Taymans  <wim@fluendo.com>
20248
20249         * gst/gstbin.h:
20250         Document another field.
20251
20252         * gst/gststructure.c:
20253         * gst/gststructure.h:
20254         Document.
20255
20256 2005-11-09  Wim Taymans  <wim@fluendo.com>
20257
20258         * gst/gstbin.h:
20259         Documented structs.
20260
20261 2005-11-09  Wim Taymans  <wim@fluendo.com>
20262
20263         * docs/gst/gstreamer-sections.txt:
20264         Added some new macros.
20265
20266         * gst/gstclock.c:
20267         * gst/gstclock.h:
20268         * gst/gstobject.h:
20269         Docs updates.
20270
20271 2005-11-09  Wim Taymans  <wim@fluendo.com>
20272
20273         * docs/design/part-TODO.txt:
20274         Some more items for the TODO
20275
20276         * gst/gstcaps.c:
20277         * gst/gstcaps.h:
20278         Document GstCaps.
20279
20280 2005-11-09  Andy Wingo  <wingo@pobox.com>
20281
20282         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
20283         to work on something else now tho...
20284
20285         * gst/base/gstadapter.c: More adapter docs.
20286
20287         * gst/elements/gstfilesink.c (gst_file_sink_start) 
20288         (gst_file_sink_stop): New functions, replace the state change
20289         handler.
20290         (gst_file_sink_class_init): Hook up the start and stop functions.
20291         (gst_file_sink_base_init): Don't set the state change handler any
20292         more. It was a bit ugly too, being set from here...
20293         (gst_file_sink_get_property, gst_file_sink_set_property):
20294         Cleanups...
20295         (gst_file_sink_set_location): More robust check that doesn't call
20296         GST_STATE. Ugggggg.
20297
20298 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
20299
20300         * gst/base/gstbasetransform.c: (gst_base_transform_event):
20301           Hold STREAM_LOCK while pushing newsegment or tag events as well.
20302
20303 2005-11-08  Wim Taymans  <wim@fluendo.com>
20304
20305         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20306         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
20307         (gst_base_sink_chain), (gst_base_sink_change_state):
20308         * gst/base/gstbasesink.h:
20309         * gst/base/gstbasesrc.h:
20310         * gst/gstelement.h:
20311         * gst/gstevent.h:
20312         Avoid excessive typechecking in macros.
20313
20314         * gst/gstminiobject.c: (gst_mini_object_get_type),
20315         (gst_mini_object_init), (gst_mini_object_new),
20316         (gst_mini_object_free):
20317         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20318         (gst_object_finalize):
20319         Remove cruft code, optimize alloc_trace.
20320
20321 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20322
20323         * docs/faq/gst-uninstalled:
20324           fix up PS1 for systems that try to reset it
20325
20326 2005-11-07  Wim Taymans  <wim@fluendo.com>
20327
20328         * gst/base/gstbasesrc.c: (gst_base_src_init),
20329         (gst_base_src_get_range):
20330         Set the segment_end to -1 initially. Fixed typefind.
20331
20332 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
20333
20334         * gst/base/gstadapter.c:
20335           Debug category should be 'adapter', not 'GstAdapter'.
20336           
20337         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
20338         (gst_collectpads_class_init), (gst_collectpads_init),
20339         (gst_collectpads_peek), (gst_collectpads_pop),
20340         (gst_collectpads_event), (gst_collectpads_chain):
20341           Add debug category and some debugging output. Use boilerplate
20342           macros. Remove some extraneous words from docs.
20343
20344 2005-11-05  Andy Wingo  <wingo@pobox.com>
20345
20346         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
20347         macro.
20348
20349 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20350
20351         * docs/gst/gstreamer-sections.txt:
20352         * gst/gstcaps.h:
20353         * gst/gstinfo.c:
20354         * gst/gstminiobject.h:
20355         * gst/gstobject.h:
20356         * gst/gstutils.h:
20357           more docs added
20358
20359 2005-11-04  Wim Taymans  <wim@fluendo.com>
20360
20361         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20362         Small update to stop at the configured segment_end
20363         position.
20364
20365 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20366
20367         * gst/gstregistry.c:
20368         * gst/gstregistry.h:
20369           added missing docs
20370
20371 2005-11-04  Edward Hervey  <edward@fluendo.com>
20372
20373         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20374         Check if we are doing a segment seek and have arrived at the
20375         end of that segment.
20376
20377 2005-11-04  Wim Taymans  <wim@fluendo.com>
20378
20379         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
20380         Don't leak a mutex unlock in case of an error.
20381
20382         * gst/gstbus.h:
20383         Doc fixes.
20384
20385 2005-11-04  Wim Taymans  <wim@fluendo.com>
20386
20387         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
20388         (gst_bus_post):
20389         Get the context to wake up only once.
20390
20391 2005-11-03  Wim Taymans  <wim@fluendo.com>
20392
20393         * check/states/sinks.c: (GST_START_TEST):
20394         Uncomment fixed check.
20395
20396         * docs/design/part-TODO.txt:
20397         Updated TODO.
20398
20399         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20400         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20401         (gst_base_sink_get_position):
20402         If we are going to PLAYING, post the right pending state
20403         when we post the intermediate paused message.
20404
20405         * gst/gstelement.c: (gst_element_continue_state),
20406         (gst_element_set_state_func), (gst_element_change_state):
20407         Don't post state changes that were between the same state
20408         and were not ASYNC.
20409
20410 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20411
20412         * docs/gst/gstreamer-sections.txt:
20413         * gst/gstcaps.h:
20414         * gst/gstinfo.c:
20415         * gst/gstminiobject.h:
20416         * gst/gstobject.h:
20417         * gst/gstutils.h:
20418           more docs and doc style fixes
20419
20420 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20421
20422         * docs/gst/gstreamer-sections.txt:
20423         * gst/gstelement.c:
20424         * gst/gstminiobject.c:
20425         doc fixes
20426
20427 2005-11-03  Andy Wingo  <wingo@pobox.com>
20428
20429         * check/states/sinks.c (test_livesrc_sink): Add checks that the
20430         state-changed messages actually have the right order and the right
20431         values.
20432
20433 2005-11-03  Wim Taymans  <wim@fluendo.com>
20434
20435         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20436         Added some more checks. Specifically the case where NO_PREROLL
20437         elements are in the pipeline.
20438
20439         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20440         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20441         (gst_base_sink_get_position):
20442         Post READY->PAUSED state change messages too.
20443         Fix bug where VOID was posted as pending state...
20444
20445         * gst/gstbin.c: (gst_bin_recalc_state):
20446         use _element_continue_state() to continue the state change.
20447
20448         * gst/gstelement.c: (gst_element_continue_state),
20449         (gst_element_commit_state), (gst_element_set_state_func),
20450         (gst_element_change_state), (gst_element_change_state_func):
20451         Lots of state change cleanups, assign the STATE_RETURN in
20452         a new continue_state() function that also propagates the
20453         last return value from a state change to the app.
20454         Update some debug statements with proper category.
20455
20456 2005-11-03  Wim Taymans  <wim@fluendo.com>
20457
20458         * docs/design/part-events.txt:
20459         * docs/design/part-gstpipeline.txt:
20460         * docs/design/part-messages.txt:
20461         * docs/design/part-overview.txt:
20462         * docs/design/part-seeking.txt:
20463         * docs/design/part-states.txt:
20464         * docs/design/part-trickmodes.txt:
20465         * docs/manual/advanced-position.xml:
20466         Small docs updates.
20467
20468         * gst/gstobject.h:
20469         People think !! is ugly, this looks better.
20470
20471         * gst/gstpad.c: (gst_pad_set_blocked_async):
20472         Remove !! since it's fixed elsewhere now.
20473
20474 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20475
20476         * gst/gstminiobject.h:
20477         * gst/gstobject.h:
20478           Add !! to _FLAG_IS_SET macros to make the result boolean.
20479
20480 2005-11-03  Edward Hervey  <edward@fluendo.com>
20481
20482         * gst/gstpad.c: (gst_pad_set_blocked_async):
20483         comparing a flag and a gboolean rarely returns coherent results...
20484         Added two characters (!!) to make that work correctly.
20485         
20486 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20487
20488         * gst/gstbus.c: (gst_bus_class_init):
20489           Fix some typos.
20490           
20491         * gst/gstqueue.c: (gst_queue_loop):
20492           Don't assume a miniobject that isn't a buffer is an
20493           event (it could be that there is a refcounting
20494           problem somewhere and the pointer is stale and
20495           refers to an already destroyed miniobject).
20496
20497 2005-11-03  Julien MOUTTE  <julien@moutte.net>
20498
20499         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
20500
20501 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20502
20503         * docs/manual/advanced-position.xml:
20504           Update seek example and explanations to current 0.9 API.
20505
20506         * gst/elements/gsttypefindelement.c:
20507         (gst_type_find_element_activate):
20508           Remove FIXME comment now that the found caps
20509           are unreffed.
20510
20511 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20512
20513         * gst/gstregistryxml.c: (load_feature):
20514           Add another GST_STR_NULL instance
20515
20516 2005-11-02  Edward Hervey  <edward@fluendo.com>
20517
20518         * gst/gstpad.c: (handle_pad_block):
20519         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
20520         
20521 2005-11-02  Wim Taymans  <wim@fluendo.com>
20522
20523         * gst/gstbin.c:
20524         Fix typo in docs.
20525
20526         * gst/gstelement.c: (gst_element_commit_state):
20527         Remove unused value.
20528
20529         * gst/gstiterator.c:
20530         Mention that the returned element is reffed in the docs.
20531
20532 2005-11-02  Wim Taymans  <wim@fluendo.com>
20533
20534         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
20535         (gst_pad_push), (gst_pad_push_event):
20536         Unlock blocked pads when they are flushed.
20537
20538 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20539
20540         * docs/README:
20541         * docs/gst/gstreamer-sections.txt:
20542         * gst/gstbin.c:
20543           doc updates
20544         * gst/gstregistry.c: (gst_registry_scan_path_level):
20545           fix for a nasty little missed situation where an installed plug-in
20546           which was in the cache did not get overridden by an uninstalled one
20547           which was earlier in the plugin path because the newly created plugin
20548           for the uninstalled one (not in the registry) didn't get its
20549           ->registered set to TRUE
20550
20551 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20552
20553         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
20554         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
20555         (gst_collectpads_is_active), (gst_collectpads_collect),
20556         (gst_collectpads_collect_range), (gst_collectpads_start),
20557         (gst_collectpads_stop), (gst_collectpads_peek),
20558         (gst_collectpads_pop), (gst_collectpads_available),
20559         (gst_collectpads_read), (gst_collectpads_flush):
20560           Guard public API with assertions.
20561         
20562         * gst/gstpad.c:
20563           Fix docs for gst_pad_set_link_function().
20564
20565 2005-11-02  Johan Dahlin  <johan@gnome.org>
20566
20567         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
20568         Unref found_caps after we used it.
20569
20570 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20571
20572         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
20573           Don't try to ref NULL.
20574
20575 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20576
20577         * win32/common/config.h.in:
20578           provide a GST_FUNCTION that just gives a string for now
20579
20580 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20581
20582         * win32/common/gstenumtypes.c: (register_gst_object_flags),
20583         (gst_object_flags_get_type), (register_gst_bin_flags),
20584         (gst_bin_flags_get_type), (register_gst_buffer_flag),
20585         (gst_buffer_flag_get_type), (register_gst_bus_flags),
20586         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
20587         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
20588         (gst_clock_return_get_type), (register_gst_clock_entry_type),
20589         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
20590         (gst_clock_flags_get_type), (register_gst_state),
20591         (gst_state_get_type), (register_gst_state_change_return),
20592         (gst_state_change_return_get_type), (register_gst_state_change),
20593         (gst_state_change_get_type), (register_gst_element_flags),
20594         (gst_element_flags_get_type), (register_gst_core_error),
20595         (gst_core_error_get_type), (register_gst_library_error),
20596         (gst_library_error_get_type), (register_gst_resource_error),
20597         (gst_resource_error_get_type), (register_gst_stream_error),
20598         (gst_stream_error_get_type), (register_gst_event_type),
20599         (gst_event_type_get_type), (register_gst_seek_type),
20600         (gst_seek_type_get_type), (register_gst_seek_flags),
20601         (gst_seek_flags_get_type), (register_gst_format),
20602         (gst_format_get_type), (register_gst_index_certainty),
20603         (gst_index_certainty_get_type), (register_gst_index_entry_type),
20604         (gst_index_entry_type_get_type),
20605         (register_gst_index_lookup_method),
20606         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
20607         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
20608         (gst_index_resolver_method_get_type), (register_gst_index_flags),
20609         (gst_index_flags_get_type), (register_gst_debug_level),
20610         (gst_debug_level_get_type), (register_gst_debug_color_flags),
20611         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
20612         (gst_iterator_result_get_type), (register_gst_iterator_item),
20613         (gst_iterator_item_get_type), (register_gst_message_type),
20614         (gst_message_type_get_type), (register_gst_mini_object_flags),
20615         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
20616         (gst_pad_link_return_get_type), (register_gst_flow_return),
20617         (gst_flow_return_get_type), (register_gst_activate_mode),
20618         (gst_activate_mode_get_type), (register_gst_pad_direction),
20619         (gst_pad_direction_get_type), (register_gst_pad_flags),
20620         (gst_pad_flags_get_type), (register_gst_pad_presence),
20621         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
20622         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
20623         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
20624         (gst_plugin_error_get_type), (register_gst_plugin_flags),
20625         (gst_plugin_flags_get_type), (register_gst_rank),
20626         (gst_rank_get_type), (register_gst_query_type),
20627         (gst_query_type_get_type), (register_gst_tag_merge_mode),
20628         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
20629         (gst_tag_flag_get_type), (register_gst_task_state),
20630         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
20631         (gst_alloc_trace_flags_get_type),
20632         (register_gst_type_find_probability),
20633         (gst_type_find_probability_get_type), (register_gst_uri_type),
20634         (gst_uri_type_get_type), (register_gst_parse_error),
20635         (gst_parse_error_get_type):
20636         * win32/common/gstversion.h:
20637           update win32 copies
20638
20639 2005-11-01  Luca Ognibene  <luogni@tin.it>
20640
20641         * gst/gst.c:
20642           fix docs. popt is dead, long live GOption.
20643
20644 2005-10-31  Wim Taymans  <wim@fluendo.com>
20645
20646         * gst/gstbuffer.h:
20647         Small doc fix.
20648
20649 2005-10-31  Andy Wingo  <wingo@pobox.com>
20650
20651         * Boo!
20652
20653         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
20654
20655         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
20656         need to serialize property notifications on GLib 2.8. GLib 2.6 has
20657         the possibility of deadlocks here if code calling notify() or
20658         set() has a lock that can be taken in another notify handler (ABBA
20659         with class lock and e.g. python GIL state lock).
20660
20661 2005-10-28  Julien MOUTTE  <julien@moutte.net>
20662
20663         * gst/gstbus.c: Doc updates.
20664
20665 2005-10-28  Wim Taymans  <wim@fluendo.com>
20666
20667         * docs/design/part-TODO.txt:
20668         * gst/gstiterator.c:
20669         * gst/gstsystemclock.c:
20670         * gst/gstsystemclock.h:
20671         Doc updates.
20672
20673 2005-10-28  Edward Hervey  <edward@fluendo.com>
20674
20675         * docs/gst/gstreamer-docs.sgml:
20676         * docs/gst/gstreamer-sections.txt:
20677         the GstURIType documentation page is private, it only defines GstURIType
20678         which should be defined in the GstURIHandler page
20679         
20680 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20681
20682         * gst/gstbin.c: (gst_bin_class_init):
20683         * gst/gstbin.h:
20684         * gst/gstutils.c:
20685         Documentation updates.
20686
20687 2005-10-28  Wim Taymans  <wim@fluendo.com>
20688
20689         * docs/gst/gstreamer-sections.txt:
20690         * gst/gstclock.c:
20691         * gst/gstclock.h:
20692         Documented the clocks.
20693
20694 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
20695
20696         * docs/gst/gstreamer-sections.txt:
20697           move some macros to private sections
20698         * gst/gstminiobject.c:
20699         * gst/gstminiobject.h:
20700           add descriptions provided by ds and some more
20701         * gst/gstpad.h:
20702           mark macro as to be removed
20703
20704 2005-10-28  Wim Taymans  <wim@fluendo.com>
20705
20706         * docs/design/part-TODO.txt:
20707         Add an item to TODO.
20708
20709         * gst/gstiterator.c: (gst_iterator_fold),
20710         (gst_iterator_find_custom):
20711         * gst/gstiterator.h:
20712         Add iterator docs.
20713
20714 2005-10-28  Wim Taymans  <wim@fluendo.com>
20715
20716         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20717         (gst_base_transform_init):
20718         Don't leak class.
20719
20720         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
20721         An EOS event marks the queue as completely filled.
20722
20723 2005-10-27  Wim Taymans  <wim@fluendo.com>
20724
20725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20726         (gst_base_sink_do_sync), (gst_base_sink_get_position):
20727         Some more debugging.
20728
20729         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
20730         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
20731         (gst_base_transform_event), (gst_base_transform_getrange),
20732         (gst_base_transform_chain):
20733         * gst/base/gstbasetransform.h:
20734         Fix debugging,
20735         Protect transform and concurrent buffer alloc with a new lock.
20736         Try not to break ABI/API.
20737
20738 2005-10-27  Wim Taymans  <wim@fluendo.com>
20739
20740         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20741         (gst_base_src_init), (gst_base_src_query),
20742         (gst_base_src_default_newsegment),
20743         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20744         (gst_base_src_send_event), (gst_base_src_event_handler),
20745         (gst_base_src_pad_get_range), (gst_base_src_loop),
20746         (gst_base_src_unlock), (gst_base_src_default_negotiate),
20747         (gst_base_src_start), (gst_base_src_deactivate),
20748         (gst_base_src_activate_push), (gst_base_src_change_state):
20749         Move some stuff around and cleanup things.
20750
20751 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
20752
20753         * gst/base/gstbasesrc.c: (gst_base_src_query):
20754           Add missing break statements.
20755
20756 2005-10-27  Wim Taymans  <wim@fluendo.com>
20757
20758         * check/gst/gstbin.c: (GST_START_TEST):
20759         An extra refcount is taken in basesrc.
20760
20761         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20762         (gst_base_src_get_range), (gst_base_src_pad_get_range),
20763         (gst_base_src_loop):
20764         Small cleanups, check for flushing after being unlocked from the 
20765         LIVE_LOCK. take refcounts correctly (not yet everywhere).
20766         Don't send out EOS when going to READY.
20767
20768 2005-10-27  Wim Taymans  <wim@fluendo.com>
20769
20770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20771         (gst_base_sink_get_position):
20772         Some more debug.
20773
20774         * gst/gstbin.c: (message_check), (bin_replace_message),
20775         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20776         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20777         (bin_query_duration_init), (bin_query_duration_fold),
20778         (bin_query_duration_done), (bin_query_generic_fold),
20779         (gst_bin_query):
20780         * tools/gst-launch.c: (main):
20781         Remove old option.
20782
20783 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
20784
20785         * examples/controller/audio-example.c: (main):
20786         * examples/queue/queue.c: (event_loop):
20787         * gst/base/gstbasetransform.h:
20788         * gst/gstelement.c: (gst_element_send_event):
20789         * gst/gstevent.h:
20790         * gst/gstpad.c: (gst_pad_send_event):
20791           fixing examples
20792           fixing docs typos
20793           changing log priority in error situations
20794
20795 2005-10-25  Wim Taymans  <wim@fluendo.com>
20796
20797         * gst/gstbin.c: (message_check), (bin_replace_message),
20798         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20799         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20800         (bin_query_duration_init), (bin_query_duration_fold),
20801         (bin_query_duration_done), (bin_query_generic_fold),
20802         (gst_bin_query):
20803         Some doc and debug updates.
20804         Cache previously requested query DURATION for speed. invalidate
20805         cached duration if element posts a DURATION message.
20806
20807 2005-10-25  Wim Taymans  <wim@fluendo.com>
20808
20809         * docs/design/part-TODO.txt:
20810         Update TODO.
20811
20812         * gst/gstbin.c: (message_check), (bin_replace_message),
20813         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20814         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20815         (bin_query_duration_init), (bin_query_duration_fold),
20816         (bin_query_duration_done), (bin_query_generic_fold),
20817         (gst_bin_query):
20818         Handle SEGMENT_START/DONE messages correctly.
20819         More evolved query algorithm that handles duration queries
20820         correctly.
20821
20822         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
20823         (gst_element_get_state_func), (gst_element_abort_state),
20824         (gst_element_commit_state), (gst_element_lost_state):
20825         Some more debugging.
20826
20827         * gst/gstmessage.h:
20828         Added doc.
20829
20830 2005-10-25  Wim Taymans  <wim@fluendo.com>
20831
20832         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20833         Don't use invalid stream_time.
20834
20835         * gst/gstevent.c: (gst_event_new_newsegment):
20836         stream_time in newsegment cannot be undefined.
20837
20838 2005-10-24  Wim Taymans  <wim@fluendo.com>
20839
20840         * gst/gstbus.c:
20841         Doc fix.
20842
20843         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20844         (gst_queue_loop):
20845         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
20846
20847 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
20848
20849         * docs/libs/tmpl/gstdparam.sgml:
20850         * docs/libs/tmpl/gstdplinint.sgml:
20851         * docs/libs/tmpl/gstdpman.sgml:
20852         * docs/libs/tmpl/gstdpsmooth.sgml:
20853         * docs/libs/tmpl/gstunitconvert.sgml:
20854           these are obsolete
20855
20856 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20857
20858         * configure.ac:
20859           back to HEAD
20860
20861 === release 0.9.4 ===
20862
20863 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20864
20865         * configure.ac:
20866           releasing 0.9.4, "Tyrannosaurus Rex"
20867
20868 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
20869
20870         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20871         (gst_file_sink_get_current_offset):
20872           Use fseeko() and ftello() if available. When falling back on
20873           lseek() to get the current offset, fflush() first to make sure
20874           everything is up-to-date and we get the right offset.
20875
20876 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20877
20878         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20879         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20880         * gst/gsterror.c: (_gst_stream_errors_init):
20881         * gst/gsterror.h:
20882         * gst/gstqueue.c: (gst_queue_loop):
20883         * po/POTFILES.in:
20884           remove prematurely added error category and clean up the instances
20885
20886 2005-10-21  Wim Taymans  <wim@fluendo.com>
20887
20888         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20889         (gst_base_sink_get_position), (gst_base_sink_query),
20890         (gst_base_sink_change_state):
20891         Simply set the right flag when going to playing, that's all
20892         we need to do instead of calling a function inside the object
20893         lock (that could take the lock as well and deadlock)
20894
20895 2005-10-21  Wim Taymans  <wim@fluendo.com>
20896
20897         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
20898         (gst_base_src_loop):
20899         Don't warn, the peer element knows what to do best when
20900         the seek failed, it might try something else.
20901
20902 2005-10-21  Wim Taymans  <wim@fluendo.com>
20903
20904         * gst/base/gstbasesrc.c: (gst_base_src_init),
20905         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20906         Fix seeking.
20907
20908 2005-10-21  Wim Taymans  <wim@fluendo.com>
20909
20910         * docs/design/part-segments.txt:
20911         More docs.
20912
20913         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
20914         Correctly set caps, even on the subbufer.
20915
20916 2005-10-21  Wim Taymans  <wim@fluendo.com>
20917
20918         * docs/gst/gstreamer-docs.sgml:
20919         * docs/gst/gstreamer-sections.txt:
20920         * gst/gstelement.h:
20921         * gst/gstevent.c:
20922         * gst/gstevent.h:
20923         * gst/gstmessage.h:
20924         * gst/gstpad.h:
20925         * gst/gstparse.h:
20926         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
20927         * gst/gsttask.h:
20928         * gst/gstutils.c:
20929         * gst/gstutils.h:
20930         And 2% more doc coverage.
20931
20932 2005-10-21  Andy Wingo  <wingo@pobox.com>
20933
20934         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
20935         position reporting.
20936
20937 2005-10-20  Wim Taymans  <wim@fluendo.com>
20938
20939         * gst/gsterror.c: (gst_error_get_message):
20940         * gst/gstparse.h:
20941         * gst/gstquery.h:
20942         * gst/gststructure.c:
20943         * gst/gsttrace.c:
20944         * gst/gstutils.c:
20945         More docs.
20946
20947 2005-10-20  Wim Taymans  <wim@fluendo.com>
20948
20949         * gst/gstbuffer.h:
20950         * gst/gstpad.c:
20951         * gst/gstparse.c:
20952         Another 1% more coverage.
20953
20954 2005-10-20  Wim Taymans  <wim@fluendo.com>
20955
20956         * docs/gst/gstreamer-sections.txt:
20957         * gst/gstelement.c: (gst_element_get_state_func),
20958         (gst_element_abort_state), (gst_element_commit_state),
20959         (gst_element_lost_state):
20960         * gst/gstevent.h:
20961         * gst/gstquery.c: (gst_query_set_position),
20962         (gst_query_parse_position), (gst_query_set_duration),
20963         (gst_query_parse_duration), (gst_query_new_convert):
20964         * gst/gstutils.c:
20965         Yay! 1% more docs coverage.
20966
20967 2005-10-20  Wim Taymans  <wim@fluendo.com>
20968
20969         * gst/gstpad.h:
20970         * gst/gstquery.c: (gst_query_set_position),
20971         (gst_query_parse_position), (gst_query_set_duration),
20972         (gst_query_parse_duration), (gst_query_new_convert):
20973         * gst/gstquery.h:
20974         * gst/gstutils.c: (gst_element_query_convert):
20975         * gst/gstutils.h:
20976         Docs and consistency fixes.
20977
20978 2005-10-20  Wim Taymans  <wim@fluendo.com>
20979
20980         * gst/gsttask.c:
20981         * gst/gsttask.h:
20982         More docs.
20983
20984 2005-10-20  Wim Taymans  <wim@fluendo.com>
20985
20986         * gst/gstbin.c: (message_check), (bin_replace_message),
20987         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20988         (update_degree), (gst_bin_sort_iterator_next),
20989         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
20990         Reworked the message handling a bit, cache the messages instead of
20991         only the senders. alows us to do more in the future.
20992
20993 2005-10-20  Wim Taymans  <wim@fluendo.com>
20994
20995         * docs/design/part-TODO.txt:
20996         Update TODO
20997
20998         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20999         (gst_base_sink_query):
21000         Don't use clock time to report position when in EOS.
21001
21002 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
21003
21004         * tools/gst-inspect.c: (print_interfaces),
21005         (print_element_properties_info), (print_element_info):
21006           Fix interface output with gst-inspect -a; don't print
21007           newlines after double/float properties.
21008
21009 2005-10-20  Wim Taymans  <wim@fluendo.com>
21010
21011         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
21012         (gst_base_sink_query):
21013         Speed up current position calculation.
21014
21015         * gst/base/gstbasesrc.c: (gst_base_src_query),
21016         (gst_base_src_default_newsegment):
21017         Correctly set stream position in newsegment.
21018
21019         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
21020         (update_degree), (gst_bin_sort_iterator_next),
21021         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
21022         * gst/gstmessage.c: (gst_message_new_custom):
21023         Clean up debugging info
21024
21025         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
21026         (gst_queue_loop), (gst_queue_handle_src_query):
21027         Pause task faster.
21028
21029 2005-10-19  Wim Taymans  <wim@fluendo.com>
21030
21031         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21032         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21033         Fix query handling again.
21034
21035 2005-10-19  Wim Taymans  <wim@fluendo.com>
21036
21037         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21038         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
21039         * gst/base/gstbasesrc.c: (gst_base_src_query):
21040         * gst/elements/gstfilesink.c: (gst_file_sink_query):
21041         * gst/elements/gsttypefindelement.c:
21042         (gst_type_find_handle_src_query), (find_element_get_length),
21043         (gst_type_find_element_activate):
21044         API change fix.
21045
21046         * gst/gstquery.c: (gst_query_new_position),
21047         (gst_query_set_position), (gst_query_parse_position),
21048         (gst_query_new_duration), (gst_query_set_duration),
21049         (gst_query_parse_duration), (gst_query_set_segment),
21050         (gst_query_parse_segment):
21051         * gst/gstquery.h:
21052         Bundling query position/duration is not a good idea since duration
21053         does not change much and we don't want to recalculate it for every
21054         position query, so they are separated again..
21055         Base value in segment query is not needed.
21056
21057         * gst/gstqueue.c: (gst_queue_handle_src_query):
21058         * gst/gstutils.c: (gst_element_query_position),
21059         (gst_element_query_duration), (gst_pad_query_position),
21060         (gst_pad_query_duration):
21061         * gst/gstutils.h:
21062         Updates for query API change.
21063         Added some docs here and there.
21064
21065 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21066
21067         * check/gst/gstbin.c: (GST_START_TEST):
21068         * check/gst/gstghostpad.c: (GST_START_TEST):
21069         * check/pipelines/cleanup.c: (GST_START_TEST):
21070           wait on thread to die so we can check refcount correctly
21071
21072 2005-10-18  Wim Taymans  <wim@fluendo.com>
21073
21074         * check/pipelines/stress.c: (GST_START_TEST):
21075         Make check a little more time consuming.
21076
21077 2005-10-18  Wim Taymans  <wim@fluendo.com>
21078
21079         * check/Makefile.am:
21080         * check/pipelines/stress.c: (GST_START_TEST),
21081         (simple_launch_lines_suite), (main):
21082         Small state change torture test.
21083
21084         * docs/design/part-states.txt:
21085         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21086         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
21087         (gst_base_sink_change_state):
21088         Never take state lock from streaming thread, clean up ugly
21089         hacks. Unfortunatly core does not yet support nice ways to
21090         async commit state.
21091         
21092         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
21093         (bin_bus_handler):
21094         Start state recalc if a STATE_DIRTY message is posted, but only
21095         on the toplevel bin.
21096
21097         * gst/gstelement.c: (gst_element_sync_state_with_parent),
21098         (gst_element_get_state_func), (gst_element_abort_state),
21099         (gst_element_commit_state), (gst_element_lost_state),
21100         (gst_element_set_state_func), (gst_element_change_state):
21101         * gst/gstelement.h:
21102         State variables are now protected with the LOCK, the state
21103         lock is only used to serialize _set_state().
21104
21105 2005-10-18  Wim Taymans  <wim@fluendo.com>
21106
21107         * check/gst/gstbin.c: (GST_START_TEST):
21108         * check/gst/gstmessage.c: (GST_START_TEST):
21109         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21110         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
21111         (bin_bus_handler):
21112         * gst/gstelement.c: (gst_element_abort_state),
21113         (gst_element_commit_state), (gst_element_lost_state):
21114         * gst/gstmessage.c: (gst_message_new_state_changed),
21115         (gst_message_new_state_dirty), (gst_message_new_segment_start),
21116         (gst_message_new_segment_done), (gst_message_new_duration),
21117         (gst_message_parse_state_changed),
21118         (gst_message_parse_segment_start),
21119         (gst_message_parse_segment_done), (gst_message_parse_duration):
21120         * gst/gstmessage.h:
21121         * tools/gst-launch.c: (event_loop):
21122         Seriously, this is better than a previous commit as we only need
21123         to notify the fact that an element changed state in a streaming
21124         thread, marking the state of the parents dirty, hence the 
21125         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
21126         message.
21127
21128 2005-10-18  Wim Taymans  <wim@fluendo.com>
21129
21130         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
21131         (gst_bin_recalc_func):
21132         * gst/gstelement.c: (gst_element_set_clock),
21133         (gst_element_abort_state), (gst_element_lost_state):
21134         Cleanups, prepare for state change fixes.
21135
21136 2005-10-18  Wim Taymans  <wim@fluendo.com>
21137
21138         * gst/gstbin.h:
21139         * gst/gstelement.c: (gst_element_class_init),
21140         (gst_element_set_state), (gst_element_set_state_func):
21141         * gst/gstelement.h:
21142         Pending ABI changes.
21143         GThreadPool in GstBinClass to monitor async state changes.
21144         state_cookie in GstElement to detect concurrent gst/set state.
21145         set_state is now virtual too in case a very complicated element
21146         has to be constructed.
21147
21148 2005-10-18  Wim Taymans  <wim@fluendo.com>
21149
21150         * check/gst/gstbin.c: (GST_START_TEST):
21151         * check/gst/gstmessage.c: (GST_START_TEST):
21152         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21153         * gst/gstbin.c: (bin_bus_handler):
21154         * gst/gstelement.c: (gst_element_commit_state),
21155         (gst_element_lost_state):
21156         * gst/gstmessage.c: (gst_message_new_state_changed),
21157         (gst_message_new_segment_start), (gst_message_new_segment_done),
21158         (gst_message_new_duration), (gst_message_parse_state_changed),
21159         (gst_message_parse_segment_start),
21160         (gst_message_parse_segment_done), (gst_message_parse_duration):
21161         * gst/gstmessage.h:
21162         * tools/gst-launch.c: (event_loop):
21163         Make messages future proof.
21164         state-change gets a flag if it was a message comming from the
21165         streaming thread.
21166         segment-start/stop can also be specified in other formats.
21167         A message to notify an app that a pipeline changed playback 
21168         duration.
21169         Also fix a GstMessage leak in -launch
21170
21171 2005-10-18  Andy Wingo  <wingo@pobox.com>
21172
21173         * gst/gstelement.c (gst_element_dispose): More helpful message.
21174
21175 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21176
21177         reviewed by: <delete if not using a buddy>
21178
21179         * common/gtk-doc.mak:
21180
21181 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21182
21183         * gst/gstregistry.c: (gst_registry_scan_path_level):
21184           unref a plug-in we get that was already initialized
21185
21186 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
21187
21188         * docs/gst/gstreamer-sections.txt:
21189         * docs/libs/gstreamer-libs-sections.txt:
21190         * gst/gstelement.h:
21191           add new api entries
21192           hide internal macro
21193
21194 2005-10-17  Andy Wingo  <wingo@pobox.com>
21195
21196         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
21197         cleanup.
21198
21199         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
21200
21201         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
21202
21203         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
21204         (gst_element_get_state_func): Better debug message.
21205         (gst_element_commit_state): s/INFO/DEBUG/.
21206         (gst_element_lost_state, gst_element_change_state): 
21207
21208         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
21209         (gst_message_new_custom): s/INFO/LOG/.
21210
21211 2005-10-17  Michael Smith <msmith@fluendo.com>
21212
21213         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21214           Check if end time is valid using end time, not start time.
21215
21216 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
21217
21218         * check/gst-libs/controller.c: (GST_START_TEST),
21219         (gst_controller_suite):
21220         * libs/gst/controller/gstcontroller.c:
21221         (gst_controlled_property_set_interpolation_mode):
21222         * libs/gst/controller/gstcontroller.h:
21223         * libs/gst/controller/gstinterpolation.c:
21224         * testsuite/controller/.cvsignore:
21225         * testsuite/controller/Makefile.am:
21226         * testsuite/controller/interpolator.c:
21227           merge controller testsuites
21228           fix broken tests
21229           remove mem-chunk from docs
21230
21231 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21232
21233         * gst/gstmemchunk.c:
21234         * gst/gstmemchunk.h:
21235         * gst/gsttrashstack.c:
21236         * gst/gsttrashstack.h:
21237           out.  get out.  you're fired.  to the Attic !
21238
21239 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21240
21241         * gst/gstcaps.c: (gst_caps_intersect):
21242           fix signedness issues in a (hopefully) correct way
21243         * gst/gstelement.c: (gst_element_pads_activate):
21244           some debugging
21245         * gst/gstobject.c: (gst_object_set_parent):
21246           some debugging
21247
21248 2005-10-17  Julien MOUTTE  <julien@moutte.net>
21249
21250         * gst/gstvalue.h: Fix prototypes.
21251
21252 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21253
21254         * docs/gst/gstreamer-sections.txt:
21255         * gst/gst.c: (gst_version_string):
21256         * gst/gst.h:
21257         * gst/gstversion.h.in:
21258         * win32/common/libgstreamer.def:
21259           add gst_version_string ()
21260
21261 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21262
21263         * configure.ac:
21264           clean up further
21265         * gst/gst.c: (init_post):
21266         * win32/common/config.h.in:
21267           it's PLUGINDIR now
21268         * gst/gstcaps.c: (gst_caps_intersect):
21269           use gint64, the range could be bigger than a guint
21270
21271 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21272
21273         * gst/gstclock.h:
21274           document potential problem in 2038
21275
21276 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21277
21278         * gst/gstcaps.c: (gst_caps_intersect):
21279           Fix guint j diving under 0
21280
21281 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21282
21283         * configure.ac:
21284         * win32/common/config.h:
21285         * win32/common/config.h.in:
21286           check for process.h, declares getpid() on Windows
21287         * gst/gstinfo.c:
21288           include process.h if we have it
21289         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
21290         * gst/gstmemchunk.h:
21291           fix signedness issues
21292         * win32/common/libgstreamer.def:
21293           fix get_type's
21294
21295 2005-10-16  Julien MOUTTE  <julien@moutte.net>
21296
21297         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
21298         fix. Because of unsigned ints, caps intersection was going nuts and
21299         trying to access structures with G_MAXUINT index. That fixes
21300         videotestsrc ! ffmpegcolorspace ! fakesink
21301         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
21302         consistency.
21303
21304 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21305
21306         * configure.ac:
21307           use the gettext macro
21308         * gst/elements/gstelements.c:
21309         * gst/gst.c:
21310         * gst/indexers/gstindexers.c:
21311           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
21312         * win32/common/config.h:
21313           updated config.h
21314         * win32/common/config.h.in:
21315           add the template to generate config.h
21316         * win32/common/gstenumtypes.c:
21317         * win32/common/gstversion.h:
21318           updated copies
21319
21320 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21321
21322         * gst/gst.c: (gst_version):
21323         * gst/gstversion.h.in:
21324           add the nano
21325
21326 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
21327
21328         * gst/gstevent.h:
21329           Oops, add missing closing bracket.
21330
21331 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21332
21333         * configure.ac:
21334           use common m4's for argument checking
21335
21336 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
21337
21338         * docs/gst/gstreamer-sections.txt:
21339         * gst/gstevent.h:
21340           Add GST_EVENT_TYPE_NAME() macro.
21341
21342 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21343
21344         * gst/gstinfo.c:
21345         * gst/gstpluginfeature.c:
21346         * gst/gsttask.c:
21347           privatize more symbols
21348
21349 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21350
21351         * configure.ac:
21352           add srcdir, builddir includes to GST_ALL_CFLAGS, since
21353           everything that uses GStreamer API should have the includes
21354
21355 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21356
21357         * docs/gst/gstreamer-sections.txt:
21358         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
21359         * gst/gstvalue.h:
21360           give each value a _get_type, removes the DATA exports
21361
21362 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21363
21364         * gst/gst.c:
21365         * gst/gst.h:
21366           remove _gst_registry_auto_load, not used anymore
21367         * gst/gstbin.c: (gst_bin_get_type):
21368         * gst/gstbin.h:
21369         * gst/gstelement.c: (gst_element_get_type):
21370         * gst/gstelement.h:
21371         * gst/gstobject.c: (gst_object_get_type):
21372         * gst/gstobject.h:
21373         * gst/gstpad.c: (gst_pad_get_type):
21374         * gst/gstpad.h:
21375           make _get_type functions similar, fixes data export from library
21376
21377 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21378
21379         * configure.ac:
21380           correctly make conditionals
21381         * gst/elements/Makefile.am:
21382         * gst/elements/gstelements.c:
21383           fix typo causing fdsrc not to build
21384
21385 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21386
21387         * testsuite/Makefile.am:
21388         * testsuite/bytestream/.cvsignore:
21389         * testsuite/bytestream/Makefile.am:
21390         * testsuite/bytestream/filepadsink.c:
21391         * testsuite/bytestream/gstbstest.c:
21392         * testsuite/bytestream/test1.c:
21393         * testsuite/bytestream/testfile1:
21394         * testsuite/caps/normalisation.c:
21395         * testsuite/caps/random.c: (main):
21396         * testsuite/cleanup/.cvsignore:
21397         * testsuite/cleanup/Makefile.am:
21398         * testsuite/cleanup/cleanup1.c:
21399         * testsuite/cleanup/cleanup2.c:
21400         * testsuite/cleanup/cleanup3.c:
21401         * testsuite/cleanup/cleanup4.c:
21402         * testsuite/cleanup/cleanup5.c:
21403         * testsuite/controller/interpolator.c:
21404         * testsuite/debug/printf_extension.c: (main):
21405         * testsuite/elements/tee.c:
21406         * testsuite/negotiation/.cvsignore:
21407         * testsuite/negotiation/Makefile.am:
21408         * testsuite/negotiation/pad_link.c:
21409         * testsuite/pad/Makefile.am:
21410         * testsuite/pad/chainnopull.c:
21411         * testsuite/pad/getnopush.c:
21412         * testsuite/pad/link.c:
21413         * testsuite/refcounting/sched.c: (create_pipeline):
21414         * testsuite/registry/Makefile.am:
21415         * testsuite/registry/gst-print-formats.c:
21416         * testsuite/schedulers/.cvsignore:
21417         * testsuite/schedulers/142183-2.c:
21418         * testsuite/schedulers/142183.c:
21419         * testsuite/schedulers/143777-2.c:
21420         * testsuite/schedulers/143777.c:
21421         * testsuite/schedulers/147713.c:
21422         * testsuite/schedulers/147819.c:
21423         * testsuite/schedulers/147894-2.c:
21424         * testsuite/schedulers/147894.c:
21425         * testsuite/schedulers/Makefile.am:
21426         * testsuite/schedulers/group_link.c:
21427         * testsuite/schedulers/queue_link.c:
21428         * testsuite/schedulers/relink.c:
21429         * testsuite/schedulers/unlink.c:
21430         * testsuite/schedulers/unref.c:
21431         * testsuite/schedulers/useless_iteration.c:
21432         * testsuite/states/bin.c:
21433           clean out/remove some stuff from the testsuite directories
21434
21435 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21436
21437         * configure.ac:
21438           check for some headers
21439         * gst/elements/Makefile.am:
21440         * gst/elements/gstelements.c:
21441           don't compile fdsrc without sys/socket.h
21442         * gst/indexers/Makefile.am:
21443         * gst/indexers/gstindexers.c: (plugin_init):
21444           don't compile fileindex without mmap
21445
21446 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21447
21448         * configure.ac:
21449           reorganize
21450           clean up
21451           document more
21452           remove cruft
21453         * check/Makefile.am:
21454         * docs/gst/Makefile.am:
21455         * examples/helloworld/Makefile.am:
21456         * gst/Makefile.am:
21457         * gst/base/Makefile.am:
21458         * gst/check/Makefile.am:
21459         * gst/elements/Makefile.am:
21460         * gst/indexers/Makefile.am:
21461         * gst/parse/Makefile.am:
21462         * libs/gst/controller/Makefile.am:
21463         * libs/gst/dataprotocol/Makefile.am:
21464         * examples/helloworld/helloworld.c: (event_loop):
21465           compile fixes, though it's not being compiled currently
21466
21467 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21468
21469         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
21470           Add some simple tests for the new taglist date API.
21471
21472 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21473
21474         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
21475         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
21476           Beautify 'last-message' output: print 'none' for buffer timestamps
21477           and durations if none is set; improve alignment with next messages.
21478
21479 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21480
21481         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
21482         * gst/gstpluginfeature.h:
21483         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
21484         * gst/gstregistry.h:
21485         * docs/gst/gstreamer-sections.txt:
21486           Add new API to check plugin feature version requirements.
21487
21488         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
21489           Some basic tests for the above.         
21490
21491 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21492
21493         * gst/gststructure.c: (gst_structure_to_string):
21494           guard against NULL printf - happens when for example
21495           a message structure with GstClock gets serialized
21496
21497 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21498
21499         * gst/base/gstcollectpads.c: (gst_collectpads_event):
21500           Fix presumable copy'n'pasto.
21501
21502 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21503
21504         * gst/elements/gstfakesrc.h:
21505         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
21506         * gst/elements/gsttypefindelement.c:
21507           fix some signedness
21508         * gst/elements/gstfilesink.c: (gst_file_sink_render):
21509           I wonder if this could actually write +2GB files before
21510
21511 2005-10-13  Andy Wingo  <wingo@pobox.com>
21512
21513         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
21514         Fix Timmeke Waymans bug.
21515         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
21516         string of the proper length to gst_caps_from_string. There's a
21517         potential for, before this fix, that this could cause someone
21518         connecting over the network to cause a segfault if the payload is
21519         not NUL-terminated.
21520
21521 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21522
21523         * docs/design/draft-push-pull.txt:
21524         * docs/design/part-overview.txt:
21525         * docs/random/TODO-pre-0.9:
21526         * docs/random/old/ChangeLog.gstreamer:
21527         * gst/base/gstpushsrc.c:
21528         * gst/gstclock.c:
21529           fixed typos
21530
21531 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21532
21533         * gst/glib-compat.c: (gst_flags_get_first_value):
21534         * gst/glib-compat.h:
21535         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
21536         (gst_value_compare_double), (gst_value_serialize_flags):
21537           GLib 2.6 g_flags_get_first_value has a bug that triggers an
21538           infinite loop
21539
21540 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21541
21542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21543         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21544           fix up debugging
21545         * tools/gst-launch.c: (event_loop):
21546           print out clock nicely
21547
21548 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21549
21550         * docs/gst/gstreamer-sections.txt:
21551         * gst/gsttaglist.h:
21552         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
21553         (gst_tag_list_get_date_index):
21554           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
21555           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
21556
21557 2005-10-13  Julien MOUTTE  <julien@moutte.net>
21558
21559         * gst/base/gstcollectpads.c: (gst_collectpads_event),
21560         (gst_collectpads_chain):
21561         * gst/base/gstcollectpads.h: Handle newsegment and store informations
21562         in CollectData.
21563
21564 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21565
21566         * docs/gst/gstreamer-sections.txt:
21567         * gst/gst.c:
21568         * gst/gsterror.h:
21569         * tools/gst-inspect.c: (main):
21570         * tools/gst-launch.c: (main):
21571         * tools/gst-run.c: (main):
21572         * tools/gst-xmlinspect.c: (main):
21573           fix GOption context leaks
21574           doc fixes
21575
21576 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21577
21578         * gst/gstbus.c:
21579           use HAVE_UNISTD_H
21580         * win32/common/config.h:
21581           update config
21582         * win32/vs6/grammar.dsp:
21583         * win32/vs6/libgstelements.dsp:
21584         * win32/vs6/libgstreamer.dsp:
21585           update vs6 files
21586
21587 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21588
21589         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21590         * gst/base/gstbasesrc.c: (gst_base_src_query):
21591           fix more guint64<->gdouble conversions
21592
21593 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21594
21595         * Makefile.am:
21596           add win32-update target
21597         * win32/common/gstconfig.h:
21598         * win32/common/gstenumtypes.c:
21599         * win32/common/gstenumtypes.h:
21600         * win32/common/gstversion.h:
21601           add files that visual studio can't generate
21602
21603 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21604
21605         * Makefile.am:
21606           add a win32-update target
21607         * configure.ac:
21608
21609 2005-10-12  Wim Taymans  <wim@fluendo.com>
21610
21611         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21612         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
21613         * gst/gstelement.c: (gst_element_commit_state),
21614         (gst_element_set_state):
21615         Protect flags with proper lock.
21616         unref provided cached clock in dispose.
21617
21618 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21619
21620         * gst/gst.c:
21621         * gst/gstminiobject.h:
21622         * gst/gstpad.h:
21623         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
21624           removed unused flags from miniobject
21625           doc fixes
21626
21627 2005-10-12  Wim Taymans  <wim@fluendo.com>
21628
21629         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21630         (gst_file_sink_event), (gst_file_sink_render):
21631         Flush before seeking.
21632
21633 2005-10-12  Andy Wingo  <wingo@pobox.com>
21634
21635         * gst/gst.c (gst_init_check): Ignore unknown options, as has
21636         always been the case.
21637
21638 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21639
21640         * check/gst/gstbin.c: (GST_START_TEST):
21641         * docs/gst/gstreamer-sections.txt:
21642         * gst/base/gstbasesink.c: (gst_base_sink_init):
21643         * gst/base/gstbasesrc.c: (gst_base_src_init),
21644         (gst_base_src_get_range), (gst_base_src_check_get_range),
21645         (gst_base_src_start), (gst_base_src_stop):
21646         * gst/base/gstbasesrc.h:
21647         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
21648         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21649         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
21650         (bin_bus_handler):
21651         * gst/gstbin.h:
21652         * gst/gstbuffer.h:
21653         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
21654         * gst/gstbus.h:
21655         * gst/gstelement.c: (gst_element_is_locked_state),
21656         (gst_element_set_locked_state), (gst_element_commit_state),
21657         (gst_element_set_state):
21658         * gst/gstelement.h:
21659         * gst/gstindex.c: (gst_index_init):
21660         * gst/gstindex.h:
21661         * gst/gstminiobject.h:
21662         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
21663         (gst_object_set_parent):
21664         * gst/gstobject.h:
21665         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
21666         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
21667         * gst/gstpad.h:
21668         * gst/gstpadtemplate.h:
21669         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
21670         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
21671         * gst/gstpipeline.h:
21672         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21673         (gst_file_index_commit):
21674         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
21675         * testsuite/pad/link.c: (gst_test_src_init),
21676         (gst_test_filter_init), (gst_test_sink_init):
21677         * testsuite/states/locked.c: (main):
21678           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
21679           moved bitshift from macro to enum definition
21680
21681 2005-10-12  Wim Taymans  <wim@fluendo.com>
21682
21683         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
21684         * gst/elements/gstfilesink.c: (gst_file_sink_event),
21685         (gst_file_sink_render):
21686         Some more debugging info.
21687
21688 2005-10-12  Wim Taymans  <wim@fluendo.com>
21689
21690         * docs/design/part-states.txt:
21691         * tools/gst-launch.c: (main):
21692         Some doc updates.
21693         Revert non-intentional change.
21694
21695 2005-10-12  Wim Taymans  <wim@fluendo.com>
21696
21697         * check/gst/gstbin.c: (GST_START_TEST):
21698         * check/gst/gstelement.c: (GST_START_TEST):
21699         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
21700         * check/gst/gstghostpad.c: (GST_START_TEST):
21701         * check/gst/gstpipeline.c: (GST_START_TEST):
21702         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21703         * check/states/sinks.c: (GST_START_TEST):
21704         * gst/elements/gsttypefindelement.c: (stop_typefinding):
21705         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21706         (gst_bin_remove_func), (gst_bin_get_state_func),
21707         (gst_bin_recalc_state), (gst_bin_change_state_func),
21708         (bin_bus_handler):
21709         * gst/gstelement.c: (gst_element_get_state_func),
21710         (gst_element_get_state), (gst_element_abort_state),
21711         (gst_element_commit_state), (gst_element_set_state),
21712         (gst_element_change_state), (gst_element_change_state_func):
21713         * gst/gstelement.h:
21714         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
21715         (gst_pipeline_provide_clock_func):
21716         * gst/gstutils.c: (gst_element_link_pads_filtered):
21717         * tools/gst-launch.c: (main):
21718         * tools/gst-typefind.c: (main):
21719         Use GstClockTime in _get_state() instead of GTimeVal.
21720         Remove old code in gstutils.c
21721
21722 2005-10-12  Andy Wingo  <wingo@pobox.com>
21723
21724         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
21725         removed.
21726
21727         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
21728         there is no task. Shouldn't affect any code, as nothing in our
21729         plugins checks this return value.
21730         (gst_pad_stop_task): Also take the stream lock if the pad has no
21731         task. Docs updated.
21732
21733 2005-10-12  Wim Taymans  <wim@fluendo.com>
21734
21735         * gst/gstpad.c: (pre_activate), (post_activate),
21736         (gst_pad_activate_pull), (gst_pad_activate_push):
21737         Cleanup activation code. Reset old state if
21738         activation failed.
21739
21740 2005-10-12  Wim Taymans  <wim@fluendo.com>
21741
21742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21743         (gst_base_sink_change_state):
21744         No need to prerol after receiving EOS.
21745
21746         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21747         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
21748         * gst/elements/gstidentity.c: (gst_identity_event):
21749         Print events more verbosely.
21750
21751 2005-10-12  Wim Taymans  <wim@fluendo.com>
21752
21753         * check/Makefile.am:
21754         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21755         * check/states/sinks2.c:
21756         Moved sinks2 testcode in sinks check.
21757
21758         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21759         (gst_bin_remove_func), (gst_bin_recalc_state),
21760         (gst_bin_change_state_func), (bin_bus_handler):
21761         Fix potential race condition when _get_state() iterated over an
21762         ASYNC element right before it posted a state completion.
21763
21764         * gst/gstclock.h:
21765         Do proper cast here.
21766
21767         * gst/gstevent.c: (gst_event_new_newsegment),
21768         (gst_event_parse_newsegment):
21769         A playback rate of 0.0 is not allowed.
21770
21771 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21772
21773         * win32/common/config.h:
21774         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
21775         (_trewinddir), (_ttelldir), (_tseekdir):
21776         * win32/common/dirent.h:
21777         * win32/common/gtchar.h:
21778         * win32/common/libgstbase.def:
21779         * win32/common/libgstreamer.def:
21780         * win32/vs6/grammar.dsp:
21781         * win32/vs6/gst_inspect.dsp:
21782         * win32/vs6/gst_launch.dsp:
21783         * win32/vs6/gstreamer.dsw:
21784         * win32/vs6/libgstbase.dsp:
21785         * win32/vs6/libgstelements.dsp:
21786         * win32/vs6/libgstreamer.dsp:
21787           Visual Studio 6 project files, and a new common directory.
21788           Phear.
21789
21790 2005-10-11  Wim Taymans  <wim@fluendo.com>
21791
21792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21793         (gst_base_sink_do_sync), (gst_base_sink_query),
21794         (gst_base_sink_change_state):
21795         * gst/base/gstbasesink.h:
21796         Correctly parse newsegment info.
21797
21798 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21799
21800         * gst/gst.c: (init_post):
21801           split plugin paths correctly
21802
21803 2005-10-11  Wim Taymans  <wim@fluendo.com>
21804
21805         * check/gst/gstevent.c: (GST_START_TEST):
21806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21807         (gst_base_sink_change_state):
21808         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
21809         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21810         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21811         * gst/gstevent.c: (gst_event_new_newsegment),
21812         (gst_event_parse_newsegment):
21813         * gst/gstevent.h:
21814         Added extra flag to newsegment for future API freeze.
21815         Updated check and base elements.
21816
21817 2005-10-11  Julien MOUTTE  <julien@moutte.net>
21818
21819         * gst/base/gstcollectpads.c: (gst_collectpads_init),
21820         (gst_collectpads_add_pad), (gst_collectpads_pop),
21821         (gst_collectpads_event), (gst_collectpads_chain):
21822         * gst/base/gstcollectpads.h: Handle EOS correctly.
21823
21824 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21825
21826         * tools/gst-launch.c: (main):
21827           more null protecting
21828
21829 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21830
21831         * gst/gst-i18n-lib.h:
21832           check for ENABLE_NLS, not GETTEXT_PACKAGE
21833         * gst/gstregistry.c: (gst_registry_add_plugin),
21834         (gst_registry_scan_path_level),
21835         (_gst_registry_remove_cache_plugins):
21836           protect possibly NULL strings
21837         * gst/parse/types.h:
21838           config.h already included before
21839         * tools/gst-inspect.c: (main):
21840           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
21841           check for ENABLE_NLS, not GETTEXT_PACKAGE
21842         * tools/gst-launch.c: (main):
21843           check for ENABLE_NLS, not GETTEXT_PACKAGE
21844
21845 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21846
21847         * configure.ac:
21848           if we don't have glib, fail before testing 2.8
21849         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
21850           fix a leak, should fix plugins-base testsuite
21851
21852 2005-10-11  Andy Wingo  <wingo@pobox.com>
21853
21854         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
21855         take the mode we're going to as an arg. Go head and set the mode
21856         and flushing flags now, so that if the activate function starts a
21857         thread all the flags will be in the right state.
21858         (post_activate): Renamed also. Just handle making sure streaming
21859         finishes for the deactivation case, and setting the deactivated
21860         mode.
21861         (gst_pad_set_active): Complain loudly if deactivation fails.
21862         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
21863         (gst_pad_activate_push): Adapt to pre/post_activate changes,
21864         remove the terrible hack.
21865
21866 2005-10-11  Wim Taymans  <wim@fluendo.com>
21867
21868         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21869         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
21870         (gst_bin_recalc_state), (gst_bin_change_state_func),
21871         (gst_bin_dispose), (bin_bus_handler):
21872         * gst/gstbin.h:
21873         Prepare to make current EOS message queue more generic.
21874         Fix some typos.
21875
21876         * gst/gstevent.c: (gst_event_new_newsegment),
21877         (gst_event_parse_newsegment):
21878         * gst/gstevent.h:
21879         Rename base to stream_time.
21880
21881         * gst/gstmessage.h:
21882         Fix typo in docs.
21883
21884 2005-10-11  Wim Taymans  <wim@fluendo.com>
21885
21886         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21887         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
21888         (gst_bin_change_state_func), (bin_bus_handler):
21889         * gst/gstbin.h:
21890         Work on proper clock selection.
21891
21892 2005-10-11  Edward Hervey  <edward@fluendo.com>
21893
21894         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
21895         * libs/gst/controller/gstcontroller.h:
21896         Added GList* version of _remove_properties() in order to be able to wrap
21897         it in bindings.
21898
21899 2005-10-11  Wim Taymans  <wim@fluendo.com>
21900
21901         * docs/design/part-states.txt:
21902         Some more docs.
21903
21904         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
21905         (gst_bin_change_state_func), (bin_bus_handler):
21906         Doc updates. Don't distribute the same clock over and over again.
21907
21908         * gst/gstclock.c:
21909         * gst/gstclock.h:
21910         Doc updates.
21911
21912         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
21913         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
21914         (gst_pad_send_event):
21915         * gst/gstpad.h:
21916         Make probe emission threadsafe again.
21917         Register quarks and move _get_name() from utils.
21918         Doc updates.
21919
21920         * gst/gstpipeline.c: (gst_pipeline_class_init),
21921         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21922         Only redistribute the clock of it changed.
21923
21924         * gst/gstsystemclock.h:
21925         Doc updates. 
21926
21927         * gst/gstutils.c:
21928         * gst/gstutils.h:
21929         Moved the _flow_get_name() to GstPad.
21930
21931 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21932
21933         * check/gst-libs/gdp.c: (GST_START_TEST):
21934         * check/gst/gstcaps.c: (GST_START_TEST):
21935         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
21936         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
21937         (gst_dp_packet_from_caps):
21938           fix more valgrind warnings before turning up the heat
21939
21940 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21941
21942         * gst/parse/grammar.y:
21943           some cleanup before the hacking
21944
21945 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21946
21947         * gst/base/gstbasesrc.c: (gst_base_src_query):
21948           use conversions
21949         * gst/gstutils.c: (gst_guint64_to_gdouble),
21950         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
21951         * gst/gstutils.h:
21952           externalize, basesrc uses it
21953           obviously the implementation needs testing
21954
21955 2005-10-10  Wim Taymans  <wim@fluendo.com>
21956
21957         * tests/sched/Makefile.am:
21958         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
21959         (make_pipeline3), (make_pipeline4), (print_elem), (main):
21960
21961 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21962
21963         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
21964           apparently converting from guint64 to double is not implemented
21965           on MSVC
21966
21967 2005-10-10  Wim Taymans  <wim@fluendo.com>
21968
21969         * check/Makefile.am:
21970         * check/generic/states.c: (GST_START_TEST):
21971         * check/gst/gstbin.c: (GST_START_TEST):
21972         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21973         * check/states/sinks.c: (GST_START_TEST):
21974         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
21975         (main):
21976         Check fixes, use API as stated in design docs, remove hacks.
21977
21978         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21979         (gst_base_sink_change_state):
21980         Catch stopping our task while we're shutting down.
21981
21982         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
21983         (gst_bin_remove_func), (gst_bin_get_state_func),
21984         (gst_bin_recalc_state), (gst_bin_change_state_func),
21985         (bin_bus_handler):
21986         * gst/gstbin.h:
21987         * gst/gstelement.c: (gst_element_init),
21988         (gst_element_get_state_func), (gst_element_abort_state),
21989         (gst_element_commit_state), (gst_element_lost_state),
21990         (gst_element_set_state), (gst_element_change_state),
21991         (gst_element_change_state_func):
21992         * gst/gstelement.h:
21993         New state change algorithm (see #318116)
21994
21995         * gst/gstpipeline.c: (gst_pipeline_class_init),
21996         (gst_pipeline_init), (gst_pipeline_set_property),
21997         (gst_pipeline_get_property), (do_pipeline_seek),
21998         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21999         * gst/gstpipeline.h:
22000         Remove crude state change hacks.
22001
22002         * gst/gstutils.h:
22003         Remove crude hacks.
22004
22005         * tools/gst-launch.c: (main):
22006         Fixes for state change. Needs some more work to fully use the
22007         new stuff.
22008
22009 2005-10-10  Andy Wingo  <wingo@pobox.com>
22010
22011         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
22012
22013         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
22014         this flag, but it's not even in GLib 2.6. Odd. Hack around the
22015         issue.
22016
22017 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22018
22019         * gst/gstiterator.c: (gst_iterator_new):
22020           Fix my previous commit: GTypes passed to gst_iterator_new()
22021           can be fundamental types.
22022
22023 2005-10-10  Wim Taymans  <wim@fluendo.com>
22024
22025         * gst/gstelement.c: (gst_element_iterate_pad_list),
22026         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
22027         (gst_element_iterate_sink_pads):
22028         Use src/sink pads lists for the respective iterators instead
22029         of filtering.
22030
22031 2005-10-10  Andy Wingo  <wingo@pobox.com>
22032
22033         Merged in popt removal + GOption addition patch from Ronald, bug
22034         #169772.
22035
22036         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
22037         GstElement macros around, remove popt-related symbols, add goption
22038         stuff.
22039
22040         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
22041         
22042         * docs/gst/Makefile.am:
22043         * docs/libs/Makefile.am: No POPT_CFLAGS.
22044         
22045         * examples/manual/Makefile.am:
22046         * docs/manual/basics-init.xml: Doc updates with an example.
22047         
22048         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
22049         (gst_init), (parse_one_option), (parse_goption_arg):
22050         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
22051         bit of hand merging and debugging to get the GOption stuff working
22052         tho.
22053         
22054         * tests/Makefile.am:
22055         * tools/Makefile.am:
22056         * tools/gst-inspect.c: (main):
22057         * tools/gst-launch.c: (main):
22058         * tools/gst-run.c: (main):
22059         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
22060
22061 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22062
22063         * gst/gstiterator.c: (gst_iterator_new):
22064           Add assertions to make sure passed GType is likely to really
22065           be a GType (as the compiler won't catch it if the size and
22066           GType arguments get mixed up, see #318447).
22067
22068 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
22069
22070         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22071
22072         * gst/gstbin.c: (gst_bin_iterate_sorted):
22073           Pass GType and size arguments to gst_iterator_new() in the right
22074           order (maybe we should make _new() take the GType as first argument
22075           just like _new_list()?) (#318447).
22076           
22077
22078 2005-10-10  Wim Taymans  <wim@fluendo.com>
22079
22080         * gst/gstelement.c: (gst_element_finalize):
22081         And free the GStaticRecMutex too
22082
22083 2005-10-10  Andy Wingo  <wingo@pobox.com>
22084
22085         * gst/gstelement.c (gst_element_init, gst_element_finalize):
22086         Allocate and free the mutex properly.
22087
22088         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
22089         New macros.
22090         (GstElement): The state_lock is now recursive. Rebuild your
22091         plugins, suckers. Old macros adapted.
22092
22093         * docs/gst/gstreamer-sections.txt: Doc updates.
22094
22095         * gst/gstutils.h:
22096         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
22097         (g_static_rec_cond_wait): Ported from state changes patch, while
22098         we wait on bug #317802 to be solved in a well-distributed GLib.
22099
22100         * gst/gstelement.c (gst_element_change_state_func): Renamed from
22101         gst_element_change_state, variable name changes.
22102         (gst_element_change_state): Split out of gst_element_set_state in
22103         preparation for the state change merge. Doesn't pay attention to
22104         the 'transition' argument.
22105         (gst_element_set_state): Updates, hopefully purely cosmetic.
22106         (gst_element_sync_state_with_parent): MT-safety. Ported from the
22107         state change patch.
22108         (gst_element_get_state_func): Renamed from get_state, cosmetic
22109         changes.
22110
22111 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22112
22113         * gst/elements/gstelements.c:
22114         * win32/GStreamer.vcproj:
22115         * win32/config.h:
22116         * win32/dirent.c: (_tseekdir):
22117         * win32/gst-inspect.vcproj:
22118         * win32/gst-launch.vcproj:
22119         * win32/gstconfig.h:
22120         * win32/gstelements.vcproj:
22121         * win32/gstenumtypes.c: (gst_object_flags_get_type):
22122         * win32/gstreamer.def:
22123         * win32/msvc71.sln:
22124           updates for the win32 build (patch from Sebastien Moutte)
22125
22126 2005-10-10  Andy Wingo  <wingo@pobox.com>
22127
22128         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
22129         gst_bin_get_state, cleaned up (but no logic changes).
22130         (bin_element_is_sink): Comment updates.
22131         (sink_iterator_filter): Remove needless cast.
22132         (gst_bin_iterate_sinks): Doc update.
22133         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
22134         cleaned up (but no logic changes).
22135
22136         * check/states/sinks.c (test_src_sink): Cleanups from the state
22137         change patch.
22138         (test_livesrc_sink): Sync on the state.
22139
22140         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
22141         the state change patch.
22142
22143         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
22144         change patch.
22145
22146         * check/gst/gstbin.c: Merge in some style fixes and additional
22147         checks from Wim's state change patch.
22148
22149 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
22150
22151         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22152         (gst_type_find_helper):
22153           Check whether we have the requested data already in our list of
22154           cached buffers before pulling a new buffer; also make the buffer
22155           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
22156
22157 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
22158
22159         * gst/gstcaps.c:
22160         * gst/gstevent.c:
22161           doc updates
22162         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
22163           don't use long long, it's not portable.  Replacing with
22164           gint64 seems to work; let's hope no skeletons fall out of the closet.
22165
22166 2005-10-10  Andy Wingo  <wingo@pobox.com>
22167
22168         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
22169
22170 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
22171
22172         * docs/gst/gstreamer-sections.txt:
22173         * gst/gstevent.c:
22174         * gst/gstevent.h:
22175         * gst/gstinfo.c:
22176         * gst/gstinfo.h:
22177         * gst/gstmessage.c: (gst_message_parse_state_changed):
22178         * gst/gstpad.c:
22179         * gst/gstpad.h:
22180           more docs, fix compilation
22181
22182 2005-10-09  Philippe Khalaf <burger@speedy.org>
22183         * gst/gstmessage.c:
22184           Fixed a few forgotten variables on previous commit
22185
22186 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
22187
22188         * gst/base/gsttypefindhelper.c: (helper_find_peek):
22189           Fix evil typefind crasher: getrange() might return a short
22190           buffer at the end of a file, but gst_type_find_peek() must
22191           either return the full data as requested or NULL, but
22192           never a short buffer.
22193
22194 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
22195
22196         * gst/gstmessage.c: (gst_message_new_state_changed),
22197         (gst_message_parse_state_changed):
22198         * gst/gstmessage.h:
22199           don't use "new", it's a C++ keyword
22200
22201 2005-10-08  Wim Taymans  <wim@fluendo.com>
22202
22203         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
22204         * gst/gstelement.c: (gst_element_post_message):
22205         * gst/gstpipeline.c: (gst_pipeline_change_state):
22206         Small docs and debug updates.
22207
22208 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22209
22210         * docs/gst/gstreamer-sections.txt:
22211         * gst/gstelementfactory.c:
22212         * gst/gstevent.c:
22213         * gst/gsttaglist.c:
22214           more docs
22215
22216 2005-10-08  Wim Taymans  <wim@fluendo.com>
22217
22218         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
22219         (gst_bin_dispose), (bin_bus_handler):
22220         Fix typos, add comments.
22221         Clear EOS list when going to PAUSED from any direction and do it
22222         in a threadsafe way.
22223         Get base time in a threadsafe way too.
22224         Fix confusing debug in the change_state function.
22225         Various other small cleanups.
22226         
22227         * gst/gstelement.c: (gst_element_post_message):
22228         Fix very verbose bus posting code.
22229
22230         * gst/gstpipeline.c: (gst_pipeline_class_init),
22231         (gst_pipeline_set_property), (gst_pipeline_get_property),
22232         (gst_pipeline_change_state):
22233         Small ARG_ -> PROP_ cleanup
22234
22235 2005-10-08  Wim Taymans  <wim@fluendo.com>
22236
22237         * gst/gstbin.c: (is_eos), (bin_bus_handler):
22238         Do a less CPU demanding EOS check because we can.
22239
22240 2005-10-08  Wim Taymans  <wim@fluendo.com>
22241
22242         * libs/gst/dataprotocol/dataprotocol.c:
22243         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
22244         (gst_dp_packet_from_event):
22245         * libs/gst/dataprotocol/dataprotocol.h:
22246         * libs/gst/dataprotocol/dp-private.h:
22247         It's about time we bump the version number.
22248         Since event types don't fit in the guint8 anymore describing
22249         the payload type, make payload type 16 bits wide.
22250
22251 2005-10-08  Wim Taymans  <wim@fluendo.com>
22252
22253         * docs/design/part-TODO.txt:
22254         * docs/design/part-clocks.txt:
22255         * docs/design/part-events.txt:
22256         * docs/design/part-gstbin.txt:
22257         * docs/design/part-gstelement.txt:
22258         * docs/design/part-gstpipeline.txt:
22259         * docs/design/part-live-source.txt:
22260         * docs/design/part-messages.txt:
22261         * docs/design/part-overview.txt:
22262         * docs/design/part-states.txt:
22263         Many doc updates.
22264
22265 2005-10-08  Wim Taymans  <wim@fluendo.com>
22266
22267         * gst/gstevent.c:
22268         * gst/gstevent.h:
22269         Fix event quark registration.
22270         Add some space between events so we can insert them in the
22271         right groups.
22272
22273 2005-10-08  Wim Taymans  <wim@fluendo.com>
22274
22275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22276         (gst_base_sink_handle_buffer):
22277         Better log message.
22278
22279         * gst/gstbus.h:
22280         * gst/gstelement.h:
22281         More docs.
22282
22283         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22284         (gst_queue_set_property), (gst_queue_get_property):
22285         * gst/gstqueue.h:
22286         Remove old unused properties.
22287
22288 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
22289         * docs/gst/gstreamer-sections.txt:
22290         * gst/gstmessage.c:
22291         * gst/gstmessage.h:
22292         * gst/gstminiobject.c:
22293         * gst/gstminiobject.h:
22294         * gst/gstobject.h:
22295         * gst/gstpad.h:
22296         * gst/gstutils.h:
22297           lots of new docs and doc fixes
22298
22299 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22300
22301         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
22302         * gst/gstplugin.h:
22303         * gst/gstregistry.c: (gst_registry_lookup_locked),
22304         (gst_registry_scan_path_level):
22305         * gst/gstregistryxml.c: (load_plugin):
22306           Only ever load one plugin for a given plugin basename.
22307           This ensures correct overriding of GST_PLUGIN_PATH over
22308           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
22309           system installed plugins.
22310
22311 2005-10-08  Wim Taymans  <wim@fluendo.com>
22312
22313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22314         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
22315         Prepare for doing QOS.
22316
22317 2005-10-08  Wim Taymans  <wim@fluendo.com>
22318
22319         * check/gst/gstbin.c: (GST_START_TEST):
22320         * check/pipelines/cleanup.c: (GST_START_TEST):
22321         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
22322         Allow new clock message too.
22323
22324 2005-10-08  Wim Taymans  <wim@fluendo.com>
22325
22326         * gst/gstmessage.c: (gst_message_new_error),
22327         (gst_message_new_warning), (gst_message_new_tag),
22328         (gst_message_new_state_changed), (gst_message_new_clock_provide),
22329         (gst_message_new_clock_lost), (gst_message_new_new_clock),
22330         (gst_message_new_segment_start), (gst_message_new_segment_done),
22331         (gst_message_parse_state_changed),
22332         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
22333         (gst_message_parse_new_clock):
22334         * gst/gstmessage.h:
22335         Also carry the clock in question.
22336
22337 2005-10-08  Wim Taymans  <wim@fluendo.com>
22338
22339         * gst/gstmessage.c: (gst_message_new_custom),
22340         (gst_message_new_eos), (gst_message_new_error),
22341         (gst_message_new_warning), (gst_message_new_tag),
22342         (gst_message_new_state_changed), (gst_message_new_clock_provide),
22343         (gst_message_new_new_clock), (gst_message_new_segment_start),
22344         (gst_message_new_segment_done), (gst_message_parse_state_changed),
22345         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
22346         * gst/gstmessage.h:
22347         Clean up.
22348         Added clock related messages.
22349
22350         * gst/gstpipeline.c: (gst_pipeline_change_state):
22351         Post message when the clock changed.
22352
22353         * tools/gst-launch.c: (event_loop):
22354         Print new clock.
22355
22356 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
22357
22358         * tools/gst-inspect.c: (print_element_properties_info):
22359           Can't pass NULL strings to g_print() on windows.
22360
22361 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22362
22363         * docs/Makefile.am:
22364         * docs/gst/Makefile.am:
22365         * docs/gst/gstreamer-docs.sgml:
22366         * docs/gst/running.xml:
22367         * docs/version.entities.in:
22368           add a chapter on running GStreamer.
22369           document GST_DEBUG and GST_PLUGIN* env vars
22370
22371 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22372
22373         * Makefile.am:
22374           remove include dir
22375         * configure.ac:
22376           remove PLUGINS_BUILDDIR stuff
22377         * gst/gst.c: (init_post):
22378           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
22379         * idiottest.mak:
22380           remove, it was condescending and not needed
22381
22382 2005-10-08  Wim Taymans  <wim@fluendo.com>
22383
22384         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
22385         (gst_base_sink_handle_object), (gst_base_sink_event),
22386         (gst_base_sink_wait), (gst_base_sink_handle_event),
22387         (gst_base_sink_change_state):
22388         * gst/base/gstbasesink.h:
22389         Repost EOS message while going to PLAYING if still EOS.
22390         Make sure that when receiving a FLUSH_START we don't attempt
22391         to sync on the clock anymore.
22392
22393 2005-10-08  Wim Taymans  <wim@fluendo.com>
22394
22395         * tools/gst-launch.c: (event_loop):
22396         Better message printout.
22397
22398 2005-10-08  Wim Taymans  <wim@fluendo.com>
22399
22400         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
22401         (gst_bin_child_proxy_get_children_count):
22402         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22403         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
22404         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
22405         (gst_child_proxy_set_valist):
22406         * gst/parse/grammar.y:
22407         Make ChildProxy threadsafe and fix mem leaks.
22408
22409 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22410
22411         * gst/gst.c: (init_post):
22412           debug the GST_PLUGIN_ env vars
22413
22414 2005-10-08  Wim Taymans  <wim@fluendo.com>
22415
22416         * check/gst/gstbin.c: (GST_START_TEST):
22417         * check/gst/gstmessage.c: (GST_START_TEST):
22418         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22419         * gst/gstelement.c: (gst_element_commit_state),
22420         (gst_element_lost_state):
22421         * gst/gstmessage.c: (gst_message_new_state_changed),
22422         (gst_message_parse_state_changed):
22423         * gst/gstmessage.h:
22424         * tools/gst-launch.c: (event_loop):
22425         Added extra field to STATE_CHANGE message with the pending
22426         state, which will be different from the new state soon.
22427
22428 2005-10-08  Wim Taymans  <wim@fluendo.com>
22429
22430         * gst/gstbus.c: (gst_bus_pop):
22431         * gst/gstclock.c:
22432         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
22433         Small cleanups and doc updates.
22434
22435 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22436
22437         * gst/gst.c: (init_pre):
22438         * gst/gstbin.c: (gst_bin_add_func):
22439           log distributing clocks and base time
22440         * gst/gstregistry.c: (gst_registry_add_plugin),
22441         (gst_registry_scan_path_level), (gst_registry_scan_path):
22442           clean up the debugging output a little
22443         * gst/gstutils.c: (gst_element_state_get_name):
22444           warn about a memleak (I've actually seen this be used, though
22445           it was probably a bug)
22446
22447 2005-10-07  Wim Taymans  <wim@fluendo.com>
22448
22449         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22450         (gst_base_src_init), (gst_base_src_default_newsegment),
22451         (gst_base_src_newsegment), (gst_base_src_do_seek),
22452         (gst_base_src_loop), (gst_base_src_start):
22453         * gst/base/gstbasesrc.h:
22454         Make the newsegment event customizable by subclasses.
22455
22456 2005-10-07  Wim Taymans  <wim@fluendo.com>
22457
22458         * gst/gstevent.c: (gst_event_new_buffersize),
22459         (gst_event_parse_buffersize):
22460         * gst/gstevent.h:
22461         New event for future idea.
22462
22463 2005-10-07  Andy Wingo  <wingo@pobox.com>
22464
22465         * gst/gstelement.c (gst_element_post_message): Doc update.
22466
22467         * docs/gst/gstreamer-sections.txt: Update.
22468
22469         * gst/gstmessage.c (gst_message_new_application): Made into a
22470         function like honest API calls.
22471         (gst_message_new_element): New message type.
22472
22473         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
22474
22475         * check/elements/fakesrc.c (test_no_preroll): New check, checks
22476         that setting a live fakesrc to PAUSED returns NO_PREROLL both
22477         times.
22478
22479         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
22480         NO_PREROLL from gst_element_change_state to fall through.
22481
22482 2005-10-07  Wim Taymans  <wim@fluendo.com>
22483
22484         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
22485         (gst_ghost_pad_do_activate_push):
22486         Activating a ghostpad with no internal pad in push mode
22487         is ok.
22488
22489 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22490
22491         * gst/gstobject.h:
22492           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
22493           Fixes compilation on Windows.
22494
22495 2005-10-07  Michael Smith <msmith@fluendo.com>
22496
22497         * tools/gst-inspect.c:
22498           Print out feature and plugin count at the end when printing out
22499           all features.
22500
22501 2005-10-04  Michael Smith <msmith@fluendo.com>
22502
22503         * gst/gsterror.c: (_gst_stream_errors_init):
22504           Add another error string used in a few existing plugins.
22505
22506         * gst/gstplugin.c:
22507         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
22508         * tools/gst-inspect.c: (print_element_info):
22509           When a feature disappears from a plugin (and the feature exists in
22510           the cached registry file), things went horribly wrong. This isn't a
22511           complete fix, we should actually be removing the 'missing' features
22512           from the features list when we load the actual plugin. That's not
22513           yet implemented. 
22514
22515 2005-10-04  Johan Dahlin  <johan@gnome.org>
22516
22517         * check/gst/gstiterator.c: (GST_START_TEST):
22518         * gst/gstbin.c: (gst_bin_iterate_elements),
22519         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
22520         * gst/gstelement.c: (gst_element_iterate_pads):
22521         * gst/gstformat.c: (gst_format_iterate_definitions):
22522         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22523         (gst_iterator_new_list), (gst_iterator_filter):
22524         * gst/gstiterator.h:
22525         * gst/gstquery.c: (gst_query_type_iterate_definitions):
22526         Add a GType to GstIterator, update callsites and tests.
22527
22528 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22529
22530         * gst/gstpad.c: (gst_pad_event_default_dispatch):
22531           give events a chance to be handled by event probes when the pad
22532           is not linked
22533
22534 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22535
22536         * gst/gstevent.c: (gst_event_type_get_name),
22537         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
22538         * gst/gstevent.h:
22539           add string representations for event types
22540
22541 2005-10-06  Wim Taymans  <wim@fluendo.com>
22542
22543         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
22544         Don't use NULL pointers.
22545
22546 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22547
22548         * gst/gst_private.h:
22549         * gst/gstbus.c:
22550         * gst/gstelement.c:
22551         * gst/gstinfo.c:
22552         * gst/gstpluginfeature.c:
22553           widen the debug category in output to fit the biggest one we have
22554           add a bus category and use it
22555           play with the colors
22556           fix up some categories
22557
22558 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22559
22560         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
22561           add push activation of sink ghost pads.
22562           Andye, please verify
22563
22564 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22565
22566         * gst/gstutils.c: (gst_element_link_pads):
22567           fix a bug in the case where neither element has a pad
22568         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22569           add a test for that case
22570
22571 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22572
22573         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
22574           emit have-data before checking for peers.  This allows
22575           for probe handlers to connect elements.  This helps autopluggers.
22576         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
22577         (gst_pad_suite):
22578           add six checks, linked/unlinked with no/true/false probe
22579
22580 2005-10-04  Wim Taymans  <wim@fluendo.com>
22581
22582         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
22583         (gst_fake_sink_event), (gst_fake_sink_preroll),
22584         (gst_fake_sink_render), (gst_fake_sink_change_state):
22585         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
22586         (gst_fake_src_get_property), (gst_fake_src_create),
22587         (gst_fake_src_stop):
22588         * gst/elements/gstidentity.c: (gst_identity_stop):
22589         Protect last_message with lock.
22590
22591 2005-10-04  Edward Hervey  <edward@fluendo.com>
22592
22593         * gst/gstformat.h: 
22594         Added precision in the comments for GST_FORMAT_DEFAULT
22595
22596 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
22597
22598         * tools/gst-launch.c: (main):
22599           Don't try to run erroneous pipelines.
22600
22601 2005-10-04  Julien MOUTTE  <julien@moutte.net>
22602
22603         * gst/gstbus.c: We don't need this header.
22604
22605 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22606
22607         * configure.ac:
22608           back to development
22609
22610 === release 0.9.3 ===
22611
22612 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22613
22614         * README:
22615         * configure.ac:
22616           Releasing 0.9.3, "Unregistered"
22617
22618 2005-10-03  Andy Wingo  <wingo@pobox.com>
22619
22620         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
22621         whereby calling a pad's activatepush() function can start a thread
22622         that starts to push or pull before the pad gets the FLUSHING flag
22623         unset. Hack around it by holding the stream lock until the flag is
22624         set. Need to replace this with a proper solution. Together with
22625         the ghost pad fixes, this fixes mp3 playing/tagreading.
22626
22627         * docs/design/part-gstghostpad.txt: Add a note about activation of
22628         proxy pads outside of ghost pads.
22629
22630         * gst/gstghostpad.c: Implement the ghost pad activation design.
22631
22632 2005-10-02  Andy Wingo  <wingo@pobox.com>
22633
22634         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
22635         It is volatile, after all.
22636
22637         * docs/design/part-gstghostpad.txt: Flesh out activation with
22638         ghost pads.
22639
22640         * gst/base/gstbasesrc.c (gst_base_src_init): Use
22641         GST_DEBUG_FUNCPTR.
22642
22643 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
22644
22645         * configure.ac:
22646           Fix (unused) AM_CONDITIONAL tests.
22647
22648 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
22649
22650         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22651
22652         * gst/gstutils.c: (gst_pad_query_convert):
22653           Add assertion that makes sure src_val is >=0, just like
22654           gst_query_new_convert() has. (#315895)
22655
22656 2005-09-30  Edward Hervey  <edward@fluendo.com>
22657
22658         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
22659         Let's not iterate pads we're not interested in, it avoids getting 
22660         sky-high refcounts on sinkpad.
22661
22662 2005-09-30  Wim Taymans  <wim@fluendo.com>
22663
22664         * gst/gstelement.c: (gst_element_set_state),
22665         (gst_element_change_state):
22666         Small tweak, element in ASYNC remains ASYNC.
22667
22668 2005-09-30  Wim Taymans  <wim@fluendo.com>
22669
22670         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
22671         Only error is an error.
22672
22673         * gst/gstbin.c: (gst_bin_change_state):
22674         Better debugging.
22675
22676         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
22677         Also call pad_block in pad alloc.
22678
22679         * gst/gstutils.c: (gst_flow_get_name):
22680         Better debugging.
22681
22682 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22683
22684         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22685         (gst_base_src_get_range):
22686           Fix documentation typos. Add some more debug info.
22687
22688 2005-09-29  David Schleef  <ds@schleef.org>
22689
22690         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
22691           more end-user friendly.
22692         * tools/gst-inspect.c: (main): Check if command-line argument is
22693           a file and attempt to load that file as a plugin.
22694
22695 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22696
22697         * check/gst/gstbin.c:
22698         * check/states/sinks.c:
22699           fix tests for the new warning
22700         * check/gst/gstpipeline.c:
22701           add a test for pipeline and bus interaction
22702         * gst/gstelement.c:
22703           elements should be NULL if they get disposed; add a warning if not
22704
22705 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22706
22707         * gst/gstobject.c:
22708           for 2.6 refcounting, make debug log more correct by printing
22709           the actual refcounts at the time of swap (Wim)
22710
22711 2005-09-29  Andy Wingo  <wingo@pobox.com>
22712
22713         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
22714         removes signal watches previously added via
22715         gst_bus_add_signal_watch.
22716         (gst_bus_add_signal_watch): Don't return the source id, just store
22717         it on the bus if there wasn't an id already.
22718
22719         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
22720         add_signal_watch and remove_signal_watch.
22721
22722 2005-09-29  Edward Hervey  <edward@fluendo.com>
22723
22724         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
22725         Better if we actually iterate the list :)
22726
22727 2005-09-29  Wim Taymans  <wim@fluendo.com>
22728
22729         * check/gst/gstbin.c: (GST_START_TEST):
22730         Change for new bus API.
22731
22732         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22733         (send_messages), (GST_START_TEST), (gstbus_suite):
22734         Change for new bus signal API.
22735
22736         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
22737         (gst_bus_source_prepare), (gst_bus_source_check),
22738         (gst_bus_create_watch), (gst_bus_add_watch_full),
22739         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
22740         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
22741         * gst/gstbus.h:
22742         Remove support for multiple GSources operating on different
22743         message types as it is too complex and unneeded when using
22744         signals.
22745         Added support for receiving signals from the bus.
22746
22747 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22748
22749         * docs/libs/tmpl/gstdataprotocol.sgml:
22750         * docs/manual/advanced-dataaccess.xml:
22751         * gst/elements/gstcapsfilter.c:
22752         * gst/gstutils.c:
22753           rename filter-caps to caps property
22754
22755 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22756
22757         * gst/gstvalue.c: (gst_value_deserialize_fraction):
22758           More robust fraction string parsing.
22759
22760         * docs/pwg/appendix-porting.xml:
22761           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
22762
22763 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22764
22765         * gst/gstcaps.c: (gst_caps_do_simplify):
22766           Thou shalt not free a structure and then continue using it
22767           in the next loop iteration.
22768
22769         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
22770         (gst_caps_suite):
22771           Add test case for caps simplification.
22772
22773 2005-09-29  Wim Taymans  <wim@fluendo.com>
22774
22775         * check/gst/gstbin.c: (GST_START_TEST):
22776         Oops.
22777
22778 2005-09-29  Wim Taymans  <wim@fluendo.com>
22779
22780         * check/gst/gstbin.c: (GST_START_TEST):
22781         Add bus to bin.
22782
22783         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
22784         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22785         (find_element), (gst_bin_sort_iterator_next),
22786         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22787         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22788         (gst_bin_change_state), (gst_bin_dispose):
22789         A bin does not have a bus, it gets the bus from the parent.
22790
22791         * gst/gstelement.c: (gst_element_requires_clock),
22792         (gst_element_provides_clock), (gst_element_is_indexable),
22793         (gst_element_is_locked_state), (gst_element_change_state),
22794         (gst_element_set_bus_func):
22795         Small cleanups.
22796
22797         * gst/gstpipeline.c: (gst_pipeline_class_init),
22798         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
22799         The pipeline provides a bus.
22800
22801 2005-09-28  Johan Dahlin  <johan@gnome.org>
22802
22803         * gst/gstmessage.c (gst_message_parse_state_changed): Use
22804         gst_structure_get_enum instead of gst_structure_get_int
22805
22806         * gst/gststructure.c (gst_structure_get_enum): Impl.
22807
22808         * gst/gststructure.h (gst_structure_get_enum): Add
22809
22810         * docs/gst/gstreamer-sections.txt: Ditto
22811
22812         * gst/gstmessage.c (gst_message_new_state_changed): Use
22813         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
22814         which does introspection.
22815         Reviewed by Christian Schaller
22816
22817 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22818
22819         * gst/gstinfo.c: (gst_debug_log_default):
22820           don't do dummy g_strdup()s
22821         * libs/gst/controller/gstcontroller.c:
22822         (on_object_controlled_property_changed),
22823         (gst_controlled_property_new), (gst_controller_new_valist),
22824         (gst_controller_new_list),
22825         (gst_controller_remove_properties_valist), (gst_controller_set),
22826         (gst_controller_get), (gst_controller_sync_values),
22827         (gst_controller_get_value_array), (_gst_controller_class_init),
22828         (gst_controller_get_type):
22829         * libs/gst/controller/gstcontroller.h:
22830         * libs/gst/controller/gstinterpolation.c:
22831         (gst_controlled_property_find_timed_value_node):
22832           convert // to /**/ comments
22833
22834 2005-09-28  Wim Taymans  <wim@fluendo.com>
22835
22836         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
22837         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
22838         (gst_bus_sync_signal_handler):
22839         * gst/gstbus.h:
22840         Added async-message and sync-message signals to the bus.
22841         Added helper BusFunc to emit signals for all posted messages.
22842
22843         * gst/gstmessage.c: (gst_message_type_get_name),
22844         (gst_message_type_to_quark), (gst_message_get_type):
22845         * gst/gstmessage.h:
22846         Register quarks for message names.
22847
22848 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22849
22850         * docs/libs/gstreamer-libs-sections.txt:
22851         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
22852         (gst_controller_new_list):
22853         * libs/gst/controller/gstcontroller.h:
22854           added another constructor for language bindings
22855
22856 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22857
22858         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22859           add another check
22860         * gst/gstbus.c:
22861           add some doc
22862         * gst/gstinfo.c: (_gst_debug_init):
22863           slightly more readable color for refcount debugging
22864
22865 2005-09-28  Wim Taymans  <wim@fluendo.com>
22866
22867         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
22868         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22869         (find_element), (gst_bin_sort_iterator_next),
22870         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22871         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22872         (gst_bin_change_state), (gst_bin_dispose):
22873         Small doc fixes. get_clock -> provide_clock.
22874
22875         * gst/gstelement.c: (gst_element_class_init),
22876         (gst_element_provides_clock), (gst_element_provide_clock),
22877         (gst_element_get_clock), (gst_element_commit_state),
22878         (gst_element_lost_state):
22879         * gst/gstelement.h:
22880         Make get/set_clock() symetric. Add provide_clock vmethod since
22881         that is actually what this function does.
22882
22883         * gst/gstpipeline.c: (gst_pipeline_class_init),
22884         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
22885         (gst_pipeline_get_clock):
22886         get_clock -> provide_clock.
22887
22888 2005-09-28  Andy Wingo  <wingo@pobox.com>
22889
22890         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
22891         lieu of real docs...
22892
22893         * gst/elements/gstfdsrc.c: Cleaned up a bit.
22894
22895 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
22896
22897         * gst/elements/gstcapsfilter.c:
22898         * gst/elements/gstfakesink.c:
22899         * gst/elements/gstfakesrc.c:
22900         * gst/elements/gstfdsink.c:
22901         * gst/elements/gstfdsrc.c:
22902         * gst/elements/gstfilesink.c:
22903         * gst/elements/gstfilesrc.c:
22904         * gst/elements/gstidentity.c:
22905         * gst/elements/gsttee.c:
22906         * gst/elements/gsttypefindelement.c:
22907           Make element details static.
22908
22909 2005-09-28  Wim Taymans  <wim@fluendo.com>
22910
22911         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22912         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22913         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22914         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22915         (gst_bin_change_state), (gst_bin_dispose):
22916         Some documentation updates.
22917         Clean up dispose handlers.
22918
22919         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
22920         * gst/gstpad.c: (gst_pad_dispose):
22921         Clean up dispose handler.
22922
22923         * gst/gstpipeline.c: (gst_pipeline_change_state):
22924         Removed spurious UNLOCK.
22925
22926 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
22927
22928         * docs/gst/gstreamer-sections.txt:
22929         * gst/base/gstbasesrc.h:
22930         * gst/gstelement.h:
22931         * gst/gstevent.h:
22932         * gst/gstobject.h:
22933         * gst/gstpad.h:
22934         * gst/gstpipeline.c:
22935         * gst/gstpipeline.h:
22936         * gst/gstutils.h:
22937         * gst/gstxml.h:
22938           added two new functions to the docs
22939                 documents all undocumented GstXXXFlags
22940                 completed some incomplete docs 
22941
22942 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22943
22944         * gst/gstbin.c: (gst_bin_dispose):
22945         * gst/gstelement.c: (gst_element_dispose):
22946           remove now useless and leaky resurrection code in dispose
22947         * gst/base/gstbasesrc.c: (gst_base_src_init):
22948         * gst/gstelementfactory.c: (gst_element_factory_create):
22949         * gst/gstobject.c: (gst_object_set_parent):
22950           add some debugging
22951
22952 2005-09-27  Wim Taymans  <wim@fluendo.com>
22953
22954         * docs/design/part-TODO.txt:
22955         Update TODO.
22956
22957         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22958         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22959         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22960         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22961         (gst_bin_change_state):
22962         * gst/gstelement.h:
22963         Remove element variable, we keep element info in the iterator now.
22964
22965 2005-09-27  Andy Wingo  <wingo@pobox.com>
22966
22967         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
22968         values.
22969
22970 2005-09-27  Wim Taymans  <wim@fluendo.com>
22971
22972         * check/gst/gstbin.c: (GST_START_TEST):
22973         Enable check that works now.
22974
22975         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22976         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22977         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22978         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22979         (gst_bin_change_state):
22980         * gst/gstbin.h:
22981         Redid the state change algorithm using a topological sort algo.
22982         Handles all cases correctly.
22983         Exposed iterator for state change order.
22984
22985         * gst/gstelement.h:
22986         Temp storage for state changes. Need to get rid of this soon.
22987
22988 2005-09-27  Wim Taymans  <wim@fluendo.com>
22989
22990         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
22991         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
22992         (link_fold_func), (gst_pad_proxy_setcaps):
22993         Leak fixes, the fold functions need to unref the passed object and
22994         _get_parent_*() returns ref to parent.
22995
22996 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22997
22998         * check/gst/gstbuffer.c: (test_make_writable):
22999           Plug leak in test case and fix 'make check-valgrind'
23000
23001 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23002
23003         * gst/gstbuffer.c: (gst_subbuffer_init):
23004           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
23005           works correctly in all circumstances (we could have just copied
23006           the parent buffer's readonly flag, but conceptually it seems
23007           cleaner to mark all subbuffers as read-only). (based on patch
23008           by Alessandro Decina, #314710).
23009         
23010         * check/gst/gstbuffer.c: (create_read_only_buffer),
23011         (test_make_writable), (test_subbuffer_make_writable),
23012         (gst_test_suite):
23013           Add some tests for gst_buffer_make_writable().
23014
23015 2005-09-27  Wim Taymans  <wim@fluendo.com>
23016
23017         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
23018         use gst_object_has_ancestor().
23019
23020         * gst/gstobject.c: (gst_object_has_ancestor):
23021         * gst/gstobject.h:
23022         gst_object_has_ancestor() copied from gstbin.c as it is a
23023         useful function.
23024
23025         * tests/instantiate/create.c: (create_all_elements):
23026         * tests/lat.c: (handoff_src), (handoff_sink):
23027         * tests/sched/runxml.c: (main):
23028         * tests/seeking/seeking1.c: (main):
23029         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23030         (main):
23031         Fix compilation of some tests.
23032
23033 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
23034
23035         * gst/gsterror.h:
23036           Remove comment. GST_TYPE_G_ERROR is here to stay,
23037           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
23038           (#316961, #300610).
23039
23040 2005-09-26  Wim Taymans  <wim@fluendo.com>
23041
23042         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23043         Added check that shows error in state change order.
23044
23045 2005-09-26  Wim Taymans  <wim@fluendo.com>
23046
23047         * gst/gstbin.c: (gst_bin_change_state):
23048         Make state change function use 3 queues again, we were
23049         adding elements in the wrong order.
23050
23051         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
23052         Some debug info,
23053
23054         * gst/gstpad.c: (gst_pad_dispose):
23055         Added some debug info first.
23056
23057 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
23058
23059         * docs/design/draft-push-pull.txt:
23060         * docs/design/part-events.txt:
23061         * docs/design/part-overview.txt:
23062         * docs/design/part-scheduling.txt:
23063           Replace all _pull_region() with _pull_range()
23064           
23065 2005-09-26  Andy Wingo  <wingo@pobox.com>
23066
23067         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
23068
23069         * check/gst-libs/controller.c: Update for controller api change.
23070
23071         * configure.ac: 
23072         * tests/Makefile.am:
23073         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
23074         over by GLib bug 118439.
23075         
23076         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
23077         routines to a function.
23078
23079         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
23080
23081         * libs/gst/controller/gsthelper.c:
23082         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
23083         (gst_object_sync_values): Renamed from sink_values. Ugh.
23084
23085         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
23086
23087         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
23088         Renamed from controller_key, as it is exported.
23089
23090         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
23091
23092 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
23093
23094         * gst/Makefile.am:
23095         * gst/gst.h:
23096         * gst/gstpad.h:
23097         * gst/gstpadtemplate.h:
23098         * gst/gstquery.c:
23099         * gst/gstquery.h:
23100         * gst/gstqueryutils.c:
23101         * gst/gstqueryutils.h:
23102           remove queryutils headers after moving the two used functions
23103           to gstquery.  also fixes build problem for gstsiddec
23104
23105 2005-09-26  Michael Smith <msmith@fluendo.com>
23106
23107         * tools/gst-launch.1.in:
23108         Correct documentation in manpage of debug syntax
23109
23110 2005-09-26  Wim Taymans  <wim@fluendo.com>
23111
23112         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
23113         (gst_base_src_is_seekable), (gst_base_src_change_state):
23114         Some more debugging info.
23115
23116 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23117
23118         * docs/gst/gstreamer-sections.txt:
23119         * gst/base/gstbasetransform.h:
23120         * gst/gstindex.h:
23121           added more docs
23122
23123 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23124
23125         * docs/gst/.cvsignore:
23126         * docs/gst/tmpl/.cvsignore:
23127         * docs/gst/tmpl/gstpipeline.sgml:
23128         * docs/gst/tmpl/gstplugin.sgml:
23129         * gst/gstpipeline.c:
23130         * gst/gstplugin.c:
23131         * gst/gstplugin.h:
23132           inlined the last two docs files
23133           removed the tmpl directory from cvs (no more conflicts here!)
23134
23135 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
23136
23137         * docs/gst/gstreamer-sections.txt:
23138         * docs/gst/tmpl/.cvsignore:
23139         * docs/gst/tmpl/gstpad.sgml:
23140         * docs/gst/tmpl/gstpadtemplate.sgml:
23141         * gst/Makefile.am:
23142         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
23143         (gst_pad_finalize), (gst_pad_set_pad_template):
23144         * gst/gstpad.h:
23145         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
23146         (gst_pad_template_class_init), (gst_pad_template_init),
23147         (gst_pad_template_dispose), (name_is_valid),
23148         (gst_static_pad_template_get), (gst_pad_template_new),
23149         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
23150         (gst_pad_template_pad_created):
23151         * gst/gstpadtemplate.h:
23152           inlined two more docs
23153           factored gstpadtemplate out of gstpad
23154
23155 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
23156
23157         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23158         (test_children_state_change_order_semi_sink):
23159           Fix test case: we can't rely on a fixed state change order when
23160           going from READY => PAUSED because the sink might commit its 
23161           new state first when the first buffer created by the source 
23162           reaches the sink before the source has finished its change state.
23163           (Test case still fails at times, see #316856, comment 5 onwards)
23164
23165 2005-09-24  Wim Taymans  <wim@fluendo.com>
23166
23167         * docs/design/part-events.txt:
23168         * docs/design/part-gstbus.txt:
23169         * docs/design/part-gstpipeline.txt:
23170         * docs/design/part-messages.txt:
23171         * docs/design/part-overview.txt:
23172         * docs/design/part-segments.txt:
23173         * gst/gstbin.c:
23174         * gst/gstbuffer.c:
23175         * gst/gstclock.c:
23176         * gst/gstelement.c:
23177         * gst/gstevent.c:
23178         * gst/gstfilter.c:
23179         * gst/gstiterator.c:
23180         Various documentation updates.
23181
23182 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
23183
23184         * gst/gstclock.h:
23185           Well, that's embarassing.  Luckily we weren't using
23186           GST_CLOCK_DIFF anywhere.
23187
23188 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23189
23190         * common/gtk-doc.mak:
23191           don't fail on building XML, FC4 slave shows a bunch of doc
23192           missing bits that I don't get
23193         * gst/gstpad.c:
23194         * gst/gstpipeline.c:
23195         * gst/gststructure.c:
23196           some doc updates
23197
23198 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23199
23200         * docs/design/part-gstbin.txt:
23201         * docs/design/part-gstbus.txt:
23202         * gst/gstbus.c:
23203           Add blurb about how the bus goes into flushing mode and
23204           drops all messages when its bin goes from READY into NULL 
23205           state.
23206
23207 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23208
23209         * docs/gst/gstreamer-sections.txt:
23210         * gst/gststructure.c: (gst_structure_get_clock_time):
23211         * gst/gststructure.h:
23212           add a method to get a GstClockTime out of a structure
23213
23214 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
23215
23216         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
23217         (test_children_state_change_order_semi_sink), (gst_bin_suite):
23218           Added test to check state change order in bins (can still be made
23219           to fail here under heavy disk load; bails out with 'Push on pad
23220           fakesink:sink0, but it was not activated in push mode').
23221
23222         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
23223           Fix state change order when there is only a semi sink (#316856)
23224
23225         * gst/gstbus.c: (gst_bus_class_init):
23226           Use _class_peek_parent(), not _class_ref(); fix docs to say
23227           'default main context' instead of 'mainloop' where that is
23228           what's meant.
23229
23230         * gst/gstelement.c: (gst_element_commit_state),
23231         (gst_element_set_state):
23232           Fix typos in debug messages
23233
23234 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23235
23236         * docs/README:
23237         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
23238         * gst/gstpluginfeature.c:
23239         * gst/gstutils.c:
23240           various doc updates
23241         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23242           change an assert into an error until it gets fixed properly
23243
23244 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
23245
23246         * docs/gst/gstreamer-sections.txt:
23247         * docs/gst/tmpl/.cvsignore:
23248         * docs/gst/tmpl/gstelement.sgml:
23249         * docs/gst/tmpl/gstinfo.sgml:
23250         * docs/gst/tmpl/gstobject.sgml:
23251         * gst/gstelement.c:
23252         * gst/gstelement.h:
23253         * gst/gstinfo.c:
23254         * gst/gstinfo.h:
23255         * gst/gstobject.c: (gst_object_class_init):
23256         * gst/gstobject.h:
23257           inlined 3 more biiiig doc files and added some missing docs on the fly
23258
23259 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23260
23261         * check/gst/.cvsignore:
23262         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
23263         * gst/gstregistryxml.c: (load_plugin),
23264         (gst_registry_xml_save_plugin):
23265           put back source in registry.  add checks for find_plugin.
23266         * testsuite/states/bin.c: (assert_state), (empty_bin),
23267         (test_adding_one_element), (main):
23268         * testsuite/states/locked.c: (main):
23269           some compile/run fixes
23270
23271 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23272
23273         * check/gst/gstvalue.c: (GST_START_TEST):
23274           fix leaks in the test itself
23275
23276 2005-09-22  Wim Taymans  <wim@fluendo.com>
23277
23278         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23279         (gst_base_sink_send_event), (gst_base_sink_peer_query),
23280         (gst_base_sink_query):
23281         Prepare for more accurate position reporting and query
23282         handling.
23283
23284         * gst/gstelement.c: (gst_element_send_event),
23285         (gst_element_set_state):
23286         Add some comment.
23287
23288 2005-09-22  Wim Taymans  <wim@fluendo.com>
23289
23290         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
23291         (gst_query_parse_segment):
23292         * gst/gstquery.h:
23293         More documentation.
23294         Add segment query for future use.
23295
23296 2005-09-22  Wim Taymans  <wim@fluendo.com>
23297
23298         * gst/gstbin.c: (gst_bin_add_func):
23299         Some more debug info.
23300
23301         * gst/gstelement.c: (gst_element_send_event):
23302         Simplify send_event
23303
23304         * gst/gstelement.h:
23305         Don't know how flags got broken.
23306
23307         * gst/gstquery.h:
23308         Added new query.
23309
23310 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
23311
23312         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
23313           Add simplistic test suite for GST_TYPE_DATE serialisation and
23314           deserialisation.
23315
23316 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
23317
23318         * docs/gst/gstreamer-sections.txt:
23319         * gst/gststructure.c: (gst_structure_set_valist),
23320         (gst_structure_get_date):
23321         * gst/gststructure.h:
23322         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
23323         (gst_date_copy), (gst_value_compare_date),
23324         (gst_value_serialize_date), (gst_value_deserialize_date),
23325         (gst_value_transform_date_string),
23326         (gst_value_transform_string_date), (_gst_value_initialize):
23327         * gst/gstvalue.h:
23328           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
23329           bunch of utility functions along with a hack that checks that
23330           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
23331           is required. Part of the grand scheme in #170777.
23332
23333 2005-09-22  Andy Wingo  <wingo@pobox.com>
23334
23335         * gst/gstconfig.h.in: Psych out gtk-doc.
23336
23337         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
23338
23339         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
23340
23341         * tools/gst-inspect.c (print_element_list): Plug some
23342         inconsequential leaks.
23343
23344         * gst/gstregistry.c (gst_registry_get_default): Doc.
23345
23346         * check/gst/gstplugin.c: 
23347         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
23348         * gst/gstelementfactory.c (gst_element_factory_create): 
23349         * gst/gstindexfactory.c (gst_index_factory_create): Update for
23350         refcount changes.
23351
23352         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
23353         (gst_plugin_feature_load): Doc, don't eat refs.
23354
23355         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
23356         (gst_plugin_list_free): Doc.
23357         (gst_plugin_load_file): Doc updates.
23358
23359         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
23360         accessors returning refcounted objects, return a ref.
23361
23362         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
23363         accessor for caps. IDEMPOTENCE. Oh yes.
23364
23365 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
23366
23367         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23368
23369         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23370         (_gst_debug_register_funcptr):
23371           Add mutex to serialise access to the hash table with
23372           the function pointer => function name string mapping;
23373           make that hash table static scope (#316809).
23374
23375         * gst/registries/.cvsignore:
23376           Remove left-over file.
23377
23378 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23379
23380         * docs/pwg/appendix-porting.xml:
23381           And something about newsegment events and caps-on-buffers to
23382           the porting guide (feel free to improve).
23383
23384 2005-09-21  Andy Wingo  <wingo@pobox.com>
23385
23386         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
23387         data and event probes on the same pad.
23388         (test_buffer_probe_once): Test that removing probes from within
23389         the probe functions works.
23390
23391 2005-09-21  Andy Wingo  <wingo@pobox.com>
23392
23393         * check/gst/gstutils.c: New file.
23394         (test_buffer_probe_n_times): A simple buffer probe test. More to
23395         come, foolios.
23396
23397         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
23398         have-data::buffer, not have-data.
23399         (gst_pad_add_event_probe): Likewise for have-data::event.
23400         (gst_pad_add_data_probe): More docs. The part about 'resolving the
23401         peer' isn't quite right yet though.
23402         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
23403         (gst_pad_remove_data_probe): Change to take the guint handler_id
23404         as their arg, not the function+data, which is more glib-like.
23405
23406         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
23407         the signal emission to indicate if the data is a buffer or an
23408         event.
23409         (gst_pad_get_type): Initialize buffer and event quarks.
23410         (gst_pad_class_init): have-data is now a detailed signal, yes it
23411         is.
23412
23413 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23414
23415         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23416         * gst/gstutils.c: (gst_util_set_value_from_string),
23417         (gst_util_set_object_arg):
23418           Don't put functional code in g_return_if_fail() or
23419           g_return_val_if_fail() statements, otherwise things will 
23420           break when G_DISABLE_CHECKS is defined during compilation.
23421
23422 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23423
23424         * docs/gst/tmpl/.cvsignore:
23425         * docs/gst/tmpl/gstvalue.sgml:
23426         * gst/gstvalue.c:
23427         * gst/gstvalue.h:
23428           inlied another one and added  some obvious docs
23429
23430 2005-09-21  Wim Taymans  <wim@fluendo.com>
23431
23432         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
23433         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
23434         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
23435         (gst_fdsrc_get_property), (gst_fdsrc_create):
23436         * gst/elements/gstfdsrc.h:
23437         Properly implement fdsrc. Removed signal and timeout,
23438         better implemented somewhere else.
23439
23440 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23441
23442         * docs/gst/tmpl/.cvsignore:
23443         * docs/gst/tmpl/gstimplementsinterface.sgml:
23444         * gst/gstinterface.c:
23445           inlined more docs
23446
23447 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23448
23449         * docs/gst/gstreamer-sections.txt:
23450         * docs/gst/tmpl/.cvsignore:
23451         * docs/gst/tmpl/gstenumtypes.sgml:
23452           remove obsolete doc file
23453
23454 2005-09-21  David Schleef  <ds@schleef.org>
23455
23456         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
23457         little beer, fix a little leak.
23458
23459 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23460
23461         * docs/gst/gstreamer-docs.sgml:
23462         * docs/gst/gstreamer-sections.txt:
23463         * docs/gst/tmpl/.cvsignore:
23464         * gst/Makefile.am:
23465         * gst/gst.h:
23466         * gst/gstbin.c:
23467         * gst/gstelement.h:
23468         * gst/gstindex.c: (gst_index_class_init):
23469         * gst/gstindex.h:
23470         * gst/gstindexfactory.c: (gst_index_factory_get_type),
23471         (gst_index_factory_class_init), (gst_index_factory_init),
23472         (gst_index_factory_finalize), (gst_index_factory_new),
23473         (gst_index_factory_destroy), (gst_index_factory_find),
23474         (gst_index_factory_create), (gst_index_factory_make):
23475         * gst/gstindexfactory.h:
23476         * gst/gstpluginfeature.c:
23477         * gst/gstpluginfeature.h:
23478         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23479           more docs inlined, splitted gstindex.{c,h}
23480
23481 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23482
23483         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23484           fix a leak
23485
23486 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23487
23488         * gst/elements/gstfilesink.c: (gst_file_sink_init):
23489           Set sync to FALSE by default.
23490
23491 2005-09-20  Wim Taymans  <wim@fluendo.com>
23492
23493         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23494         (gst_base_sink_init):
23495         Make sync property settable from subclass.
23496
23497         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23498         (gst_fake_sink_change_state):
23499         Set sync to FALSE by default.
23500
23501 2005-09-20  Wim Taymans  <wim@fluendo.com>
23502
23503         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
23504         * tools/gst-launch.c: (main):
23505         The timeout handler should have lower priority than the source
23506         so we don't timeout before popping a message with 0 timeout.
23507         Dump error messages after failed state change.
23508
23509 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23510
23511         * tools/gst-inspect.c: (print_element_properties_info):
23512           Fix two typos.
23513
23514 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23515
23516         * check/gst/gstevent.c:
23517         * gst/elements/gstfakesink.c:
23518         * gst/elements/gstfakesink.h:
23519           remove the sync property from fakesink.
23520           has the side effect of setting sync TRUE
23521           for fakesink, which is a change.  Anyone who knows how
23522           to fix this nicely in a GObject-y way, feel free.
23523
23524 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23525
23526         * docs/gst/gstreamer-docs.sgml:
23527           remove probe refsection
23528
23529 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23530
23531         * check/Makefile.am:
23532           disable valgrinding the controller test again
23533         * docs/gst/gstreamer-sections.txt:
23534           update for api-changes
23535
23536 2005-09-20  Wim Taymans  <wim@fluendo.com>
23537
23538         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23539         (gst_base_sink_set_property), (gst_base_sink_get_property),
23540         (gst_base_sink_do_sync):
23541         * gst/base/gstbasesink.h:
23542         Added sync property to basesink to disable clock sync.
23543
23544 2005-09-20  Andy Wingo  <wingo@pobox.com>
23545
23546         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
23547         eating the caller's refcount.
23548
23549         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
23550         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
23551         refcount.
23552
23553         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
23554         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
23555         of GLib 2.8 public, so we can know which refcount to check in
23556         tests.
23557
23558         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
23559         (gst_object_init): Only set the gst refcount if we're going ahead
23560         with the refcount hack.
23561
23562 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23563
23564         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23565         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23566           more leaks plumbed, added more debug-logging
23567         * gst/gstmacros.h:
23568           whitespace fix
23569
23570 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23571
23572         * gst/gstmessage.c:
23573           remove include of gstmemchunk.h
23574
23575 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23576
23577         * gst/gstclock.c: (_gst_clock_id_free):
23578           Commit from the Political Party For More Atomic CVS Commits,
23579           so that people don't waste too much of their day fishing
23580           out obvious leaks out of massive commits.
23581           Oh, and fix a pretty damn obvious leak in the memchunk
23582           removal code.
23583
23584 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23585
23586         * check/Makefile.am:
23587         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23588           plug mem-leak, re-add to valgrindable tests
23589
23590 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23591
23592         * gst/gstplugin.h:
23593           unbreak the build for those who have chronic arthritis
23594           and typing "make check" is just too taxing on the hands
23595
23596 2005-09-20  Andy Wingo  <wingo@pobox.com>
23597
23598         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
23599         really want it out, you should fix plugins at the same time.
23600
23601 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
23602
23603         * configure.ac:
23604         * docs/gst/gstreamer-sections.txt:
23605         * gst/gstobject.c:
23606           added missing symbols to api docs
23607           disable ref-count hack if we have glib >= 2.8
23608
23609 2005-09-19  David Schleef  <ds@schleef.org>
23610
23611         * docs/gst/Makefile.am: Ignore a few more internal headers
23612         * docs/gst/gstreamer-docs.sgml: Remove old sections
23613         * docs/gst/gstreamer-sections.txt: Remove old sections
23614         * docs/gst/tmpl/gstobject.sgml: update
23615         * docs/gst/tmpl/gstplugin.sgml: update
23616         * docs/gst/tmpl/gstpluginfeature.sgml: update
23617         * docs/random/ds/0.9-suggested-changes: update.
23618         * gst/Makefile.am: remove memchunk and trashstack, since they're
23619           not used.
23620         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
23621         * gst/gst.h: don't include some headers
23622         * gst/gstchildproxy.c: add gstmarshal.h
23623         * gst/gstclock.c: Don't use memchunks
23624         * gst/gstminiobject.c: Add some docs
23625         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
23626         * gst/gstobject.h: same
23627         * gst/gstplugin.c: include gstmacros.h
23628         * gst/gstplugin.h: don't include gstmacros.h, since it's private
23629         * gst/gstquery.c: don't use memchunks
23630         * gst/gstregistry.c: rename gst_registry_deinit()
23631         * gst/gstregistry.h: same
23632
23633 2005-09-19  David Schleef  <ds@schleef.org>
23634
23635         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
23636         * docs/libs/gstreamer-libs-sections.txt:
23637         * docs/libs/tmpl/gstgetbits.sgml:
23638         * docs/libs/tmpl/gstputbits.sgml:
23639
23640 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
23641
23642         * win32/gstenumtypes.c:
23643         * win32/gstenumtypes.h:
23644           Update.
23645
23646 2005-09-19  Wim Taymans  <wim@fluendo.com>
23647
23648         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
23649         Automatically PAUSE and RESUME a pipeline when a flushing seek
23650         is performed.
23651
23652 2005-09-19  Andy Wingo  <wingo@pobox.com>
23653
23654         * gst/gstregistry.h: Spacing fixen.
23655
23656 2005-09-19  Wim Taymans  <wim@fluendo.com>
23657
23658         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
23659         Handle state change failure more correctly.
23660
23661 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23662
23663         * check/Makefile.am:
23664         * check/pipelines/cleanup.c: (run_pipeline):
23665         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23666         (GST_START_TEST):
23667           enable cleanup again after fixing the leak
23668         * docs/README:
23669           some more info on docs
23670
23671 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23672
23673         * check/Makefile.am:
23674           re-enable tests now that leaks are plugged
23675         * check/gst/gst.c:
23676         * check/gst/gstbin.c:
23677         * check/gst/gstpipeline.c:
23678           add some more tests while fixing leaks
23679         * common/check.mak:
23680           make sure binaries are uptodate when valgrinding/gdbing
23681         * gst/gst.c:
23682         * gst/gstelementfactory.c:
23683           remove a ref too many, and add a FIXME for when we get
23684           round to disposing of classes
23685         * gst/gstplugin.c:
23686           fix the refcounting when loading a plugin from a file and
23687           the code pretends that the pointer is the same even though
23688           of course it can change
23689         * gst/gstpluginfeature.c:
23690           unref plugins marked cached (a bit confusing as a name)
23691           as the docs state should be done
23692           various doc additions to explain refcounting
23693         * gst/gstregistry.c:
23694         * gst/gstregistryxml.c:
23695           debugging
23696
23697 2005-09-19  Wim Taymans  <wim@fluendo.com>
23698
23699         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23700         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23701         (send_messages), (GST_START_TEST), (gstbus_suite):
23702         * check/gst/gstpipeline.c: (GST_START_TEST):
23703         * check/pipelines/cleanup.c: (run_pipeline):
23704         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23705         (GST_START_TEST):
23706         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
23707         (gst_bus_source_check), (gst_bus_source_dispatch),
23708         (gst_bus_create_watch), (gst_bus_add_watch_full),
23709         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
23710         * gst/gstbus.h:
23711         * tools/gst-launch.c: (event_loop):
23712         * tools/gst-md5sum.c: (event_loop):
23713         GstBusHandler -> GstBusFunc, return value has the same meaning as
23714         any other GSource (FALSE == remove source).
23715         _add_watch() and _add_watch_full() now take a MessageType mask to
23716         only handle specific types of messages.
23717         _poll() returns the GstMessage instead of the message type to avoid
23718         race conditions.
23719         _have_pending() takes a MessageType mask now too.
23720         Added testsuite for multiple bus watches.
23721         Fix testsuites and applications for new bus API.
23722
23723 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23724
23725         * check/Makefile.am:
23726           mark a bunch of the tests as to fix until we fix them
23727
23728 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23729
23730         * common/check.mak:
23731           use GST_PLUGIN settings for valgrind tests as well, so we're
23732           valgrinding the correct thing
23733         * gst/gst.c: (init_post):
23734           plug another leak
23735
23736 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23737
23738         * gst/gst.c: (init_post), (gst_deinit):
23739         * gst/gstelementfactory.c: (gst_element_factory_class_init),
23740         (gst_element_factory_finalize), (gst_element_factory_cleanup):
23741         * gst/gstindex.c: (gst_index_factory_class_init),
23742         (gst_index_factory_finalize):
23743         * gst/gstobject.c: (gst_object_dispose):
23744         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
23745         (gst_plugin_load_file), (gst_plugin_desc_free):
23746         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
23747         (gst_plugin_feature_finalize):
23748         * gst/gstregistry.c: (gst_registry_class_init),
23749         (gst_registry_init), (gst_registry_finalize),
23750         (gst_registry_get_default), (gst_registry_deinit):
23751         * gst/gstregistry.h:
23752         * gst/gstregistryxml.c: (load_feature), (load_plugin):
23753           various cleanups and memleak plugging.  make valgrind is happy now.
23754
23755 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23756
23757         * common/check.mak:
23758           add a check-valgrind target
23759
23760 2005-09-18  David Schleef  <ds@schleef.org>
23761
23762         * tools/gst-inspect.c: Revert the GOption code.
23763
23764 2005-09-17  David Schleef  <ds@schleef.org>
23765
23766         * check/Makefile.am: Fix environment variables.
23767         * check/gst/gstplugin.c: Fix for API changes.
23768         * tools/gst-inspect.c: Fix for API changes.
23769         * tools/gst-xmlinspect.c: Fix for API changes.
23770         * gst/gstelementfactory.c:
23771         * gst/gstplugin.c:
23772         * gst/gstplugin.h:
23773         * gst/gstpluginfeature.c:
23774         * gst/gstpluginfeature.h:
23775         * gst/gstregistry.c:
23776         * gst/gstregistry.h:
23777         * gst/gstregistryxml.c:
23778         * gst/gsttypefind.c:
23779         * gst/gsttypefindfactory.c:
23780         * gst/indexers/gstfileindex.c:
23781         * gst/indexers/gstmemindex.c:
23782         * gst/schedulers/Makefile.am:
23783           Change registry to keep track of both plugins and features,
23784           removing the feature tracking from plugins themselves.
23785
23786 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23787
23788         * check/Makefile.am:
23789         * tools/gst-register.1.in:
23790           remove gst-register
23791
23792 2005-09-15  David Schleef  <ds@schleef.org>
23793
23794         * check/gst/gstplugin.c:
23795         * gst/gstelementfactory.c:
23796         * gst/gstplugin.c:
23797         * gst/gstpluginfeature.c:
23798         * gst/gstregistry.c:
23799           Getting tired of debugging.  Disabled all the unreffing of
23800           plugins and features, which fixes the segfaults, but of
23801           course leaks like crazy.  At least playbin works.
23802
23803 2005-09-15  David Schleef  <ds@schleef.org>
23804
23805         * check/gst/gstplugin.c: (register_check_elements),
23806         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
23807         More testing
23808         * gst/elements/gsttypefindelement.c: Fix refcounting.
23809         * gst/gsttypefind.c:
23810         * gst/gsttypefindfactory.c:
23811         * gst/gsttypefindfactory.h:
23812
23813 2005-09-15  David Schleef  <ds@schleef.org>
23814
23815         * gst/gstindex.c: get refcounting correct.
23816         * gst/gstregistry.c: Handle the case where a feature/plugin is
23817           not found.
23818
23819 2005-09-15  David Schleef  <ds@schleef.org>
23820
23821         * check/Makefile.am:
23822         * check/gst/gstplugin.c: Add test
23823         * gst/gstplugin.c: Fix problems noticed by testsuite
23824         * gst/gstplugin.h:
23825         * gst/gstregistry.c: 
23826         * gst/gstregistry.h:
23827
23828 2005-09-15  David Schleef  <ds@schleef.org>
23829
23830         * gst/gstplugin.c: Implement semi-decent recounting and locking
23831           in plugins and plugin features.
23832         * gst/gstplugin.h:
23833         * gst/gstpluginfeature.c:
23834         * gst/gstpluginfeature.h:
23835         * gst/gstregistry.c:
23836
23837 2005-09-15  Michael Smith <msmith@fluendo.com>
23838
23839         * gst/gstregistry.c: (gst_registry_get_feature_list):
23840           Implement this. Makes oggdemux work; decodebin still broken.
23841
23842 2005-09-14  David Schleef  <ds@schleef.org>
23843
23844         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
23845           #316076)
23846         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
23847         * gst/check/Makefile.am:
23848         * libs/gst/controller/Makefile.am:
23849         * libs/gst/dataprotocol/Makefile.am:
23850
23851 2005-09-14  David Schleef  <ds@schleef.org>
23852
23853         * configure.ac: Remove getbits library.  Nothing uses it, and
23854           it should be in something like liboil if someone did want
23855           to use it.
23856         * libs/gst/Makefile.am:
23857         * libs/gst/getbits/Makefile.am:
23858         * libs/gst/getbits/gbtest.c:
23859         * libs/gst/getbits/getbits.c:
23860         * libs/gst/getbits/getbits.h:
23861         * libs/gst/getbits/gstgetbits_generic.c:
23862         * libs/gst/getbits/gstgetbits_i386.s:
23863         * libs/gst/getbits/gstgetbits_inl.h:
23864
23865 2005-09-14  David Schleef  <ds@schleef.org>
23866
23867         * gst/Makefile.am: Dist glib-compat.h
23868
23869 2005-09-14  David Schleef  <ds@schleef.org>
23870
23871         * configure.ac: Remove gst/registries, since it's no longer used.
23872         * gst/registries/Makefile.am:
23873         * gst/registries/gstlibxmlregistry.c:
23874         * gst/registries/gstlibxmlregistry.h:
23875         * gst/registries/gstxmlregistry.c:
23876         * gst/registries/gstxmlregistry.h:
23877         * gst/registries/registrytest.c:
23878
23879 2005-09-14  David Schleef  <ds@schleef.org>
23880
23881         * gst/glib-compat.h:
23882         * gst/gstregistryxml.c:
23883           Convergence is near.  Seriously.
23884
23885 2005-09-14  David Schleef  <ds@schleef.org>
23886
23887         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23888         * gst/glib-compat.h:
23889           Attempt #4 to appease the buildbots.
23890
23891 2005-09-14  David Schleef  <ds@schleef.org>
23892
23893         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23894           Attempt #3.
23895
23896 2005-09-14  David Schleef  <ds@schleef.org>
23897
23898         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23899         Attempt #2.
23900
23901 2005-09-14  David Schleef  <ds@schleef.org>
23902
23903         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
23904           the new functions.
23905
23906 2005-09-14  David Schleef  <ds@schleef.org>
23907
23908         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23909         * gst/glib-compat.h: Add some functions that are in newer versions
23910           of glib than we care to require.
23911         * gst/gstregistryxml.c: Use them.
23912
23913 2005-09-14  David Schleef  <ds@schleef.org>
23914
23915         * po/POTFILES.in: remove gst-register.c
23916
23917 2005-09-14  David Schleef  <ds@schleef.org>
23918
23919         * docs/gst/gstreamer-docs.sgml:
23920         * docs/gst/gstreamer-sections.txt:
23921         * docs/gst/gstreamer.types:
23922         * docs/gst/tmpl/gstelement.sgml:
23923         * docs/gst/tmpl/gstplugin.sgml:
23924         * docs/gst/tmpl/gstpluginfeature.sgml:
23925           Documentation updates for registry changes.
23926
23927 2005-09-14  David Schleef  <ds@schleef.org>
23928
23929         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
23930           because we don't require glib-2.8.
23931
23932 2005-09-14  David Schleef  <ds@schleef.org>
23933
23934         * gst/gstregistryxml.c: Added.  Essentially moved out of the
23935           registries directory.
23936
23937 2005-09-14  David Schleef  <ds@schleef.org>
23938
23939         * check/Makefile.am:
23940         * check/generic/states.c:
23941         * gst/Makefile.am:
23942         * gst/gst.c:
23943         * gst/gst.h:
23944         * gst/gst_private.h:
23945         * gst/gstelementfactory.c:
23946         * gst/gstindex.c:
23947         * gst/gstinfo.c:
23948         * gst/gstplugin.c:
23949         * gst/gstplugin.h:
23950         * gst/gstpluginfeature.c:
23951         * gst/gstpluginfeature.h:
23952         * gst/gstregistry.c:
23953         * gst/gstregistry.h:
23954         * gst/gstregistrypool.c: remove
23955         * gst/gstregistrypool.h: remove
23956         * gst/gsttypefind.c:
23957         * gst/gsttypefindfactory.c:
23958         * gst/gsturi.c:
23959         * tools/Makefile.am:
23960         * tools/gst-compprep.c:
23961         * tools/gst-inspect.c:
23962         * tools/gst-register.c: remove
23963         * tools/gst-xmlinspect.c:
23964           Registry rewrite.  Changes registry from being a file created
23965           by a tool into a simple cache file created automatically by 
23966           libgstreamer.  Removed gst-register (because it's no longer
23967           needed).  Remove registry pools, because we only have one
23968           registry implementation (XML).  Fix up other subsystems as
23969           necessary.
23970
23971 2005-09-13  Michael Smith <msmith@fluendo.com>
23972
23973         * gst/gstconfig.h.in:
23974           Don't Use windows linking attributes for MinGW. Fixes #316157
23975
23976 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23977
23978         * gst/gstutils.c: (set_state_async_thread_func),
23979         (gst_element_set_state_async):
23980           Apparently people think it's better if this function doesn't
23981           try to set the state to whatever state was asked for on the first
23982           call to this function for any object.  Seriously.
23983
23984 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23985
23986         * check/gst/gstpipeline.c: (GST_START_TEST):
23987         * docs/gst/gstreamer-sections.txt:
23988         * gst/gstutils.c: (set_state_async_thread_func),
23989         (gst_element_set_state_async):
23990         * gst/gstutils.h:
23991           add a "gst_element_set_state_async" method that
23992           sets the state and starts a thread to make sure the state
23993           change completes as best as it can
23994
23995 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23996
23997         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23998           codify design+behaviour in testsuite after discussion
23999
24000 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24001
24002         * docs/gst/tmpl/gstelement.sgml:
24003         * docs/manual/appendix-quotes.xml:
24004           add a quote
24005         * gst/gstelement.c: (gst_element_set_state):
24006           add some debug
24007
24008 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
24009
24010         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24011         (gst_base_transform_prepare_output_buf),
24012         (gst_base_transform_handle_buffer):
24013         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
24014         (gst_capsfilter_prepare_buf):
24015           Remove the requirement for sub-classes to call the parent
24016           implementation of prepare_output_buffer with a wrapper function.
24017           
24018         * gst/gsttaglist.h:
24019         * gst/gsttagsetter.h:
24020           Fix #define wrapper
24021
24022 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
24023
24024         * docs/gst/gstreamer-sections.txt:
24025           more doc cleanups
24026
24027 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24028
24029         * docs/gst/gstreamer-sections.txt:
24030         * docs/gst/tmpl/gstelement.sgml:
24031         * docs/gst/tmpl/gstplugin.sgml:
24032         * gst/gstminiobject.c:
24033         * gst/gstvalue.h:
24034           docs now stop throwing warnings
24035
24036 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24037
24038         * docs/gst/gstreamer-sections.txt:
24039         * docs/gst/gstreamer.types:
24040         * docs/gst/tmpl/gstpad.sgml:
24041         * docs/gst/tmpl/gsttypes.sgml:
24042         * gst/base/gstadapter.h:
24043         * gst/base/gstbasesink.h:
24044         * gst/base/gstbasesrc.h:
24045         * gst/gstbin.h:
24046         * gst/gstbuffer.h:
24047         * gst/gstbus.h:
24048         * gst/gstcaps.h:
24049         * gst/gstclock.h:
24050         * gst/gstelement.h:
24051         * gst/gstevent.h:
24052         * gst/gstmessage.h:
24053         * gst/gstpad.h:
24054         * gst/gststructure.c:
24055         * gst/registries/gstlibxmlregistry.h:
24056           various documentation fixes
24057
24058 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24059
24060         * docs/gst/gstreamer-sections.txt:
24061         * docs/gst/tmpl/gstvalue.sgml:
24062           rearrange gstvalue section
24063         * gst/gstutils.c: (gst_element_state_get_name):
24064           NONE -> VOID
24065         * gst/gstvalue.c: (_gst_value_initialize):
24066         * gst/gstvalue.h:
24067           doc updates
24068
24069 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
24070
24071         * check/gst-libs/controller.c:
24072           Header include fix.
24073         * gst/base/gstbasetransform.c:
24074         (gst_base_transform_default_prepare_buf),
24075         (gst_base_transform_handle_buffer):
24076         * gst/base/gstbasetransform.h:
24077           Some more basetransform changes and fixes to enable sub-classes
24078           that modify buffer metadata only.
24079         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
24080         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
24081         (gst_capsfilter_prepare_buf):
24082           If the output pad has fixed allowed caps and input buffers 
24083           don't have any, set the fixed caps on outgoing buffers.
24084
24085 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
24086         * check/elements/identity.c: (GST_START_TEST):
24087           Make the error a little clearer when the test fails because
24088           identity made a copy of the buffer.
24089         * docs/gst/gstreamer-sections.txt:
24090           New symbols in gstbasetransform.h
24091         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
24092         (gst_base_transform_init), (gst_base_transform_transform_size),
24093         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24094         (gst_base_transform_default_prepare_buf),
24095         (gst_base_transform_get_unit_size),
24096         (gst_base_transform_buffer_alloc),
24097         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
24098         (gst_base_transform_change_state),
24099         (gst_base_transform_set_passthrough),
24100         (gst_base_transform_set_in_place),
24101         (gst_base_transform_is_in_place):
24102         * gst/base/gstbasetransform.h:
24103           Change BaseTransform to separate in_place operate from same_caps
24104           output. in_place implies that the element can perform the transform
24105           on incoming buffers in-place, even if the caps on the output are
24106           different.
24107           Sub-class elements can now implement special buffer allocation
24108           methods for outgoing buffers if they wish to.
24109           Big documentation addition.
24110         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
24111         * gst/elements/gstelements.c:
24112           Changes for basetransform modifications.
24113         * gst/elements/Makefile.am:
24114         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
24115           Compile fix. Extra debug output.
24116
24117 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24118
24119         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
24120         (gst_pad_suite):
24121           add tests for valid pad naming
24122         * gst/check/gstcheck.c: (gst_check_log_message_func),
24123         (gst_check_log_critical_func):
24124           add ASSERT_WARNING
24125           remove printing of code, it is fragile when the code contains
24126           % and the line number is enough info
24127         * gst/check/gstcheck.h:
24128         * gst/gstpad.c: (gst_pad_template_new):
24129           fix memleaks
24130
24131 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24132
24133         * configure.ac:
24134           say what CHECK flags we use
24135         * docs/libs/gstreamer-libs.types:
24136         * libs/gst/controller/Makefile.am:
24137         * libs/gst/controller/gst-controller.c:
24138         * libs/gst/controller/gst-controller.h:
24139         * libs/gst/controller/gst-helper.c:
24140         * libs/gst/controller/gst-interpolation.c:
24141         * libs/gst/controller/gstcontroller.c:
24142         * libs/gst/controller/gsthelper.c:
24143         * libs/gst/controller/gstinterpolation.c:
24144         * tools/gst-inspect.c: (print_plugin_info):
24145           we don't use dashes in header names
24146
24147 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24148
24149         * check/Makefile.am:
24150         * check/gst/.cvsignore:
24151         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
24152         (gst_pipeline_suite), (main):
24153           adding a test for pipelines and state changes
24154         * gst/gstutils.c: (get_state_func):
24155           add some debugging
24156         * gstreamer.spec.in:
24157           fix up spec file
24158
24159 2005-09-08  Michael Smith <msmith@fluendo.com>
24160
24161         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
24162         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
24163         (gst_file_src_is_seekable), (gst_file_src_get_size),
24164         (gst_file_src_start):
24165         * gst/elements/gstfilesrc.h:
24166           Various fixes for unseekable, unmmapable, and non-normal files, so
24167           that fallback to read() rather than mmap() works.
24168         * gst/gstevent.c: (gst_event_new_newsegment):
24169           Allow newsegment events with segment_start == segment_end, as will
24170           correctly happen if you use filesrc on a zero-size file, for
24171           example.
24172
24173 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24174
24175         * gst/gstplugin.c: (gst_plugin_load_file):
24176           Call g_module_close when we don't load the module
24177
24178         * gst/registries/gstlibxmlregistry.c:
24179         (gst_xml_registry_get_property):
24180           Port leak fix from 0.8
24181
24182 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24183
24184         * docs/gst/gstreamer-docs.sgml:
24185         * docs/gst/tmpl/.cvsignore:
24186         * docs/gst/tmpl/gsttrace.sgml:
24187         * docs/gst/tmpl/gsttrashstack.sgml:
24188         * gst/Makefile.am:
24189         * gst/gst.h:
24190         * gst/gstelement.h:
24191         * gst/gstevent.h:
24192         * gst/gstmessage.c:
24193         * gst/gstmessage.h:
24194         * gst/gsttag.c:
24195         * gst/gsttag.h:
24196         * gst/gsttaginterface.c:
24197         * gst/gsttaginterface.h:
24198         * gst/gsttaglist.c:
24199         * gst/gsttaglist.h:
24200         * gst/gsttagsetter.c:
24201         * gst/gsttagsetter.h:
24202         * gst/gsttrace.c:
24203         * gst/gsttrace.h:
24204         * gst/gsttrashstack.c:
24205           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
24206           inlined docs for gsttrace, gsttrashstack
24207
24208 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24209
24210         * gst/Makefile.am:
24211         * gst/elements/gstbufferstore.h:
24212         * gst/elements/gsttypefindelement.c:
24213         * gst/elements/gsttypefindelement.h:
24214         * gst/gst.h:
24215         * gst/gsttypefind.c:
24216         * gst/gsttypefind.h:
24217         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
24218         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
24219         (gst_type_find_factory_dispose),
24220         (gst_type_find_factory_unload_thyself),
24221         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
24222         (gst_type_find_factory_get_caps),
24223         (gst_type_find_factory_get_extensions),
24224         (gst_type_find_factory_call_function):
24225         * gst/gsttypefindfactory.h:
24226         * gst/registries/gstlibxmlregistry.c:
24227         * gst/registries/gstxmlregistry.c:
24228           splitted gsttypefind into gsttypefind, gsttypefindfactory
24229
24230 2005-09-07  Andy Wingo  <wingo@pobox.com>
24231
24232         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
24233         condition whereby the pad's task function is entered before the
24234         pad_mode variable was set.
24235
24236 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
24237
24238         * gst/gstpad.c: (gst_pad_alloc_buffer):
24239           Catch misbehaving pad_alloc functions that don't
24240           set up caps and do it for them.
24241
24242 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
24243
24244         * check/pipelines/simple_launch_lines.c: (run_pipeline):
24245           test for pipe!=NULL
24246         * docs/gst/tmpl/.cvsignore:
24247         * docs/gst/tmpl/gstmemchunk.sgml:
24248         * docs/gst/tmpl/gstparse.sgml:
24249         * docs/gst/tmpl/gsttaglist.sgml:
24250         * docs/gst/tmpl/gsttagsetter.sgml:
24251         * docs/gst/tmpl/gsttypefind.sgml:
24252         * docs/gst/tmpl/gsttypefindfactory.sgml:
24253         * gst/gstmemchunk.c:
24254         * gst/gstparse.c:
24255         * gst/gsttag.c:
24256         * gst/gsttaginterface.c:
24257         * gst/gsttypefind.c:
24258         * gst/gsttypefind.h:
24259           inlined more docs
24260
24261 === release 0.9.2 ===
24262
24263 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24264
24265         * NEWS:
24266         * RELEASE:
24267         * configure.ac:
24268           releasing 0.9.2, "South"
24269
24270 2005-09-05  Andy Wingo  <wingo@pobox.com>
24271
24272         * gst/registries/gstxmlregistry.h:
24273         * gst/registries/gstxmlregistry.c: Um... resurrect...
24274         
24275         * gst/registries/gstxmlregistry.h:
24276         * gst/registries/gstxmlregistry.c: and update to newer API.
24277         Incidentally they should be a bit faster now that they don't have
24278         to parse the caps.
24279         
24280 2005-09-05  Andy Wingo  <wingo@pobox.com>
24281
24282         * gst/registries/gstxmlregistry.h:
24283         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
24284         replaced by the libxml registry a while back
24285
24286 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24287
24288         * docs/gst/tmpl/gstplugin.sgml:
24289         * gst/elements/gstelements.c:
24290         * gst/gst.c:
24291         * gst/gstplugin.c: (gst_plugin_register_func),
24292         (gst_plugin_desc_copy), (gst_plugin_desc_free),
24293         (gst_plugin_get_source):
24294         * gst/gstplugin.h:
24295         * gst/registries/gstlibxmlregistry.c: (load_plugin),
24296         (gst_xml_registry_save_plugin):
24297         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
24298         (gst_xml_registry_save_plugin):
24299         * tools/gst-inspect.c: (print_plugin_info):
24300           add a "source" plugin description field, to represent the source
24301           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
24302           will set it to PACKAGE, which is automake's idea of the name of
24303           the source project.
24304
24305 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24306
24307         * Makefile.am:
24308         * autogen.sh:
24309         * configure.ac:
24310         * docs/Makefile.am:
24311         * docs/faq/Makefile.am:
24312         * docs/gst/tmpl/gstelement.sgml:
24313         * docs/gst/tmpl/gsttypes.sgml:
24314         * docs/htmlinstall.mak:
24315         * docs/manual/Makefile.am:
24316         * docs/pwg/Makefile.am:
24317           reorganize doc build a little
24318           split out docbook and gtk-doc stuff
24319           have two separate --enable's and enable them through autogen
24320           but disable by default in configure (to be similar to other
24321           projects)
24322         * gstreamer.spec.in:
24323           clean up docs install
24324         * po/af.po:
24325         * po/az.po:
24326         * po/ca.po:
24327         * po/cs.po:
24328         * po/de.po:
24329         * po/en_GB.po:
24330         * po/fr.po:
24331         * po/it.po:
24332         * po/nb.po:
24333         * po/nl.po:
24334         * po/ru.po:
24335         * po/sq.po:
24336         * po/sr.po:
24337         * po/sv.po:
24338         * po/tr.po:
24339         * po/uk.po:
24340         * po/vi.po:
24341           translation updates
24342
24343 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
24344
24345         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
24346           Add comment.
24347           
24348         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24349         (gst_fake_sink_change_state):
24350           Make state change function thread-safe.
24351           
24352         * gst/gstpad.c: (gst_pad_alloc_buffer):
24353           Set offset on generic buffer allocated by fallback.
24354
24355 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
24356
24357         * docs/gst/gstreamer-sections.txt:
24358         * docs/gst/tmpl/gstelement.sgml:
24359         * gst/gstpad.c:
24360         * libs/gst/controller/gst-controller.c:
24361         (gst_controlled_property_set_interpolation_mode),
24362         (gst_controlled_property_new),
24363         (gst_controller_find_controlled_property):
24364          run the wingo-magic script against the docs
24365
24366 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24367
24368         * docs/gst/gstreamer-docs.sgml:
24369         * docs/gst/gstreamer-sections.txt:
24370         * docs/gst/tmpl/.cvsignore:
24371         * docs/gst/tmpl/gstelementdetails.sgml:
24372         * docs/gst/tmpl/gstelementfactory.sgml:
24373         * gst/gst.c:
24374         * gst/gstbus.c:
24375         * gst/gstelementfactory.c:
24376         * gst/gstelementfactory.h:
24377           merged elementdetails docs into elementfactory docs
24378           inlined both
24379
24380 2005-09-02  Andy Wingo  <wingo@pobox.com>
24381
24382         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
24383         consider this enum an enum and not a flags.
24384
24385 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24386
24387         * docs/gst/gstreamer-docs.sgml:
24388         * docs/gst/tmpl/.cvsignore:
24389         * docs/gst/tmpl/gstghostpad.sgml:
24390         * docs/gst/tmpl/gstiterator.sgml:
24391         * docs/gst/tmpl/gstmacros.sgml:
24392         * docs/gst/tmpl/gstrealpad.sgml:
24393         * docs/gst/tmpl/gstregistry.sgml:
24394         * docs/gst/tmpl/gstregistrypool.sgml:
24395         * docs/gst/tmpl/gststructure.sgml:
24396         * docs/gst/tmpl/gstsystemclock.sgml:
24397         * docs/gst/tmpl/gsttrace.sgml:
24398         * gst/gstghostpad.c:
24399         * gst/gstmacros.h:
24400         * gst/gstmemchunk.c:
24401         * gst/gstmemchunk.h:
24402         * gst/gstqueue.c:
24403         * gst/gstregistry.c:
24404         * gst/gstregistrypool.c:
24405         * gst/gststructure.c:
24406         * gst/gstsystemclock.c:
24407           more docs inlined
24408
24409 2005-09-02  Andy Wingo  <wingo@pobox.com>
24410
24411         * gst/gstelement.h (GstState): Renamed from GstElementState,
24412         changed to be a normal enum instead of flags.
24413         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
24414         munged to be GST_STATE_CHANGE_*.
24415         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
24416         work with the new state representation.
24417         (GstStateChange): New enumeration of possible state transitions.
24418         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
24419         (GstElementClass::change_state): Pass the GstStateChange along as
24420         an argument. Helps language bindings, so they don't have to use
24421         tricky lock-needing macros like GST_STATE_CHANGE ().
24422
24423         * scripts/update-states (file): New script. Run it on a file to
24424         update it for state naming and API changes. Updates files in
24425         place.
24426
24427         * All files updated for the new API.
24428
24429 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24430
24431         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
24432         * gst/gstutils.c: (gst_util_set_value_from_string),
24433         (gst_util_set_object_arg):
24434           fix a bunch of unchecked return values
24435         * tools/gst-complete.c: (main):
24436         * gstreamer.spec.in:
24437           clean up a little
24438
24439 2005-09-01  Wim Taymans  <wim@fluendo.com>
24440
24441         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24442         (gst_base_sink_event), (gst_base_sink_do_sync),
24443         (gst_base_sink_handle_event):
24444         * gst/base/gstbasesink.h:
24445         Handle newsegments more correctly.
24446
24447         * gst/gstbus.c:
24448         Fix docs.
24449
24450         * gst/gstevent.c: (gst_event_new_newsegment):
24451         A newsegment cannot have a start_time of -1
24452
24453 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
24454
24455         * win32/gstenumtypes.c:
24456         * win32/gstenumtypes.h:
24457           Update
24458
24459 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24460
24461         * libs/gst/controller/gst-controller.c:
24462         (gst_controlled_property_set_interpolation_mode),
24463         (gst_controlled_property_new):
24464          fixed boolean again
24465
24466 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
24467
24468         * docs/faq/gst-uninstalled:
24469           add -good
24470         * gst/gstevent.c:
24471         * gst/gstevent.h:
24472           remove wrong docs
24473         * gst/gstutils.c: (gst_element_link_filtered):
24474         * gst/gstutils.h:
24475           add gst_element_link_filtered
24476
24477 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24478
24479         * docs/gst/gstreamer-docs.sgml:
24480         * docs/gst/gstreamer-sections.txt:
24481         * docs/gst/tmpl/.cvsignore:
24482         * docs/gst/tmpl/gsterror.sgml:
24483         * docs/gst/tmpl/gstfilter.sgml:
24484         * docs/gst/tmpl/gsturihandler.sgml:
24485         * docs/gst/tmpl/gsturitype.sgml:
24486         * docs/gst/tmpl/gstutils.sgml:
24487         * docs/gst/tmpl/gstxml.sgml:
24488         * gst/gsterror.c:
24489         * gst/gsterror.h:
24490         * gst/gstfilter.c:
24491         * gst/gsturi.c:
24492         * gst/gsturitype.c:
24493         * gst/gstutils.c:
24494         * gst/gstxml.c:
24495           inlined more docs, fixed double id-ref
24496
24497 2005-08-31  Wim Taymans  <wim@fluendo.com>
24498
24499         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24500         (gst_base_transform_handle_buffer):
24501         Passthrough elements don't need the caps as they don't care.
24502
24503 2005-08-31  Wim Taymans  <wim@fluendo.com>
24504
24505         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24506         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
24507         Don't leak refcounts on buffers.
24508
24509 2005-08-31  Wim Taymans  <wim@fluendo.com>
24510
24511         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
24512         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24513         (gst_base_transform_chain), (gst_base_transform_change_state):
24514         * gst/base/gstbasetransform.h:
24515         Handle the case where we are not negotiated more gracefully.
24516
24517 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
24518
24519         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
24520         (gst_file_src_map_region):
24521           Set READONLY flag on mmap'ed buffers, otherwise
24522           gst_buffer_make_writable() won't work properly (#314708).
24523
24524 2005-08-31  Wim Taymans  <wim@fluendo.com>
24525
24526         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
24527         passthrough elements can even do inplace on non writable
24528         buffers (as they don't touch them).
24529
24530 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24531
24532         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24533         (gst_test_mono_source_set_property),
24534         (gst_test_mono_source_class_init), (GST_START_TEST),
24535         (gst_controller_suite):
24536           more tests (hehe I have the most)
24537         * gst/gstbus.c:
24538           describe popping messages whenusing mulltiple sources
24539         * libs/gst/controller/gst-controller.c:
24540         (gst_controlled_property_set_interpolation_mode),
24541         (gst_controlled_property_new):
24542         * libs/gst/controller/gst-controller.h:
24543         * libs/gst/controller/gst-interpolation.c:
24544           implement boolean properties
24545
24546 2005-08-31  Wim Taymans  <wim@fluendo.com>
24547
24548         * gst/gstminiobject.c: (gst_mini_object_ref):
24549         Cannot assert that the refcount has to be positive
24550         since a disposed object can be resurrected.
24551
24552 2005-08-31  Wim Taymans  <wim@fluendo.com>
24553
24554         * gst/gstpad.c: (gst_pad_init):
24555         Revert change, need to first fix badly behaving 
24556         apps.
24557
24558 2005-08-30  Wim Taymans  <wim@fluendo.com>
24559
24560         * check/elements/fakesrc.c: (setup_fakesrc):
24561         * check/elements/identity.c: (setup_identity):
24562         Activate pads before using them.
24563
24564 2005-08-30  Wim Taymans  <wim@fluendo.com>
24565
24566         * gst/base/gstadapter.c: (gst_adapter_flush):
24567         Flushing out 0 bytes is ok for this function.
24568
24569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24570         no newsegment gives a warning and sets the start/stop to 
24571         invalid.
24572
24573         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
24574         (gst_base_transform_set_passthrough):
24575         Some debug info.
24576
24577         * gst/gstminiobject.c: (gst_mini_object_ref):
24578         Check refcount here too.
24579
24580         * gst/gstpad.c: (gst_pad_init):
24581         Pads are initially flushing and refusing data.
24582
24583         * gst/gstutils.c: (gst_element_link_pads_filtered):
24584         When adding a capsfilter element make sure it has the
24585         same state as the parent bin.
24586
24587 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24588
24589         * docs/gst/tmpl/.cvsignore:
24590         * docs/gst/tmpl/gstformat.sgml:
24591         * docs/gst/tmpl/gstversion.sgml:
24592         * gst/gstbus.h:
24593         * gst/gstformat.c:
24594         * gst/gstformat.h:
24595         * gst/gstversion.h.in:
24596           more docs and two more inlined
24597
24598 2005-08-30  Wim Taymans  <wim@fluendo.com>
24599
24600         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
24601         Don't sync to clock.
24602
24603 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24604
24605         * docs/gst/gstreamer-sections.txt:
24606           ultral33t func10ns deserve to appear in the docs actually
24607         * docs/gst/tmpl/.cvsignore:
24608         * docs/gst/tmpl/gstcompat.sgml:
24609         * docs/gst/tmpl/gstconfig.sgml:
24610         * gst/check/gstcheck.c:
24611         * gst/gstcompat.h:
24612         * gst/gstconfig.h.in:
24613           inlined more docs
24614
24615 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24616
24617         * docs/gst/tmpl/.cvsignore:
24618         * docs/gst/tmpl/gstquery.sgml:
24619         * docs/gst/tmpl/gstutils.sgml:
24620         * gst/gstquery.c:
24621         * gst/gstquery.h:
24622           inlined and extended docs
24623
24624 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24625
24626         * check/gst-libs/controller.c: (GST_START_TEST),
24627         (gst_controller_suite):
24628           more tests
24629         * docs/gst/tmpl/gstutils.sgml:
24630         * docs/libs/gstreamer-libs-sections.txt:
24631         * docs/libs/tmpl/gstdataprotocol.sgml:
24632           include path fixes
24633         * examples/controller/audio-example.c: (main):
24634           controller example works now
24635         * gst/gstclock.h:
24636           doc fixes
24637         * tools/gst-inspect.c: (print_element_properties_info):
24638           show param spec flags
24639
24640 2005-08-29  Andy Wingo  <wingo@pobox.com>
24641
24642         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
24643
24644 2005-08-28  Andy Wingo  <wingo@pobox.com>
24645
24646         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
24647         as having two arguments instead of just one. Allows superclasses
24648         to access information on subclasses -- see the terrible for() loop
24649         in gtype.c:g_type_create_instance for the reason why. All callers
24650         changed.
24651
24652 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24653
24654         * docs/design/part-messages.txt:
24655           update info
24656         * docs/gst/tmpl/.cvsignore:
24657         * docs/gst/tmpl/gstcaps.sgml:
24658         * docs/gst/tmpl/gstclock.sgml:
24659         * gst/gstbus.c:
24660         * gst/gstcaps.c:
24661         * gst/gstcaps.h:
24662         * gst/gstclock.c:
24663         * gst/gstclock.h:
24664         * gst/gstmessage.c:
24665           added descriptions for bus and message
24666           inline caps and clock docs
24667
24668 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24669
24670         * gst/gstmessage.c:
24671         * gst/gstmessage.h:
24672           doc fixes
24673
24674 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24675
24676         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24677           fix div-by-zero
24678
24679 2005-08-26  Andy Wingo  <wingo@pobox.com>
24680
24681         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
24682         element_set_state's return val.
24683         (test_2_elements): Add test that's been disabled for months.
24684
24685         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
24686         can-activate-pull properties.
24687
24688         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
24689         can-activate-pull properties. Implement is_seekable so fakesrc can
24690         operate in pull mode.
24691
24692         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
24693         properties.
24694         (gst_base_sink_activate, gst_base_sink_activate_pull)
24695         (gst_base_sink_activate_push): Make activation mode choosing work.
24696         Cleanups.
24697         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
24698         is right. Make pull mode work. Post an eos before pausing in pull
24699         mode.
24700         (gst_base_sink_change_state): Pay attention to the core's
24701         change_state() return val.
24702         
24703         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
24704         has-getrange properties. Cleanups.
24705         
24706         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
24707         has_getrange and replace with can_activate_pull and
24708         can_activate_push.
24709
24710         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
24711         locking comments. Remove has_loop, has_chain and replace with
24712         can_activate_pull and can_activate_push.
24713
24714 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
24715
24716         * configure.ac:
24717         * examples/Makefile.am:
24718         * examples/metadata/Makefile.am:
24719         * examples/metadata/read-metadata.c: (message_loop),
24720         (have_pad_handler), (make_pipeline), (print_tag), (main):
24721           Add metadata reading example that loops over a list of filenames,
24722           dumping any tags found.
24723
24724         * gst/gstbus.c: (gst_bus_dispose):
24725         * gst/gstelement.c: (gst_element_dispose):
24726           Release a few potentially-held references in dispose.
24727
24728 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24729
24730         * docs/gst/tmpl/gstminiobject.sgml:
24731           do *not* add tmpl/*.sgml files to CVS!
24732
24733 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24734
24735         * libs/gst/bytestream/.cvsignore:
24736         * libs/gst/bytestream/Makefile.am:
24737         * libs/gst/bytestream/adapter.c:
24738         * libs/gst/bytestream/adapter.h:
24739         * libs/gst/bytestream/bytestream.c:
24740         * libs/gst/bytestream/bytestream.h:
24741         * libs/gst/bytestream/filepad.c:
24742         * libs/gst/bytestream/filepad.h:
24743           removing obsolete files
24744
24745 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24746
24747         * docs/gst/gstreamer-docs.sgml:
24748         * docs/libs/gstreamer-libs-docs.sgml:
24749           disabed additional index entries again, as this makes docs-gen just
24750           slow and they aren't useful yet
24751         * docs/libs/gstreamer-libs-sections.txt:
24752           little -section.txt cleanup for libs
24753
24754 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24755
24756         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24757         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
24758           fix up some debugging
24759         (gst_base_transform_get_unit_size),
24760         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24761         (gst_base_transform_handle_buffer):
24762         * gst/base/gstbasetransform.h:
24763           handle and store timed NEWSEGMENT events so that subclasses that
24764           calculate time by counting samples have a segment_start time they
24765           need to add to their timestamps - see audioresample
24766
24767 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24768
24769         * gst/gstbin.h:
24770           removed ';' from the end of macro defs
24771         * docs/gst/gstreamer-docs.sgml:
24772         * docs/gst/gstreamer-sections.txt:
24773         * docs/gst/tmpl/.cvsignore:
24774         * gst/gstbus.h:
24775         * gst/gstelement.c: (gst_element_class_init),
24776         (gst_element_set_state), (activate_pads),
24777         (gst_element_save_thyself):
24778         * gst/gstevent.c: (gst_event_new_newsegment):
24779         * gst/gstevent.h:
24780         * gst/gstiterator.c:
24781         * gst/gstiterator.h:
24782         * gst/gstpad.c:
24783         * gst/gstprobe.h:
24784         * gst/gstutils.c: (gst_pad_query_convert):
24785         * gst/gstutils.h:
24786           fixed parameter name mismatches between source, header and docs
24787           added some more docs, resolved the last batch of unused elements in
24788           docs (now someone needs to doc them)
24789
24790 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24791
24792         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
24793         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
24794           don't walk through the plugins backwards.  Where is all this
24795           reversed logic coming from ?
24796
24797 2005-08-25  Wim Taymans  <wim@fluendo.com>
24798
24799         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24800         (gst_base_transform_transform_size),
24801         (gst_base_transform_configure_caps),
24802         (gst_base_transform_get_unit_size),
24803         (gst_base_transform_buffer_alloc),
24804         (gst_base_transform_change_state):
24805         * gst/base/gstbasetransform.h:
24806         Cache caps unit_size.
24807         Make sure we cannot negotiate up and downstream at the
24808         same time.
24809
24810 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24811
24812         * gst/gst.c: (init_pre), (init_post):
24813           register the installed plugin path after the env var
24814         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
24815         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
24816           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
24817           directories, so the tests can prefer uninstalled over installed
24818
24819 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24820
24821         * gst/base/gstbasetransform.h:
24822           comment
24823         * gst/gstpad.c:
24824           add to docs
24825
24826 2005-08-25  Wim Taymans  <wim@fluendo.com>
24827
24828         * gst/gstbin.c: (bin_bus_handler):
24829         Be a bit more conservative about the posted message.
24830         
24831         * gst/gstbus.c: (gst_bus_post):
24832         Some cleanups, warn wrong return values.
24833
24834 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
24835
24836         * check/gst/gstbin.c: (GST_START_TEST):
24837         * gst/gstbin.c: (bin_bus_handler):
24838         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24839         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24840         (gst_message_new_warning), (gst_message_new_tag),
24841         (gst_message_new_state_changed), (gst_message_new_segment_start),
24842         (gst_message_new_segment_done), (gst_message_new_custom):
24843         * gst/gstmessage.h:
24844         * tools/gst-launch.c: (event_loop):
24845         * tools/gst-md5sum.c: (event_loop):
24846           Revert unpopular change for GST_MESSAGE_SRC to GObject.
24847
24848 2005-08-25  Wim Taymans  <wim@fluendo.com>
24849
24850         * check/generic/states.c: (GST_START_TEST):
24851         Cleanup can be done at the end.
24852
24853         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
24854         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24855         (gst_task_get_state), (gst_task_start), (gst_task_pause):
24856         Oh boy.. Thanks for finding this, Thomas. 
24857
24858 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24859
24860         * docs/gst/gstreamer.types:
24861           added missing types
24862
24863 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24864
24865         * docs/gst/gstreamer-docs.sgml:
24866         * docs/gst/gstreamer-sections.txt:
24867         * docs/gst/tmpl/.cvsignore:
24868         * gst/gstbin.c:
24869         * gst/gstiterator.c:
24870         * gst/gstutils.c:
24871         * gst/registries/gstxmlregistry.h:
24872           added missing classes and symbols (123 more to go)
24873           removed removed symbols from section file
24874           fixed many doc-comments
24875
24876 2005-08-24  Wim Taymans  <wim@fluendo.com>
24877
24878         * check/generic/states.c: (GST_START_TEST):
24879         Make sure all tasks are stopped.
24880
24881         * check/gst/gstbin.c: (GST_START_TEST):
24882         Unref after usage for proper valgrinding.
24883
24884         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
24885         Really wait for the task to stop before destroying the
24886         mutex.
24887
24888         * gst/gstqueue.c: (gst_queue_sink_activate_push),
24889         (gst_queue_src_activate_push):
24890         Small cleanups. Don't stop the task when we did not start
24891         it.
24892
24893         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
24894         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24895         (gst_task_get_state), (gst_task_start), (gst_task_pause),
24896         (gst_task_join):
24897         * gst/gsttask.h:
24898         Protect the stream lock with the object lock.
24899         Disallow setting the stream lock when running.
24900         Add cleanup_all to wait for the threadpool to finish.
24901         Remove code to autoallocate a mutex if none was provided.
24902         Add _join() to wait for a task to stop.
24903         Protect the thread pool with a global lock.
24904
24905 2005-08-24  Wim Taymans  <wim@fluendo.com>
24906
24907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24908         (gst_base_sink_get_times), (gst_base_sink_do_sync),
24909         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
24910         * gst/base/gstbasesink.h:
24911         Handle newsegment events correctly.
24912         Drop buffers out of the segment range.
24913
24914 2005-08-22  Andy Wingo  <wingo@pobox.com>
24915
24916         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
24917         macro, implements an interface and gstimplementsinterface for a
24918         new type.
24919
24920 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24921
24922         * check/Makefile.am:
24923         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
24924           add a test that does a bunch of state changes on elements
24925           needs some fixing for valgrind
24926         * check/states/sinks.c: (gst_object_suite):
24927           whitespace
24928         * gst/gstcaps.h:
24929           add prototype for gst_caps_is_equal_fixed
24930         * gst/gstplugin.c:
24931         * gst/gstregistrypool.c:
24932           doc fixes
24933
24934 2005-08-24  Andy Wingo  <wingo@pobox.com>
24935
24936         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
24937         convert a negative value. Doesn't make much sense. Mostly this is
24938         here to force callers to ensure -1 maps to -1.
24939
24940 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24941
24942         * docs/pwg/advanced-types.xml:
24943           Well done to Michael for catching my deliberate introduction
24944           of this spelling mistake. 
24945         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
24946         * gst/gstelement.h:
24947           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
24948           unlink pads before removing the element from the bin.
24949
24950 2005-08-24  Andy Wingo  <wingo@pobox.com>
24951
24952         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
24953         the same thing as GST_DEBUG=*:4.
24954         (parse_debug_level, parse_debug_category): New helper parsers.
24955
24956 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24957
24958         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24959         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
24960         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
24961         (gst_base_transform_buffer_alloc),
24962         (gst_base_transform_handle_buffer):
24963           use gboolean return values and pointers to size so we can use the
24964           full GST_BUFFER_SIZE range (guint) for buffer sizes
24965           use GstPadDirection for transform_caps
24966         * gst/base/gstbasetransform.h:
24967           rename get_size to get_unit_size since that's what it is
24968         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
24969           use GstPadDirection for transform_caps
24970         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24971         * gst/gstutils.h:
24972           cleanup and debugging
24973
24974 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24975
24976         * gst/gstelement.c: (gst_element_class_init),
24977         (gst_element_set_state), (activate_pads),
24978         (gst_element_save_thyself):
24979         * tools/gst-compprep.c: (main):
24980         * tools/gst-inspect.c: (print_element_properties_info):
24981         * tools/gst-xmlinspect.c: (print_element_properties):
24982           Fixed long standing mem-leak
24983
24984 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24985
24986         * check/gst/gstbin.c: (GST_START_TEST):
24987         * gst/gstbin.c: (bin_bus_handler):
24988         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24989         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24990         (gst_message_new_warning), (gst_message_new_tag),
24991         (gst_message_new_state_changed), (gst_message_new_segment_start),
24992         (gst_message_new_segment_done), (gst_message_new_custom):
24993         * gst/gstmessage.h:
24994         * tools/gst-launch.c: (event_loop):
24995         * tools/gst-md5sum.c: (event_loop):
24996           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
24997           that applications can sensibly post custom messages with references
24998           to their own objects.
24999
25000 2005-08-24  Andy Wingo  <wingo@pobox.com>
25001
25002         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
25003         already.
25004
25005 2005-08-24  Wim Taymans  <wim@fluendo.com>
25006
25007         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25008         (gst_base_transform_transform_caps),
25009         (gst_base_transform_transform_size),
25010         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25011         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25012         (gst_base_transform_handle_buffer):
25013         * gst/base/gstbasetransform.h:
25014         Many fixes and new features added by Thomas. Can now also do
25015         transforms with variable sizes and a custom fixate_caps function.
25016
25017 2005-08-24  Wim Taymans  <wim@fluendo.com>
25018
25019         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25020         Some debugging.
25021
25022         * gst/gstclock.h:
25023         Cast to ClockTime before formatting to time.
25024
25025         * gst/gstutils.h:
25026         Cleanups.
25027
25028 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
25029
25030         * check/gst-libs/controller.c: (GST_START_TEST),
25031         (gst_controller_suite):
25032         * docs/gst/tmpl/gstcaps.sgml:
25033         * docs/gst/tmpl/gstghostpad.sgml:
25034         * docs/gst/tmpl/gstquery.sgml:
25035         * docs/gst/tmpl/gstutils.sgml:
25036         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
25037         (gst_object_sink_values), (gst_object_get_value_arrays),
25038         (gst_object_get_value_array):
25039           gracefully handle helper method calls to objects that are not beeing
25040           controlled, added test case for that          
25041
25042 2005-08-23  Wim Taymans  <wim@fluendo.com>
25043
25044         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
25045         (gst_event_new_newsegment), (gst_event_parse_newsegment),
25046         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
25047         (gst_event_parse_qos), (gst_event_new_seek),
25048         (gst_event_parse_seek):
25049         * gst/gstevent.h:
25050         Some more debugging output and doc cleanups.
25051
25052         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25053         Fix possible deadlock.
25054
25055 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25056
25057         * docs/gst/gstreamer-docs.sgml:
25058         * docs/gst/gstreamer-sections.txt:
25059         * docs/gst/gstreamer.types:
25060         * docs/gst/tmpl/.cvsignore:
25061         * gst/gstbin.h:
25062         * gst/gstbus.c:
25063         * gst/gstelement.c:
25064         * gst/gstevent.h:
25065           added 100 symbols from gstreamer-unused.txt to the right sections
25066           fixed more broken comments
25067           added GstBus to docs
25068
25069 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25070
25071         * docs/gst/gstreamer-sections.txt:
25072         * docs/gst/tmpl/.cvsignore:
25073         * docs/gst/tmpl/gstbin.sgml:
25074         * docs/gst/tmpl/gstbuffer.sgml:
25075         * gst/base/gstbasesrc.c:
25076         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
25077         * gst/gstbuffer.c:
25078         * gst/gstbuffer.h:
25079         * tools/gst-launch.1.in:
25080           inlined more doc comments, added missing comments and fixed comments
25081           fixed typos
25082
25083 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25084
25085         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
25086           some debugging
25087         * gst/gstcaps.h:
25088           whitespace fixes
25089         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
25090           more debugging
25091         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
25092         * gst/gststructure.h:
25093           add a fixate function for booleans; add a FIXME that these func
25094           names should probably be gst_structure_fixate_*
25095
25096 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
25097
25098         * docs/gst/gstreamer-docs.sgml:
25099         * docs/gst/gstreamer-sections.txt:
25100         * gst/Makefile.am:
25101         * gst/gstbin.c: (gst_bin_get_type),
25102         (gst_bin_child_proxy_get_child_by_index),
25103         (gst_bin_child_proxy_get_children_count),
25104         (gst_bin_child_proxy_init):
25105         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
25106         (gst_child_proxy_get_child_by_index),
25107         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
25108         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
25109         (gst_child_proxy_get), (gst_child_proxy_set_property),
25110         (gst_child_proxy_set_valist), (gst_child_proxy_set),
25111         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
25112         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
25113         * gst/gstchildproxy.h:
25114         * gst/parse/grammar.y:
25115         * tools/gst-inspect.c: (print_interfaces),
25116         (print_element_properties_info), (print_element_info):
25117           ported gstchildproxy over from 0.8
25118           ported gst-inspect fixes and enhancements over from 0.8
25119
25120 2005-08-22  Wim Taymans  <wim@fluendo.com>
25121
25122         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25123         (gst_base_transform_handle_buffer):
25124         Also call the transform function if we have ANY caps.
25125
25126         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
25127         Fix debug info.
25128
25129 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25130
25131         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
25132           Don't pretend to handle seek events if the source is not seekable
25133
25134 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
25135
25136         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25137           Remove extra parameter to debug output
25138
25139         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25140         (gst_base_src_do_seek), (gst_base_src_activate_push):
25141           Fix seek event handling.
25142
25143         * gst/gstpipeline.c: (gst_pipeline_change_state):
25144         * gst/gstqueue.c: (gst_queue_handle_sink_event),
25145         (gst_queue_src_activate_push):
25146           Don't start the src pad task on FLUSH_STOP if the pad
25147           isn't linked.
25148           Debug changes.
25149
25150 2005-08-22  Wim Taymans  <wim@fluendo.com>
25151
25152         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
25153         Added check for gst_static_caps_get() refcounting.
25154
25155 2005-08-22  Wim Taymans  <wim@fluendo.com>
25156
25157         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
25158         Make _static_caps_get() refcounting sane.
25159         
25160         * gst/gstelement.c: (gst_element_set_state):
25161         Add g_return_val_if_fail() to protect against segfaults.
25162
25163 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
25164
25165         * docs/gst/tmpl/gstevent.sgml:
25166         * gst/gstevent.c:
25167         * gst/gstevent.h:
25168           inlined remaining docs, added missing doc comments
25169
25170 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25171
25172         * check/gst/gstbin.c: (GST_START_TEST):
25173           since we don't know when preroll is done, use refcount range
25174           check for the sink
25175         * gst/check/gstcheck.h:
25176           add macro for checking refcount range
25177
25178 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25179
25180         * check/Makefile.am:
25181           clean up environment for when registry gets built versus
25182           when actual tests are run; valgrind seems to not report
25183           leaks if GST_PLUGIN_PATH is set to some specific values
25184         * check/gst/gstbin.c: (GST_START_TEST):
25185           add more refcounting checks; maybe this exposes a
25186           preroll lock bug ?
25187         * common/check.mak:
25188         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25189         * gst/check/gstcheck.h:
25190         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
25191         (gst_bin_change_state):
25192         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
25193           add/fix debugging/whitespace
25194
25195 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25196
25197         * check/gst/gstevent.c: (event_probe), (test_event),
25198         (GST_START_TEST):
25199          Er, don't call gst_bin_watch_for_state_change you idiot.
25200
25201 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
25202
25203         * check/Makefile.am:
25204           Use CHECK_CFLAGS and CHECK_LIBS
25205         * check/gst/gstevent.c: (event_probe), (test_event),
25206         (GST_START_TEST):
25207           Don't leak events.
25208         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25209         (gst_base_src_start), (gst_base_src_stop),
25210         (gst_base_src_activate_push), (gst_base_src_activate_pull),
25211         (gst_base_src_change_state):
25212           Sprinkle gst_base_src_stop liberally around error paths to fix
25213           problems reusing a source after failed state changes.
25214         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25215         (helper_find_suggest), (gst_type_find_helper):
25216           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
25217         * gst/gstevent.h:
25218         * docs/gst/tmpl/gstevent.sgml:
25219           Migrate part of the docs from the SGML file. Wait for ensonic to
25220           tell me how I did it wrong ;)
25221         * tools/gst-typefind.c: (main):
25222           Extra robustness to state changes between files.
25223
25224 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25225
25226         * check/Makefile.am:
25227           don't valgrind the controller test - it's leaking - Stefan, HELP
25228         * gst/check/gstcheck.c: (gst_check_message_error),
25229         (gst_check_chain_func), (gst_check_setup_element),
25230         (gst_check_teardown_element), (gst_check_setup_src_pad),
25231         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
25232         (gst_check_teardown_sink_pad):
25233         * gst/check/gstcheck.h:
25234           add a bunch of methods to set up elements, and src and sink pads
25235         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
25236         * check/elements/identity.c: (setup_identity), (cleanup_identity),
25237         (GST_START_TEST):
25238           use them
25239         * gst/gstmessage.c:
25240         * gst/gsttag.h:
25241           whitespace/doc fixes
25242
25243 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25244
25245         * gst/gstelement.h:
25246           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
25247           be handled by the application and not always printed as well
25248
25249 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25250
25251         * check/Makefile.am:
25252           set GST_TOOLS_DIR
25253         * gst/check/gstcheck.c: (gst_check_message_error):
25254         * gst/check/gstcheck.h:
25255           add a fail_unless_equals_int
25256           add fail_unless for error messages
25257
25258 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25259
25260         * check/Makefile.am:
25261         * check/gst.supp:
25262         * common/Makefile.am:
25263         * common/check.mak:
25264         * common/gst.supp:
25265           factor out some of the common stuff so we can use it
25266
25267 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25268
25269         * check/Makefile.am:
25270         * check/gst/gstiterator.c: (GST_START_TEST):
25271         * check/gst/gstsystemclock.c: (GST_START_TEST),
25272         (gst_systemclock_suite):
25273         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
25274         * gst/gstclock.c:
25275           valgrind more tests
25276
25277 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25278
25279         * check/elements/.cvsignore:
25280         * check/elements/gstfakesrc.c:
25281           rename to name of element
25282         * check/elements/identity.c: (chain_func), (event_func),
25283         (setup_identity), (cleanup_identity), (GST_START_TEST),
25284         (identity_suite), (main):
25285           add a test for identity
25286         * check/Makefile.am:
25287         * pkgconfig/Makefile.am:
25288         * pkgconfig/gstreamer-check.pc.in:
25289         * pkgconfig/gstreamer-check-uninstalled.pc.in:
25290         * gst/check:
25291         * gst/Makefile.am:
25292         * configure.ac:
25293           move the check stuff to a library that gets installed
25294         * check/gst-libs/controller.c: (GST_START_TEST):
25295         * check/gst-libs/gdp.c:
25296         * check/gst/gst.c: (GST_START_TEST):
25297         * check/gst/gstbin.c:
25298         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25299         * check/gst/gstbus.c:
25300         * check/gst/gstcaps.c: (GST_START_TEST):
25301         * check/gst/gstelement.c:
25302         * check/gst/gstghostpad.c:
25303         * check/gst/gstiterator.c:
25304         * check/gst/gstmessage.c:
25305         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
25306         * check/gst/gstobject.c:
25307         * check/gst/gstpad.c: (GST_START_TEST):
25308         * check/gst/gststructure.c: (GST_START_TEST):
25309         * check/gst/gstsystemclock.c: (GST_START_TEST),
25310         (gst_systemclock_suite):
25311         * check/gst/gsttag.c: (gst_tag_suite):
25312         * check/gst/gstvalue.c:
25313         * check/pipelines/cleanup.c:
25314         * check/pipelines/simple_launch_lines.c:
25315         * check/states/sinks.c:
25316           change include statement
25317
25318         * docs/gst/gstreamer-sections.txt:
25319         * docs/gst/tmpl/gstpad.sgml:
25320           document more pad stuff
25321         * gst/gstminiobject.c: (gst_mini_object_ref),
25322         (gst_mini_object_unref):
25323           debug refcounting
25324
25325 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
25326
25327         * docs/gst/tmpl/gst.sgml:
25328         * gst/gst.c:
25329           eliminate another tmpl file, fix spelling in the long-description
25330
25331 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25332
25333         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25334         (test_event), (timediff), (gstevents_suite):
25335           Should fix build on 64-bit arch's
25336
25337 2005-08-18  Andy Wingo  <wingo@pobox.com>
25338
25339         Make sure that when a pipeline goes to PLAYING, that data has
25340         actually hit the sink.
25341
25342         * check/states/sinks.c (test_sink): A sink that doesn't get any
25343         data shouldn't return SUCCESS for going to either PLAYING or
25344         PAUSED. Test also the return values on the way back down.
25345
25346         * gst/gstelement.c (gst_element_set_state): When changing the
25347         state of an element currently changing state asynchronously, go to
25348         lost-state after commiting the pending state. Makes future calls
25349         to get_state continue to return ASYNC.
25350
25351         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
25352         ASYNC when going to PLAYING if we still don't have preroll, as can
25353         happen with live sources.
25354
25355 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25356
25357         * docs/pwg/advanced-types.xml:
25358           Hack long paragraph into 2 chunks as a workaround for buggy
25359           jadetex version in sid and breezy that loops infinitely and
25360           eats all RAM.
25361
25362 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25363
25364         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25365         (test_event), (timediff), (gstevents_suite):
25366           Provide more error margin in clock measurements to allow for 
25367           g_get_current_time inaccuracies.
25368
25369 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25370
25371         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25372         (test_event), (timediff), (gstevents_suite):
25373            Fix error message output so I might be able to tell why the
25374            test works here but fails on the build farm.
25375
25376 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25377
25378         * check/Makefile.am:
25379         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25380         (test_event), (timediff), (gstevents_suite), (main):
25381           I wrote a test!
25382
25383         * docs/design/part-seeking.txt:
25384           Spelling correction
25385
25386         * docs/gst/tmpl/gstevent.sgml:
25387         * docs/gst/tmpl/gstfakesrc.sgml:
25388           Docs updates.
25389
25390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25391           Treat a buffer-without-newsegment the same as a receiving 
25392           a newsegment not in time format, and disable syncing to the clock
25393           with a warning.
25394
25395         * gst/gstbus.c: (gst_bus_set_sync_handler):
25396           Assert if anyone tries to replace the existing sync_handler for bus, 
25397           as only the owner should be setting it.
25398
25399         * gst/gstevent.h:
25400           Have a fixed set of custom event enums with events identified by
25401           their structure name (as in 0.8), rather than a free-for-all
25402           allowing collisions between enum values from different plugins.
25403
25404         * gst/gstpad.c: (gst_pad_class_init):
25405           Docs change.
25406           
25407         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25408           Handle out-of-band downstream events from the sending thread.
25409
25410 2005-08-17  Andy Wingo  <wingo@pobox.com>
25411
25412         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
25413         play-timeout==0 to mean no timeout at all. In that case, don't
25414         bother with a get_state or a warning, just return directly, even
25415         if it's ASYNC.
25416
25417         * gst/base/gstbasetransform.c: Debug changes.
25418
25419         * gst/gstutils.h:
25420         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
25421         ensure bins post state change messages. A bit of a hack but I can't
25422         think of a way to avoid it.
25423
25424         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
25425
25426 2005-08-16  Andy Wingo  <wingo@pobox.com>
25427
25428         * gst/base/gstadapter.h:
25429         * gst/base/gstadapter.c (gst_adapter_take): New function, like
25430         peek() but you own the data. Not terribly efficient atm.
25431
25432 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25433
25434         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
25435         (gst_element_found_tags):
25436         * gst/gstutils.h:
25437           Add two utility functions for tag handling.
25438
25439 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25440
25441         * docs/manual/advanced-dataaccess.xml:
25442         * docs/manual/basics-helloworld.xml:
25443           Fix docs to use _bin_add() before _link(), which fixes the examples
25444           with recent core versions (reported by Madhan Raj M
25445           <raj_madan@rediffmail.com>, #313199).
25446
25447 2005-08-16  Wim Taymans  <wim@fluendo.com>
25448
25449         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25450         Added subtract checks.
25451
25452         * docs/design/part-events.txt:
25453         Some more docs about newsegment
25454
25455         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25456         Fix FIXME
25457
25458         * gst/gstcaps.c: (gst_caps_to_string):
25459         Add comments, cleanups.
25460         
25461         * gst/gstelement.c: (gst_element_save_thyself):
25462         cleanups
25463         
25464         * gst/gstvalue.c: (gst_value_collect_int_range),
25465         (gst_string_unwrap), (gst_value_union_int_int_range),
25466         (gst_value_union_int_range_int_range),
25467         (gst_value_intersect_int_int_range),
25468         (gst_value_intersect_int_range_int_range),
25469         (gst_value_intersect_double_double_range),
25470         (gst_value_intersect_double_range_double_range),
25471         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
25472         (gst_value_subtract_int_range_int),
25473         (gst_value_subtract_double_range_double),
25474         (gst_value_subtract_double_range_double_range),
25475         (gst_value_subtract_from_list), (gst_value_subtract_list),
25476         (gst_value_can_compare), (gst_value_compare_fraction):
25477         Cleanups, add comments, remove unneeded asserts.
25478
25479 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25480
25481         * tools/gst-launch.c: (event_loop):
25482           don't convert NULL structures to strings
25483
25484 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
25485
25486         * docs/gst/gstreamer-sections.txt:
25487           made some defines private
25488         * docs/gst/tmpl/gstconfig.sgml:
25489         * docs/gst/tmpl/gstqueue.sgml:
25490         * docs/gst/tmpl/gsttaglist.sgml:
25491         * docs/gst/tmpl/gsttypes.sgml:
25492         * docs/gst/tmpl/gstutils.sgml:
25493         * docs/pwg/appendix-porting.xml:
25494         * gst/base/gstbasesink.h:
25495         * gst/base/gstbasesrc.c:
25496         * gst/base/gstbasesrc.h:
25497         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
25498         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
25499         * gst/gstelement.c: (gst_element_class_init):
25500         * gst/gstpad.c: (gst_pad_class_init):
25501         * gst/gstqueue.c: (gst_queue_class_init):
25502         * gst/gstxml.c: (gst_xml_class_init):
25503           documented all undocumented signal inline
25504         * libs/gst/controller/gst-controller.h:
25505           added padding
25506
25507 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25508
25509         * docs/pwg/appendix-porting.xml:
25510           Document _set_link_function -> _set_setcaps_function.
25511
25512 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25513
25514         * check/Makefile.am:
25515           add a .check target for running the check
25516         * check/gst-libs/controller.c: (GST_START_TEST):
25517           cosmetic fixups
25518         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25519           complete checks for gstbuffer; would be nice if I could get the
25520           gcov stuff to work so I can see if I actually completed gstbuffer.c
25521         * check/gstcheck.h:
25522           add ASSERT_BUFFER_REFCOUNT
25523
25524 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
25525
25526         * docs/gst/gstreamer-sections.txt:
25527         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
25528         * gst/gsttag.h:
25529           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
25530           spew out a warning if a tag that is already registered
25531           is re-registered, unless it is re-registered with a 
25532           different type (#308438).
25533
25534 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
25535
25536         * docs/pwg/appendix-porting.xml:
25537         * docs/pwg/building-state.xml:
25538           Add some paragraphs about state changes in 0.9 to the PWG
25539           and the porting guide, in particular about the new meaning
25540           of GST_STATE_PAUSED and how to write state change functions
25541           with concurrent access by multiple threads in mind.
25542
25543 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
25544
25545         * docs/gst/gstreamer-docs.sgml:
25546         * docs/libs/gstreamer-libs-docs.sgml:
25547           added deprecation and since indexes
25548         * libs/gst/controller/gst-controller.c:
25549         * libs/gst/controller/gst-helper.c:
25550           added since tags
25551
25552
25553 2005-08-11  Wim Taymans  <wim@fluendo.com>
25554
25555         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
25556         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
25557         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
25558         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
25559         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
25560         (gst_ghost_pad_set_target):
25561         Actually implement (re)setting the target on a ghostpad
25562         as described in the docs.
25563
25564 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25565
25566         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
25567           Check whether GST_DEBUG_NO_COLOR environment variable is
25568           set and disable coloured debug output if that is the case.
25569
25570 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25571
25572         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25573         (gst_type_find_helper):
25574           The memory returned by gst_type_find_peek() needs to
25575           stay valid until the end of a typefind function, and
25576           typefind functions may keep results from different 
25577           offsets around, so we can't just unref the buffer from
25578           the previous _peek(), but have to save all buffers 
25579           returned by _peek() until typefinding is done and only
25580           free them then.
25581
25582 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
25583
25584         * docs/gst/gstreamer-sections.txt:
25585         * gst/gstutils.h:
25586           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
25587
25588 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25589
25590         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
25591           Fix a pretty good memleak.
25592
25593 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25594
25595         * gst/gstiterator.h:
25596           Fix wrong include and 'make distcheck'.
25597
25598 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25599
25600         * gst/gstbin.c: (bin_bus_handler):
25601           Use gst_element_post_message() instead.
25602
25603 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25604
25605         * gst/base/gstadapter.h:
25606         * gst/base/gstbasesink.h:
25607         * gst/base/gstbasesrc.h:
25608         * gst/base/gstbasetransform.h:
25609         * gst/base/gstcollectpads.h:
25610         * gst/base/gstpushsrc.h:
25611         * gst/gstiterator.h:
25612           Add padding to our base elements' class and instance structs and
25613           to GstIterator (you will need to rebuild all plugins and apps!)
25614
25615 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25616
25617         * gst/gstbin.c: (bin_bus_handler):
25618           Make default message forwarding from child->bus to bin->bus
25619           threadsafe and make it not emit warnings if the parent has no bus.
25620
25621 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25622
25623         * gst/gstelement.c: (activate_pads):
25624           On paused->ready, set pad->caps to NULL, as is the documented
25625           behaviour in this state change. Fixes playback of series of
25626           media files when visualization is enabled in Totem.
25627
25628 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25629
25630         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25631           Allow NULL as filter-caps (which means "any").
25632
25633 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25634
25635         * docs/libs/gstreamer-libs-sections.txt:
25636         * libs/gst/controller/gst-controller.c:
25637         * libs/gst/controller/gst-controller.h:
25638         * libs/gst/controller/gst-helper.c:
25639           adding more entries to the docs and fix small doc-bugs
25640
25641 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25642
25643         * docs/gst/gstreamer-docs.sgml:
25644         * docs/gst/gstreamer-sections.txt:
25645         * docs/gst/gstreamer.types:
25646         * docs/gst/tmpl/gstbasesink.sgml:
25647         * docs/gst/tmpl/gstbasesrc.sgml:
25648         * docs/gst/tmpl/gstbasetransform.sgml:
25649         * docs/gst/tmpl/gstfakesrc.sgml:
25650         * gst/base/gstcollectpads.c:
25651         * gst/base/gstcollectpads.h:
25652         * libs/gst/controller/gst-controller.c:
25653         * libs/gst/controller/gst-controller.h:
25654         * libs/gst/controller/gst-helper.c:
25655         * libs/gst/controller/gst-interpolation.c:
25656         * libs/gst/controller/lib.c:
25657           added long/short desc for controller docs
25658           added collectpads base class docs
25659           added correct includes to base-class docs
25660
25661 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25662
25663         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25664         (gst_test_mono_source_set_property),
25665         (gst_test_mono_source_class_init), (GST_START_TEST),
25666         (gst_controller_suite):
25667         * docs/gst/gstreamer-docs.sgml:
25668         * docs/gst/gstreamer-sections.txt:
25669         * docs/gst/gstreamer.types:
25670         * docs/libs/gstreamer-libs-docs.sgml:
25671         * docs/libs/gstreamer-libs-sections.txt:
25672         * gst/base/gstadapter.c:
25673         * libs/gst/controller/gst-controller.c:
25674         (gst_controlled_property_new), (gst_controlled_property_free),
25675         (gst_controller_new_valist),
25676         (gst_controller_remove_properties_valist),
25677         (gst_controller_sink_values), (_gst_controller_finalize):
25678         * libs/gst/controller/gst-controller.h:
25679         * libs/gst/controller/gst-helper.c:
25680         (gst_object_control_properties), (gst_object_uncontrol_properties),
25681         (gst_object_get_controller), (gst_object_set_controller),
25682         (gst_object_sink_values), (gst_object_get_value_arrays),
25683         (gst_object_get_value_array):
25684           more tests (and fixes) for the controller
25685           more docs for the controller
25686           integrated companies docs for the adapter 
25687
25688 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
25689
25690         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
25691         (GST_START_TEST), (fakesrc_suite):
25692           add tests for sizetype
25693
25694 2005-08-04  Andy Wingo  <wingo@pobox.com>
25695
25696         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
25697         fixes buffer_alloc proxying among other things.
25698
25699         * gst/base/gstbasetransform.c:
25700         * gst/base/gstbasetransform.h:
25701         Revert patch to gstbasetransform from 7-28 removing
25702         delay_configure.
25703
25704         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
25705         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
25706         Semantics changed, should return not the size of the output buffer
25707         but the byte size of a buffer with a given caps.
25708
25709         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
25710         debug object.
25711         (gst_base_transform_configure_caps): Don't set out_size here: (in,
25712         out) are not the pad caps until setcaps finishes.
25713         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
25714         not-in-place case as well. Deal with changing from in-place to
25715         not-in-place within calling pad_alloc_buffer. Still a bit
25716         concerned about the overhead here...
25717
25718 2005-08-03  Andy Wingo  <wingo@pobox.com>
25719
25720         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
25721         fixating is an error.
25722
25723 2005-08-04  Edward Hervey  <edward@fluendo.com>
25724
25725         * gst/base/gstadapter.h: 
25726         Added gst_adapter_get_type() to the header
25727
25728 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25729
25730         * check/Makefile.am:
25731         * check/gst-libs/controller.c:
25732         * libs/gst/controller/gst-controller.c:
25733         (gst_controller_new_valist):
25734           added check test suite for the controller
25735         * gst/base/gstpushsrc.c:
25736           fixed a doc typo
25737
25738 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25739
25740         * docs/gst/Makefile.am:
25741         * docs/gst/gstreamer-docs.sgml:
25742         * docs/gst/gstreamer-sections.txt:
25743         * docs/gst/gstreamer.types:
25744         * docs/gst/tmpl/gstfakesrc.sgml:
25745         * gst/base/README:
25746         * gst/base/gstbasesink.c:
25747         * gst/base/gstbasesink.h:
25748         * gst/base/gstbasesrc.c:
25749         * gst/base/gstbasesrc.h:
25750         * gst/base/gstbasetransform.c:
25751         * gst/base/gstpushsrc.c:
25752         * gst/base/gstpushsrc.h:
25753           add short/long description docs to base classes
25754           add pushsrc to the docs
25755           remove consolidated doc fragments
25756
25757 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25758
25759         * configure.ac:
25760         * docs/libs/Makefile.am:
25761         * docs/libs/gstreamer-libs-docs.sgml:
25762         * docs/libs/gstreamer-libs-sections.txt:
25763         * docs/libs/gstreamer-libs.types:
25764         * examples/Makefile.am:
25765         * examples/controller/.cvsignore:
25766         * examples/controller/Makefile.am:
25767         * examples/controller/audio-example.c: (main):
25768         * libs/gst/Makefile.am:
25769         * libs/gst/controller/.cvsignore:
25770         * libs/gst/controller/Makefile.am:
25771         * libs/gst/controller/gst-controller.c:
25772         (on_object_controlled_property_changed), (gst_timed_value_compare),
25773         (gst_timed_value_find),
25774         (gst_controlled_property_set_interpolation_mode),
25775         (gst_controlled_property_new), (gst_controlled_property_free),
25776         (gst_controller_find_controlled_property),
25777         (gst_controller_new_valist), (gst_controller_new),
25778         (gst_controller_remove_properties_valist),
25779         (gst_controller_remove_properties), (gst_controller_set),
25780         (gst_controller_set_from_list), (gst_controller_unset),
25781         (gst_controller_get), (gst_controller_get_all),
25782         (gst_controller_sink_values), (gst_controller_get_value_arrays),
25783         (gst_controller_get_value_array),
25784         (gst_controller_set_interpolation_mode),
25785         (_gst_controller_finalize), (_gst_controller_init),
25786         (_gst_controller_class_init), (gst_controller_get_type):
25787         * libs/gst/controller/gst-controller.h:
25788         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
25789         (g_object_uncontrol_properties), (g_object_get_controller),
25790         (g_object_set_controller), (g_object_sink_values),
25791         (g_object_get_value_arrays), (g_object_get_value_array):
25792         * libs/gst/controller/gst-interpolation.c:
25793         (gst_controlled_property_find_timed_value_node),
25794         (interpolate_none_get), (interpolate_trigger_get),
25795         (interpolate_trigger_get_value_array):
25796         * libs/gst/controller/lib.c: (gst_controller_init):
25797         * pkgconfig/Makefile.am:
25798         * pkgconfig/gstreamer-control-uninstalled.pc.in:
25799         * pkgconfig/gstreamer-control.pc.in:
25800         * testsuite/Makefile.am:
25801         * testsuite/controller/.cvsignore:
25802         * testsuite/controller/Makefile.am:
25803         * testsuite/controller/interpolator.c: (main):
25804           added controller code
25805           removed dparam pc files
25806
25807 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25808         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
25809         (gst_collectpads_stop):
25810           Broadcast the condition when shutting down, to make sure we wake all
25811           threads up. Shut down pads on finalize, for safety.
25812
25813 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25814         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25815         (gst_base_transform_handle_buffer),
25816         (gst_base_transform_change_state):
25817           Handle PAUSED->READY->PAUSED transition after negotiation
25818           occurred already.
25819         * gst/gstmessage.c: (gst_message_init):
25820           Extra piece of debug for new messages.
25821
25822 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
25823
25824         * configure.ac:
25825         * docs/gst/tmpl/gstbasesrc.sgml:
25826         * docs/gst/tmpl/gstelement.sgml:
25827         * docs/gst/tmpl/gstevent.sgml:
25828         * docs/gst/tmpl/gstfakesrc.sgml:
25829         * docs/gst/tmpl/gstformat.sgml:
25830         * docs/gst/tmpl/gstghostpad.sgml:
25831         * docs/gst/tmpl/gstpad.sgml:
25832         * docs/gst/tmpl/gstquery.sgml:
25833         * docs/gst/tmpl/gststructure.sgml:
25834         * docs/gst/tmpl/gsttaglist.sgml:
25835         * docs/gst/tmpl/gstvalue.sgml:
25836         * docs/libs/gstreamer-libs-docs.sgml:
25837         * docs/libs/gstreamer-libs-sections.txt:
25838         * docs/libs/gstreamer-libs.types:
25839         * libs/gst/Makefile.am:
25840         * libs/gst/control/.cvsignore:
25841         * libs/gst/control/Makefile.am:
25842         * libs/gst/control/control.c:
25843         * libs/gst/control/control.h:
25844         * libs/gst/control/dparam.c:
25845         * libs/gst/control/dparam.h:
25846         * libs/gst/control/dparam_smooth.c:
25847         * libs/gst/control/dparam_smooth.h:
25848         * libs/gst/control/dparamcommon.h:
25849         * libs/gst/control/dparammanager.c:
25850         * libs/gst/control/dparammanager.h:
25851         * libs/gst/control/dplinearinterp.c:
25852         * libs/gst/control/dplinearinterp.h:
25853         * libs/gst/control/unitconvert.c:
25854         * libs/gst/control/unitconvert.h:
25855         * testsuite/Makefile.am:
25856         * testsuite/dynparams/.cvsignore:
25857         * testsuite/dynparams/Makefile.am:
25858         * testsuite/dynparams/dparamstest.c:
25859         * tools/Makefile.am:
25860         * tools/gst-inspect.c: (print_element_info), (main):
25861         * tools/gst-xmlinspect.c: (print_element_info), (main):
25862           deactivate and remove dparams (libgstcontrol)
25863
25864 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25865
25866         * gst/elements/gsttypefindelement.c:
25867         (gst_type_find_element_have_type), (gst_type_find_element_init),
25868         (stop_typefinding), (gst_type_find_element_handle_event),
25869         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25870         * gst/elements/gsttypefindelement.h:
25871           Set caps on all outgoing buffers, not just the first one.
25872
25873 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25874
25875         * gst/elements/gsttypefindelement.c:
25876         (gst_type_find_element_have_type),
25877         (gst_type_find_element_check_set_buffer_caps),
25878         (gst_type_find_element_init), (stop_typefinding),
25879         (gst_type_find_element_handle_event),
25880         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25881         * gst/elements/gsttypefindelement.h:
25882           Set caps on first outgoing buffer when we've found the type.
25883
25884 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25885
25886         * docs/gst/gstreamer-docs.sgml:
25887         * docs/gst/gstreamer-sections.txt:
25888         * docs/gst/tmpl/gstscheduler.sgml:
25889         * docs/gst/tmpl/gstschedulerfactory.sgml:
25890           Remove some old cruft from docs.
25891
25892 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
25893
25894         * gst/gstpad.h:
25895           Fix inline docs for GstPadLinkReturn.
25896           
25897         * gst/gststructure.c: (gst_structure_has_name):
25898         * gst/gststructure.h:
25899         * docs/gst/gstreamer-sections.txt:
25900           New API: gst_structure_has_name().
25901
25902 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
25903
25904         * configure.ac:
25905           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
25906           and _LARGEFILE_SOURCE in config.h as required. Do not 
25907           export those flags in our .pc files any longer (#142209).
25908
25909           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
25910
25911         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
25912         (gst_file_sink_do_seek), (gst_file_sink_event),
25913         (gst_file_sink_get_current_offset), (gst_file_sink_render):
25914           Redo seek/tell calls with large file support in mind; add some
25915           debugging messages; add log message that tells us when large
25916           file support is unavailable or not enabled for some reason.
25917
25918         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
25919           Add log message that tells us when large file support 
25920           is unavailable or not enabled for some reason.
25921
25922 2005-07-29  Wim Taymans  <wim@fluendo.com>
25923
25924         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25925         Added test for removing an element with ghostpad from a bin.
25926         Fixed test as current implementation does the right thing.
25927
25928         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
25929         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
25930         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
25931         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
25932         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
25933         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
25934         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
25935         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25936         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
25937         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
25938         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
25939         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
25940         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
25941         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
25942         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
25943         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
25944         * gst/gstghostpad.h:
25945         Clean up ghostpads, remove properties for internal stuff.
25946         Make threadsafe.
25947         Fix refcounting.
25948         Prepare for switching targets, not all use cases work yet.
25949
25950 2005-07-29  Wim Taymans  <wim@fluendo.com>
25951
25952         * docs/design/part-gstghostpad.txt:
25953         Small update.
25954
25955         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25956         (gst_bin_remove_func):
25957         Unlinking pads while holding the bin LOCK is not a good
25958         idea.
25959
25960         * gst/gstpad.c: (gst_pad_class_init),
25961         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
25962         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
25963         No prob setting template after creating the pad.
25964
25965 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
25966
25967         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
25968         (gst_bus_peek), (gst_bus_source_dispatch),
25969         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
25970         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
25971           gst_bus_poll may be called from other threads. Handle
25972           this nicely by not making poll_data disappear off the
25973           stack once gst_bus_poll returns.
25974           gst_bus_peek now increments the refcount on the returned
25975           message.
25976
25977 2005-07-29  Wim Taymans  <wim@fluendo.com>
25978
25979         * docs/design/part-gstghostpad.txt:
25980         Overview of current GhostPad datastructures and use
25981         cases for changing the target.
25982
25983 2005-07-28  Wim Taymans  <wim@fluendo.com>
25984
25985         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25986         Added checks for hierarchy consistency whan adding linked
25987         elements to bins.
25988
25989         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25990         Added check to test element scheduling without bin/pipeline.
25991
25992         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25993         First add elements to bin, then link.
25994         
25995         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25996         (gst_bin_remove_func):
25997         Unlink pads from elements added/removed from bin to maintain
25998         hierarchy consistency.
25999
26000 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26001
26002         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26003         (gst_base_transform_handle_buffer):
26004         * gst/base/gstbasetransform.h:
26005           Remove broken delay_configure (fixes renegotiation of software
26006           scaling pipelines); remove some leftover printf()s.
26007
26008 2005-07-28  Wim Taymans  <wim@fluendo.com>
26009
26010         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
26011         Added some more tests for wrong hierarchy
26012
26013         * docs/design/part-overview.txt:
26014         Some updates.
26015
26016         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
26017         Cleanups.
26018
26019         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
26020         (gst_element_dispose):
26021         Some more cleanups.
26022
26023         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
26024         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
26025         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26026         (gst_pad_set_caps), (gst_pad_send_event):
26027         Check for correct hierarchy when linking pads. Moving to
26028         strict requirement for ghostpads when linking elements in
26029         different bins.
26030
26031         * gst/gstpad.h:
26032         Clean ups. Added WRONG_HIERARCHY return value.
26033
26034 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26035
26036         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26037           Better debug if no transform is possible.
26038
26039 2005-07-27  Wim Taymans  <wim@fluendo.com>
26040
26041         * docs/random/wtay/network-transp:
26042         Some old doc I had.
26043
26044 2005-07-27  Wim Taymans  <wim@fluendo.com>
26045
26046         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26047         (gst_dp_event_from_packet):
26048         Fix serialization of seek events.
26049
26050 2005-07-27  Wim Taymans  <wim@fluendo.com>
26051
26052         * check/gst-libs/gdp.c: (GST_START_TEST):
26053         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26054         Fix compilation and fix event serialization.
26055
26056 2005-07-27  Wim Taymans  <wim@fluendo.com>
26057
26058         * CHANGES-0.9:
26059         * docs/design/part-TODO.txt:
26060         * docs/design/part-events.txt:
26061         Some docs updates
26062
26063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26064         (gst_base_sink_event), (gst_base_sink_do_sync),
26065         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26066         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26067         (gst_base_src_do_seek), (gst_base_src_event_handler),
26068         (gst_base_src_loop):
26069         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26070         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26071         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26072         (gst_base_transform_event), (gst_base_transform_handle_buffer),
26073         (gst_base_transform_set_passthrough),
26074         (gst_base_transform_is_passthrough):
26075         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
26076         * gst/elements/gstfilesink.c: (gst_file_sink_event):
26077         Event updates.
26078
26079         * gst/gstbuffer.h:
26080         Use faster casts.
26081
26082         * gst/gstelement.c: (gst_element_seek):
26083         * gst/gstelement.h:
26084         Update gst_element_seek.
26085
26086         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
26087         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
26088         (gst_event_new_flush_start), (gst_event_new_flush_stop),
26089         (gst_event_new_eos), (gst_event_new_newsegment),
26090         (gst_event_parse_newsegment), (gst_event_new_tag),
26091         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
26092         (gst_event_parse_qos), (gst_event_new_seek),
26093         (gst_event_parse_seek), (gst_event_new_navigation):
26094         * gst/gstevent.h:
26095         Make GstEvent use GstStructure. Add parsing code, make sure the
26096         API is sufficiently generic.
26097         Mark possible directions of events and serialization.
26098
26099         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
26100         (_gst_message_copy), (gst_message_new_segment_start),
26101         (gst_message_new_segment_done), (gst_message_new_custom),
26102         (gst_message_parse_segment_start),
26103         (gst_message_parse_segment_done):
26104         Small cleanups.
26105
26106         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26107         (gst_pad_set_caps), (gst_pad_send_event):
26108         Update for new events. 
26109         Catch events sent in wrong directions.
26110
26111         * gst/gstqueue.c: (gst_queue_link_src),
26112         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26113         (gst_queue_handle_src_query):
26114         Event updates.
26115
26116         * gst/gsttag.c:
26117         * gst/gsttag.h:
26118         Remove event code from this file.
26119
26120         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
26121         (gst_dp_event_from_packet):
26122         Event updates.
26123
26124 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26125
26126         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
26127         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26128         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
26129           Make debugging actually useful.
26130
26131 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26132
26133         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
26134         (gst_pad_fixate_caps):
26135           Implement default fixation once again, so that gst_pad_fixate()
26136           actually does anything at all. This probably needs to be some
26137           sort of a last resort, and use profile-based fixation first, but
26138           since that doesn't exist yet, this is the best we have. Fixes
26139           visualization in Totem.
26140
26141 2005-07-22  Wim Taymans  <wim@fluendo.com>
26142
26143         * docs/design/part-events.txt:
26144         Small update.
26145
26146         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26147         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
26148         (gst_base_sink_activate_pull):
26149         Some more comments.
26150
26151         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
26152         (gst_fake_src_create):
26153         Fix handoff marshall.
26154
26155         * gst/elements/gstidentity.c: (gst_identity_class_init),
26156         (gst_identity_transform_ip):
26157         We're a real inplace element.
26158
26159         * gst/gstbus.c: (gst_bus_post):
26160         Added some comments.
26161
26162         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
26163         * tests/muxing/case1.c: (main):
26164         * tests/sched/dynamic-pipeline.c: (main):
26165         * tests/sched/interrupt1.c: (main):
26166         * tests/sched/interrupt2.c: (main):
26167         * tests/sched/interrupt3.c: (main):
26168         * tests/sched/runxml.c: (main):
26169         * tests/sched/sched-stress.c: (main):
26170         * tests/seeking/seeking1.c: (event_received), (main):
26171         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
26172         (main):
26173         * tests/threadstate/threadstate3.c: (main):
26174         * tests/threadstate/threadstate4.c: (main):
26175         * tests/threadstate/threadstate5.c: (main):
26176         Fix the tests.
26177
26178 2005-07-21  Wim Taymans  <wim@fluendo.com>
26179
26180         * docs/design/part-seeking.txt:
26181         Some small additions.
26182
26183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26184         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26185         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
26186         * gst/base/gstbasesink.h:
26187         discont values are gint64, handle the math correctly.
26188
26189         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26190         Make the basesrc report error if the source pad is not linked.
26191
26192         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
26193         (gst_queue_loop), (gst_queue_handle_src_query),
26194         (gst_queue_src_activate_push):
26195         Make queue collect data even if the srcpad is not linked.
26196         Start pushing out data as soon as it is linked.
26197
26198         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
26199         * gst/gstutils.h:
26200         Added gst_flow_get_name() to ease error reporting.
26201
26202 2005-07-20  Wim Taymans  <wim@fluendo.com>
26203
26204         * gst/gstmessage.c: (gst_message_new_segment_start),
26205         (gst_message_new_segment_done), (gst_message_parse_segment_start),
26206         (gst_message_parse_segment_done):
26207         * gst/gstmessage.h:
26208         Added a bunch of messages for advanced seeking.
26209
26210         * gst/parse/grammar.y:
26211         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
26212         (gst_dpman_state_changed):
26213         Fix some new-pad -> pad-added signals
26214
26215 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26216
26217         * docs/manual/appendix-porting.xml:
26218         * docs/pwg/appendix-porting.xml:
26219           Document new-pad/state-change signal renames and the FixedList
26220           type rename.
26221
26222 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26223
26224         * docs/manual/advanced-autoplugging.xml:
26225         * docs/manual/basics-helloworld.xml:
26226         * docs/manual/basics-pads.xml:
26227         * docs/random/ds/0.9-suggested-changes:
26228         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
26229         * gst/gstelement.h:
26230         * gst/gstevent.h:
26231         * gst/gstformat.h:
26232         * gst/gstquery.h:
26233         * gst/gststructure.c: (gst_structure_value_get_generic_type),
26234         (gst_structure_parse_array), (gst_structure_parse_value):
26235         * gst/gstvalue.c: (gst_type_is_fixed),
26236         (gst_value_list_prepend_value), (gst_value_list_append_value),
26237         (gst_value_list_get_size), (gst_value_list_get_value),
26238         (gst_value_transform_array_string), (gst_value_serialize_array),
26239         (gst_value_deserialize_array), (gst_value_intersect_array),
26240         (gst_value_is_fixed), (_gst_value_initialize):
26241         * gst/gstvalue.h:
26242           GstElement::new-pad -> pad-added, GstElement::state-change ->
26243           state-changed, GstValueFixedList -> GstValueArray, add format and
26244           flags as their own arguments in gst_element_seek() (should improve
26245           "bindeability"), remove function generators since they don't work
26246           under a whole bunch of compilers (they were deprecated already
26247           anyway).
26248
26249 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26250
26251         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
26252         (_gst_debug_register_funcptr):
26253         * gst/gstinfo.h:
26254           Fix illegal cast on some platforms (#309253).
26255
26256 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26257
26258         * gst/gstmessage.c: (gst_message_new_custom):
26259         * gst/gstmessage.h:
26260           Add _new_custom, make _new_application a macro to _new_custom.
26261
26262 2005-07-20  Wim Taymans  <wim@fluendo.com>
26263
26264         * gst/base/gstbasesrc.c: (gst_base_src_init),
26265         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
26266         * gst/base/gstbasesrc.h:
26267         Add a gboolean to decide when to push out a discont.
26268
26269         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26270         (gst_queue_loop), (gst_queue_handle_src_query),
26271         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
26272         (gst_queue_set_property), (gst_queue_get_property):
26273         Some cleanups.
26274
26275         * tests/threadstate/threadstate1.c: (main):
26276         Make a thread test compile and run... very silly..
26277
26278
26279 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26280
26281         * docs/manual/appendix-porting.xml:
26282           Mention removal of libgstgconf-0.9.la and existence of gconf
26283           elements.
26284
26285 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26286
26287         * docs/pwg/advanced-clock.xml:
26288         * docs/pwg/appendix-porting.xml:
26289         * docs/pwg/intro-preface.xml:
26290         * docs/pwg/other-base.xml:
26291         * docs/pwg/other-manager.xml:
26292         * docs/pwg/other-nton.xml:
26293         * docs/pwg/other-ntoone.xml:
26294         * docs/pwg/other-oneton.xml:
26295         * docs/pwg/pwg.xml:
26296           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
26297           demuxer), remove n-to-n (was never written), fix some code examples
26298           and links and update the porting section to include all this.
26299
26300 2005-07-19  Wim Taymans  <wim@fluendo.com>
26301
26302         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
26303         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
26304         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
26305         (gst_queue_src_activate_push), (gst_queue_change_state),
26306         (gst_queue_get_property):
26307         * gst/gstqueue.h:
26308         Propagate GstFlowReturn more intelligently upstream and output
26309         an ERROR/EOS when streaming stopped due to fatal error.
26310
26311 2005-07-19  Wim Taymans  <wim@fluendo.com>
26312
26313         * tools/gst-launch.c: (check_intr), (event_loop), (main):
26314         Don't block forever for the state change to complete, the
26315         pipeline already did with a sensible timeout.
26316
26317 2005-07-19  Wim Taymans  <wim@fluendo.com>
26318
26319         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
26320         Make sure we never call the create function is we
26321         got deactivated.
26322
26323 2005-07-19  Andy Wingo  <wingo@pobox.com>
26324
26325         * gst/parse/parse.l: Attempt to solve bug #172815.
26326
26327 2005-07-19  Wim Taymans  <wim@fluendo.com>
26328
26329         * docs/design/part-clocks.txt:
26330         * docs/design/part-events.txt:
26331         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
26332         Small docs updates.
26333         Only update the seeking values when we are not
26334         busy streaming.
26335
26336 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
26337
26338         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26339           Oops, ignore the result of gst_pad_push_event here.
26340
26341 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
26342
26343         * gst/base/gstbasesrc.c: (gst_base_src_loop),
26344         (gst_base_src_activate_push):
26345           Send discont event from the loop function, as pads
26346           aren't activated yet in the activate_push handler.
26347
26348         * gst/gstbin.c: (bin_bus_handler):
26349           Don't leak element name.
26350
26351 2005-07-18  Andy Wingo  <wingo@pobox.com>
26352
26353         * configure.ac: Use AS_LIBTOOL_TAGS.
26354
26355 2005-07-18  Wim Taymans  <wim@fluendo.com>
26356
26357         * docs/gst/gstreamer.types:
26358         Remove deleted types.
26359
26360 2005-07-18  Wim Taymans  <wim@fluendo.com>
26361
26362         * check/elements/gstfakesrc.c: (GST_START_TEST):
26363         * configure.ac:
26364         * gst/Makefile.am:
26365         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
26366         (init_popt_callback):
26367         * gst/gst.h:
26368         * gst/gst_private.h:
26369         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
26370         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
26371         * gst/gstbin.h:
26372         * gst/gstbus.h:
26373         * gst/gstconfig.h.in:
26374         * gst/gstelement.c: (gst_element_class_init),
26375         (gst_element_set_base_time), (gst_element_get_base_time),
26376         (iterator_fold_with_resync), (gst_element_change_state),
26377         (gst_element_dispose), (gst_element_get_bus):
26378         * gst/gstelement.h:
26379         * gst/gstelementfactory.h:
26380         * gst/gsterror.c: (_gst_core_errors_init):
26381         * gst/gsterror.h:
26382         * gst/gstevent.h:
26383         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26384         * gst/gstindex.c:
26385         * gst/gstinfo.c: (_gst_debug_init):
26386         * gst/gstmessage.c: (_gst_message_copy):
26387         * gst/gstmessage.h:
26388         * gst/gstminiobject.h:
26389         * gst/gstobject.c:
26390         * gst/gstobject.h:
26391         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26392         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
26393         * gst/gstpad.h:
26394         * gst/gstparse.h:
26395         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26396         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26397         (gst_pipeline_get_last_stream_time):
26398         * gst/gstpipeline.h:
26399         * gst/gstpluginfeature.h:
26400         * gst/gstquery.h:
26401         * gst/gstscheduler.c:
26402         * gst/gstscheduler.h:
26403         * gst/gststructure.h:
26404         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26405         (gst_task_finalize), (gst_task_func), (gst_task_create),
26406         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
26407         (gst_task_stop), (gst_task_pause):
26408         * gst/gsttask.h:
26409         * gst/gsttypefind.h:
26410         * gst/gsttypes.h:
26411         * gst/registries/gstlibxmlregistry.c: (load_feature),
26412         (gst_xml_registry_load), (gst_xml_registry_save_feature):
26413         * gst/registries/gstxmlregistry.c:
26414         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
26415         * gst/schedulers/threadscheduler.c:
26416         * libs/gst/control/dparammanager.h:
26417         * tools/gst-inspect.c: (print_element_list),
26418         (print_plugin_features), (print_element_features):
26419         * tools/gst-xmlinspect.c: (print_element_list),
26420         (print_plugin_info), (main):
26421         Removed plugable schedulers.
26422         Removed Scheduler/Manager from elements.
26423         Removed gsttypes.h, rearranged includes.
26424         Removed dependency pad<->element, element<>pipeline, and
26425         various others,  fix includes.
26426         implement gst_pad_get_parent() with gst_object_get_parent()
26427         Make GstTask sefcontained.
26428         Fix _get_state() on GstBin, it did not return ASYNC with a 0
26429         timeout.
26430         Fix endless loop in iterator_fold_with_resync.
26431
26432
26433 2005-07-18  Wim Taymans  <wim@fluendo.com>
26434
26435         * gst/Makefile.am:
26436         * gst/gstarch.h:
26437         Remove old file.
26438
26439 2005-07-18  Wim Taymans  <wim@fluendo.com>
26440
26441         * gst/Makefile.am:
26442         No more cothreads.h
26443
26444 2005-07-18  Wim Taymans  <wim@fluendo.com>
26445
26446         * gst/cothreads.c:
26447         * gst/cothreads.h:
26448         Let's remove these.
26449
26450 2005-07-18  Wim Taymans  <wim@fluendo.com>
26451
26452         * docs/design/part-dynamic.txt:
26453         * docs/design/part-events.txt:
26454         * docs/design/part-seeking.txt:
26455         Some more docs in the works.
26456
26457         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26458         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
26459         (gst_base_transform_setcaps), (gst_base_transform_get_size),
26460         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26461         (gst_base_transform_handle_buffer),
26462         (gst_base_transform_sink_activate_push),
26463         (gst_base_transform_src_activate_pull),
26464         (gst_base_transform_set_passthrough),
26465         (gst_base_transform_is_passthrough):
26466         Refcounting fixes.
26467
26468         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
26469         Cleanups.
26470
26471         * gst/gstevent.c: (gst_event_finalize):
26472         Set SRC to NULL.
26473
26474         * gst/gstutils.c: (gst_element_unlink),
26475         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
26476         (gst_pad_proxy_setcaps):
26477         * gst/gstutils.h:
26478         Add _get_parent_element() to get a pads parent as an element.
26479
26480 2005-07-18  Wim Taymans  <wim@fluendo.com>
26481
26482         * check/gst/gstbin.c: (GST_START_TEST):
26483         Remove bogus test.
26484
26485 2005-07-18  Wim Taymans  <wim@fluendo.com>
26486
26487         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26488         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26489         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26490         (gst_base_sink_event), (gst_base_sink_do_sync),
26491         (gst_base_sink_chain), (gst_base_sink_loop),
26492         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
26493         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
26494         Refcounting fixes.
26495         Fix logic for returning ASYNC when not prerolled.
26496
26497 2005-07-18  Wim Taymans  <wim@fluendo.com>
26498
26499         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26500         Fix nasty refcount bug.
26501
26502 2005-07-16 Philippe Khalaf <burger@speedy.org>
26503
26504         * gst/elements/gstfdsrc.c:
26505         * gst/elements/gstfdsrc.h:
26506         * gst/elements/gstelements.c:
26507         * gst/elements/Makefile.am:
26508         Ported fdsrc to 0.9.
26509
26510 2005-07-16  Wim Taymans  <wim@fluendo.com>
26511
26512         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26513         (gst_base_sink_do_sync):
26514         Fix compile error.
26515
26516 2005-07-16  Wim Taymans  <wim@fluendo.com>
26517
26518         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26519         (gst_base_sink_event), (gst_base_sink_get_times),
26520         (gst_base_sink_do_sync), (gst_base_sink_change_state):
26521         * gst/base/gstbasesink.h:
26522         Store and use discont values when syncing buffers as described
26523         in design docs.
26524         
26525         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26526         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
26527         (gst_base_src_activate_push):
26528         Push discont event when starting.
26529
26530         * gst/elements/gstidentity.c: (gst_identity_transform):
26531         Small cleanups.
26532
26533         * gst/gstbin.c: (gst_bin_change_state):
26534         Small cleanups in base_time  distribution.
26535
26536         * gst/gstelement.c: (gst_element_set_base_time),
26537         (gst_element_get_base_time), (gst_element_change_state):
26538         * gst/gstelement.h:
26539         Added methods for the base_time of the element.
26540         Some MT fixes.
26541
26542         * gst/gstpipeline.c: (gst_pipeline_send_event),
26543         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26544         (gst_pipeline_get_last_stream_time):
26545         * gst/gstpipeline.h:
26546         MT fixes.
26547         Handle seeking as described in design doc, remove stream_time
26548         hack.
26549         Cleanups clock and stream_time selection code. Added accessors
26550         for the stream_time.
26551         
26552
26553 2005-07-16  Andy Wingo  <wingo@pobox.com>
26554
26555         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
26556         (#305291).
26557
26558 2005-07-16  Wim Taymans  <wim@fluendo.com>
26559
26560         * check/gst/gstbin.c: (GST_START_TEST):
26561         Make elements silent as the deep_notify refs the
26562         parent, which might make the test fail.
26563
26564         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26565         Don't hold the lock for too long.
26566
26567 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
26568
26569         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
26570           Don't unref the caps we passed to gst_caps_make_writable() after
26571           passing them. gst_caps_make_writable() will do that for us.
26572
26573 2005-07-15  Andy Wingo  <wingo@pobox.com>
26574
26575         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
26576         (#157311).
26577
26578         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
26579         own marshalling function for the handoff signal. Properly type the
26580         buffer as a buffer. Fixes some warnings. Should do a more general
26581         solution.
26582         (gst_identity_class_init): Plug into the right marshaller.
26583
26584 2005-07-15  Wim Taymans  <wim@fluendo.com>
26585
26586         * docs/design/part-TODO.txt:
26587         * docs/design/part-clocks.txt:
26588         * docs/design/part-element-sink.txt:
26589         * docs/design/part-events.txt:
26590         * docs/design/part-gstpipeline.txt:
26591         Updated docs, mostly DISCONT related.
26592
26593 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
26594
26595         * docs/pwg/building-pads.xml:
26596           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
26597
26598 2005-07-15  Andy Wingo  <wingo@pobox.com>
26599
26600         * tools/gst-typefind.c: Update, add copyright block.
26601
26602         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
26603         Normalize and truncate caps before fixation.
26604
26605         * gst/gstcaps.h:
26606         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
26607         discards all but the first structure from its argument.
26608
26609 2005-07-15  Wim Taymans  <wim@fluendo.com>
26610
26611         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26612         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
26613         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26614         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26615         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
26616         (gst_base_transform_chain), (gst_base_transform_change_state),
26617         (gst_base_transform_set_passthrough),
26618         (gst_base_transform_is_passthrough):
26619         * gst/base/gstbasetransform.h:
26620         Make passthrough work using the bufferpools.
26621         Changed API a bit, subclasses have to write into a buffer
26622         provided by the base class.
26623         More debug info in nego functions.
26624         
26625         * gst/elements/gstidentity.c: (gst_identity_init),
26626         (gst_identity_transform):
26627         Port to new base class.
26628
26629 2005-07-15  Wim Taymans  <wim@fluendo.com>
26630
26631         * gst/gstmessage.c: (gst_message_new_state_changed):
26632         * tools/gst-launch.c: (event_loop), (main):
26633         Totally dump messages in -launch with the -m option.
26634         Fix message name for State messages,
26635
26636 2005-07-14  Wim Taymans  <wim@fluendo.com>
26637
26638         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26639         Post error messages on errors.
26640
26641 2005-07-14  Wim Taymans  <wim@fluendo.com>
26642
26643         * gst/gstcaps.c: (gst_caps_do_simplify):
26644         Remove debug info.
26645
26646         * gst/gsterror.h:
26647         Define error for stream stopped.
26648
26649         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26650         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
26651         Do proper return values.
26652
26653         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26654         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
26655         (gst_pad_get_range):
26656         Better return values.
26657
26658         * gst/gstpad.h:
26659         Reorganise return values, add macro to check for fatal errors.
26660
26661         * gst/gstqueue.c: (gst_queue_chain):
26662         Return proper GstFlowReturn values,
26663
26664 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
26665
26666         * docs/gst/gstreamer-sections.txt:
26667         * docs/gst/gstreamer.types:
26668         * docs/gst/tmpl/gst.sgml:
26669         * docs/gst/tmpl/gstbasesink.sgml:
26670         * docs/gst/tmpl/gstbasesrc.sgml:
26671         * docs/gst/tmpl/gstbasetransform.sgml:
26672         * docs/gst/tmpl/gstbin.sgml:
26673         * docs/gst/tmpl/gstbuffer.sgml:
26674         * docs/gst/tmpl/gstcaps.sgml:
26675         * docs/gst/tmpl/gstclock.sgml:
26676         * docs/gst/tmpl/gstcompat.sgml:
26677         * docs/gst/tmpl/gstconfig.sgml:
26678         * docs/gst/tmpl/gstelement.sgml:
26679         * docs/gst/tmpl/gstelementdetails.sgml:
26680         * docs/gst/tmpl/gstelementfactory.sgml:
26681         * docs/gst/tmpl/gstenumtypes.sgml:
26682         * docs/gst/tmpl/gsterror.sgml:
26683         * docs/gst/tmpl/gstevent.sgml:
26684         * docs/gst/tmpl/gstfakesink.sgml:
26685         * docs/gst/tmpl/gstfakesrc.sgml:
26686         * docs/gst/tmpl/gstfilesink.sgml:
26687         * docs/gst/tmpl/gstfilesrc.sgml:
26688         * docs/gst/tmpl/gstfilter.sgml:
26689         * docs/gst/tmpl/gstformat.sgml:
26690         * docs/gst/tmpl/gstghostpad.sgml:
26691         * docs/gst/tmpl/gstimplementsinterface.sgml:
26692         * docs/gst/tmpl/gstindex.sgml:
26693         * docs/gst/tmpl/gstindexfactory.sgml:
26694         * docs/gst/tmpl/gstinfo.sgml:
26695         * docs/gst/tmpl/gstiterator.sgml:
26696         * docs/gst/tmpl/gstmacros.sgml:
26697         * docs/gst/tmpl/gstmemchunk.sgml:
26698         * docs/gst/tmpl/gstminiobject.sgml:
26699         * docs/gst/tmpl/gstobject.sgml:
26700         * docs/gst/tmpl/gstpad.sgml:
26701         * docs/gst/tmpl/gstpadtemplate.sgml:
26702         * docs/gst/tmpl/gstparse.sgml:
26703         * docs/gst/tmpl/gstpipeline.sgml:
26704         * docs/gst/tmpl/gstplugin.sgml:
26705         * docs/gst/tmpl/gstpluginfeature.sgml:
26706         * docs/gst/tmpl/gstquery.sgml:
26707         * docs/gst/tmpl/gstqueue.sgml:
26708         * docs/gst/tmpl/gstregistry.sgml:
26709         * docs/gst/tmpl/gstregistrypool.sgml:
26710         * docs/gst/tmpl/gstscheduler.sgml:
26711         * docs/gst/tmpl/gstschedulerfactory.sgml:
26712         * docs/gst/tmpl/gststructure.sgml:
26713         * docs/gst/tmpl/gstsystemclock.sgml:
26714         * docs/gst/tmpl/gsttaglist.sgml:
26715         * docs/gst/tmpl/gsttagsetter.sgml:
26716         * docs/gst/tmpl/gsttrace.sgml:
26717         * docs/gst/tmpl/gsttrashstack.sgml:
26718         * docs/gst/tmpl/gsttypefind.sgml:
26719         * docs/gst/tmpl/gsttypefindfactory.sgml:
26720         * docs/gst/tmpl/gsttypes.sgml:
26721         * docs/gst/tmpl/gsturihandler.sgml:
26722         * docs/gst/tmpl/gsturitype.sgml:
26723         * docs/gst/tmpl/gstutils.sgml:
26724         * docs/gst/tmpl/gstvalue.sgml:
26725         * docs/gst/tmpl/gstversion.sgml:
26726         * docs/gst/tmpl/gstxml.sgml:
26727         * docs/libs/tmpl/gstcontrol.sgml:
26728         * docs/libs/tmpl/gstdataprotocol.sgml:
26729         * docs/libs/tmpl/gstdparam.sgml:
26730         * docs/libs/tmpl/gstdplinint.sgml:
26731         * docs/libs/tmpl/gstdpman.sgml:
26732         * docs/libs/tmpl/gstdpsmooth.sgml:
26733         * docs/libs/tmpl/gstgetbits.sgml:
26734         * docs/libs/tmpl/gstunitconvert.sgml:
26735         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
26736         (gst_push_src_base_init), (gst_push_src_class_init),
26737         (gst_push_src_init), (gst_push_src_create):
26738         * gst/base/gstpushsrc.h:
26739         * gst/elements/gstelements.c:
26740         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
26741         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
26742         (gst_fake_sink_init), (gst_fake_sink_set_property),
26743         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
26744         (gst_fake_sink_event), (gst_fake_sink_preroll),
26745         (gst_fake_sink_render), (gst_fake_sink_change_state):
26746         * gst/elements/gstfakesink.h:
26747         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
26748         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
26749         (gst_fake_src_base_init), (gst_fake_src_class_init),
26750         (gst_fake_src_init), (gst_fake_src_event_handler),
26751         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
26752         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
26753         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
26754         (gst_fake_src_create_buffer), (gst_fake_src_create),
26755         (gst_fake_src_start), (gst_fake_src_stop):
26756         * gst/elements/gstfakesrc.h:
26757         * gst/elements/gstfilesink.c: (_do_init),
26758         (gst_file_sink_base_init), (gst_file_sink_class_init),
26759         (gst_file_sink_init), (gst_file_sink_dispose),
26760         (gst_file_sink_set_location), (gst_file_sink_set_property),
26761         (gst_file_sink_get_property), (gst_file_sink_open_file),
26762         (gst_file_sink_close_file), (gst_file_sink_query),
26763         (gst_file_sink_event), (gst_file_sink_render),
26764         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
26765         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
26766         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
26767         * gst/elements/gstfilesink.h:
26768         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
26769         (gst_file_src_class_init), (gst_file_src_init),
26770         (gst_file_src_finalize), (gst_file_src_set_location),
26771         (gst_file_src_set_property), (gst_file_src_get_property),
26772         (gst_file_src_map_region), (gst_file_src_map_small_region),
26773         (gst_file_src_create_mmap), (gst_file_src_create_read),
26774         (gst_file_src_create), (gst_file_src_is_seekable),
26775         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
26776         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
26777         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
26778         (gst_file_src_uri_handler_init):
26779         * gst/elements/gstfilesrc.h:
26780           more autistic cleanliness in functions/names/defines
26781
26782 2005-07-13  Andy Wingo  <wingo@pobox.com>
26783
26784         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
26785         source couldn't negotiate.
26786
26787         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
26788         connections again.
26789
26790         * gst/gstutils.h:
26791         * gst/gstutils.c (gst_element_link_pads_filtered): New old
26792         function. I am channeling Hades. Put your boots on suckers!!!
26793
26794 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
26795
26796         * testsuite/caps/Makefile.am:
26797         * testsuite/caps/value_compare.c:
26798         * testsuite/caps/value_intersect.c:
26799         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26800           move two testsuite apps over to the check dir
26801
26802 2005-07-12  Wim Taymans  <wim@fluendo.com>
26803
26804         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26805         Added more debug info in the negotiate process.
26806
26807         * gst/gstmessage.h:
26808         Prepare for segment playback.
26809
26810         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
26811         Better debugging.
26812
26813         * gst/gstutils.c:
26814         Some more docs.
26815
26816         * tools/gst-launch.c: (main):
26817         NULL pipeline on errors.
26818
26819 2005-07-12  Andy Wingo  <wingo@pobox.com>
26820
26821         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
26822         not it comes from a malloc region. Make sure our copy gets freed.
26823
26824 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26825
26826         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26827         * check/gst/gstmessage.c: (GST_START_TEST):
26828         * check/gst/gststructure.c: (GST_START_TEST),
26829         (gst_structure_suite), (main):
26830           more testing
26831         * gst/gstelement.c: (gst_element_message_full):
26832           clean up GError and debug string now that they get copied
26833         * gst/gstmessage.c: (gst_message_new_error),
26834         (gst_message_new_warning), (gst_message_parse_error),
26835         (gst_message_parse_warning):
26836           use GST_TYPE_G_ERROR for structure_new, and take copies of
26837           arguments, so that we don't mess up refcounting
26838
26839 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26840
26841         * check/Makefile.am:
26842           add per-test valgrind targets
26843         * check/gst-libs/gdp.c: (GST_START_TEST),
26844         (gst_data_protocol_suite), (main):
26845           clean up
26846
26847 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26848
26849         * check/Makefile.am:
26850           instate more valgrindable tests
26851         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26852         (GST_START_TEST), (fakesrc_suite):
26853         * check/gst/gstpad.c: (GST_START_TEST):
26854         * check/gst/gststructure.c: (GST_START_TEST):
26855           fix test leaks
26856         * docs/gst/tmpl/gstminiobject.sgml:
26857         * gst/gstpad.c: (gst_pad_finalize):
26858           fix the static mutex leak
26859
26860 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26861
26862         * check/Makefile.am:
26863           add two more tests for valgrinding
26864         * check/gst/gstvalue.c: (GST_START_TEST):
26865           test refcount of deserialized buffer, found a leak
26866         * docs/gst/gstreamer-docs.sgml:
26867         * docs/gst/gstreamer-sections.txt:
26868         * docs/gst/gstreamer.types:
26869         * docs/gst/tmpl/gstminiobject.sgml:
26870           add miniobject to docs
26871         * gst/gstminiobject.c:
26872           add some docs
26873         * gst/gstvalue.c: (gst_value_deserialize_buffer),
26874         (gst_string_unwrap):
26875           fix a hard-to-find invalid write for one of the tests
26876           fix a leak for deserialized buffers
26877
26878 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26879
26880         * docs/pwg/advanced-events.xml:
26881         * docs/pwg/advanced-request.xml:
26882         * docs/pwg/advanced-scheduling.xml:
26883         * docs/pwg/appendix-porting.xml:
26884         * docs/pwg/building-boiler.xml:
26885         * docs/pwg/intro-preface.xml:
26886         * docs/pwg/other-ntoone.xml:
26887           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
26888           of example code and explanation for pad activation, loop() and
26889           getrange() functions and a bit more. Remove old comments pointing
26890           to loop-functions.
26891         * examples/pwg/Makefile.am:
26892           Add loop/getrange examples.
26893
26894 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26895
26896         * configure.ac:
26897           check for valgrind binary + some fixes
26898         * check/gst.supp:
26899           valgrind suppressions for the tests
26900         * check/Makefile.am:
26901           add a valgrind: target that valgrinds the unit tests
26902         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
26903         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
26904         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26905         * check/gst/gstghostpad.c:
26906           added some cleanup
26907         * check/gst/gstdata.c:
26908           removed
26909         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
26910         (thread_unref), (gst_mini_object_suite), (main):
26911           added
26912         * gst/gst.c: (gst_deinit):
26913         * gst/gst.h:
26914           add a method to clean up.
26915         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26916         (gst_system_clock_obtain):
26917           allow for disposing the system clock.
26918         * tools/gst-launch.c: (main):
26919           deinit
26920
26921 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26922
26923         * docs/gst/tmpl/gstbasesrc.sgml:
26924         * docs/gst/tmpl/gstfakesrc.sgml:
26925         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26926         (gst_base_src_init), (gst_base_src_set_property),
26927         (gst_base_src_get_property), (gst_base_src_get_range),
26928         (gst_base_src_start):
26929         * gst/base/gstbasesrc.h:
26930           add num-buffers property
26931         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26932         (gst_fakesrc_init), (gst_fakesrc_set_property),
26933         (gst_fakesrc_get_property), (gst_fakesrc_create),
26934         (gst_fakesrc_start):
26935           remove num-buffers property
26936
26937 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26938
26939         * docs/gst/gstreamer-sections.txt:
26940         * docs/gst/tmpl/gstbasesink.sgml:
26941         * docs/gst/tmpl/gstbasesrc.sgml:
26942         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26943         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26944         (gst_base_sink_finalize), (gst_base_sink_set_clock),
26945         (gst_base_sink_set_property), (gst_base_sink_get_property),
26946         (gst_base_sink_handle_object), (gst_base_sink_event),
26947         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
26948         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
26949         (gst_base_sink_loop), (gst_base_sink_deactivate),
26950         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
26951         (gst_base_sink_change_state):
26952         * gst/base/gstbasesink.h:
26953         * gst/base/gstbasesrc.h:
26954         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
26955         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26956         (gst_filesink_init):
26957           more macro splitting
26958
26959 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26960
26961         * gst/gstelement.c: (gst_element_get_bus):
26962           add debug
26963         * tools/gst-launch.c: (check_intr), (event_loop):
26964           fix bus leaks
26965
26966 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26967
26968         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
26969           fix a caps leak
26970
26971 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26972
26973         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26974         (gst_base_src_finalize):
26975           add finalize method and clean up properly
26976         * gst/gstpipeline.c: (gst_pipeline_dispose):
26977           add debug
26978
26979 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26980
26981         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
26982         (gst_bin_suite):
26983           add more things to check
26984         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26985         * gst/gstelement.c:
26986           more debug
26987
26988 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26989
26990         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26991         (GST_START_TEST), (fakesrc_suite):
26992         * check/gst-libs/gdp.c: (GST_START_TEST):
26993         * check/gst/gst.c: (GST_START_TEST):
26994         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26995         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26996         * check/gst/gstbus.c: (GST_START_TEST):
26997         * check/gst/gstcaps.c: (GST_START_TEST):
26998         * check/gst/gstdata.c: (GST_START_TEST):
26999         * check/gst/gstelement.c: (GST_START_TEST):
27000         * check/gst/gstghostpad.c: (GST_START_TEST):
27001         * check/gst/gstiterator.c: (GST_START_TEST):
27002         * check/gst/gstmessage.c: (GST_START_TEST):
27003         * check/gst/gstobject.c: (GST_START_TEST):
27004         * check/gst/gstpad.c: (GST_START_TEST):
27005         * check/gst/gststructure.c: (GST_START_TEST):
27006         * check/gst/gstsystemclock.c: (GST_START_TEST),
27007         (gst_systemclock_suite):
27008         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
27009         * check/gst/gstvalue.c: (GST_START_TEST):
27010         * check/pipelines/cleanup.c: (GST_START_TEST):
27011         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27012         * check/states/sinks.c: (GST_START_TEST):
27013         * check/gstcheck.c: (gst_check_init):
27014         * check/gstcheck.h:
27015           add debugging category
27016           use GST_START_TEST now, so we add a debug line
27017
27018 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27019
27020         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
27021           add test for state change message on a bin
27022         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
27023           add another test
27024         * gst/gstbin.c: (gst_bin_init):
27025         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
27026         * gst/gstelement.c: (gst_element_post_message),
27027         (gst_element_set_state):
27028         * gst/gstelementfactory.c: (gst_element_factory_create):
27029         * gst/gstmessage.c: (gst_message_new):
27030         * gst/gstscheduler.c:
27031           various debugging additions and cleanups
27032
27033 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27034
27035         * check/Makefile.am:
27036         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
27037         (main):
27038           adding tests for elements
27039         * gst/gstelement.c: (gst_element_dispose):
27040
27041 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27042
27043         * gst/registries/gstlibxmlregistry.c: (load_feature):
27044           plug more leaks.  A simple gst_init() now is leakfree, yay.
27045
27046 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27047
27048         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
27049         (gst_xml_registry_load):
27050           plug another memleak
27051
27052 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27053
27054         * configure.ac:
27055           use GST_SET_ERROR_CFLAGS
27056         * docs/faq/cvs.xml:
27057           change to ERROR_CFLAGS
27058
27059 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27060
27061         * configure.ac:
27062           make GST_ERROR_CFLAGS overridable and re-enable Werror
27063         * docs/faq/cvs.xml:
27064           add a note about error CFLAGS
27065         * docs/gst/tmpl/gstfakesrc.sgml:
27066         * gst/elements/gstfakesrc.c:
27067           comment out some unused code
27068         * gst/gst.c: (split_and_iterate):
27069         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
27070         (load_feature):
27071           plug some memleaks
27072
27073 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27074
27075         * common/Makefile.am:
27076         * common/gtk-doc.mak:
27077         * docs/gst/Makefile.am:
27078           factor out gtk-doc.mak
27079
27080 2005-07-07  Wim Taymans  <wim@fluendo.com>
27081
27082         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
27083         (gst_thread_scheduler_dispose):
27084         Unlock the STREAM_LOCK completely.
27085
27086 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
27087
27088         * check/Makefile.am:
27089         * check/elements/.cvsignore:
27090         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27091         (START_TEST), (fakesrc_suite), (main):
27092         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27093         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27094         (gst_fakesrc_create), (gst_fakesrc_start):
27095         * gst/elements/gstfakesrc.h:
27096           adding a first element test
27097
27098 2005-07-07  Andy Wingo  <wingo@pobox.com>
27099
27100         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
27101         debug message.
27102
27103 2005-07-07  Wim Taymans  <wim@fluendo.com>
27104
27105         * gst/gstquery.c:
27106         * gst/gstquery.h:
27107         Remove old types
27108
27109 2005-07-07  Wim Taymans  <wim@fluendo.com>
27110
27111         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
27112         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
27113         Allow subclasses to implement their own negotiation.
27114
27115 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27116
27117         * docs/design/part-gstbin.txt:
27118         * docs/design/part-gstpipeline.txt:
27119           Update design notes to reflect the movement of
27120           responsibility for bus handling from GstPipeline to
27121           GstBin
27122
27123 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27124
27125         * configure.ac:
27126           Remove unnecessary queue2/3/4 examples.
27127
27128 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
27129
27130         * examples/Makefile.am:
27131         * examples/helloworld/helloworld.c: (event_loop), (main):
27132         * examples/queue/queue.c: (event_loop), (main):
27133         * examples/queue2/queue2.c: (main):
27134           Update a couple of the examples to work again.
27135
27136         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27137         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
27138          Spelling corrections and extra debug.
27139         
27140         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
27141         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
27142         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
27143         * gst/gstbin.h:
27144         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27145         (gst_pipeline_change_state):
27146         * gst/gstpipeline.h:
27147           Move the bus handler for children to the GstBin, and create a
27148           separate bus for receiving messages from children to the one the
27149           bus sends 'upwards' on.
27150
27151 2005-07-06  Wim Taymans  <wim@fluendo.com>
27152
27153         * gst/base/README:
27154         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27155         (gst_base_sink_handle_object), (gst_base_sink_loop),
27156         (gst_base_sink_change_state):
27157         * gst/base/gstbasesink.h:
27158         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
27159         (gst_base_src_init), (gst_base_src_setcaps),
27160         (gst_base_src_getcaps), (gst_base_src_loop),
27161         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
27162         (gst_base_src_start), (gst_base_src_change_state):
27163         * gst/base/gstbasesrc.h:
27164         Make basesrc negotiate.
27165         Handle the case where preroll fails in basesink.
27166         Update README.
27167
27168 2005-07-06  Wim Taymans  <wim@fluendo.com>
27169
27170         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
27171         Implement the fixate function.
27172         Clean up acceptcaps.
27173
27174 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27175
27176         * docs/pwg/building-filterfactory.xml:
27177         * docs/pwg/pwg.xml:
27178           Remove never-written filter-factory chapter; I'll add the various
27179           base classes to part 4 ("other element types") later on.
27180
27181 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27182
27183         * docs/pwg/advanced-negotiation.xml:
27184         * docs/pwg/building-boiler.xml:
27185         * docs/pwg/building-pads.xml:
27186         * docs/pwg/pwg.xml:
27187         * examples/pwg/Makefile.am:
27188           Add a chapter on caps negotiation, simplify the original code
27189           samples a bit w.r.t. caps negotiation, add link to the advanced
27190           section. Add a bunch of examples showing different use cases of
27191           different types of caps negotiation. Upstream renegotiation isn't
27192           fully documented yet since nobody knows how that works.
27193
27194 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
27195
27196         * check/gst/gstpad.c:
27197         * check/gstcheck.c:
27198         * gst/gstpad.c: (gst_pad_get_internal_links_default):
27199           if pad has no parent, return NULL as list of internal links
27200
27201 2005-07-05  Andy Wingo  <wingo@pobox.com>
27202
27203         * gst/elements/gstfilesrc.c:
27204         * gst/elements/gstfakesrc.c: 
27205         * gst/base/gstpushsrc.c:
27206         * gst/base/gstbasesrc.h: 
27207         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
27208         
27209 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
27210
27211         * Makefile.am:
27212           better report generation target (lcov needs a patch)
27213
27214 2005-07-05  Andy Wingo  <wingo@pobox.com>
27215
27216         * gst/elements, testsuite: Null if we got it...
27217
27218 2005-07-05  Wim Taymans  <wim@fluendo.com>
27219
27220         * configure.ac:
27221         * libs/gst/dataprotocol/Makefile.am:
27222         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
27223         * libs/gst/dataprotocol/dataprotocol.h:
27224         * pkgconfig/Makefile.am:
27225         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
27226         * pkgconfig/gstreamer-dataprotocol.pc.in:
27227         Ported dataprotol to 0.9. 
27228         Added pkgconfig files.
27229
27230 2005-07-05  Andy Wingo  <wingo@pobox.com>
27231
27232         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
27233         Default to returning TRUE for the case when tranform_caps returns
27234         a fixed caps, like for identity or volume.
27235
27236         * check/gst/gstbus.c (pound_bus_with_messages): 
27237         * check/gst/gstmessage.c (START_TEST): 
27238         * check/pipelines/simple_launch_lines.c (got_handoff): Application
27239         message API change.
27240
27241         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
27242         logic weaks here: always run transform_caps, trying passthrough
27243         operation only if the original caps intersects with the transform.
27244
27245         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
27246         source and sink caps.
27247
27248         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
27249         Intersect the peer caps with the pad template before going into
27250         transform_caps.
27251         (gst_base_transform_transform_caps): More debugging.
27252
27253         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
27254         src argument.
27255
27256 2005-07-04  Edward Hervey  <edward@fluendo.com>
27257
27258         * gst/gstutils.c:
27259         * gst/gstutils.h:
27260         (gst_pad_add_*_probe): now returns the signal id for better wrapping
27261         in bindings.
27262
27263 2005-07-04  Andy Wingo  <wingo@pobox.com>
27264
27265         * check/gst/gstpad.c: Only set explicit caps on pads.
27266
27267 2005-07-01  Andy Wingo  <wingo@pobox.com>
27268
27269         * tests/network-clock.scm: Commentary update.
27270
27271         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
27272         Didn't really make sense, not implementable with basetransform,
27273         etc.
27274         (gst_identity_transform): Unref inbuf via make_writable. Feeble
27275         attempt at implementing the sync property, needs an unlock method.
27276
27277         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
27278         New func, by default returns the same caps (the identity
27279         transformation).
27280         (gst_base_transform_getcaps): Uses transform_caps to return
27281         something sensible.
27282         (gst_base_transform_setcaps): Complicated logic to get caps on
27283         both pads, even if they are different, and to call set_caps once
27284         for every time both pads get their caps set.
27285         (gst_base_transform_handle_buffer): Give the ref to the transform
27286         function. Allows in-place modification of the buffer.
27287
27288         * gst/base/gstbasetransform.h (transform_caps): New class method.
27289         Given caps on one side, what can I do on the other.
27290         (set_caps): Take two caps, one for each side of the element.
27291
27292         * gst/gstpad.h:
27293         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
27294         caps in place. This is safe because we can check the mutability of
27295         the caps, and a good idea because fixate functions are just called
27296         as a matter of last resort. (Not actually implemented.)
27297         (gst_pad_set_caps): If the caps we're setting is actually the same
27298         as the existing pad caps, just update the pointer without calling
27299         setcaps. Assert that caps is either NULL or fixed, as per the
27300         docs.
27301
27302         * gst/gstghostpad.c: Update for fixate changes.
27303
27304 2005-07-02  Andy Wingo  <wingo@pobox.com>
27305
27306         * gst/gstcaps.c:
27307         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
27308         two refcounts makes it immutable, which is enough. Doc more.
27309
27310 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
27311
27312         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
27313           Put the mini_object into GValue as a mini_object,
27314           not a gpointer, since that's how we declared
27315           the signal.
27316
27317 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27318
27319         * examples/pwg/Makefile.am:
27320           Fix buildbot again.
27321
27322 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27323
27324         * docs/pwg/building-testapp.xml:
27325           Add extra check.
27326         * examples/pwg/Makefile.am:
27327           Fix buildbot.
27328
27329 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27330
27331         * configure.ac:
27332         * examples/Makefile.am:
27333         * examples/pwg/Makefile.am:
27334         * examples/pwg/extract.pl:
27335           Enable building the PWG examples.
27336         * docs/pwg/advanced-interfaces.xml:
27337           Add URI interface stub.
27338         * docs/pwg/advanced-types.xml:
27339         * docs/pwg/other-autoplugger.xml:
27340         * docs/pwg/appendix-porting.xml:
27341         * docs/pwg/pwg.xml:
27342           Add porting guide (mostly stubs), remove autoplugging (see ADM).
27343         * docs/pwg/building-boiler.xml:
27344         * docs/pwg/building-chainfn.xml:
27345         * docs/pwg/building-pads.xml:
27346         * docs/pwg/building-props.xml:
27347         * docs/pwg/building-state.xml:
27348         * docs/pwg/building-testapp.xml:
27349           Update the building-*.xml parts for 0.9 changes. All examples
27350           code blocks compile in examples/pwg/*.
27351
27352 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27353
27354         * docs/manual/advanced-autoplugging.xml:
27355         * docs/manual/appendix-checklist.xml:
27356         * docs/manual/appendix-integration.xml:
27357         * docs/manual/highlevel-components.xml:
27358           Fix playbin/decodebin examples, update docs a bit, mention bus
27359           instead of signals in various places, mention kmplayer and
27360           kaffeine since they have a working GStreamer backend in the KDE
27361           section.
27362
27363 2005-06-30  Wim Taymans  <wim@fluendo.com>
27364
27365         * CHANGES-0.9:
27366         * docs/design/draft-ghostpads.txt:
27367         * docs/design/draft-push-pull.txt:
27368         * docs/design/draft-query.txt:
27369         * docs/design/part-TODO.txt:
27370         * docs/design/part-query.txt:
27371         Added CHANGES-0.9 doc, updated status of other docs.
27372         
27373         * gst/gstquery.h:
27374         Remove "hmm" macro
27375
27376 2005-06-30  Wim Taymans  <wim@fluendo.com>
27377
27378         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27379         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27380         (gst_base_sink_change_state):
27381         * gst/base/gstbasesink.h:
27382         Some tweaks, only EOS and a buffer complete a preroll.
27383
27384 2005-06-30  Andy Wingo  <wingo@pobox.com>
27385
27386         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
27387         activate_push down to the internal pad as well.
27388
27389 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
27390
27391         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27392
27393         * gst/gsttaginterface.c:
27394           Some documentation fixes (#307394 and #307397).
27395
27396 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
27397
27398         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27399
27400         * gst/gstvalue.c: (gst_value_intersect_list):
27401           Fix memleak (#309125).
27402
27403 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27404
27405         * docs/manual/advanced-dataaccess.xml:
27406           Fix fakesrc example to compile; doesn't work, bug somewhere...?
27407         * docs/manual/basics-pads.xml:
27408           Add reference for filtered caps to above chapter.
27409
27410 2005-06-30  Wim Taymans  <wim@fluendo.com>
27411
27412         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
27413         (gst_bin_change_state):
27414         Probes are gone.
27415         Lame attempt at making the state change function a bit
27416         more readable.
27417
27418 2005-06-30  Wim Taymans  <wim@fluendo.com>
27419
27420         * docs/design/part-clocks.txt:
27421         * docs/design/part-element-sink.txt:
27422         * docs/design/part-events.txt:
27423         * docs/design/part-preroll.txt:
27424         * docs/design/part-states.txt:
27425         Some more tweeks and additions to the docs.
27426
27427 2005-06-30  Wim Taymans  <wim@fluendo.com>
27428
27429         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27430         (default_have_data), (gst_pad_class_init), (gst_pad_init),
27431         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27432         (gst_pad_check_pull_range), (gst_pad_get_range),
27433         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
27434         * gst/gstpad.h:
27435         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
27436         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27437         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27438         (gst_pad_remove_buffer_probe):
27439         Removed atomic operations, use existing LOCK.
27440         Move exception handling out of main code path.
27441
27442 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27443
27444         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27445         (silly_return_true_function), (gst_pad_class_init),
27446         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27447         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
27448         (gst_pad_send_event):
27449           Fix accumulator, add default value by using _emitv() instead
27450           of _emit() for signal emission.
27451
27452 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27453
27454         * docs/manual/advanced-dataaccess.xml:
27455         * examples/manual/Makefile.am:
27456           Add probe example.
27457         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
27458           Make work (??).
27459
27460 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
27461
27462         * gst/elements/gstfilesink.c: (gst_filesink_render):
27463           Simplify code so that we don't have to handle short
27464           writes and return GST_FLOW_ERROR if an error occured.
27465
27466 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27467
27468         * docs/gst/gstreamer-docs.sgml:
27469           Remove probes more.
27470
27471 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27472
27473         * docs/gst/gstreamer-sections.txt:
27474         * docs/gst/tmpl/gstpad.sgml:
27475         * docs/gst/tmpl/gstprobe.sgml:
27476         * gst/Makefile.am:
27477         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27478         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
27479         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27480         (gst_pad_push_event), (gst_pad_send_event):
27481         * gst/gstpad.h:
27482         * gst/gstutils.c: (gst_pad_add_data_probe),
27483         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27484         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27485         (gst_pad_remove_buffer_probe):
27486         * gst/gstutils.h:
27487           Remove old probes, add new g-signal-based probes and some utility
27488           functions.
27489
27490 2005-06-29  Edward Hervey  <edward@fluendo.com>
27491
27492         * gst/gstelementfactory.c:
27493         * gst/gstutils.h:
27494         * gst/gstutils.c:
27495         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
27496         the definition to the header file.
27497
27498 2005-06-29  Andy Wingo  <wingo@pobox.com>
27499
27500         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
27501         plugins from the source directory.
27502
27503 2005-06-29  Wim Taymans  <wim@fluendo.com>
27504
27505         * docs/gst/tmpl/gstbuffer.sgml:
27506         * docs/gst/tmpl/gstclock.sgml:
27507         Some fixings for blantently wrong text.
27508
27509 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27510
27511         * check/Makefile.am:
27512         * gst/gst.c: (add_path_func), (init_pre):
27513         * gst/gstregistry.c: (gst_registry_add_path):
27514           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
27515           only scan the GST_PLUGIN_PATH locations, and not add
27516           system locations
27517
27518 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27519
27520         * docs/gst/gstreamer-sections.txt:
27521         * docs/gst/tmpl/gstbasesrc.sgml:
27522         * gst/gstelement.c:
27523         * gst/gstelement.h:
27524         * gst/gstevent.c:
27525         * gst/gstutils.c:
27526           doc fixes
27527
27528 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27529
27530         * docs/manual/advanced-autoplugging.xml:
27531           Fix autoplugging example.
27532
27533 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27534
27535         * docs/manual/advanced-autoplugging.xml:
27536         * docs/manual/mime-world.fig:
27537           Try to get autoplugging working, fix type detection. Fix text
27538           in hello-world image.
27539
27540 2005-06-29  Wim Taymans  <wim@fluendo.com>
27541
27542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27543         (gst_base_sink_change_state):
27544         Small debug line.
27545
27546         * gst/gstclock.h:
27547         map SIGNAL and BROADCAST to the right function.
27548
27549         * gst/gstobject.h:
27550         Remove redundant braces.
27551
27552         * gst/gstpad.c: (gst_pad_set_caps):
27553         Don't call setcaps function when reseting caps to NULL.
27554
27555         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27556         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
27557         (gst_system_clock_id_unschedule):
27558         Use BROADCAST as this is what we do.
27559
27560 2005-06-29  Wim Taymans  <wim@fluendo.com>
27561
27562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27563         We are actually prerolling before commiting the state
27564         change. 
27565
27566 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27567
27568         * docs/manual/advanced-clocks.xml:
27569         * docs/manual/advanced-interfaces.xml:
27570         * docs/manual/advanced-metadata.xml:
27571         * docs/manual/advanced-position.xml:
27572         * docs/manual/advanced-schedulers.xml:
27573         * docs/manual/advanced-threads.xml:
27574         * docs/manual/appendix-porting.xml:
27575         * docs/manual/basics-bins.xml:
27576         * docs/manual/basics-bus.xml:
27577         * docs/manual/basics-elements.xml:
27578         * docs/manual/basics-helloworld.xml:
27579         * docs/manual/basics-pads.xml:
27580         * docs/manual/highlevel-components.xml:
27581         * docs/manual/manual.xml:
27582         * docs/manual/thread.fig:
27583           Update (until threads/scheduling) Application Development Manual;
27584           remove GstThread, add GstBus, add simple porting checklist, add
27585           documentation for tag writing, clocks, make all examples until this
27586           part compile and run.
27587         * examples/manual/Makefile.am:
27588           Update from changes to Application Development Manual; add bus
27589           example, remove thread example.
27590
27591 2005-06-28  Wim Taymans  <wim@fluendo.com>
27592
27593         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
27594         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
27595         (gst_bus_source_dispatch):
27596         Add debugging messages.
27597         Make internal methods static.
27598         Handle the case where the bus is flushed in the handler.
27599         
27600         * gst/gstelement.c: (gst_element_get_bus):
27601         Fix refcount in _get_bus();
27602
27603         * gst/gstpipeline.c: (gst_pipeline_change_state),
27604         (gst_pipeline_get_clock_func):
27605         Clock refcounting fixes.
27606         Handle the case where preroll timed out more gracefully.
27607         
27608         * gst/gstsystemclock.c: (gst_system_clock_dispose):
27609         Clean up the internal thread in dispose. This is needed
27610         for subclasses that actually get disposed.
27611         
27612         * gst/schedulers/threadscheduler.c:
27613         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27614         (gst_thread_scheduler_dispose):
27615         Free thread pool in dispose.
27616
27617 2005-06-28  Andy Wingo  <wingo@pobox.com>
27618
27619         * tests/network-clock-utils.scm (debug, print-event): New utils.
27620
27621         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
27622         (*packet-loss*): Unified loss probability.
27623         (network-time): Report out-of-band events.
27624
27625         * tests/plot-data: Add support for out-of-band events. Hack it
27626         into this script instead of passing it down the pipe; should fix
27627         this later.
27628
27629 2005-06-28  Wim Taymans  <wim@fluendo.com>
27630
27631         * docs/gst/gstreamer.types:
27632         * docs/gst/tmpl/gstbasesrc.sgml:
27633         * docs/gst/tmpl/gstpad.sgml:
27634         Docs fixes.
27635
27636 2005-06-28  Wim Taymans  <wim@fluendo.com>
27637
27638         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27639         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
27640         (gst_proxy_pad_do_fixatecaps):
27641         Correctly proxy the check_pull_range function.
27642
27643 2005-06-28  Andy Wingo  <wingo@pobox.com>
27644
27645         * tests/network-clock.scm: Removed need for slib.
27646         
27647 2005-06-28  Wim Taymans  <wim@fluendo.com>
27648
27649         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
27650         (gst_basesink_preroll_queue_flush):
27651         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
27652         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
27653         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27654         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27655         (gst_proxy_pad_set_property):
27656         * gst/gstpad.c:
27657         * gst/gstpad.h:
27658         * gst/gstqueue.c: (gst_queue_init):
27659         The deprecated pad loop function is removed now.
27660
27661 2005-06-28  Andy Wingo  <wingo@pobox.com>
27662
27663         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
27664         New parameters, simulate network packet loss.
27665
27666         * tests/network-clock-utils.scm: Initialize the RNG.
27667
27668 2005-06-28  Wim Taymans  <wim@fluendo.com>
27669
27670         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
27671         (gst_basesink_event), (gst_basesink_deactivate):
27672         Flushing the preroll queue always needs to unlock the waiters.
27673
27674 2005-06-28  Edward Hervey  <edward@fluendo.com>
27675
27676         * gst/gstpipeline.c: (gst_pipeline_send_event): 
27677         Wheen a seek was successful on a pipeline, set the stream_time to the
27678         seek offset in order to have a synchronized stream_time.
27679
27680 2005-06-28  Wim Taymans  <wim@fluendo.com>
27681
27682         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27683         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
27684         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
27685         (gst_proxy_pad_do_fixatecaps):
27686         Call wrapper function instead of just calling the function
27687         pointers. This takes care of any locking and whatmore.
27688
27689 2005-06-28  Wim Taymans  <wim@fluendo.com>
27690
27691         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
27692         (gst_pad_pull_range):
27693         * gst/gstpad.h:
27694         CONNECTED -> LINKED.
27695
27696 2005-06-28  Andy Wingo  <wingo@pobox.com>
27697
27698         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
27699         source-munging commit!!!
27700
27701         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
27702         (gst_object_sink): Take gpointer arguments, not GstObject --
27703         avoids casts. Like GLib.
27704
27705         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
27706         activate.
27707
27708 2005-06-27  Andy Wingo  <wingo@pobox.com>
27709
27710         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
27711         remaining buffer.
27712
27713         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
27714         returns a sorted copy of the trace list.
27715         (gst_alloc_trace_print_live): New API, only prints traces with
27716         live objects. Sort the list.
27717         (gst_alloc_trace_print_all): Sort the list.
27718         (gst_alloc_trace_print): Align columns.
27719
27720         * gst/elements/gstttypefindelement.c:
27721         * gst/elements/gsttee.c:
27722         * gst/base/gstbasesrc.c:
27723         * gst/base/gstbasesink.c:
27724         * gst/base/gstbasetransform.c:
27725         * gst/gstqueue.c: Adapt for pad activation changes.
27726
27727         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
27728         sched.
27729         (gst_pipeline_dispose): Drop ref on sched.
27730
27731         * gst/gstpad.c (gst_pad_init): Set the default activate func.
27732         (gst_pad_activate_default): Push mode by default.
27733         (pre_activate_switch, post_activate_switch): New stubs, things to
27734         do before and after switching activation modes on pads.
27735         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
27736         the pad's activate function to choose which mode to activate.
27737         Shortcut on deactivation and call the right function directly.
27738         (gst_pad_activate_pull): New API, (de)activates a pad in pull
27739         mode.
27740         (gst_pad_activate_push): New API, same for push mode.
27741         (gst_pad_set_activate_function) 
27742         (gst_pad_set_activatepull_function) 
27743         (gst_pad_set_activatepush_function): Setters for new API.
27744
27745         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
27746         Trace all miniobjects.
27747         (gst_mini_object_make_writable): Unref the arg if we copy, like
27748         gst_caps_make_writable.
27749
27750         * gst/gstmessage.c (_gst_message_initialize): No trace init.
27751
27752         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
27753         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
27754         Adapt for new pad API.
27755
27756         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
27757
27758         * gst/gstelement.h:
27759         * gst/gstelement.c (gst_element_iterate_src_pads) 
27760         (gst_element_iterate_sink_pads): New API functions.
27761         
27762         * gst/gstelement.c (iterator_fold_with_resync): New utility,
27763         should fold into gstiterator.c in some form.
27764         (gst_element_pads_activate): Simplified via use of fold and
27765         delegation of decisions to gstpad->activate.
27766
27767         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
27768         help in debugging.
27769
27770         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
27771         class once in init, like gstmessage. Didn't run into this issue
27772         but it seems correct. Don't initialize a trace, gstminiobject does
27773         that.
27774
27775         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
27776         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
27777         to the bus.
27778         (assert_live_count): New util function, uses alloc traces to check
27779         cleanup.
27780
27781         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
27782         To be modified when unlink drops the internal pad.
27783
27784 2005-06-27  Wim Taymans  <wim@fluendo.com>
27785
27786         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
27787         (gst_bin_change_state):
27788         Cleanup the get_state() function a little, make sure it
27789         iterates the same set of elements.
27790         Added stub iterate_state_order().
27791
27792 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
27793
27794         * docs/gst/gstreamer-docs.sgml:
27795         * docs/gst/gstreamer-sections.txt:
27796         * docs/gst/gstreamer.types:
27797         * docs/gst/tmpl/gstbasesink.sgml:
27798         * docs/gst/tmpl/gstbasesrc.sgml:
27799         * docs/gst/tmpl/gstbasetransform.sgml:
27800         * docs/gst/tmpl/gstelement.sgml:
27801         * docs/gst/tmpl/gstiterator.sgml:
27802         * gst/base/gstbasesrc.c:
27803         * gst/base/gstbasesrc.h:
27804         * gst/base/gstbasetransform.h:
27805         * gst/gstelement.c:
27806         * gst/gstiterator.h:
27807           adding basetransform and iterator docs
27808
27809 2005-06-27  Andy Wingo  <wingo@pobox.com>
27810
27811         * docs/design/part-activation.txt: Notes on how activation should
27812         work -- not quite implemented yet.
27813
27814 2005-06-25  Wim Taymans  <wim@fluendo.com>
27815
27816         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
27817         At least get the chain function correct, needs more
27818         fixing.
27819
27820 2005-06-25  Wim Taymans  <wim@fluendo.com>
27821
27822         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27823         (gst_basesink_handle_object), (gst_basesink_event),
27824         (gst_basesink_do_sync), (gst_basesink_handle_event),
27825         (gst_basesink_change_state):
27826         * gst/gsttask.h:
27827         Right, two problems here: ghostpads don't take locks and
27828         glib _rec_mutex_lock_full() with depth==0 still locks.
27829         Catch illegal locking and g_warn them.
27830
27831 2005-06-25  Wim Taymans  <wim@fluendo.com>
27832
27833         * check/states/sinks.c: (START_TEST), (gst_object_suite):
27834         Have to check for completion now...
27835
27836 2005-06-25  Wim Taymans  <wim@fluendo.com>
27837
27838         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27839         (gst_basesink_handle_object), (gst_basesink_event),
27840         (gst_basesink_do_sync), (gst_basesink_handle_event),
27841         (gst_basesink_change_state):
27842         * gst/gstpad.h:
27843         Unlock STREAM_LOCK whatever the recursion was.
27844
27845 2005-06-25  Wim Taymans  <wim@fluendo.com>
27846
27847         * gst/base/gstbasesink.c: (gst_basesink_set_property),
27848         (gst_basesink_preroll_queue_empty),
27849         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
27850         (gst_basesink_event), (gst_basesink_do_sync),
27851         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
27852         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
27853         (gst_basesink_change_state):
27854         Reworked the base sink, handle event and buffer serialisation
27855         correctly and removed possible deadlock.
27856         Handle EOS correctly.
27857
27858 2005-06-25  Wim Taymans  <wim@fluendo.com>
27859
27860         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
27861         (gst_pipeline_change_state):
27862         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27863         Allow elements to post EOS in the state change function.
27864         Fix up -launch, make it exit the poll loop when the
27865         pipeline actually changed state.
27866         Fix up warning parsing in -launch.
27867
27868 2005-06-25  Wim Taymans  <wim@fluendo.com>
27869
27870         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
27871         (gst_tee_sink_activate):
27872         Core takes STREAM_LOCK for us now.
27873
27874 2005-06-25  Wim Taymans  <wim@fluendo.com>
27875
27876         * gst/gstelement.c: (gst_element_get_state_func),
27877         (gst_element_set_state):
27878         * gst/gstelement.h:
27879         * gst/gstmessage.c: (gst_message_parse_error),
27880         (gst_message_parse_warning):
27881         Keep track of current target state while performing a state
27882         change so that subclasses can do something interesting.
27883         Fix parsing of warning/error messages when GError is NULL.
27884
27885 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
27886
27887         * docs/gst/Makefile.am:
27888         * docs/gst/gstreamer-docs.sgml:
27889         * docs/gst/gstreamer-sections.txt:
27890         * docs/gst/gstreamer.types:
27891         * docs/gst/tmpl/gstbasesink.sgml:
27892         * docs/gst/tmpl/gstbasesrc.sgml:
27893         * docs/gst/tmpl/gstbin.sgml:
27894         * docs/gst/tmpl/gstcompat.sgml:
27895         * docs/gst/tmpl/gstfakesink.sgml:
27896         * docs/gst/tmpl/gstfakesrc.sgml:
27897         * docs/gst/tmpl/gstfilesink.sgml:
27898         * docs/gst/tmpl/gstfilesrc.sgml:
27899         * docs/gst/tmpl/gstindex.sgml:
27900         * docs/manual/appendix-quotes.xml:
27901         * gst/base/gstbasesrc.h:
27902         * gst/elements/gstfakesrc.h:
27903         * gst/gstmessage.h:
27904           start pulling in base classes and elements in our docs
27905
27906 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
27907
27908         * docs/gst/Makefile.am:
27909         * docs/libs/Makefile.am:
27910           fixed make distcheck with gtk-doc 1.3
27911
27912 2005-06-23  Wim Taymans  <wim@fluendo.com>
27913
27914         * gst/gstelement.c: (gst_element_get_state_func),
27915         (gst_element_set_state), (gst_element_change_state):
27916         When the state did not change, also report NO_PREROLL
27917         when it matters.
27918
27919 2005-06-23  Wim Taymans  <wim@fluendo.com>
27920
27921         * gst/gstpad.c: (gst_pad_event_default):
27922         * gst/gstqueue.c: (gst_queue_loop):
27923         No unsafe task pausing please.
27924
27925 2005-06-23  Wim Taymans  <wim@fluendo.com>
27926
27927         * gst/schedulers/threadscheduler.c:
27928         (gst_thread_scheduler_task_start),
27929         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
27930         Ref the task before pushing it on the threadpool. This
27931         makes sure that we have a ref when the threadfunction is
27932         actually called.
27933
27934 2005-06-23  Andy Wingo  <wingo@pobox.com>
27935
27936         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
27937         offset is greater than the file's size.
27938
27939         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
27940         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
27941         * gst/gstobject.c (gst_object_class_init): Make the class lock
27942         recursive. Wim won't let me drop deep_notify. Decodebin works
27943         again, whoopdy doo.
27944
27945         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
27946         internal pad, and hacks accordingly. Doesn't do it on the target
27947         pad because we change its caps. Probably catches all cases of
27948         interest tho.
27949         (gst_ghost_pad_set_property): Connect to notify::caps as
27950         appropritate.
27951
27952         * tests/network-clock.scm (plot-simulation): Pipe data to the
27953         elite python skript.
27954
27955         * tests/network-clock-utils.scm (define-parameter): New macro,
27956         defines a parameter that can be set via the command line.
27957         (set-parameter!, parse-parameter-arguments): Command line args
27958         parser.
27959
27960         * tests/plot-data: Simple matplotlib-based plotter, takes input on
27961         stdin.
27962
27963 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
27964
27965         * gst/elements/gsttypefindelement.c:
27966         (gst_type_find_element_handle_event):
27967           Don't restart typefinding on a discont.
27968         * gst/gstelement.c: (gst_element_set_state):
27969           Debug spelling fix.
27970         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
27971           Allow changing mode of an active pad.
27972           Debug output fixes.
27973         * gst/registries/gstlibxmlregistry.c: (load_feature):
27974           Don't cast a static pad template to a normal pad template.
27975
27976 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27977
27978         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27979         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27980           remove gst_strtoll completely, since it didn't actually do
27981           anything more than what g_ascii_strtoull already does.
27982           check for range errors when deserializing
27983           do a cast for the unsigned cases; but further fixing needs
27984           a decision on what the interpretation of "(int)" and
27985           deserialization should be for values that fall outside the
27986           type's boundaries (ie, refuse, or interpret as casting)
27987
27988 2005-06-23  Wim Taymans  <wim@fluendo.com>
27989
27990         * check/Makefile.am:
27991         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
27992         * docs/design/part-live-source.txt:
27993         * docs/design/part-states.txt:
27994         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27995         (gst_basesrc_set_live), (gst_basesrc_is_live),
27996         (gst_basesrc_get_range), (gst_basesrc_activate),
27997         (gst_basesrc_change_state):
27998         * gst/base/gstbasesrc.h:
27999         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28000         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28001         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
28002         * gst/gstelement.c: (gst_element_get_state_func),
28003         (gst_element_set_state):
28004         * gst/gstelement.h:
28005         * gst/gsttypes.h:
28006         * tools/gst-launch.c: (event_loop), (main):
28007         Added support for live sources and other elements that
28008         cannot do preroll.
28009         Updated design docs, added live-source design doc.
28010         Implemented live source functionality in basesrc
28011         Fix error condition in _bin_get_state()
28012         Implement live source handling in -launch.
28013         Added check for live sources.
28014         Fixed case in GstBin where elements were changed state
28015         multiple times.
28016
28017
28018 2005-06-23  Andy Wingo  <wingo@pobox.com>
28019
28020         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
28021         borken refcounting.
28022
28023         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
28024         gst_caps_replace takes care of this for us.
28025
28026         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
28027         gst_pad_set_caps on the target, not just its setcaps() function.
28028
28029         * tests/network-clock.scm: 
28030         * tests/network-clock-utils.scm: A network clock simulator.
28031         Something of an algorithmic testbed before doing something in C.
28032
28033 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28034
28035         * check/Makefile.am:
28036         * check/gst/capslist.h:
28037           copy over from 0.8, and add two with bitmasks specified with
28038           (int) 0xFF...
28039         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28040           add test to parse everything from capslist.h
28041         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
28042         (main):
28043           add test for structure deserialization
28044         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28045           add tests for deserialization of strings to int types
28046         * gst/gststructure.c: (gst_structure_nth_field_name):
28047         * gst/gststructure.h:
28048           add a way to get the name of a field referenced by index
28049         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
28050           instead of checking if the resulting long long lies between
28051           min and max, we check if the long long would fit into
28052           a number of bytes for the final type.
28053           This fixes cases where a string represents 2^32 - 1, which
28054           when cast to int would be the (valid) -1, but is bigger than
28055           G_MAXINT
28056
28057 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28058
28059         * gst/parse/grammar.y:
28060           add a log line for type deserialization
28061
28062 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28063
28064         * check/gst/gstvalue.c: (START_TEST):
28065         * gst/gstvalue.c: (gst_value_deserialize):
28066           return long long, not int, so gint64 deserialization actually
28067           works.  Is there any flag that makes the compiler check this ?
28068           Fixes #308559
28069
28070 2005-06-22  Wim Taymans  <wim@fluendo.com>
28071
28072         * gst/gstbuffer.h:
28073         Added convenience macros for setting buffers in GValue.
28074
28075 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28076
28077         * check/gst/.cvsignore:
28078         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
28079           add a test deserializing int64, and comment part out because
28080           it fails, yay !
28081
28082 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
28083
28084         * check/Makefile.am:
28085         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
28086         * testsuite/Makefile.am:
28087         * testsuite/caps/Makefile.am:
28088         * testsuite/caps/value_serialize.c:
28089         * testsuite/test_gst_init.c:
28090           move a value_serialize test over
28091
28092 2005-06-20  Wim Taymans  <wim@fluendo.com>
28093
28094         * gst/gstpad.c:
28095         Small doc updates.
28096         
28097         * gst/gstvalue.c: (gst_value_compare_buffer),
28098         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
28099         (gst_value_compare_flags), (gst_value_serialize_flags),
28100         (gst_value_deserialize_flags), (_gst_value_initialize):
28101         Fix serialisation of buffers, they are not boxed types anymore
28102
28103 2005-06-20  Wim Taymans  <wim@fluendo.com>
28104
28105         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
28106         Testcase to show error in buffer-on-caps serialisation.
28107
28108 2005-06-20  Andy Wingo  <wingo@pobox.com>
28109
28110         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
28111         will be adding to later.
28112
28113         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
28114         if its socks fill with rocks.
28115         (gst_system_clock_obtain): Set the name on object construction.
28116         Avoid double-checked locking.
28117
28118 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
28119
28120         * gst/gsturi.c: (gst_element_make_from_uri):
28121           Fix potential endless loop.
28122
28123 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28124
28125         * check/Makefile.am:
28126           add gsttag
28127         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
28128         (main):
28129           move over from testsuite dir and clean up
28130         * configure.ac:
28131         * gst/gsttag.c:
28132         * testsuite/Makefile.am:
28133         * testsuite/tags/.cvsignore:
28134         * testsuite/tags/Makefile.am:
28135         * testsuite/tags/merge.c:
28136           remove testsuite/tags
28137
28138 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28139
28140         * docs/gst/gstreamer-sections.txt:
28141         * docs/gst/tmpl/gstenumtypes.sgml:
28142         * win32/gstenumtypes.c:
28143           clean up documentation build a little
28144
28145 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28146
28147         * check/gstcheck.h:
28148           add macros for checking refcounts on objects and caps
28149         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
28150           add some more unit tests
28151         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
28152         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
28153           fix leaked refcounts (I hope :)) so unittest works
28154         * gst/gstpad.h:
28155           whitespace removal
28156
28157 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28158
28159         * configure.ac: back to HEAD
28160
28161 === release 0.9.1 ===
28162
28163 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28164
28165         * NEWS:
28166         * RELEASE:
28167           updated
28168
28169 2005-06-17  Andy Wingo  <wingo@pobox.com>
28170
28171         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
28172         assert; it's always possible that the pad gets deactivated in
28173         between the checks in gstpad.c and the implementation. Rely on
28174         finish_preroll() to return a FLUSHING or similar instead of on the
28175         assert.
28176         
28177         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
28178         clock and post an EOS message if we come out of finish_preroll in
28179         the playing state.
28180
28181 2005-06-16  David Schleef  <ds@schleef.org>
28182
28183         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
28184         (gst_capsfilter_set_property): Allow NULL as possible value
28185         for filter_caps property, indicating GST_CAPS_ANY.
28186
28187 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28188
28189         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
28190           fix debug output
28191         * gst/schedulers/Makefile.am:
28192           use libgst prefix
28193         * gstreamer.spec.in:
28194           fix spec for it
28195
28196 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28197
28198         * gstreamer.spec.in:
28199           clean up
28200
28201 2005-06-08  Andy Wingo  <wingo@pobox.com>
28202
28203         * gst/gstutils.c: RPAD fixes all around.
28204         (gst_element_link_pads): Refcounting fixes.
28205
28206         * tools/gst-inspect.c:
28207         * tools/gst-xmlinspect.c:
28208         * parse/grammar.y:
28209         * gst/base/gsttypefindhelper.c:
28210         * gst/base/gstbasesink.c:
28211         * gst/gstqueue.c: RPAD fixes.
28212
28213         * gst/gstghostpad.h:
28214         * gst/gstghostpad.c: New ghost pad implementation as full proxy
28215         pads. The tricky thing is they provide both source and sink
28216         interfaces, since they proxy the internal pad for the external
28217         pad, and vice versa. Implement with lower-level ProxyPad objects,
28218         with the interior proxy pad as a child of the exterior ghost pad.
28219         Should write a doc on this.
28220         
28221         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
28222         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
28223         gst_object API.
28224         
28225         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
28226         pads are real pads. No ghost pads in this file. Not documenting
28227         the myriad s/RPAD/PAD/ and REALIZE fixes.
28228         (gst_pad_class_init): Add properties for "direction" and
28229         "template". Both are construct-only, so they can't change during
28230         the life of the pad. Fixes properly deriving from GstPad.
28231         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
28232         derived objects, just set properties when creating the objects via
28233         g_object_new.
28234         (gst_pad_get_parent): Implement as a function, return NULL if the
28235         parent is not an element.
28236         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
28237         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
28238         
28239         * gst/gstobject.c (gst_object_class_init): Make name a construct
28240         property. Don't set it in the object init.
28241
28242         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
28243         with UNKNOWN direction.
28244         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
28245         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
28246         (gst_element_remove_pad): Remove ghost-pad special cases.
28247         (gst_element_pads_activate): Remove rpad cruft.
28248
28249         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
28250         catch the pad's-parent-not-an-element case.
28251
28252         * gst/gst.h: Include gstghostpad.h.
28253
28254         * gst/gst.c (init_post): No more real, ghost pads.
28255
28256         * gst/Makefile.am: Add gstghostpad.[ch].
28257
28258         * check/Makefile.am:
28259         * check/gst/gstbin.c:
28260         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
28261         into a bin creates ghost pads, and that the refcounts are right.
28262         Partly moved from gstbin.c.
28263
28264 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28265
28266         * check/gst-libs/.cvsignore:
28267         * check/gst/.cvsignore:
28268         * check/pipelines/.cvsignore:
28269           ignore more
28270         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
28271         (START_TEST), (cleanup_suite), (main):
28272           add some tests related to cleanup after running pipelines
28273
28274 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28275
28276         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
28277           add a testsuite for GstBuffer
28278
28279 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28280
28281         * gst/gstminiobject.h:
28282           add defines for accessing the refcount
28283
28284 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
28285
28286         * Makefile.am: added support for html unit test coverage reports
28287
28288 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
28289
28290         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
28291           Free existing caps if the capsfilter changes. Add a FIXME about
28292           setting those caps on the pads.
28293
28294         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
28295           Before adding a ghost pad to a parent bin, check that there isn't
28296           already one for the element on the bin. Prevents infinite recursion
28297           when using decodebin in parse pipelines. Andy says he'll rewrite the
28298           way this works anyway, so ignore the hack.
28299
28300 2005-06-02  Andy Wingo  <wingo@pobox.com>
28301
28302         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
28303         file size, pass it on to the type find helper.
28304
28305         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
28306         segment_start and segment_end properly according to the seek
28307         method. Segment_end is still a bit flaky because offset can be
28308         negative for CUR and END cases, but it takes -1 as an "unset"
28309         value.
28310
28311 2005-06-02  Wim Taymans  <wim@fluendo.com>
28312
28313         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
28314         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
28315         (gst_basesink_activate):
28316         * gst/base/gstbasesink.h:
28317         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28318         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28319         (gst_pad_query), (gst_pad_start_task):
28320         * gst/gstpad.h:
28321         * gst/gstqueue.c: (gst_queue_bufferalloc),
28322         (gst_queue_handle_sink_event), (gst_queue_chain):
28323         Bufferalloc: return GstFlowReturn to more accuratly report
28324         why allocation failed.
28325
28326 2005-06-02  Wim Taymans  <wim@fluendo.com>
28327
28328         * gst/gstpipeline.c: (gst_pipeline_send_event):
28329         Take snapshot of state without blocking.
28330
28331 2005-06-02  Wim Taymans  <wim@fluendo.com>
28332
28333         * docs/design/part-TODO.txt:
28334         * docs/design/part-caps.txt:
28335         * docs/design/part-clocks.txt:
28336         * docs/design/part-negotiation.txt:
28337         * docs/design/part-preroll.txt:
28338         Small doc updates 
28339
28340 2005-05-30  Wim Taymans  <wim@fluendo.com>
28341
28342         * gst/elements/gstidentity.c: (gst_identity_event),
28343         (gst_identity_transform), (gst_identity_get_property):
28344         Protect last_message property as it is accessed from
28345         multiple threads.
28346
28347 2005-05-30  Wim Taymans  <wim@fluendo.com>
28348
28349         * gst/gstelement.c: (gst_element_init),
28350         (gst_element_pads_activate), (gst_element_change_state):
28351         Slicker pad activation code.
28352
28353 2005-05-30  Wim Taymans  <wim@fluendo.com>
28354
28355         * gst/Makefile.am:
28356         * gst/gstelement.h:
28357         * gst/gstelementfactory.h:
28358         * gst/gsttypes.h:
28359         Move elementfactory methods to separate .h file.
28360
28361 2005-05-30  Wim Taymans  <wim@fluendo.com>
28362
28363         * docs/design/part-overview.txt:
28364         * gst/gstsystemclock.h:
28365         Small typo fixes, doc updates.
28366
28367 2005-05-30  Wim Taymans  <wim@fluendo.com>
28368
28369         * gst/gst.c: (gst_init_get_popt_table), (init_post),
28370         (init_popt_callback):
28371         Remove cpu-opt flag.
28372
28373 2005-05-30  Wim Taymans  <wim@fluendo.com>
28374
28375         * gst/gstbuffer.c: (gst_subbuffer_finalize),
28376         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
28377         * gst/gstbuffer.h:
28378         Avoid typechecking in places where not needed.
28379         Added accessor for malloc_data.
28380
28381 2005-05-30  Wim Taymans  <wim@fluendo.com>
28382
28383         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
28384         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
28385         (gst_pad_configure_sink), (gst_pad_configure_src),
28386         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
28387         (gst_pad_start_task):
28388         Propagate errors from _set_caps() in configure_src/sink
28389         functions instead of returning TRUE.
28390         FLUSH events can travel up and downstream
28391
28392
28393 2005-05-30  Wim Taymans  <wim@fluendo.com>
28394
28395         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28396         (gst_basesink_activate):
28397         Handle EOS in preroll.
28398
28399 2005-05-30  Wim Taymans  <wim@fluendo.com>
28400
28401         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28402         (gst_queue_loop), (gst_queue_handle_src_event):
28403         Remove old pieces of code
28404         Flushing the queue in an upstream event is a very bad idea.
28405
28406 2005-05-26  Andy Wingo  <wingo@pobox.com>
28407
28408         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
28409         gst_value_set_mini_object so as to add a ref on the object (which
28410         will be removed when the value is unset).
28411
28412         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
28413         arg type in ::handoff.
28414
28415         * gst/gstelement.c (gst_element_change_state): Also deactivate
28416         pads in READY->NULL, just in case the element didn't make it to
28417         PAUSED. Wingo tested, Wim approved.
28418
28419 2005-05-26  Wim Taymans  <wim@fluendo.com>
28420
28421         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28422         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28423         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
28424         A flushing pad cannot be used to alloc_buffer from.
28425
28426 2005-05-26  Wim Taymans  <wim@fluendo.com>
28427
28428         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
28429         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
28430         (gst_bus_source_dispatch), (gst_bus_source_finalize),
28431         (gst_bus_create_watch), (gst_bus_add_watch_full):
28432         * gst/gstbus.h:
28433         Implement a real GSource and use g_main_context_wakeup() to
28434         signal new messages instead of the socketpair.
28435
28436 2005-05-25  Wim Taymans  <wim@fluendo.com>
28437
28438         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
28439         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
28440         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28441         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28442         (gst_pad_send_event), (gst_pad_start_task):
28443         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
28444         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
28445         (gst_queue_sink_activate), (gst_queue_src_activate),
28446         (gst_queue_change_state):
28447         * gst/gstqueue.h:
28448         Fix state changes for non sinks. We now change sinks, then elements
28449         with unconnected srcpads, then the rest.
28450         More efficient queue unlocking in flush and state changes.
28451         Set the pad activate mode even if it does not have an activate
28452         function.
28453
28454 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28455
28456         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
28457           Don't go in pull mode for non-seekable sources.
28458         * gst/elements/gsttypefindelement.h:
28459         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28460         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
28461         (free_entry), (stop_typefinding),
28462         (gst_type_find_element_handle_event), (find_peek),
28463         (gst_type_find_element_chain), (do_pull_typefind),
28464         (gst_type_find_element_change_state):
28465           Allow typefinding (w/o seeking) in push-mode, simplified version
28466           of what was in 0.8.
28467         * gst/gstutils.c: (gst_buffer_join):
28468         * gst/gstutils.h:
28469           gst_buffer_join() from 0.8.
28470
28471 2005-05-25  Wim Taymans  <wim@fluendo.com>
28472
28473         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28474         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28475         (gst_pad_send_event), (gst_pad_start_task):
28476         Disable attempt at mode switching until it is figured out.
28477
28478 2005-05-25  Wim Taymans  <wim@fluendo.com>
28479
28480         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
28481         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28482         (gst_basesink_finish_preroll), (gst_basesink_chain),
28483         (gst_basesink_loop), (gst_basesink_activate),
28484         (gst_basesink_change_state):
28485         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
28486         (gst_basesrc_get_range), (gst_basesrc_loop),
28487         (gst_basesrc_activate):
28488         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28489         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28490         (gst_real_pad_init), (gst_real_pad_set_property),
28491         (gst_real_pad_get_property), (gst_pad_set_active),
28492         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
28493         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
28494         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
28495         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
28496         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28497         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
28498         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
28499         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28500         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
28501         (gst_pad_stop_task):
28502         * gst/gstpad.h:
28503         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28504         (gst_queue_loop), (gst_queue_src_activate):
28505         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
28506         (gst_task_get_state):
28507         * gst/gsttask.h:
28508         * gst/schedulers/threadscheduler.c:
28509         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
28510         Implement gst_pad_pause/start/stop_task(), take STREAM lock
28511         in task function.
28512         Remove ACTIVE pad flag, use FLUSHING everywhere
28513         Added _pad_chain(), _pad_get_range() to call chain/getrange 
28514         functions.
28515         Add locks around IS_FLUSHING when reading.
28516         Take STREAM lock in chain(), get_range() functions so plugins
28517         don't need to take it anymore.
28518         
28519
28520
28521 2005-05-25  Wim Taymans  <wim@fluendo.com>
28522
28523         * tools/gst-launch.c: (event_loop):
28524         Unref message after using its contents instead of
28525         before.
28526
28527 2005-05-24  Wim Taymans  <wim@fluendo.com>
28528
28529         * docs/design/draft-ghostpads.txt:
28530         * docs/design/draft-push-pull.txt:
28531         * docs/design/draft-query.txt:
28532         * docs/design/part-overview.txt:
28533         Docs updates, added general overview doc.
28534
28535 2005-05-21  David Schleef  <ds@schleef.org>
28536
28537         * docs/gst/tmpl/old/GstBin.sgml:
28538         * docs/gst/tmpl/old/GstBuffer.sgml:
28539         * docs/gst/tmpl/old/GstCaps.sgml:
28540         * docs/gst/tmpl/old/GstClock.sgml:
28541         * docs/gst/tmpl/old/GstCompat.sgml:
28542         * docs/gst/tmpl/old/GstData.sgml:
28543         * docs/gst/tmpl/old/GstElement.sgml:
28544         * docs/gst/tmpl/old/GstEvent.sgml:
28545         * docs/gst/tmpl/old/GstIndex.sgml:
28546         * docs/gst/tmpl/old/GstStructure.sgml:
28547         * docs/gst/tmpl/old/GstTag.sgml:
28548         * docs/gst/tmpl/old/cothreads.sgml:
28549         * docs/gst/tmpl/old/cothreads_compat.sgml:
28550         * docs/gst/tmpl/old/gettext.sgml:
28551         * docs/gst/tmpl/old/gobject2gtk.sgml:
28552         * docs/gst/tmpl/old/grammar.tab.sgml:
28553         * docs/gst/tmpl/old/gst-i18n-app.sgml:
28554         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
28555         * docs/gst/tmpl/old/gst_private.sgml:
28556         * docs/gst/tmpl/old/gstaggregator.sgml:
28557         * docs/gst/tmpl/old/gstarch.sgml:
28558         * docs/gst/tmpl/old/gstatomic_impl.sgml:
28559         * docs/gst/tmpl/old/gstbufferstore.sgml:
28560         * docs/gst/tmpl/old/gstdata_private.sgml:
28561         * docs/gst/tmpl/old/gstdisksink.sgml:
28562         * docs/gst/tmpl/old/gstdisksrc.sgml:
28563         * docs/gst/tmpl/old/gstelementfactory.sgml:
28564         * docs/gst/tmpl/old/gstextratypes.sgml:
28565         * docs/gst/tmpl/old/gstfakesink.sgml:
28566         * docs/gst/tmpl/old/gstfakesrc.sgml:
28567         * docs/gst/tmpl/old/gstfdsink.sgml:
28568         * docs/gst/tmpl/old/gstfdsrc.sgml:
28569         * docs/gst/tmpl/old/gstfilesink.sgml:
28570         * docs/gst/tmpl/old/gstfilesrc.sgml:
28571         * docs/gst/tmpl/old/gsthttpsrc.sgml:
28572         * docs/gst/tmpl/old/gstidentity.sgml:
28573         * docs/gst/tmpl/old/gstindexfactory.sgml:
28574         * docs/gst/tmpl/old/gstmarshal.sgml:
28575         * docs/gst/tmpl/old/gstmd5sink.sgml:
28576         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
28577         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
28578         * docs/gst/tmpl/old/gstpadtemplate.sgml:
28579         * docs/gst/tmpl/old/gstpipefilter.sgml:
28580         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
28581         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
28582         * docs/gst/tmpl/old/gstshaper.sgml:
28583         * docs/gst/tmpl/old/gstspider.sgml:
28584         * docs/gst/tmpl/old/gstspideridentity.sgml:
28585         * docs/gst/tmpl/old/gststatistics.sgml:
28586         * docs/gst/tmpl/old/gsttee.sgml:
28587         * docs/gst/tmpl/old/gsttimecache.sgml:
28588         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
28589         * docs/gst/tmpl/old/gstxmlregistry.sgml:
28590         * docs/gst/tmpl/old/gthread-cothreads.sgml:
28591         * docs/gst/tmpl/old/types.sgml:
28592           I didn't intend to add these or check them in.
28593
28594 2005-05-19  David Schleef  <ds@schleef.org>
28595
28596         * configure.ac: Use -no-common everywhere.  In a sane world, it
28597           would be the default in libtool, because without it, you can't
28598           build DLLs on Windows.
28599         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
28600         * docs/gst/gstreamer-sections.txt:
28601         * docs/gst/tmpl/gstcpu.sgml:
28602         * docs/gst/tmpl/gstdata.sgml:
28603         * docs/gst/tmpl/gstthread.sgml:
28604
28605 2005-05-19  David Schleef  <ds@schleef.org>
28606
28607         * gst/gstminiobject.c: (gst_value_set_mini_object),
28608         (gst_value_take_mini_object), (gst_value_get_mini_object):
28609         * gst/gstminiobject.h: Add GValue set/get functions.
28610
28611 2005-05-19  Wim Taymans  <wim@fluendo.com>
28612
28613         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
28614         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
28615         (gst_subbuffer_init), (gst_buffer_is_span_fast):
28616         * gst/gstbuffer.h:
28617         * gst/gstbus.c: (gst_bus_post):
28618         * gst/gstelement.c: (gst_element_get_random_pad):
28619         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
28620         Make subbufer unref the parent in finalize.
28621         some more debugging info.
28622
28623
28624 2005-05-19  Wim Taymans  <wim@fluendo.com>
28625
28626         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28627         (gst_basesink_init), (gst_basesink_finalize),
28628         (gst_basesink_activate), (gst_basesink_change_state):
28629         Don't free preroll queue too early.
28630
28631 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28632
28633         * gst/Makefile.am:
28634         * gst/ROADMAP:
28635           Hi, I'm outdated. Please shoot me.
28636
28637 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28638
28639         * gst/gstpipeline.c: (gst_pipeline_send_event):
28640           Do not access variables after they have been deleted.
28641
28642 2005-05-19  Wim Taymans  <wim@fluendo.com>
28643
28644         * tools/gst-inspect.c: (print_plugin_features):
28645         A plugin feature does unfortunatly not use the
28646         object name yet...
28647
28648 2005-05-18  Wim Taymans  <wim@fluendo.com>
28649
28650         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
28651         Port _span() functions to new subbuffers.
28652
28653 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28654
28655         * gst/gstbin.c: (gst_bin_add_func):
28656           Fix clock settery in bins when adding kids after the clock has
28657           been selected.
28658
28659 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28660
28661         * gst/elements/gstidentity.c: (gst_identity_class_init):
28662           Workaround until signals support GstMiniObject.
28663
28664 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
28665
28666         * gst/gstbuffer.c:
28667         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
28668
28669 2005-05-18  Wim Taymans  <wim@fluendo.com>
28670
28671         * gst/base/Makefile.am:
28672         * gst/base/gstadapter.c: (gst_adapter_base_init),
28673         (gst_adapter_class_init), (gst_adapter_init),
28674         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
28675         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
28676         (gst_adapter_flush), (gst_adapter_available),
28677         (gst_adapter_available_fast):
28678         * gst/base/gstadapter.h:
28679         Ported and added adapter to the base classes.
28680
28681 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28682
28683         * gst/gst.c:
28684         * gst/gstmessage.c:
28685           Make sure the class is reffed/unreffed once before threads can be
28686           used.  Fixes #304551.
28687
28688 2005-05-17  Wim Taymans  <wim@fluendo.com>
28689
28690         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
28691         (gst_basesink_chain_unlocked), (gst_basesink_activate):
28692         * gst/gstminiobject.c: (gst_mini_object_get_type),
28693         (gst_mini_object_free):
28694         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
28695         (gst_pad_push), (gst_pad_push_event):
28696         * gst/gstqueue.c: (gst_queue_change_state):
28697         Don't queue buffers in basesink when we are flushing.
28698         Unref buffer when flushing in basesink.
28699         Flush queue when going to READY
28700         Unref buffer when _push() returns an error.
28701         Don't free MiniObject instance when refcount is incremented
28702         in _finalize() so that we can recover objects.
28703
28704 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28705
28706         * docs/manual/advanced-schedulers.xml:
28707         * docs/manual/appendix-checklist.xml:
28708         * docs/pwg/advanced-clock.xml:
28709         * docs/pwg/advanced-interfaces.xml:
28710         * docs/pwg/advanced-request.xml:
28711         * docs/pwg/advanced-types.xml:
28712         * docs/pwg/intro-preface.xml:
28713         * examples/plugins/example.c: (gst_example_get_type),
28714         (gst_example_class_init), (gst_example_chain),
28715         (gst_example_set_property), (gst_example_get_property),
28716         (gst_example_change_state), (plugin_init):
28717         * examples/plugins/example.h:
28718           small doc fixes
28719
28720 2005-05-17  Wim Taymans  <wim@fluendo.com>
28721
28722         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
28723         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
28724         * gst/gstqueue.c: (gst_queue_change_state):
28725         Clear queue when going to READY.
28726         Remove IN_SETCAPS flag too.
28727
28728 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
28729
28730         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
28731           Remove implicit cast from gboolean to GstElementStateReturn;
28732           make sure we still return failure in paused => ready case if
28733           the parent class fails to change state and our own stop 
28734           vfunc succeeds.
28735
28736 2005-05-17  Wim Taymans  <wim@fluendo.com>
28737
28738         * tools/gst-launch.c: (event_loop):
28739         Message was unreffed too soon.
28740
28741 2005-05-16  Andy Wingo  <wingo@pobox.com>
28742
28743         * gst/gstbin.c (sink_iterator_filter): Err... um...
28744
28745         * check/gst/gstbin.c (test_ghost_pads): New test for the
28746         ghosting-if-elements-not-in-same-bin behavior.
28747
28748 2005-05-16  David Schleef  <ds@schleef.org>
28749
28750         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
28751         accessing refcount directly.
28752
28753 2005-05-15  David Schleef  <ds@schleef.org>
28754
28755         * check/Makefile.am: remove GstData checks
28756         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
28757         * gst/Makefile.am: add miniobject, remove data
28758         * gst/gst.h: add miniobject, remove data
28759         * gst/gstdata.c: remove
28760         * gst/gstdata.h: remove
28761         * gst/gstdata_private.h: remove
28762         * gst/gsttypes.h: remove GstEvent and GstMessage
28763         * gst/gstelement.c: (gst_element_post_message): fix for API changes
28764         * gst/gstmarshal.list: change BOXED -> OBJECT
28765
28766         Implement GstMiniObject.
28767         * gst/gstminiobject.c:
28768         * gst/gstminiobject.h:
28769
28770         Modify to be subclasses of GstMiniObject.
28771         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
28772         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
28773         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
28774         (gst_subbuffer_get_type), (gst_subbuffer_init),
28775         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
28776         (gst_buffer_span):
28777         * gst/gstbuffer.h:
28778         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
28779         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
28780         (_gst_event_copy), (gst_event_new):
28781         * gst/gstevent.h:
28782         * gst/gstmessage.c: (_gst_message_initialize),
28783         (gst_message_get_type), (gst_message_class_init),
28784         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
28785         (gst_message_new), (gst_message_new_error),
28786         (gst_message_new_warning), (gst_message_new_tag),
28787         (gst_message_new_state_changed), (gst_message_new_application):
28788         * gst/gstmessage.h:
28789         * gst/gstprobe.c: (gst_probe_perform),
28790         (gst_probe_dispatcher_dispatch):
28791         * gst/gstprobe.h:
28792         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
28793         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
28794         (_gst_query_copy), (gst_query_new):
28795
28796         Update elements for GstData -> GstMiniObject changes
28797         * gst/gstquery.h:
28798         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
28799         (gst_queue_chain), (gst_queue_loop):
28800         * gst/elements/gstbufferstore.c:
28801         (gst_buffer_store_add_buffer_func),
28802         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
28803         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28804         (gst_fakesink_render):
28805         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28806         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
28807         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
28808         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
28809         (gst_filesrc_create_read):
28810         * gst/elements/gstidentity.c: (gst_identity_class_init):
28811         * gst/elements/gsttypefindelement.c:
28812         (gst_type_find_element_src_event), (free_entry_buffers),
28813         (gst_type_find_element_handle_event):
28814         * libs/gst/dataprotocol/dataprotocol.c:
28815         (gst_dp_header_from_buffer):
28816         * libs/gst/dataprotocol/dataprotocol.h:
28817         * libs/gst/dataprotocol/dp-private.h:
28818
28819 2005-05-15  David Schleef  <ds@schleef.org>
28820
28821         * gst/elements/gstelements.c: Don't include headers that were
28822         just removed.
28823
28824 2005-05-15  David Schleef  <ds@schleef.org>
28825
28826         * gst/elements/Makefile.am: Remove some elements that don't
28827         need to be in the core (or even exist at all).
28828         * gst/elements/gstaggregator.c:
28829         * gst/elements/gstaggregator.h:
28830         * gst/elements/gstmd5sink.c:
28831         * gst/elements/gstmd5sink.h:
28832         * gst/elements/gstmultifilesrc.c:
28833         * gst/elements/gstmultifilesrc.h:
28834         * gst/elements/gstpipefilter.c:
28835         * gst/elements/gstpipefilter.h:
28836         * gst/elements/gstshaper.c:
28837         * gst/elements/gstshaper.h:
28838         * gst/elements/gststatistics.c:
28839         * gst/elements/gststatistics.h:
28840         * po/POTFILES.in: Remove above files.
28841
28842 2005-05-14  Andy Wingo  <wingo@pobox.com>
28843
28844         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
28845         so as to get the refs right.
28846         (sink_iterator_filter): New function, wraps bin_element_is_sink,
28847         unreffing objects that don't pass the filter.
28848
28849         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
28850         gst_element_set_bus.
28851         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
28852         normal cases, this will destroy the bus.
28853
28854         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
28855         object.
28856
28857         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
28858         has no sinks.
28859
28860 2005-05-13  Andy Wingo  <wingo@pobox.com>
28861
28862         * gst/gstutils.c (gst_element_link_pads): Instead of calling
28863         gst_pad_link, call pad_link_maybe_ghosting,
28864         (pad_link_maybe_ghosting): Links pads, making sure that the
28865         elements being linked are in the same bin.
28866         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
28867         Helpers for pad_link_maybe_ghosting.
28868
28869 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28870
28871         * configure.ac:
28872           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
28873
28874 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28875
28876         * docs/design/part-element-source.txt:
28877           Mention GstPushSrc
28878
28879 2005-05-12  Wim Taymans  <wim@fluendo.com>
28880
28881         * gst/base/gstbasesink.c: (gst_basesink_init),
28882         (gst_basesink_activate):
28883         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
28884         (gst_basesrc_is_seekable):
28885         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
28886         (bin_element_is_sink), (gst_bin_change_state):
28887         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28888         * gst/gstelement.h:
28889         Identify sinks by their flag to avoid overly complicated
28890         checks (fow now).
28891         Do state changes even for elements not reachable from the
28892         sinks.
28893         BaseSink is a sink now :)
28894         Some more debugging info in the basesrc.
28895
28896
28897 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28898
28899         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
28900           Implement _query on a bin, similar to _send_event.
28901
28902 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
28903
28904         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
28905           Discont event offset format should be GST_FORMAT_BYTES,
28906           not GST_FORMAT_TIME.
28907
28908 2005-05-12  Wim Taymans  <wim@fluendo.com>
28909
28910         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
28911         Same fix as Ronald's but without the signal. 
28912
28913 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28914
28915         * gst/gstutils.c: (gst_element_query_position):
28916           No, an element is not a pad.
28917
28918 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28919
28920         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
28921         (gst_bin_get_state):
28922           If a child is removed from a bin while we remove the child from
28923           the bin and while we're retrieving its state, signal this to the
28924           get_state function so we abort the wait (instead of waiting for
28925           a timeout) and can immediately re-iterate over all other elements.
28926
28927 2005-05-12  Wim Taymans  <wim@fluendo.com>
28928
28929         * gst/base/Makefile.am:
28930         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
28931         (gst_basesrc_start):
28932         * gst/base/gstbasesrc.h:
28933         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
28934         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
28935         (gst_pushsrc_init), (gst_pushsrc_create):
28936         * gst/base/gstpushsrc.h:
28937         Added is_seekable to BaseSrc
28938         Added simple PushSrc.
28939
28940 2005-05-11  Wim Taymans  <wim@fluendo.com>
28941
28942         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28943         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28944         (gst_element_link_pads), (gst_element_query_position),
28945         (gst_element_query_convert), (intersect_caps_func),
28946         (gst_pad_query_position), (gst_pad_query_convert):
28947         Fix refcounting in utils function.
28948         No point in trying to activate a pad when it's added, it could
28949         be added from the state change function and then we deadlock, the
28950         element has to decide what to do.
28951
28952 2005-05-10  Andy Wingo  <wingo@pobox.com>
28953
28954         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
28955         *all* the arguments.
28956
28957         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
28958         stream lock if it's a FLUSH_DONE; normal flushes don't get the
28959         lock (according to the docs -- if this is wrong change the docs).
28960
28961         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
28962         flush messages in the NULL state.
28963
28964         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
28965         message immediately and return.
28966         (gst_bus_set_flushing): New function. If a bus is flushing, it
28967         flushes out any queued messages and immediately unrefs new
28968         messages. This is so when an element goes to NULL, all of the
28969         unhandled messages coming from it can be freed, and their
28970         references to the element dropped. In other words: message source
28971         ref considered harmful :P
28972
28973         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
28974         we're finished with it.
28975
28976         * gst/gstmessage.c (gst_message_new_state_changed): 
28977
28978 2005-05-10  Wim Taymans  <wim@fluendo.com>
28979
28980         * gst/gstvalue.c: (gst_value_compare_flags),
28981         (gst_value_serialize_flags), (gst_value_deserialize_flags),
28982         (_gst_value_initialize):
28983         Added flags serialize/deserialize/compare code.
28984
28985 2005-05-09  Andy Wingo  <wingo@pobox.com>
28986
28987         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
28988         Intersect the peer's caps with our caps.
28989
28990 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28991
28992         * gst/base/gsttypefindhelper.c: (helper_find_peek):
28993         * gst/elements/gsttypefindelement.c: (find_peek):
28994           Handle negative offsets better. Fixes decodebin.
28995
28996 2005-05-09  Wim Taymans  <wim@fluendo.com>
28997
28998         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
28999         (gst_base_transform_event):
29000         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
29001         Implement accept_caps.
29002         Fix silly lock/unlock mismatch in base class.
29003
29004 2005-05-09  Wim Taymans  <wim@fluendo.com>
29005
29006         * docs/design/draft-push-pull.txt:
29007         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
29008         * gst/elements/gstfilesink.c: (gst_filesink_init),
29009         (gst_filesink_query):
29010         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29011         (gst_type_find_handle_src_query), (find_element_get_length):
29012         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
29013         * gst/gstelement.h:
29014         * gst/gstmessage.c:
29015         * gst/gstmessage.h:
29016         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
29017         (gst_real_pad_get_caps_unlocked),
29018         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
29019         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29020         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
29021         (gst_real_pad_dispose), (gst_real_pad_finalize),
29022         (gst_pad_load_and_link), (gst_pad_save_thyself),
29023         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
29024         (gst_pad_check_pull_range), (gst_pad_pull_range),
29025         (gst_pad_template_get_type), (gst_pad_template_class_init),
29026         (gst_pad_template_init), (gst_pad_template_dispose),
29027         (name_is_valid), (gst_static_pad_template_get),
29028         (gst_pad_template_new), (gst_static_pad_template_get_caps),
29029         (gst_pad_template_get_caps), (gst_pad_set_element_private),
29030         (gst_pad_get_element_private), (gst_pad_start_task),
29031         (gst_pad_pause_task), (gst_pad_stop_task),
29032         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
29033         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
29034         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
29035         (gst_ghost_pad_new):
29036         * gst/gstpad.h:
29037         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
29038         (gst_query_new_position), (gst_query_set_position),
29039         (gst_query_parse_position), (gst_query_new_convert),
29040         (gst_query_set_convert), (gst_query_parse_convert):
29041         * gst/gstquery.h:
29042         * gst/gstqueryutils.c:
29043         * gst/gstqueryutils.h:
29044         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29045         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29046         (gst_queue_handle_src_query):
29047         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29048         (gst_element_query_position), (gst_element_query_convert),
29049         (intersect_caps_func), (gst_pad_query_position),
29050         (gst_pad_query_convert):
29051         * gst/gstutils.h:
29052         * tools/gst-inspect.c: (print_pad_info):
29053         * tools/gst-xmlinspect.c: (print_element_info):
29054         Remove old query functions. Ported old code.
29055         Added position/convert helper functions to gstutils.
29056         Reordered gstpad.c code, grouping relevant things.
29057         Remove gst_message_new(), always need to speficy a specific
29058         message.
29059
29060
29061 2005-05-09  Andy Wingo  <wingo@pobox.com>
29062
29063         * gst/gstiterator.h: Add some includes.
29064
29065         * gst/gstqueryutils.h: Include more headers.
29066
29067         * gst/gstpad.h:
29068         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
29069         some uses of gst_pad_query.
29070
29071         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
29072         NULL out parameters.
29073         (gst_query_new_position): New proc, allocates a new position
29074         query.
29075
29076         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
29077         gstqueryutils.c to the build.
29078
29079         * gst/gststructure.c (gst_structure_set_valist): Implement with
29080         the generic G_VALUE_COLLECT.
29081         
29082 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
29083
29084         * gst/Makefile.am: (gst_headers):
29085         Added gstqueryutils.h to the list of headers to install, that was
29086         a 'nachty' move wingo :)
29087
29088 2005-05-06  Andy Wingo  <wingo@pobox.com>
29089
29090         * gst/gstquery.h
29091         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
29092         GstData, init a memchunk.
29093         (standard_definitions): Add a few query types, deprecate a few.
29094         (gst_query_get_type): New proc.
29095         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
29096         implementation.
29097         (gst_query_new_application, gst_query_get_structure): New public
29098         procs.
29099
29100         * docs/design/draft-query.txt: Removed LINKS from the query types,
29101         because all the rest can be dispatched to other pads -- seemed
29102         ugly to have a query that couldn't be dispatched. internal_links
29103         is fine as a pad method.
29104
29105         * gst/gstpad.h: Add query2 as a pad method, add the new functions
29106         in gstpad.c, but maintain binary compatibility for the moment.
29107         Will fix before 0.9 is out.
29108
29109         * gst/gstqueryutils.c: 
29110         * gst/gstqueryutils.h: New files, implement 3 methods for each
29111         query type: parse_query, parse_response, and set. Probably need an
29112         allocator as well.
29113
29114         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
29115
29116         * gst/elements/gstfilesink.c (gst_filesink_query2):
29117         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
29118         query_types, and formats methods.
29119
29120         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
29121         (gst_pad_set_query2_function): New functions.
29122         (gst_real_pad_init): Set query2_default as the default query2
29123         function. Basically just dispatches to internally linked pads.
29124
29125         Needs review!
29126         
29127         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
29128         without using the atomic operations. Only one thread can possibly
29129         be accessing the data at this point. Changed so as to avoid
29130         gst_atomic operations.
29131
29132 2005-05-06  Wim Taymans  <wim@fluendo.com>
29133
29134         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
29135         Also set caps if we use the fallback buffer alloc.
29136
29137 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
29138
29139         * docs/gst/Makefile.am:
29140         * docs/gst/gstreamer-docs.sgml:
29141         * docs/gst/gstreamer-sections.txt:
29142         * docs/gst/tmpl/gstatomic.sgml:
29143         * docs/gst/tmpl/gstmemchunk.sgml:
29144         * testsuite/elements/struct_i386.h:
29145         * win32/GStreamer.vcproj:
29146         * win32/Makefile:
29147           Purge GstAtomic stuff from docs and win32 makefiles as well
29148
29149 2005-05-06  Wim Taymans  <wim@fluendo.com>
29150
29151         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
29152         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
29153         * gst/gstpad.c: (gst_pad_peer_get_caps):
29154         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
29155         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
29156         (gst_queue_src_activate), (gst_queue_change_state):
29157         * gst/gstqueue.h:
29158         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29159         (intersect_caps_func):
29160         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
29161         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
29162         Some fixes for the peer_get_caps() change.
29163
29164 2005-05-06  Wim Taymans  <wim@fluendo.com>
29165
29166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29167         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
29168         (gst_basesink_activate):
29169         Actually do something with error codes returned from the push
29170         functions.
29171
29172 2005-05-06  Wim Taymans  <wim@fluendo.com>
29173
29174         * docs/design/part-element-sink.txt:
29175         * docs/design/part-element-source.txt:
29176         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29177         (gst_basesink_event), (gst_basesink_activate):
29178         * gst/base/gstbasesink.h:
29179         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
29180         (gst_basesrc_activate):
29181         * gst/base/gstbasesrc.h:
29182         * gst/gstelement.c: (gst_element_pads_activate):
29183         Some more documentation.
29184         Fixed scheduling decision in _pads_activate().
29185
29186 2005-05-05  Andy Wingo  <wingo@pobox.com>
29187
29188         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
29189         the test suite.
29190
29191 2005-05-05  Wim Taymans  <wim@fluendo.com>
29192
29193         * gst/base/Makefile.am:
29194         * gst/base/gstbasesink.h:
29195         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29196         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
29197         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
29198         (gst_collectpads_class_init), (gst_collectpads_init),
29199         (gst_collectpads_finalize), (gst_collectpads_new),
29200         (gst_collectpads_set_function), (gst_collectpads_add_pad),
29201         (find_pad), (gst_collectpads_remove_pad),
29202         (gst_collectpads_is_active), (gst_collectpads_collect),
29203         (gst_collectpads_collect_range), (gst_collectpads_start),
29204         (gst_collectpads_stop), (gst_collectpads_peek),
29205         (gst_collectpads_pop), (gst_collectpads_available),
29206         (gst_collectpads_read), (gst_collectpads_flush),
29207         (gst_collectpads_chain):
29208         * gst/base/gstcollectpads.h:
29209         * gst/elements/Makefile.am:
29210         * gst/elements/gstelements.c:
29211         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29212         (gst_fakesink_get_times), (gst_fakesink_event),
29213         (gst_fakesink_preroll), (gst_fakesink_render):
29214         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
29215         (gst_filesink_init), (gst_filesink_set_location),
29216         (gst_filesink_open_file), (gst_filesink_close_file),
29217         (gst_filesink_pad_query), (gst_filesink_event),
29218         (gst_filesink_render), (gst_filesink_change_state):
29219         * gst/elements/gstfilesink.h:
29220         Added object to help in making collect pad based elements.
29221         Ported filesink.
29222         Make event function in sink baseclass return gboolean.
29223
29224 2005-05-05  Wim Taymans  <wim@fluendo.com>
29225
29226         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
29227         (gst_bin_get_by_name):
29228         * gst/gstbuffer.h:
29229         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
29230         (gst_clock_finalize):
29231         * gst/gstdata.c: (gst_data_replace):
29232         * gst/gstdata.h:
29233         * gst/gstelement.c: (gst_element_request_pad),
29234         (gst_element_pads_activate):
29235         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
29236         (gst_object_unref):
29237         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29238         (gst_pad_set_checkgetrange_function),
29239         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
29240         (gst_pad_check_pull_range), (gst_pad_pull_range),
29241         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29242         (gst_pad_pause_task), (gst_pad_stop_task):
29243         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
29244         (gst_element_request_pad), (gst_pad_proxy_getcaps):
29245         Fix name lookup in GstBin.
29246         Added _data_replace() function and _buffer_replace()
29247         Use finalize method to clean up clock.
29248         Fix refcounting on request pads.
29249         Fix pad schedule mode error.
29250         Some more object refcounting debug info,
29251
29252
29253 2005-05-04  Andy Wingo <wingo@pobox.com>
29254
29255         * check/Makefile.am:
29256         * docs/gst/tmpl/gstatomic.sgml:
29257         * docs/gst/tmpl/gstplugin.sgml:
29258         * gst/base/gstbasesink.c: (gst_basesink_activate):
29259         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
29260         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
29261         (gst_basesrc_query), (gst_basesrc_set_property),
29262         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
29263         (gst_basesrc_activate):
29264         * gst/base/gstbasesrc.h:
29265         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
29266         (gst_base_transform_src_activate):
29267         * gst/elements/gstelements.c:
29268         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29269         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29270         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29271         * gst/elements/gsttypefindelement.c: (find_element_get_length),
29272         (gst_type_find_element_checkgetrange),
29273         (gst_type_find_element_activate):
29274         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
29275         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
29276         (gst_caps_load_thyself):
29277         * gst/gstelement.c: (gst_element_pads_activate),
29278         (gst_element_save_thyself), (gst_element_restore_thyself):
29279         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
29280         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
29281         * gst/gstpad.h:
29282         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
29283         (gst_xml_parse_file), (gst_xml_parse_memory),
29284         (gst_xml_get_element), (gst_xml_make_element):
29285         * gst/indexers/gstfileindex.c: (gst_file_index_load),
29286         (_file_index_id_save_xml), (gst_file_index_commit):
29287         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
29288         (read_enum), (load_pad_template), (load_feature), (load_plugin),
29289         (load_paths):
29290         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
29291         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
29292         * tools/gst-complete.c: (main):
29293         * tools/gst-compprep.c: (main):
29294         * tools/gst-inspect.c: (print_element_properties_info):
29295         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
29296         * tools/gst-xmlinspect.c: (print_element_properties):
29297         GCC 4 fixen.
29298         
29299 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
29300
29301         * gst/gstplugin.c: (gst_plugin_check_module),
29302         (gst_plugin_check_file), (gst_plugin_load_file):
29303             apply patch from #172526 to make register work on MacOSX
29304
29305 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29306
29307         * docs/gst/tmpl/gstconfig.sgml:
29308         * gst/gstconfig.h.in:
29309           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
29310         * testsuite/debug/printf_extension.c: (main):
29311           Do not use GST_PTR_FORMAT on pointers to types with
29312           sizeof < sizeof(gpointer).  Fixes test on 64-bit
29313         * testsuite/elements/property.h:
29314           use correct printf format
29315
29316 2005-05-02  Wim Taymans  <wim@fluendo.com>
29317
29318         * docs/design/draft-push-pull.txt:
29319         * docs/design/draft-query.txt:
29320         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
29321         (gst_basesrc_start):
29322         Added draft for new query API.
29323         Added draft for better selecting scheduling methods.
29324         Make basesrc ignore length if the subclass does not support
29325         it.
29326
29327 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29328
29329         * gst/Makefile.am:
29330           possible fixes for automake-1.5 - _LIBADD is reserved
29331
29332 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29333
29334         * docs/faq/Makefile.am:
29335         * docs/manual/Makefile.am:
29336         * docs/manuals.mak:
29337         * docs/pwg/Makefile.am:
29338         * gst/Makefile.am:
29339           possible fixes for automake-1.5
29340
29341 2005-04-28  Wim Taymans  <wim@fluendo.com>
29342
29343         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29344         (gst_basesink_pad_getcaps), (gst_basesink_init),
29345         (gst_basesink_do_sync):
29346         * gst/gstclock.c: (gst_clock_entry_new):
29347         * gst/gstevent.c: (gst_event_discont_get_value):
29348         * gst/gstpipeline.c: (pipeline_bus_handler),
29349         (gst_pipeline_change_state):
29350         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
29351         Better debugging of clocking info.
29352         Allow NULL values when getting discont values.
29353
29354 2005-04-27  Wim Taymans  <wim@fluendo.com>
29355
29356         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29357         * check/gst/gstpad.c: (gst_pad_suite):
29358         Increase timeout for checks.
29359
29360 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29361
29362         * check/Makefile.am:
29363           fix the broken rule for cleanup.  Apparently this rule is
29364           only needed on FC2, so maybe this warrants further autotool
29365           inspection.
29366
29367 2005-04-26  Wim Taymans  <wim@fluendo.com>
29368
29369         * gst/gsttrashstack.h:
29370         Ooohh. a nasty one! After having a failed pop() from the stack,
29371         it's possible that the stack is empty. In that case, don't
29372         follow the NULL pointer.
29373
29374 2005-04-25  Wim Taymans  <wim@fluendo.com>
29375
29376         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29377         (gst_pad_set_checkgetrange_function),
29378         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
29379         (gst_pad_check_pull_range), (gst_pad_pull_range),
29380         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29381         (gst_pad_pause_task), (gst_pad_stop_task):
29382         * gst/gstplugin.c: (gst_plugin_load):
29383         * gst/gstplugin.h:
29384         Remove gst_library_load as it does more harm than good with
29385         the new g_module flags.
29386         Revert bogus caps template check in pad linking, pad caps
29387         are important when linking not the template, which is more
29388         general than the current caps.
29389
29390 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29391
29392         * gst/autoplug/.cvsignore:
29393         * gst/autoplug/Makefile.am:
29394         * gst/autoplug/gstsearchfuncs.c:
29395         * gst/autoplug/gstsearchfuncs.h:
29396         * gst/autoplug/gstspider.c:
29397         * gst/autoplug/gstspider.h:
29398         * gst/autoplug/gstspideridentity.c:
29399         * gst/autoplug/gstspideridentity.h:
29400         * gst/autoplug/spidertest.c:
29401           Die, spider, die.
29402
29403 2005-04-25  Wim Taymans  <wim@fluendo.com>
29404
29405         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29406         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29407         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
29408         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
29409         * gst/gstpad.h:
29410         Added stubs for unimplemented functions. 
29411
29412 2005-04-24  David Schleef  <ds@schleef.org>
29413
29414         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
29415         please fix.
29416
29417 2005-04-24  David Schleef  <ds@schleef.org>
29418
29419         Convert everything from GstAtomicInt to g_atomic_int_*, and
29420         remove gstatomic.
29421         * gst/Makefile.am:
29422         * gst/gstatomic.c:
29423         * gst/gstatomic.h:
29424         * gst/gstatomic_impl.h:
29425         * gst/gstbuffer.c:
29426         * gst/gstcaps.c:
29427         * gst/gstcaps.h:
29428         * gst/gstclock.c:
29429         * gst/gstclock.h:
29430         * gst/gstdata.c:
29431         * gst/gstdata.h:
29432         * gst/gstdata_private.h:
29433         * gst/gstevent.c:
29434         * gst/gstinfo.c:
29435         * gst/gstinfo.h:
29436         * gst/gstmessage.c:
29437         * gst/gstobject.c:
29438         * gst/gstobject.h:
29439         * gst/gststructure.c:
29440         * gst/gststructure.h:
29441         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
29442         * gst/gstutils.h:
29443
29444 2005-04-24  David Schleef  <ds@schleef.org>
29445
29446         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
29447         make the regressions tests work.  Remove some code that is no
29448         longer true.
29449         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
29450         Disable warning for pads without templates.
29451
29452 2005-04-24  David Schleef  <ds@schleef.org>
29453
29454         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
29455         functions that handle filtered links.
29456         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
29457         removed functions.
29458         * gst/gstutils.c: Fix/remove utility functions that handle
29459         filtered caps.
29460         * gst/gstutils.h:
29461         * gst/gstvalue.c: Add serialization/deserialization of caps
29462         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
29463         requires fixing so that the filter caps notation creates
29464         a capsfilter element and sets the filter_caps property.  I
29465         think everyone probably wants to keep the shorthand notation.
29466         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
29467         * docs/gst/tmpl/gstpad.sgml:
29468
29469         * gst/elements/gstelements.c: Register capsfilter element.
29470         * gst/Makefile.am: fix spacing
29471         * docs/random/ds/0.9-suggested-changes: random
29472
29473 2005-04-23  David Schleef  <ds@schleef.org>
29474
29475         * gst/elements/Makefile.am:
29476         * gst/elements/gstcapsfilter.c: New element that acts like an
29477         identity, but filters caps.  Will eventually replace filtered
29478         caps in pad linking.
29479         * gst/gstutils.c: (gst_element_create_all_pads): New function
29480         to create all the ALWAYS pads that are registered with an
29481         element class.  This functionality should eventually be
29482         merged in with GstElement initialization.
29483         * gst/gstutils.h:
29484         * testsuite/trigger/README: part of trigger test code that should
29485         have been checked in a long time ago.
29486
29487 2005-04-23  David Schleef  <ds@schleef.org>
29488
29489         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
29490         needed with new versions of libtool (nobody will confirm this),
29491         and hard to carry around.
29492         * gst/autoplug/Makefile.am:
29493         * gst/base/Makefile.am:
29494         * gst/elements/Makefile.am:
29495         * gst/indexers/Makefile.am:
29496         * gst/schedulers/Makefile.am:
29497         * libs/gst/bytestream/Makefile.am:
29498         * libs/gst/control/Makefile.am:
29499         * libs/gst/dataprotocol/Makefile.am:
29500         * libs/gst/getbits/Makefile.am:
29501
29502 2005-04-21  Wim Taymans  <wim@fluendo.com>
29503
29504         * docs/design/draft-push-pull.txt:
29505         * docs/design/part-MT-refcounting.txt:
29506         * docs/design/part-TODO.txt:
29507         * docs/design/part-caps.txt:
29508         * docs/design/part-events.txt:
29509         * docs/design/part-gstbus.txt:
29510         * docs/design/part-gstpipeline.txt:
29511         * docs/design/part-messages.txt:
29512         * docs/design/part-push-pull.txt:
29513         * docs/design/part-query.txt:
29514         Some more docs.
29515
29516 2005-04-21  Wim Taymans  <wim@fluendo.com>
29517
29518         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
29519         (gst_message_new), (gst_message_new_error),
29520         (gst_message_new_warning), (gst_message_new_tag),
29521         (gst_message_new_state_changed), (gst_message_new_application),
29522         (gst_message_get_structure):
29523         * gst/gstmessage.h:
29524         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29525         (gst_structure_copy_conditional):
29526         Use parent refcount in GstMessage to ensure GstStructure
29527         consistency.
29528         Cleaned up headers a bit.
29529         
29530
29531 2005-04-20  Wim Taymans  <wim@fluendo.com>
29532
29533         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29534         (gst_basesink_pad_getcaps), (gst_basesink_init),
29535         (gst_basesink_chain_unlocked):
29536         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
29537         (gst_type_find_helper):
29538         * gst/elements/gsttypefindelement.c:
29539         (gst_type_find_element_have_type), (gst_type_find_element_init),
29540         (stop_typefinding), (gst_type_find_element_handle_event),
29541         (find_suggest), (gst_type_find_element_chain),
29542         (gst_type_find_element_checkgetrange),
29543         (gst_type_find_element_getrange), (do_typefind),
29544         (gst_type_find_element_activate):
29545         * gst/gstbuffer.c: (_gst_buffer_sub_free),
29546         (gst_buffer_default_free), (gst_buffer_default_copy),
29547         (gst_buffer_set_caps):
29548         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
29549         (gst_caps_replace):
29550         * gst/gstmessage.c: (gst_message_new),
29551         (gst_message_new_state_changed):
29552         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29553         (gst_pad_set_checkgetrange_function),
29554         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
29555         (gst_pad_set_caps), (gst_pad_check_pull_range),
29556         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
29557         * gst/gstpad.h:
29558         * gst/gsttypefind.c: (gst_type_find_register):
29559         Make gst_caps_replace() work like other _replace() functions.
29560         Use _caps_replace() where possible.
29561         Make sure _message_new() initialises its field.
29562         Add gst_static_pad_template_get_caps()
29563
29564
29565 2005-04-18  Andy Wingo  <wingo@pobox.com>
29566
29567         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
29568         on the peer, not the pad. I think that was a typo. Pass an extra
29569         arg to see if random access is possible. Activate the pads as
29570         PULL_RANGE if possible.
29571
29572         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
29573
29574         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
29575         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
29576         to PROP_....
29577
29578 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29579
29580         * docs/faq/using.xml:
29581           Add note on gstreamer-properties (#154996).
29582
29583 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29584
29585         * docs/random/bbb/optional-properties:
29586           Some analysis on optional properties.
29587
29588 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29589
29590         * docs/gst/tmpl/gstelementfactory.sgml:
29591         * gst/gstelement.h:
29592         * gst/gstelementfactory.c: (gst_element_factory_init),
29593         (gst_element_factory_cleanup), (gst_element_register),
29594         (__gst_element_factory_add_static_pad_template),
29595         (gst_element_factory_get_static_pad_templates),
29596         (gst_element_factory_can_src_caps),
29597         (gst_element_factory_can_sink_caps):
29598         * gst/registries/Makefile.am:
29599         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
29600         (gst_xml_registry_class_init), (gst_xml_registry_init),
29601         (gst_xml_registry_new), (gst_xml_registry_set_property),
29602         (gst_xml_registry_get_property), (get_time), (make_dir),
29603         (gst_xml_registry_get_perms_func),
29604         (plugin_times_older_than_recurse), (plugin_times_older_than),
29605         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
29606         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
29607         (add_to_char_array), (read_string), (read_uint), (read_enum),
29608         (load_pad_template), (load_feature), (load_plugin), (load_paths),
29609         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
29610         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
29611         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
29612         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
29613         (gst_xml_registry_rebuild):
29614         * gst/registries/gstlibxmlregistry.h:
29615         * tools/gst-compprep.c: (main):
29616         * tools/gst-inspect.c: (print_pad_templates_info):
29617         * tools/gst-xmlinspect.c: (print_element_info):
29618           Use libxml2 for registry parsing, use staticpadtemplates in
29619           elementfactories. Makes gst_init() +/- 10x faster.
29620
29621 2005-04-12  Wim Taymans  <wim@fluendo.com>
29622
29623         * gst/base/Makefile.am:
29624         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29625         (gst_basesink_pad_getcaps), (gst_basesink_init),
29626         (gst_basesink_event), (gst_basesink_change_state):
29627         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29628         (gst_basesrc_init), (gst_basesrc_query),
29629         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29630         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29631         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29632         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29633         (gst_basesrc_stop), (gst_basesrc_activate),
29634         (gst_basesrc_change_state):
29635         * gst/base/gsttypefindhelper.c: (helper_find_peek),
29636         (helper_find_suggest), (gst_type_find_helper):
29637         * gst/base/gsttypefindhelper.h:
29638         * gst/elements/Makefile.am:
29639         * gst/elements/gstelements.c:
29640         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29641         (gst_fakesink_get_times), (gst_fakesink_event),
29642         (gst_fakesink_preroll), (gst_fakesink_render):
29643         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29644         (gst_fakesrc_init), (gst_fakesrc_event_handler),
29645         (gst_fakesrc_get_property), (gst_fakesrc_create),
29646         (gst_fakesrc_start), (gst_fakesrc_stop):
29647         * gst/elements/gstfakesrc.h:
29648         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
29649         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29650         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29651         (gst_filesrc_create_read), (gst_filesrc_create),
29652         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
29653         (gst_filesrc_start):
29654         * gst/elements/gsttypefindelement.c:
29655         (gst_type_find_element_have_type), (gst_type_find_element_init),
29656         (start_typefinding), (stop_typefinding), (push_buffer_store),
29657         (gst_type_find_element_handle_event),
29658         (gst_type_find_element_chain),
29659         (gst_type_find_element_checkgetrange),
29660         (gst_type_find_element_getrange), (do_typefind),
29661         (gst_type_find_element_activate),
29662         (gst_type_find_element_change_state):
29663         * gst/elements/gsttypefindelement.h:
29664         * gst/gstpipeline.c: (pipeline_bus_handler):
29665         Added typefind helper.
29666         Small preroll fix in the base sink.
29667         Disable typefind code in basesrc.
29668         Crude port of typefindelement.
29669         Fakesrc cleanups.
29670
29671
29672 2005-04-11  Wim Taymans  <wim@fluendo.com>
29673
29674         * check/gst/gstbus.c: (gstbus_suite):
29675         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
29676         * check/gstcheck.h:
29677           Fix up the timeout so that the test does not fail.
29678
29679 2005-04-06  Wim Taymans  <wim@fluendo.com>
29680
29681         * gst/base/README:
29682         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29683         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
29684         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29685         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29686         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29687         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29688         (gst_basesrc_stop), (gst_basesrc_activate),
29689         (gst_basesrc_change_state), (basesrc_find_peek),
29690         (basesrc_find_suggest), (gst_basesrc_type_find):
29691         * gst/base/gstbasesrc.h:
29692         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
29693         (gst_filesrc_class_init), (gst_filesrc_init),
29694         (gst_filesrc_finalize), (gst_filesrc_set_location),
29695         (gst_filesrc_set_property), (gst_filesrc_get_property),
29696         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29697         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29698         (gst_filesrc_create_read), (gst_filesrc_create),
29699         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
29700         * gst/elements/gstfilesrc.h:
29701         * gst/gstelement.c: (gst_element_get_state_func),
29702         (gst_element_lost_state), (gst_element_pads_activate):
29703         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29704         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29705         (gst_pad_pull_range):
29706         * gst/gstpad.h:
29707         More work on the generic source base class, implement seeking,
29708         query.
29709         Make filesrc extend the base source class.
29710         Added gst_pad_set_checkgetrange_function to GstPad.
29711
29712 2005-04-06  Andy Wingo  <wingo@pobox.com>
29713
29714         * pkgconfig/gstreamer-base.pc.in:
29715         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
29716
29717         * pkgconfig/Makefile.am:
29718         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
29719
29720 2005-04-04  Wim Taymans  <wim@fluendo.com>
29721
29722         * gst/base/Makefile.am:
29723         * gst/base/README:
29724         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29725         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29726         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29727         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
29728         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29729         (gst_basesrc_base_init), (gst_basesrc_class_init),
29730         (gst_basesrc_init), (gst_basesrc_get_formats),
29731         (gst_basesrc_get_query_types), (gst_basesrc_query),
29732         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
29733         (gst_basesrc_set_property), (gst_basesrc_get_property),
29734         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
29735         (gst_basesrc_loop), (gst_basesrc_activate),
29736         (gst_basesrc_change_state):
29737         * gst/base/gstbasesrc.h:
29738         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
29739         (gst_fakesrc_class_init), (gst_fakesrc_init),
29740         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
29741         (gst_fakesrc_get_property), (gst_fakesrc_create):
29742         * gst/elements/gstfakesrc.h:
29743         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
29744         (gst_filesrc_open_file), (gst_filesrc_loop),
29745         (gst_filesrc_activate), (filesrc_find_peek),
29746         (gst_filesrc_type_find):
29747         Made base source class, make fakesrc extend it.
29748         Add comments to basesink class.
29749         Some filesrc cleanup.
29750
29751 2005-03-31  David Schleef  <ds@schleef.org>
29752
29753         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
29754         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
29755         expected to link against libgstreamer.
29756         * gst/base/Makefile.am: link against libgstreamer
29757         * gst/elements/Makefile.am: same
29758
29759 2005-03-31  Andy Wingo  <wingo@pobox.com>
29760
29761         * tests/instantiate/Makefile.am:
29762         * tests/instantiate/caps.c: Add test to test speed of caps copy
29763         and free.
29764
29765         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
29766         GMemChunk to be fair.
29767
29768         * gst/gsttrashstack.h: Remove warning about using the fallback
29769         trash stack implementation, it's still faster than malloc.
29770
29771 2005-03-30  Andy Wingo  <wingo@pobox.com>
29772
29773         * tests/complexity.c: Add a copyright.
29774
29775 2005-03-31  Wim Taymans  <wim@fluendo.com>
29776
29777         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
29778         (gst_base_transform_class_init), (gst_base_transform_init),
29779         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
29780         (gst_base_transform_get_property),
29781         (gst_base_transform_sink_activate),
29782         (gst_base_transform_src_activate),
29783         (gst_base_transform_change_state):
29784         * gst/base/gstbasetransform.h:
29785         * gst/elements/gstidentity.c: (gst_identity_class_init),
29786         (gst_identity_event), (gst_identity_check_perfect),
29787         (gst_identity_transform), (gst_identity_start),
29788         (gst_identity_stop):
29789         Added start/stop methods to transform base class so subclasses 
29790         don't need to deal with state changes even.
29791
29792 2005-03-31  Wim Taymans  <wim@fluendo.com>
29793
29794         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
29795         (gst_event_new_discontinuous), (gst_event_discont_get_value):
29796         * gst/gstevent.h:
29797         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29798         (gst_pad_pull_range):
29799         Added rate to the discont event to prepare for variable speed
29800         and reverse playback.
29801
29802 2005-03-29  David Schleef  <ds@schleef.org>
29803
29804         * configure.ac:
29805         * testsuite/trigger/Makefile.am:
29806         * testsuite/trigger/trigger.c: A little example program to show
29807         how trigger-based elements can work.
29808
29809 2005-03-29  Wim Taymans  <wim@fluendo.com>
29810
29811         * gst/base/Makefile.am:
29812         * gst/base/README:
29813         * gst/base/gstbasesink.c: (gst_basesink_get_type),
29814         (gst_basesink_base_init), (gst_basesink_class_init),
29815         (gst_basesink_pad_getcaps), (gst_basesink_init),
29816         (gst_basesink_activate), (gst_basesink_change_state):
29817         * gst/base/gstbasesink.h:
29818         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
29819         (gst_base_transform_base_init), (gst_base_transform_finalize),
29820         (gst_base_transform_class_init), (gst_base_transform_init),
29821         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
29822         (gst_base_transform_event), (gst_base_transform_getrange),
29823         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
29824         (gst_base_transform_set_property),
29825         (gst_base_transform_get_property),
29826         (gst_base_transform_sink_activate),
29827         (gst_base_transform_src_activate),
29828         (gst_base_transform_change_state):
29829         * gst/base/gstbasetransform.h:
29830         * gst/elements/gstidentity.c: (gst_identity_finalize),
29831         (gst_identity_class_init), (gst_identity_init),
29832         (gst_identity_event), (gst_identity_check_perfect),
29833         (gst_identity_transform), (gst_identity_set_property),
29834         (gst_identity_get_property), (gst_identity_change_state):
29835         * gst/elements/gstidentity.h:
29836         * gst/gstelement.c: (gst_element_get_state_func),
29837         (gst_element_lost_state), (gst_element_pads_activate):
29838         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29839         (gst_pad_check_pull_range), (gst_pad_pull_range):
29840         * gst/gstpad.h:
29841         Simplify pad activation.
29842         Added function to check if pull_range can be performed.
29843         Error out when pulling inactive or flushing pads.
29844         Removed const from refcounted types as it does not make sense.
29845         Simplify pad templates in basesink
29846         Added base class for simple 1-to-1 transforms.
29847         Make identity subclass the base transform.
29848
29849 2005-03-29  Andy Wingo  <wingo@pobox.com>
29850
29851         * docs/libs/gstreamer-libs-overrides.txt: 
29852         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
29853         really don't understand what's going on, but like whatever. I want
29854         green buildbot!
29855
29856         * docs/gst/Makefile.am:
29857         * docs/libs/Makefile.am: Dist the overrides files.
29858
29859         * check/Makefile.am (clean-local): Remove .libs directories.
29860
29861         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
29862         elements to EXTRA_DIST, so po/ files are happy.
29863
29864         * po/POTFILES.in: Er, remove it here.
29865
29866         * po/POTFILES: Remove gstspider.c.
29867
29868         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
29869
29870         * docs/libs/gstreamer-libs-docs.sgml: 
29871         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
29872         bytestream.
29873
29874         * tests/complexity.c (main): Set the length of the preroll queue
29875         on the sinks to prevent a lockup.
29876
29877         * libs/gst/dataprotocol/Makefile.am: 
29878         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
29879         the same as the one in check/gst-libs/gdp.c.
29880
29881         * po/, docs/gst/: Commit automatic changes to docs and po files.
29882
29883         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
29884         the versioned libgstbase.
29885
29886         * check/Makefile.am: Depend on an unversioned gst-register, seems
29887         to make autoconf happier.
29888
29889         * gst/base/Makefile.am: Make libgstbase a versioned lib.
29890
29891 2005-03-28  Wim Taymans  <wim@fluendo.com>
29892
29893         * configure.ac:
29894         * docs/design/part-gstelement.txt:
29895         * docs/design/part-negotiation.txt:
29896         * docs/design/part-preroll.txt:
29897         * docs/design/part-scheduling.txt:
29898         * docs/design/part-states.txt:
29899         * gst/Makefile.am:
29900         * gst/base/Makefile.am:
29901         * gst/base/README:
29902         * gst/base/gstbasesink.c: (gst_basesink_get_template),
29903         (gst_basesink_base_init), (gst_basesink_class_init),
29904         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29905         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29906         (gst_basesink_set_pad_functions),
29907         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
29908         (gst_basesink_set_property), (gst_basesink_get_property),
29909         (gst_base_sink_get_template), (gst_base_sink_get_caps),
29910         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
29911         (gst_basesink_preroll_queue_push),
29912         (gst_basesink_preroll_queue_empty),
29913         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
29914         (gst_basesink_event), (gst_basesink_get_times),
29915         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
29916         (gst_basesink_chain_unlocked), (gst_basesink_chain),
29917         (gst_basesink_loop), (gst_basesink_activate),
29918         (gst_basesink_change_state):
29919         * gst/base/gstbasesink.h:
29920         * gst/elements/Makefile.am:
29921         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
29922         (gst_fakesink_class_init), (gst_fakesink_init),
29923         (gst_fakesink_set_property), (gst_fakesink_get_property),
29924         (gst_fakesink_get_times), (gst_fakesink_event),
29925         (gst_fakesink_preroll), (gst_fakesink_render),
29926         (gst_fakesink_change_state):
29927         * gst/elements/gstfakesink.h:
29928         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29929         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
29930         * gst/gstelement.c: (gst_element_add_pad),
29931         (gst_element_get_state_func), (gst_element_abort_state),
29932         (gst_element_commit_state), (gst_element_lost_state),
29933         (gst_element_set_state), (gst_element_pads_activate):
29934         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
29935         * gst/gstpipeline.c: (gst_pipeline_send_event),
29936         (gst_pipeline_change_state):
29937         Added state change code.
29938         Added/updated docs.
29939         Added sink base class, make fakesink extend the base class.
29940         Small cleanups in GstPipeline.
29941
29942 2005-03-26  David Schleef  <ds@schleef.org>
29943
29944         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
29945         is broken and should be implemented in a different library.
29946         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
29947         * gst/gst.h: remove gstcpu.h
29948         * gst/gstcpu.c: remove
29949         * gst/gstcpu.h: remove
29950         * gst/Makefile.am.future: Remove this file.  It's ancient.
29951
29952 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29953
29954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29955         (gst_bin_send_event):
29956           Add default event/set_manager handlers. The set_manager handler
29957           takes care that the manager is distributed over kids that were
29958           already in the bin before the manager was set. The event handler
29959           is a utility virtual function that sends the event over all sinks,
29960           so that gst_element_send_event (bin, event); has the expected
29961           behaviour.
29962         * gst/gstpad.c: (gst_pad_event_default):
29963           Re-install default event handling for discontinuities, so that
29964           seeking works without requiring hacks in applications or extra
29965           code in sinks.
29966         * gst/gstpipeline.c: (gst_pipeline_class_init),
29967         (gst_pipeline_send_event):
29968           Half hack, half utility: set a pipeline to PAUSED for seek events,
29969           since that is the only way we can guarantee a/v sync. Means that
29970           you can do gst_element_seek (pipeline, method, pos); on a pipeline
29971           and it "just works".
29972
29973 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29974
29975         * gst/gstpipeline.c: (gst_pipeline_use_clock):
29976           Lock/unlock mismatch.
29977
29978 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
29979
29980         * docs/faq/gst-uninstalled:
29981           add gst-plugins-base
29982         * docs/gst/Makefile.am:
29983           don't error out until docs are fixed
29984         * docs/gst/gstreamer.types:
29985           remove thread
29986
29987 2005-03-22  Wim Taymans  <wim@fluendo.com>
29988
29989         * check/Makefile.am:
29990         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
29991         * gst/gststructure.c: (gst_structure_set_valist),
29992         (gst_structure_copy_conditional):
29993         Activated more tests.
29994         Added message test.
29995         Added G_TYPE_POINTER to GstStructure.
29996         
29997
29998 2005-03-22  Wim Taymans  <wim@fluendo.com>
29999
30000         * docs/design/part-TODO.txt:
30001         * docs/design/part-events.txt:
30002         * docs/design/part-gstbin.txt:
30003         * docs/design/part-gstbus.txt:
30004         * docs/design/part-gstpipeline.txt:
30005         * docs/design/part-messages.txt:
30006         * gst/gstbus.c:
30007         * gst/gstmessage.c:
30008         Docs updates
30009
30010 2005-03-21  Wim Taymans  <wim@fluendo.com>
30011
30012         * gst/gstbus.c: (gst_bus_post):
30013         Fix copy-and-paste error.
30014
30015 2005-03-21  Wim Taymans  <wim@fluendo.com>
30016
30017         * check/Makefile.am:
30018         * gst/Makefile.am:
30019         * gst/elements/Makefile.am:
30020         * gst/elements/gstelements.c:
30021         * gst/elements/gstfakesink.c: (gst_fakesink_init),
30022         (gst_fakesink_event), (gst_fakesink_chain):
30023         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30024         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
30025         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
30026         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
30027         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
30028         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
30029         (gst_fakesrc_loop), (gst_fakesrc_activate),
30030         (gst_fakesrc_change_state):
30031         * gst/elements/gstfakesrc.h:
30032         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
30033         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
30034         (gst_filesrc_open_file), (gst_filesrc_loop),
30035         (gst_filesrc_activate), (gst_filesrc_change_state),
30036         (filesrc_find_peek), (filesrc_find_suggest),
30037         (gst_filesrc_type_find):
30038         * gst/elements/gstidentity.c: (gst_identity_finalize),
30039         (gst_identity_class_init), (gst_identity_init),
30040         (gst_identity_proxy_getcaps), (identity_queue_push),
30041         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
30042         (gst_identity_getrange), (gst_identity_chain),
30043         (gst_identity_sink_loop), (gst_identity_src_loop),
30044         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
30045         (gst_identity_set_property), (gst_identity_get_property),
30046         (gst_identity_change_state):
30047         * gst/elements/gstidentity.h:
30048         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
30049         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
30050         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
30051         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
30052         (gst_tee_sink_activate):
30053         * gst/elements/gsttee.h:
30054         * gst/gst.c: (gst_register_core_elements), (init_post):
30055         * gst/gst.h:
30056         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
30057         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
30058         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
30059         (gst_bin_change_state):
30060         * gst/gstbin.h:
30061         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
30062         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
30063         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
30064         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
30065         (gst_bus_set_sync_handler), (gst_bus_create_watch),
30066         (bus_watch_callback), (bus_watch_destroy),
30067         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
30068         (poll_timeout), (gst_bus_poll):
30069         * gst/gstbus.h:
30070         * gst/gstcaps.h:
30071         * gst/gstdata.h:
30072         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30073         (gst_element_post_message), (gst_element_message_full),
30074         (gst_element_get_state_func), (gst_element_get_state),
30075         (gst_element_abort_state), (gst_element_commit_state),
30076         (gst_element_lost_state), (gst_element_set_state),
30077         (gst_element_pads_activate), (gst_element_change_state),
30078         (gst_element_dispose), (gst_element_set_manager_func),
30079         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
30080         (gst_element_set_manager), (gst_element_get_manager),
30081         (gst_element_set_bus), (gst_element_get_bus),
30082         (gst_element_set_scheduler), (gst_element_get_scheduler):
30083         * gst/gstelement.h:
30084         * gst/gstevent.c: (gst_event_new_segment_seek),
30085         (gst_event_new_flush):
30086         * gst/gstevent.h:
30087         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
30088         (_gst_message_free), (gst_message_get_type), (gst_message_new),
30089         (gst_message_new_eos), (gst_message_new_error),
30090         (gst_message_new_warning), (gst_message_new_tag),
30091         (gst_message_new_state_changed), (gst_message_new_application),
30092         (gst_message_get_structure), (gst_message_parse_tag),
30093         (gst_message_parse_state_changed), (gst_message_parse_error),
30094         (gst_message_parse_warning):
30095         * gst/gstmessage.h:
30096         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
30097         (gst_real_pad_set_property), (gst_pad_set_active),
30098         (gst_pad_is_active), (gst_pad_set_blocked_async),
30099         (gst_pad_set_blocked), (gst_pad_is_blocked),
30100         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
30101         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
30102         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
30103         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
30104         (gst_pad_link_filtered), (gst_pad_relink_filtered),
30105         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
30106         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
30107         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
30108         (gst_pad_set_caps), (gst_pad_configure_sink),
30109         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
30110         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
30111         (gst_real_pad_dispose), (gst_real_pad_finalize),
30112         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
30113         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30114         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
30115         * gst/gstpad.h:
30116         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
30117         (pipeline_bus_handler), (gst_pipeline_change_state),
30118         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
30119         * gst/gstpipeline.h:
30120         * gst/gstprobe.h:
30121         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
30122         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
30123         (gst_queue_link_src), (gst_queue_bufferalloc),
30124         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
30125         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
30126         (gst_queue_loop), (gst_queue_handle_src_event),
30127         (gst_queue_handle_src_query), (gst_queue_src_activate),
30128         (gst_queue_change_state):
30129         * gst/gstqueue.h:
30130         * gst/gstscheduler.c: (gst_scheduler_init),
30131         (gst_scheduler_dispose), (gst_scheduler_create_task),
30132         (gst_scheduler_factory_create):
30133         * gst/gstscheduler.h:
30134         * gst/gststructure.c: (gst_structure_get_type),
30135         (gst_structure_copy_conditional):
30136         * gst/gststructure.h:
30137         * gst/gsttaginterface.h:
30138         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
30139         (gst_task_init), (gst_task_dispose), (gst_task_create),
30140         (gst_task_get_state), (gst_task_start), (gst_task_stop),
30141         (gst_task_pause):
30142         * gst/gsttask.h:
30143         * gst/gstthread.c:
30144         * gst/gstthread.h:
30145         * gst/gsttypes.h:
30146         * gst/schedulers/Makefile.am:
30147         * gst/schedulers/cothreads_compat.h:
30148         * gst/schedulers/entryscheduler.c:
30149         * gst/schedulers/faircothreads.c:
30150         * gst/schedulers/faircothreads.h:
30151         * gst/schedulers/fairscheduler.c:
30152         * gst/schedulers/gstbasicscheduler.c:
30153         * gst/schedulers/gstoptimalscheduler.c:
30154         * gst/schedulers/gthread-cothreads.h:
30155         * gst/schedulers/threadscheduler.c:
30156         (gst_thread_scheduler_task_get_type),
30157         (gst_thread_scheduler_task_class_init),
30158         (gst_thread_scheduler_task_init),
30159         (gst_thread_scheduler_task_start),
30160         (gst_thread_scheduler_task_stop),
30161         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
30162         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
30163         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
30164         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
30165         (plugin_init):
30166         * libs/gst/Makefile.am:
30167         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
30168         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
30169         (gst_file_pad_parent_set):
30170         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
30171         (gst_dp_event_from_packet):
30172         * tests/complexity.c: (main):
30173         * tests/mass_elements.c: (main):
30174         * testsuite/states/locked.c: (message_received), (main):
30175         * testsuite/states/parent.c: (main):
30176         * tools/gst-inspect.c: (print_element_flag_info),
30177         (print_implementation_info), (print_pad_info):
30178         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
30179         (main):
30180         * tools/gst-md5sum.c: (event_loop), (main):
30181         * tools/gst-typefind.c: (main):
30182         * tools/gst-xmlinspect.c: (print_element_info):
30183         Next big merge.
30184         Added GstBus for mainloop integration.
30185         Added GstMessage for sending notifications on the bus.
30186         Added GstTask as an abstraction for pipeline entry points.
30187         Removed GstThread.
30188         Removed Schedulers.
30189         Simplified GstQueue for multithreaded core.
30190         Made _link threadsafe, removed old capsnego.
30191         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
30192         Added pad blocking functions.
30193         Reworked scheduling functions in GstPad to prepare for
30194         scheduling updates soon.
30195         Moved events out of data stream.
30196         Simplified GstEvent types.
30197         Added return values to push/pull.
30198         Removed clocking from GstElement.
30199         Added prototypes for state change function for next merge.
30200         Removed iterate from bins and state change management.
30201         Fixed some elements, disabled others for now.
30202         Fixed -inspect and -launch.
30203         Added check for GstBus.
30204
30205 2005-03-10  Wim Taymans  <wim@fluendo.com>
30206
30207         * docs/design/part-MT-refcounting.txt:
30208         * docs/design/part-clocks.txt:
30209         * docs/design/part-gstelement.txt:
30210         * docs/design/part-gstobject.txt:
30211         * docs/design/part-standards.txt:
30212         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30213         (gst_bin_remove_func), (gst_bin_remove):
30214         * gst/gstbin.h:
30215         * gst/gstbuffer.c:
30216         * gst/gstcaps.h:
30217         * testsuite/clock/clock1.c: (main):
30218         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
30219         (main):
30220         * testsuite/dlopen/loadgst.c: (do_test):
30221         * testsuite/refcounting/bin.c: (add_remove_test1),
30222         (add_remove_test2), (main):
30223         * testsuite/refcounting/element.c: (main):
30224         * testsuite/refcounting/element_pad.c: (main):
30225         * testsuite/refcounting/pad.c: (main):
30226         * tools/gst-launch.c: (sigint_handler_sighandler):
30227         * tools/gst-typefind.c: (main):
30228         Doc updates.
30229         Added doc about clock.
30230         removed gst_bin_iterate_recurse_up(), marked methods
30231         for removal.
30232         Fix more testsuites.
30233
30234 2005-03-09  Wim Taymans  <wim@fluendo.com>
30235
30236         * gst/gstpad.c: (gst_pad_get_direction),
30237         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
30238         (gst_pad_collect_valist):
30239         * testsuite/bins/interface.c: (main):
30240         * testsuite/caps/audioscale.c: (test_caps):
30241         * testsuite/caps/caps.c: (test1), (test2), (test3):
30242         * testsuite/caps/deserialize.c: (main):
30243         * testsuite/caps/enumcaps.c: (main):
30244         * testsuite/caps/filtercaps.c: (main):
30245         * testsuite/caps/intersect2.c: (main):
30246         * testsuite/caps/random.c: (main):
30247         * testsuite/caps/renegotiate.c: (my_fixate), (main):
30248         * testsuite/caps/sets.c: (check_caps):
30249         * testsuite/caps/simplify.c: (check_caps), (main):
30250         * testsuite/caps/subtract.c: (check_caps):
30251         Fix _pad_get_direction wrt ghostpads.
30252         Fix caps testsuite.
30253
30254 2005-03-09  Wim Taymans  <wim@fluendo.com>
30255
30256         * check/Makefile.am:
30257         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
30258         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
30259         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
30260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
30261         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
30262         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
30263         (gst_bin_remove), (gst_bin_iterate_recurse_up),
30264         (bin_element_is_sink), (gst_bin_iterate_sinks),
30265         (gst_bin_iterate_all_by_interface):
30266         * gst/gstbin.h:
30267         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
30268         (gst_element_change_state), (gst_element_dispose),
30269         (gst_element_finalize), (gst_element_set_loop_function):
30270         * gst/gstelement.h:
30271         * gst/gstiterator.c: (find_custom_fold_func):
30272         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30273         (gst_pad_collectv), (gst_pad_collect_valist),
30274         (gst_pad_template_new):
30275         * gst/gstpipeline.c: (gst_pipeline_class_init),
30276         (gst_pipeline_dispose), (gst_pipeline_set_property),
30277         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
30278         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
30279         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
30280         * gst/gstutils.h:
30281         * gst/schedulers/entryscheduler.c:
30282         * gst/schedulers/gstbasicscheduler.c:
30283         (gst_basic_scheduler_cothreaded_chain),
30284         (gst_basic_scheduler_chain_add_element):
30285         * testsuite/bins/interface.c: (main):
30286         Added GstBin test.
30287         Added GstSystemClock test.
30288         Implemented clock distribution code in GstBin.
30289         Implemented iterate sinks method for future use.
30290         Rearranged gstelement.h
30291         Fix GstIterator comparison bug.
30292         Moved some code to GstPipeline, mostly clocking related.
30293
30294 2005-03-09  Wim Taymans  <wim@fluendo.com>
30295
30296         * configure.ac:
30297         * gst/gst_private.h:
30298         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30299         (gst_bin_remove_func), (gst_bin_remove),
30300         (gst_bin_get_by_name_recurse_up):
30301         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
30302         (gst_clock_id_compare_func), (gst_clock_id_wait),
30303         (gst_clock_id_wait_async), (gst_clock_init),
30304         (gst_clock_adjust_unlocked), (gst_clock_get_time):
30305         * gst/gstelement.h:
30306         * gst/gstinfo.c: (_gst_debug_init):
30307         * gst/gstobject.h:
30308         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
30309         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
30310         * gst/gstpad.h:
30311         Bump version number, we're now 0.9.0
30312         Add future debugging category.
30313         Fix NULL _unref() in _get_by_name_recurse_up
30314         Rearrange gstpad.h.
30315         Update some docs.
30316
30317 2005-03-08  Wim Taymans  <wim@fluendo.com>
30318
30319         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
30320         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
30321         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30322         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
30323         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
30324         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
30325         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
30326         * gst/elements/gstidentity.c: (gst_identity_class_init):
30327         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
30328         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
30329         * gst/elements/gstshaper.c: (gst_shaper_class_init):
30330         * gst/elements/gststatistics.c: (gst_statistics_class_init):
30331         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
30332         (gst_tee_link):
30333         * gst/gstelement.c: (gst_element_class_init),
30334         (gst_element_base_class_init), (gst_element_init),
30335         (gst_element_get_random_pad), (gst_element_wait_state_change),
30336         (gst_element_change_state), (gst_element_dispose),
30337         (gst_element_finalize), (gst_element_set_loop_function):
30338         * gst/gstelement.h:
30339         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
30340         * gst/gstthread.c: (gst_thread_class_init),
30341         (gst_thread_release_children_locks), (gst_thread_change_state):
30342         * gst/schedulers/gstbasicscheduler.c:
30343         (gst_basic_scheduler_loopfunc_wrapper),
30344         (gst_basic_scheduler_chain_wrapper),
30345         (gst_basic_scheduler_src_wrapper),
30346         (gst_basic_scheduler_remove_element):
30347         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
30348         Remove threadsafe properties. Fix elements because GObject
30349         complains when installing a property before declaring a
30350         set/get_property handler.
30351         Rearrange gstelement.h file, use STATE macros for state locks.
30352         Free mutexes in the finalize method instead of dispose.
30353
30354 2005-03-08  Wim Taymans  <wim@fluendo.com>
30355
30356         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30357         * gst/gstthread.c: (gst_thread_release_children_locks):
30358         Added parentage check.
30359         Fix build og GstThread again.
30360
30361 2005-03-08  Wim Taymans  <wim@fluendo.com>
30362
30363         * docs/design/part-MT-refcounting.txt:
30364         * docs/design/part-conventions.txt:
30365         * docs/design/part-gstobject.txt:
30366         * docs/design/part-relations.txt:
30367         * docs/design/part-standards.txt:
30368         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30369         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
30370         (gst_bin_get_by_name), (gst_bin_get_by_interface),
30371         (gst_bin_iterate_all_by_interface):
30372         * gst/gstbuffer.h:
30373         * gst/gstclock.h:
30374         * gst/gstelement.c: (gst_element_class_init),
30375         (gst_element_change_state), (gst_element_set_loop_function):
30376         * gst/gstelement.h:
30377         * gst/gstiterator.c:
30378         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
30379         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
30380         (gst_object_dispatch_properties_changed), (gst_object_set_name),
30381         (gst_object_set_parent), (gst_object_unparent),
30382         (gst_object_check_uniqueness):
30383         * gst/gstobject.h:
30384         Docs updates, clean up some headers.
30385
30386 2005-03-07  Wim Taymans  <wim@fluendo.com>
30387
30388         * check/.cvsignore:
30389         * check/Makefile.am:
30390         * check/gst-libs/.cvsignore:
30391         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
30392         * check/gst/.cvsignore:
30393         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
30394         (START_TEST), (gstbus_suite), (main):
30395         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
30396         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
30397         (gst_data_suite), (main):
30398         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
30399         (add_fold_func), (gstiterator_suite), (main):
30400         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
30401         (thread_name_object), (thread_name_object_default),
30402         (gst_object_name_compare), (gst_object_suite), (main):
30403         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
30404         (gst_pad_suite), (main):
30405         * check/gstcheck.c: (gst_check_log_message_func),
30406         (gst_check_log_critical_func), (gst_check_init):
30407         * check/gstcheck.h:
30408         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
30409         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
30410         Added checks.
30411
30412 2005-03-07  Wim Taymans  <wim@fluendo.com>
30413
30414         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
30415         (gst_list_iterator_next), (gst_list_iterator_resync),
30416         (gst_list_iterator_free), (gst_iterator_new_list),
30417         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
30418         (gst_iterator_free), (gst_iterator_push), (filter_next),
30419         (filter_resync), (filter_uninit), (filter_free),
30420         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
30421         (gst_iterator_foreach), (find_custom_fold_func),
30422         (gst_iterator_find_custom):
30423         * gst/gstiterator.h:
30424         Added missing files.
30425
30426 2005-03-07  Wim Taymans  <wim@fluendo.com>
30427
30428         * Makefile.am:
30429         * configure.ac:
30430         * docs/design/part-MT-refcounting.txt:
30431         * docs/design/part-conventions.txt:
30432         * docs/design/part-gstobject.txt:
30433         * docs/design/part-relations.txt:
30434         * examples/mixer/mixer.c: (main):
30435         * examples/thread/thread.c: (eos), (main):
30436         * gst/Makefile.am:
30437         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
30438         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
30439         (gst_spider_plug_from_srcpad):
30440         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
30441         (gst_spider_identity_change_state),
30442         (gst_spider_identity_sink_loop_type_finding):
30443         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
30444         * gst/elements/gstidentity.c: (gst_identity_init):
30445         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
30446         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
30447         * gst/elements/gsttypefindelement.c: (free_entry):
30448         * gst/gst.c:
30449         * gst/gst.h:
30450         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
30451         (gst_bin_set_clock_func), (gst_bin_auto_clock),
30452         (gst_bin_set_index), (gst_bin_set_element_sched),
30453         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
30454         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
30455         (gst_bin_iterate_elements), (iterate_child_recurse),
30456         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
30457         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
30458         (compare_interface), (gst_bin_get_by_interface),
30459         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
30460         * gst/gstbin.h:
30461         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
30462         (gst_buffer_default_free), (gst_buffer_default_copy),
30463         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
30464         (gst_buffer_create_sub):
30465         * gst/gstbuffer.h:
30466         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
30467         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
30468         (gst_caps_unref), (gst_static_caps_get),
30469         (gst_caps_remove_and_get_structure), (gst_caps_append),
30470         (gst_caps_append_structure), (gst_caps_remove_structure),
30471         (gst_caps_copy_nth), (gst_caps_set_simple),
30472         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
30473         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
30474         (gst_caps_structure_intersect_field), (gst_caps_intersect),
30475         (gst_caps_structure_subtract_field), (gst_caps_subtract),
30476         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
30477         (gst_caps_structure_figure_out_union),
30478         (gst_caps_switch_structures), (gst_caps_do_simplify),
30479         (gst_caps_replace), (gst_caps_from_string),
30480         (gst_caps_copy_conditional):
30481         * gst/gstcaps.h:
30482         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
30483         (_gst_clock_id_free), (gst_clock_id_unref),
30484         (gst_clock_id_compare_func), (gst_clock_id_wait),
30485         (gst_clock_id_wait_async), (gst_clock_class_init),
30486         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
30487         (gst_clock_get_time), (gst_clock_set_time_adjust),
30488         (gst_clock_set_property), (gst_clock_get_property):
30489         * gst/gstclock.h:
30490         * gst/gstcompat.h:
30491         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
30492         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
30493         * gst/gstdata.h:
30494         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30495         (gst_element_requires_clock), (gst_element_provides_clock),
30496         (gst_element_set_clock), (gst_element_clock_wait),
30497         (gst_element_wait), (gst_element_set_time_delay),
30498         (gst_element_is_indexable), (gst_element_add_pad),
30499         (gst_element_add_ghost_pad), (gst_element_remove_pad),
30500         (pad_compare_name), (gst_element_get_static_pad),
30501         (gst_element_request_pad), (gst_element_get_request_pad),
30502         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
30503         (gst_element_class_get_pad_template_list),
30504         (gst_element_class_get_pad_template), (gst_element_error_func),
30505         (gst_element_get_random_pad), (gst_element_get_event_masks),
30506         (gst_element_send_event), (gst_element_seek),
30507         (gst_element_get_query_types), (gst_element_query),
30508         (gst_element_get_formats), (gst_element_convert),
30509         (gst_element_is_locked_state), (gst_element_set_locked_state),
30510         (gst_element_sync_state_with_parent), (gst_element_change_state),
30511         (gst_element_finalize), (gst_element_yield),
30512         (gst_element_interrupt), (gst_element_set_scheduler),
30513         (gst_element_get_scheduler), (gst_element_set_loop_function):
30514         * gst/gstelement.h:
30515         * gst/gstevent.h:
30516         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
30517         (gst_format_get_by_nick), (gst_format_get_details),
30518         (gst_format_iterate_definitions):
30519         * gst/gstformat.h:
30520         * gst/gstindex.c: (gst_index_gtype_resolver):
30521         * gst/gstinfo.c:
30522         * gst/gstinfo.h:
30523         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
30524         (gst_mem_chunk_free):
30525         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
30526         (gst_object_ref), (gst_object_unref), (gst_object_sink),
30527         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
30528         (gst_object_dispatch_properties_changed),
30529         (gst_object_set_name_default), (gst_object_set_name),
30530         (gst_object_get_name), (gst_object_set_name_prefix),
30531         (gst_object_get_name_prefix), (gst_object_set_parent),
30532         (gst_object_get_parent), (gst_object_unparent),
30533         (gst_object_check_uniqueness), (gst_object_save_thyself),
30534         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
30535         (gst_object_set_property), (gst_object_get_property),
30536         (gst_object_get_path_string):
30537         * gst/gstobject.h:
30538         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30539         (gst_real_pad_init), (gst_real_pad_get_property),
30540         (gst_pad_custom_new), (gst_pad_get_direction),
30541         (gst_pad_set_active), (gst_pad_is_active),
30542         (gst_pad_set_event_function), (gst_pad_is_linked),
30543         (gst_pad_link_free), (gst_pad_link_intersect),
30544         (gst_pad_link_fixate), (gst_pad_set_caps),
30545         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
30546         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
30547         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
30548         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
30549         (gst_pad_get_caps), (gst_pad_peer_get_caps),
30550         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
30551         (gst_pad_realize), (gst_pad_get_allowed_caps),
30552         (gst_real_pad_dispose), (gst_real_pad_finalize),
30553         (gst_pad_collectv), (gst_pad_collect_valist),
30554         (gst_pad_template_dispose), (gst_pad_template_new),
30555         (gst_pad_get_internal_links):
30556         * gst/gstpad.h:
30557         * gst/gstpipeline.c: (gst_pipeline_dispose),
30558         (gst_pipeline_change_state):
30559         * gst/gstpipeline.h:
30560         * gst/gstplugin.c:
30561         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
30562         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
30563         * gst/gstpluginfeature.h:
30564         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
30565         * gst/gstquery.c: (_gst_query_type_initialize),
30566         (gst_query_type_register), (gst_query_type_get_by_nick),
30567         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
30568         * gst/gstquery.h:
30569         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
30570         * gst/gstscheduler.c: (gst_scheduler_add_element),
30571         (gst_scheduler_factory_create):
30572         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30573         (gst_structure_free), (gst_structure_set_name),
30574         (gst_structure_id_set_value), (gst_structure_set_value),
30575         (gst_structure_set_valist), (gst_structure_remove_field),
30576         (gst_structure_remove_fields),
30577         (gst_structure_remove_fields_valist),
30578         (gst_structure_remove_all_fields), (gst_structure_foreach),
30579         (gst_structure_map_in_place),
30580         (gst_caps_structure_fixate_field_nearest_int),
30581         (gst_caps_structure_fixate_field_nearest_double):
30582         * gst/gststructure.h:
30583         * gst/gstsystemclock.c: (gst_system_clock_class_init),
30584         (gst_system_clock_init), (gst_system_clock_dispose),
30585         (gst_system_clock_async_thread),
30586         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
30587         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
30588         * gst/gstsystemclock.h:
30589         * gst/gsttag.c: (gst_tag_list_add_value_internal),
30590         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
30591         * gst/gsttaginterface.c:
30592         * gst/gstthread.c: (gst_thread_dispose),
30593         (gst_thread_release_children_locks), (gst_thread_change_state),
30594         (gst_thread_main_loop):
30595         * gst/gsttrashstack.h:
30596         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
30597         * gst/gsttypes.h:
30598         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30599         (gst_element_request_pad), (gst_element_get_pad_from_template),
30600         (gst_element_request_compatible_pad),
30601         (gst_element_get_compatible_pad_filtered),
30602         (gst_element_get_compatible_pad), (gst_element_state_get_name),
30603         (gst_element_link_pads_filtered), (gst_element_link_filtered),
30604         (gst_element_link_many), (gst_element_link),
30605         (gst_element_link_pads), (gst_element_unlink_pads),
30606         (gst_element_unlink_many), (gst_element_unlink),
30607         (gst_pad_can_link_filtered), (gst_pad_can_link),
30608         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
30609         (gst_object_default_error), (gst_bin_add_many),
30610         (gst_bin_remove_many), (gst_element_populate_std_props),
30611         (gst_element_class_install_std_props), (gst_buffer_merge),
30612         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
30613         (link_fold_func), (gst_pad_proxy_setcaps):
30614         * gst/gstutils.h:
30615         * gst/gstvalue.c: (gst_value_deserialize_string):
30616         * gst/parse/grammar.y:
30617         * gst/schedulers/gstbasicscheduler.c:
30618         (gst_basic_scheduler_cothreaded_chain),
30619         (gst_basic_scheduler_chain_recursive_add),
30620         (gst_basic_scheduler_pad_link):
30621         * gst/schedulers/gstoptimalscheduler.c:
30622         (get_group_schedule_function),
30623         (gst_opt_scheduler_state_transition),
30624         (gst_opt_scheduler_add_element), (element_get_reachables_func):
30625         * libs/gst/bytestream/bytestream.c:
30626         * libs/gst/dataprotocol/dataprotocol.c:
30627         (gst_dp_header_from_buffer):
30628         * po/nb.po:
30629         * po/ru.po:
30630         * tests/threadstate/threadstate2.c: (eos):
30631         * tools/gst-compprep.c: (main):
30632         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
30633         (print_pad_info), (print_children_info):
30634         * tools/gst-launch.c: (idle_func), (main):
30635         * tools/gst-md5sum.c: (idle_func), (main):
30636         * tools/gst-xmlinspect.c: (print_element_info):
30637         First THREADED backport attempt, focusing on adding locks and
30638         making sure the API is threadsafe. Needs more work. More docs
30639         follow this week.
30640
30641 2005-02-24  Andy Wingo  <wingo@pobox.com>
30642
30643         * tests/bench-complexity.scm:
30644         * tests/complexity.gnuplot: New files, good for running complexity
30645         benchmarks.
30646
30647         * tests/Makefile.am:
30648         * tests/complexity.c: New test, sets up N elements, at each level
30649         teeing into M streams per element. Eeeenteresting.
30650
30651         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
30652         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
30653         running bench-mass_elements.scm.
30654
30655         * tests/bench-mass_elements.scm: New script, runs mass_elements
30656         for various numbers of identities, outputting the results to a
30657         file. Requires guile 1.6. Just for testing.
30658
30659 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
30660
30661         * gst/schedulers/fairscheduler.c:
30662           compile with debug disabled
30663
30664 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
30665
30666         * configure.ac:
30667           hunting season on 0.9 is now OPEN